diff --git a/mn_MN.UTF-8/Makefile b/mn_MN.UTF-8/Makefile new file mode 100644 index 0000000000..e0858cc48c --- /dev/null +++ b/mn_MN.UTF-8/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.7 + +#SUBDIR = articles +SUBDIR = books + +COMPAT_SYMLINK = mn + +DOC_PREFIX?= ${.CURDIR}/.. +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/mn_MN.UTF-8/books/Makefile b/mn_MN.UTF-8/books/Makefile new file mode 100644 index 0000000000..a71c9bd235 --- /dev/null +++ b/mn_MN.UTF-8/books/Makefile @@ -0,0 +1,21 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.14 + +#SUBDIR = arch-handbook +#SUBDIR+= corp-net-guide +#SUBDIR+= design-44bsd +#SUBDIR+= dev-model +#SUBDIR+= developers-handbook +#SUBDIR+= faq +#SUBDIR+= fdp-primer +SUBDIR+= handbook +#SUBDIR+= pmake +#SUBDIR+= porters-handbook + +ROOT_SYMLINKS= handbook + +DOC_PREFIX?= ${.CURDIR}/../.. +.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/mn_MN.UTF-8/books/Makefile.inc b/mn_MN.UTF-8/books/Makefile.inc new file mode 100644 index 0000000000..d75d88dbb5 --- /dev/null +++ b/mn_MN.UTF-8/books/Makefile.inc @@ -0,0 +1,7 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.4 + +DESTDIR?= ${DOCDIR}/mn_MN.UTF-8/books/${.CURDIR:T} diff --git a/mn_MN.UTF-8/books/handbook/Makefile b/mn_MN.UTF-8/books/handbook/Makefile new file mode 100644 index 0000000000..99db2a0714 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/Makefile @@ -0,0 +1,259 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.102 +# +# Build the FreeBSD Handbook. +# +# +# ------------------------------------------------------------------------ +# +# Handbook-specific variables +# +# WITH_PGPKEYS The print version of the handbook only prints PGP +# fingerprints by default. If you would like for the +# entire key to be displayed, then set this variable. +# This option has no affect on the HTML formats. +# +# Handbook-specific targets +# +# pgpkeyring This target will read the contents of +# pgpkeys/chapter.sgml and will extract all of +# the pgpkeys to standard out. This output can then +# be redirected into a file and distributed as a +# public keyring of FreeBSD developers that can +# easily be imported into PGP/GPG. +# +# ------------------------------------------------------------------------ + +.PATH: ${.CURDIR}/../../share/sgml/glossary + +MAINTAINER= doc@FreeBSD.org + +DOC?= book + +FORMATS?= html-split + +HAS_INDEX= true +USE_PS2PDF= yes + +INSTALL_COMPRESSED?= gz +INSTALL_ONLY_COMPRESSED?= + +IMAGES_EN = advanced-networking/isdn-bus.eps +IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps +IMAGES_EN+= advanced-networking/natd.eps +IMAGES_EN+= advanced-networking/net-routing.pic +IMAGES_EN+= advanced-networking/static-routes.pic +IMAGES_EN+= geom/striping.pic +IMAGES_EN+= install/adduser1.scr +IMAGES_EN+= install/adduser2.scr +IMAGES_EN+= install/adduser3.scr +IMAGES_EN+= install/boot-mgr.scr +IMAGES_EN+= install/console-saver1.scr +IMAGES_EN+= install/console-saver2.scr +IMAGES_EN+= install/console-saver3.scr +IMAGES_EN+= install/console-saver4.scr +IMAGES_EN+= install/desktop.scr +IMAGES_EN+= install/disklabel-auto.scr +IMAGES_EN+= install/disklabel-ed1.scr +IMAGES_EN+= install/disklabel-ed2.scr +IMAGES_EN+= install/disklabel-fs.scr +IMAGES_EN+= install/disklabel-root1.scr +IMAGES_EN+= install/disklabel-root2.scr +IMAGES_EN+= install/disklabel-root3.scr +IMAGES_EN+= install/disk-layout.eps +IMAGES_EN+= install/dist-set.scr +IMAGES_EN+= install/dist-set2.scr +IMAGES_EN+= install/docmenu1.scr +IMAGES_EN+= install/ed0-conf.scr +IMAGES_EN+= install/ed0-conf2.scr +IMAGES_EN+= install/edit-inetd-conf.scr +IMAGES_EN+= install/fdisk-drive1.scr +IMAGES_EN+= install/fdisk-drive2.scr +IMAGES_EN+= install/fdisk-edit1.scr +IMAGES_EN+= install/fdisk-edit2.scr +IMAGES_EN+= install/ftp-anon1.scr +IMAGES_EN+= install/ftp-anon2.scr +IMAGES_EN+= install/hdwrconf.scr +IMAGES_EN+= install/keymap.scr +IMAGES_EN+= install/main1.scr +IMAGES_EN+= install/mainexit.scr +IMAGES_EN+= install/main-std.scr +IMAGES_EN+= install/main-options.scr +IMAGES_EN+= install/main-doc.scr +IMAGES_EN+= install/main-keymap.scr +IMAGES_EN+= install/media.scr +IMAGES_EN+= install/mouse1.scr +IMAGES_EN+= install/mouse2.scr +IMAGES_EN+= install/mouse3.scr +IMAGES_EN+= install/mouse4.scr +IMAGES_EN+= install/mouse5.scr +IMAGES_EN+= install/mouse6.scr +IMAGES_EN+= install/mta-main.scr +IMAGES_EN+= install/net-config-menu1.scr +IMAGES_EN+= install/net-config-menu2.scr +IMAGES_EN+= install/nfs-server-edit.scr +IMAGES_EN+= install/ntp-config.scr +IMAGES_EN+= install/options.scr +IMAGES_EN+= install/pkg-cat.scr +IMAGES_EN+= install/pkg-confirm.scr +IMAGES_EN+= install/pkg-install.scr +IMAGES_EN+= install/pkg-sel.scr +IMAGES_EN+= install/probstart.scr +IMAGES_EN+= install/routed.scr +IMAGES_EN+= install/security.scr +IMAGES_EN+= install/sysinstall-exit.scr +IMAGES_EN+= install/timezone1.scr +IMAGES_EN+= install/timezone2.scr +IMAGES_EN+= install/timezone3.scr +IMAGES_EN+= install/userconfig.scr +IMAGES_EN+= install/userconfig2.scr +IMAGES_EN+= install/xf86setup.scr +IMAGES_EN+= mail/mutt1.scr +IMAGES_EN+= mail/mutt2.scr +IMAGES_EN+= mail/mutt3.scr +IMAGES_EN+= mail/pine1.scr +IMAGES_EN+= mail/pine2.scr +IMAGES_EN+= mail/pine3.scr +IMAGES_EN+= mail/pine4.scr +IMAGES_EN+= mail/pine5.scr + +IMAGES_EN+= install/example-dir1.eps +IMAGES_EN+= install/example-dir2.eps +IMAGES_EN+= install/example-dir3.eps +IMAGES_EN+= install/example-dir4.eps +IMAGES_EN+= install/example-dir5.eps +IMAGES_EN+= security/ipsec-network.pic +IMAGES_EN+= security/ipsec-crypt-pkt.pic +IMAGES_EN+= security/ipsec-encap-pkt.pic +IMAGES_EN+= security/ipsec-out-pkt.pic +IMAGES_EN+= vinum/vinum-concat.pic +IMAGES_EN+= vinum/vinum-mirrored-vol.pic +IMAGES_EN+= vinum/vinum-raid10-vol.pic +IMAGES_EN+= vinum/vinum-raid5-org.pic +IMAGES_EN+= vinum/vinum-simple-vol.pic +IMAGES_EN+= vinum/vinum-striped-vol.pic +IMAGES_EN+= vinum/vinum-striped.pic + +# Images from the cross-document image library +IMAGES_LIB= callouts/1.png +IMAGES_LIB+= callouts/2.png +IMAGES_LIB+= callouts/3.png +IMAGES_LIB+= callouts/4.png +IMAGES_LIB+= callouts/5.png +IMAGES_LIB+= callouts/6.png +IMAGES_LIB+= callouts/7.png +IMAGES_LIB+= callouts/8.png +IMAGES_LIB+= callouts/9.png +IMAGES_LIB+= callouts/10.png + +# +# SRCS lists the individual SGML files that make up the document. Changes +# to any of these files will force a rebuild +# + +# SGML content +SRCS+= audit/chapter.sgml +SRCS+= book.sgml +SRCS+= colophon.sgml +SRCS+= freebsd-glossary.sgml +SRCS+= advanced-networking/chapter.sgml +SRCS+= basics/chapter.sgml +SRCS+= bibliography/chapter.sgml +SRCS+= boot/chapter.sgml +SRCS+= config/chapter.sgml +SRCS+= cutting-edge/chapter.sgml +SRCS+= desktop/chapter.sgml +SRCS+= disks/chapter.sgml +SRCS+= eresources/chapter.sgml +SRCS+= firewalls/chapter.sgml +SRCS+= geom/chapter.sgml +SRCS+= install/chapter.sgml +SRCS+= introduction/chapter.sgml +SRCS+= jails/chapter.sgml +SRCS+= kernelconfig/chapter.sgml +SRCS+= l10n/chapter.sgml +SRCS+= linuxemu/chapter.sgml +SRCS+= mac/chapter.sgml +SRCS+= mail/chapter.sgml +SRCS+= mirrors/chapter.sgml +SRCS+= multimedia/chapter.sgml +SRCS+= network-servers/chapter.sgml +SRCS+= pgpkeys/chapter.sgml +SRCS+= ports/chapter.sgml +SRCS+= ppp-and-slip/chapter.sgml +SRCS+= preface/preface.sgml +SRCS+= printing/chapter.sgml +SRCS+= security/chapter.sgml +SRCS+= serialcomms/chapter.sgml +SRCS+= users/chapter.sgml +SRCS+= vinum/chapter.sgml +SRCS+= virtualization/chapter.sgml +SRCS+= x11/chapter.sgml + +# Entities +SRCS+= chapters.ent + +SYMLINKS= ${DESTDIR} index.html handbook.html + +# Turn on all the chapters. +CHAPTERS?= ${SRCS:M*chapter.sgml} + +SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} +SGMLFLAGS+= -i chap.freebsd-glossary + +pgpkeyring: pgpkeys/chapter.sgml + @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} + +# +# Handbook-specific variables +# +.if defined(WITH_PGPKEYS) +JADEFLAGS+= -V withpgpkeys +.endif + +URL_RELPREFIX?= ../../../.. +DOC_PREFIX?= ${.CURDIR}/../../.. + +# +# rules generating lists of mirror site from XML database. +# +XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \ + mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \ + eresources:::eresources.sgml.www.inc.tmp +DEPENDSET.DEFAULT= transtable mirror +XSLT.DEFAULT= ${XSL_MIRRORS} +XML.DEFAULT= ${XML_MIRRORS} +NO_TIDY.DEFAULT= yes + +PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \ + --param 'proto' "'ftp'" \ + --param 'target' "'handbook/mirrors/chapter.sgml'" +PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \ + --param 'proto' "'cvsup'" \ + --param 'target' "'handbook/mirrors/chapter.sgml'" +PARAMS.eresources+= --param 'type' "'www'" \ + --param 'proto' "'http'" \ + --param 'target' "'handbook/eresources/chapter.sgml'" + +SRCS+= mirrors.sgml.ftp.inc \ + mirrors.sgml.cvsup.inc \ + eresources.sgml.www.inc + +CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \ + mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \ + eresources.sgml.www.inc eresources.sgml.www.inc.tmp + +.include "${DOC_PREFIX}/share/mk/doc.project.mk" + +.for p in ftp cvsup +mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp + ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2></\1>,;s,</anchor>,,'\ + < $@.tmp > $@ || (${RM} -f $@ && false) +.endfor + +eresources.sgml.www.inc: eresources.sgml.www.inc.tmp + ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2></\1>,;s,</anchor>,,'\ + < $@.tmp > $@ || (${RM} -f $@ && false) diff --git a/mn_MN.UTF-8/books/handbook/advanced-networking/Makefile b/mn_MN.UTF-8/books/handbook/advanced-networking/Makefile new file mode 100644 index 0000000000..aac7e46d5f --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/advanced-networking/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.2 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= advanced-networking/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml new file mode 100644 index 0000000000..a9954752a8 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml @@ -0,0 +1,4583 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.389 + + $FreeBSD$ +--> + +<chapter id="advanced-networking"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <affiliation> + <address><email>tsgan@hotmail.com</email></address> + </affiliation> + </author> + </authorgroup> + </chapterinfo> + <title>Сүлжээний нэмэлт ойлголтууд</title> + + <sect1 id="advanced-networking-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>Энэ бүлэг нь хэд хэдэн сүлжээний дэвшилтэт нэмэлт сэдвүүдийг хамрах + болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Гарцууд болон чиглүүлэлтүүдийн үндсүүд.</para> + </listitem> + + <listitem> + <para>IEEE 802.11 болон &bluetooth; төхөөрөмжүүдийг хэрхэн суулгах талаар.</para> + </listitem> + + <listitem> + <para>FreeBSD-г гүүр болгож хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>Дискгүй машин дээр сүлжээгээр ачаалахыг хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>Сүлжээний хаягийн хөрвүүлэлтийг хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>PLIP-ээр хоёр компьютерийг хэрхэн холбох талаар.</para> + </listitem> + + <listitem> + <para>FreeBSD машин дээр IPv6-г хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>ATM-ийг хэрхэн тохируулах талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para><filename>/etc/rc</filename> скриптүүдийн үндсүүдийг ойлгосон байх.</para> + </listitem> + + <listitem> + <para>Сүлжээний үндсэн ухагдахуудын талаар мэдлэгтэй байх.</para> + </listitem> + + <listitem> + <para>Шинэ FreeBSD цөм хэрхэн тохируулж суулгах талаар мэдэх + (<xref linkend="kernelconfig">).</para> + </listitem> + + <listitem> + <para>Нэмэлт гуравдагч талуудын хийсэн програм хангамжийг хэрхэн + суулгах талаар мэдэх (<xref linkend="ports">).</para> + </listitem> + + </itemizedlist> + </sect1> + + <sect1 id="network-routing"> + <sect1info> + <authorgroup> + <author> + <firstname>Коранф</firstname> + <surname>Грайфон</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Гарцууд болон Чиглүүлэлтүүд</title> + + <indexterm><primary>чиглүүлэлт хийх</primary></indexterm> + <indexterm><primary>гарц</primary></indexterm> + <indexterm><primary>дэд сүлжээ</primary></indexterm> + <para>Сүлжээгээр нэг машин нөгөө машиныг олж чаддаг байхын тулд нэгээс нөгөө + уруу хэрхэн хүрэхийг тайлбарласан арга замууд байх ёстой. Үүнийг + <firstterm>routing</firstterm> буюу <firstterm>чиглүүлэлт хийх</firstterm> + гэдэг. <quote>Чиглүүлэлт</quote> нь <quote>destination буюу зорьсон газар</quote> болон + <quote>гарц</quote> хаягийн хослолоор тодорхойлогддог. Хэрэв та энэ + <quote>зорьсон газар</quote> уруу очихоор оролдож байгаа бол + энэ <quote>гарц</quote>аар холбогдоно гэж энэ хослол нь зааж байгаа юм. + Гурван төрлийн зорьсон газар байдаг: эдгээр нь хостууд, дэд сүлжээнүүд болон + <quote>анхдагч</quote> юм. <quote>Анхдагч чиглүүлэлт</quote> нь + аль ч чиглүүлэлтэд хамаарахгүй бол ашиглагддаг. Бид анхдагч чиглүүлэлтийн + талаар дараа нь арай дэлгэрэнгүй ярилцах болно. Бас гурван төрлийн гарц байдаг: + эдгээр нь хостууд, интерфэйсүүд (бас <quote>links</quote> буюу холбоосууд гэгддэг) + болон Ethernet тоног төхөөрөмжийн хаягууд (MAC хаягууд) юм. + </para> + + <sect2> + <title>Жишээ</title> + + <para>Чиглүүлэлтийн өөр ойлголтуудыг үзүүлэхийн тулд бид <command>netstat</command>-ийн + дараах жишээг ашиглах болно:</para> + + <screen>&prompt.user; <userinput>netstat -r</userinput> +Routing tables + +Destination Gateway Flags Refs Use Netif Expire + +default outside-gw UGSc 37 418 ppp0 +localhost localhost UH 0 181 lo0 +test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 +10.20.30.255 link#1 UHLW 1 2421 +example.com link#1 UC 0 0 +host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 +host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => +host2.example.com link#1 UC 0 0 +224 link#1 UC 0 0</screen> + + <indexterm><primary>анхдагч чиглүүлэлт</primary></indexterm> + <para>Эхний хоёр мөр нь анхдагч чиглүүлэлт (бид үүнийг <link + linkend="network-routing-default">дараагийн хэсэг</link>т + авч үзэх болно) болон <hostid>localhost</hostid> чиглүүлэлтийг заана.</para> + + <indexterm><primary>loopback төхөөрөмж</primary></indexterm> + <para>Энэ чиглүүлэлтийн хүснэгтийн заасан <literal>localhost</literal>-д зориулж + ашиглах интерфэйс (<literal>Netif</literal> багана) нь + <devicename>lo0</devicename> бөгөөд энэ нь бас loopback буюу буцах + интерфэйс гэгддэг. Энэ нь уг очих газрын хувьд бүх урсгалыг LAN уруу илгээхийн оронд + дотооддоо үлдээнэ гэж хэлж байгаа бөгөөд энэ нь хаанаас эхэлсэн тэндээ буцаж + очих учраас тэр юм.</para> + + <indexterm> + <primary>Ethernet</primary> + <secondary>MAC хаяг</secondary> + </indexterm> + <para>Дараагийн байгаа зүйл бол <hostid role="mac">0:e0:</hostid>-с + эхэлсэн хаягууд юм. Эдгээр нь Ethernet тоног төхөөрөмжийн хаягууд бөгөөд + бас MAC хаягууд гэгддэг. FreeBSD нь локал Ethernet дээр байгаа + ямар ч хостуудыг (жишээн дээрх <hostid>test0</hostid>) автоматаар + таньж тэр хостод зориулж шууд түүн уруу <devicename>ed0</devicename> + Ethernet интерфэйсээр гарахаар чиглүүлэлт нэмдэг. Энэ төрлийн + чиглүүлэлттэй холбоотой хугацаа (<literal>Expire</literal> багана) + байдаг бөгөөд энэ нь заасан хугацаанд тэр хостоос бид нар юу ч сонсохгүй үед + ашиглагддаг. Ийм явдал болоход энэ хост уруу заагдсан чиглүүлэлт автоматаар + устгагдах болно. Эдгээр хостууд нь RIP (Routing Information Protocol + буюу чиглүүлэлтийн мэдээллийн протокол) гэгддэг арга замаар танигддаг бөгөөд энэ нь + хамгийн богино замыг тодорхойлсны үндсэн дээр локал хостууд уруу очих чиглүүлэлтийг + олдог.</para> + + <indexterm><primary>дэд сүлжээ</primary></indexterm> + <para>FreeBSD нь бас локал дэд сүлжээнд зориулж дэд сүлжээний чиглүүлэлтүүдийг + нэмдэг (<hostid role="ipaddr">10.20.30.255</hostid> нь + <hostid role="ipaddr">10.20.30</hostid> дэд сүлжээний цацах хаяг бөгөөд + <hostid role="domainname">example.com</hostid> нь тэр дэд сүлжээтэй холбоотой + домений нэр юм). <literal>link#1</literal> тэмдэглэгээ нь машин дахь + эхний Ethernet картыг заана. Та тэдгээрт зориулж ямар ч нэмэлт интерфэйс + заагдаагүйг харах болно.</para> + + <para>Эдгээр бүлгүүд (локал сүлжээний хостууд болон локал дэд сүлжээнүүд) нь + автоматаар <application>routed</application> гэгддэг демоноор + тохриуулагдсан чиглүүлэлтүүдтэй байна. Хэрэв энэ нь ажиллахгүй байгаа бол + зөвхөн статикаар тодорхойлогдсон (өөрөө хэлбэл илэрхий оруулж өгсөн) + чиглүүлэлтүүд байх болно.</para> + + <para><literal>host1</literal> мөр нь бидний хостыг зааж байгаа бөгөөд + түүнийг Ethernet хаягаар нь мэддэг. Бид илгээж байгаа хост болохоор FreeBSD нь + Ethernet интерфэйсээр илгээхийн оронд loopback буюу буцах интерфэйсийг + (<devicename>lo0</devicename>) ашиглахаа мэддэг.</para> + + <para>Хоёр <literal>host2</literal> мөрүүд нь биднийг &man.ifconfig.8; + alias буюу өөр нэр ашиглах үед (Ethernet-ийн талаарх хэсгээс бид үүнийг яагаад хийдгийг + үзээрэй) учирч болзошгүй зүйлийн жишээ юм. <devicename>lo0</devicename> + интерфэйсийн дараа байгаа <literal>=></literal> тэмдэг нь бид зөвхөн + loopback буюу буцах интерфэйсийг ашиглаад зогсохгүй (энэ хаяг нь бас локал хостыг хэлж + байгаа болохоор) энэ нь ялангуяа alias буюу өөр нэр гэдгийг хэлж байгаа юм. + Ийм чиглүүлэлтүүд нь alias-ийг дэмждэг хост дээр зөвхөн харагдана; локал сүлжээн + дэх бусад бүх хостууд ийм чиглүүлэлтүүдийнхээ хувьд ердөө л <literal>link#1</literal> + мөртэй байна.</para> + + <para>Төгсгөлийн мөр (очих дэд сүлжээ <hostid role="ipaddr">224</hostid>) нь + multicast-тай ажиллаж байгаа бөгөөд үүнийг өөр хэсэгт авч үзэх болно.</para> + + <para>Төгсгөлд нь чиглүүлэлт бүрийн төрөл бүрийн шинж чанаруудыг <literal>Flags</literal> + баганаас харж болно. Эдгээр тугуудын зарим болон тэдгээрийн харгалзах утга санаануудыг + доорх богино хүснэгтээр харуулав:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="4*"> + + <tbody> + <row> + <entry>U</entry> + <entry>Up: Чиглүүлэлт идэвхтэй байна.</entry> + </row> + + <row> + <entry>H</entry> + <entry>Host: Чиглүүлэлтийн очих газар нь ганц хост байна.</entry> + </row> + + <row> + <entry>G</entry> + <entry>Gateway: Энэ очих газарт зориулж бүгдийг энэ алсын систем уруу + илгээх бөгөөд алсын систем нь тэндээсээ хаашаа илгээхээ олох болно.</entry> + </row> + + <row> + <entry>S</entry> + <entry>Static: Энэ чиглүүлэлт нь системээр автоматаар үүсгэгдсэн биш + гараар тохируулагдсан.</entry> + </row> + + <row> + <entry>C</entry> + <entry>Clone: Бидний холбогдож байгаа машины хувьд энэ чиглүүлэлт + дээр үндэслэн шинэ чиглүүлэлт үүсгэдэг. Энэ төрлийн чиглүүлэлт нь ихэвчлэн + локал сүлжээнүүдэд ашиглагддаг.</entry> + </row> + + <row> + <entry>W</entry> + <entry>WasCloned: Локал сүлжээний (Clone) чиглүүлэлт дээр + үндэслэн автоматаар тохируулагдсан чиглүүлэлтийг заана.</entry> + </row> + + <row> + <entry>L</entry> + <entry>Link: Чиглүүлэлт нь Ethernet тоног төхөөрөмжтэй + холбоотой зүйлийг хамрана.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2 id="network-routing-default"> + <title>Анхдагч чиглүүлэлтүүд</title> + + <indexterm><primary>анхдагч чиглүүлэлт</primary></indexterm> + <para>Локал систем нь алсын хост уруу холболт хийх хэрэгтэй үед мэдэгдэж байгаа зам + байгаа эсэхийг тодорхойлохын тулд энэ нь чиглүүлэлтийн хүснэгтээс шалгадаг. Хэрэв алсын + хост нь бидний хэрхэн хүрэхийг нь мэдэх (клон хийгдсэн чиглүүлэлтүүд) дэд сүлжээнд + байгаа бол систем тэр интерфэйсээр холбогдож болох эсэхийг шалгадаг.</para> + + <para>Хэрэв бүх мэдэгдэж байгаа зам амжилтгүй болвол системд сүүлчийн ганц + сонголт <quote>анхдагч</quote> чиглүүлэлт үлдэнэ. Энэ чиглүүлэлт нь гарц чиглүүлэлтийн + тусгай төрөл (системд ихэвчлэн ганц байдаг) бөгөөд тугнуудын талбартаа үргэлж + <literal>c</literal> гэж тэмдэглэгдсэн байдаг. Локал сүлжээн дэх хостын хувьд + энэ гарц нь машины гадаад ертөнц уруу шууд холбогдох зүйлээр (PPP холболт, DSL, + кабел modem, T1, эсвэл өөр сүлжээний интерфэйсээр) тохируулагддаг.</para> + + <para>Хэрэв та өөрөө гаднах ертөнц уруу гарц маягаар ажиллаж байгаа машины хувьд анхдагч + чиглүүлэлтийг тохируулж байгаа бол анхдагч чиглүүлэлт нь таны Интернетийн Үйлчилгээ + Үзүүлэгчийн (ISP) сайт дахь гарц машин болох юм.</para> + + <para>Анхдагч чиглүүлэлтүүдийн жишээг харцгаая. Энэ нь нийтлэг тохиргоо юм:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/net-routing"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> +[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] + </literallayout> + </textobject> + </mediaobject> + + <para><hostid>Local1</hostid> болон + <hostid>Local2</hostid> хостууд нь таны сайтад байна. + <hostid>Local1</hostid> нь ISP уруу dial-up PPP холболтоор + холбогдсон. Энэ PPP сервер компьютер нь дотоод сүлжээгээр + өөр нэг гарц компьютер уруу гадаад интерфэйсээр ISP-ийн Интернет өгч байгаа уруу + холбогдсон байна.</para> + + <para>Таны машин бүрийн хувьд анхдагч чиглүүлэлтүүд нь ийм болно:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Хост</entry> + <entry>Анхдагч Гарц</entry> + <entry>Интерфэйс</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Local2</entry> + <entry>Local1</entry> + <entry>Ethernet</entry> + </row> + + <row> + <entry>Local1</entry> + <entry>T1-GW</entry> + <entry>PPP</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Түгээмэл асуулт нь <quote>Бид яагаад <hostid>Local1</hostid>-ийн хувьд + түүний холбогдсон ISP-ийн серверийн оронд <hostid>T1-GW</hostid>-г анхдагч гарц гэж + тохируулсан бэ?</quote> гэсэн асуулт юм.</para> + + <para>PPP интерфэйс нь өөрийн талын холболтондоо ISP-ийн локал сүлжээн дэх хаягийг ашиглаж + байгаа болохоор ISP-ийн локал сүлжээн дэх бусад дурын машинуудад зориулсан чиглүүлэлт + автоматаар үүсгэгдэх болно гэдгийг санаарай. Ийм учраас та <hostid>T1-GW</hostid> + машин уруу хэрхэн хүрэхээ аль хэдийн мэдэж байгаа болохоор ISP-ийн сервер уруу урсгал + илгээх дундын алхам шаардлагагүй юм.</para> + + <para>Өөрийн локал сүлжээний хувьд <hostid + role="ipaddr">X.X.X.1</hostid> хаягийг гарц хаяг болгож ашиглах нь + түгээмэл байдаг. Тэгэхээр (адил жишээг ашиглаад) хэрэв таны локал C ангилалын + хаягийн талбар <hostid role="ipaddr">10.20.30</hostid> байсан бөгөөд + таны ISP <hostid role="ipaddr">10.9.9</hostid>-г ашиглаж байгаа бол + анхдагч чиглүүлэлтүүд нь ийм байна:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Хост</entry> + <entry>Анхдагч Чиглүүлэлт</entry> + </row> + </thead> + <tbody> + <row> + <entry>Local2 (10.20.30.2)</entry> + <entry>Local1 (10.20.30.1)</entry> + </row> + <row> + <entry>Local1 (10.20.30.1, 10.9.9.30)</entry> + <entry>T1-GW (10.9.9.1)</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Та <filename>/etc/rc.conf</filename> файлын тусламжтай + анхдагч чиглүүлэлтийг хялбараар тодорхойлж болно. Бидний жишээн дээр + <hostid>Local2</hostid> машин дээр бид дараах мөрийг + <filename>/etc/rc.conf</filename> файлд нэмсэн:</para> + + <programlisting>defaultrouter="10.20.30.1"</programlisting> + + <para>Үүнийг шууд тушаалын мөрөөс &man.route.8; тушаалаар хийж бас + болно:</para> + + <screen>&prompt.root; <userinput>route add default 10.20.30.1</userinput></screen> + + <para>Сүлжээний чиглүүлэлтийн хүснэгтүүдийг гараар удирдах талаар дэлгэрэнгүй + мэдээллийг &man.route.8; гарын авлагын хуудаснаас лавлана уу.</para> + </sect2> + + <sect2> + <title>Хос гэртэй хостууд</title> + <indexterm><primary>хос гэртэй хостууд</primary></indexterm> + <para>Өөр бас нэг тохиргооны төрлийг бид хэлэлцэх ёстой бөгөөд энэ нь хоёр өөр сүлжээн + дээр байгаа хостын тухай юм. Техникийн хувьд гарц болж байгаа дурын машин + (дээрх жишээн дээр PPP холболтыг ашиглах нь) хос гэртэй хост гэж тооцогддог. + Гэхдээ үнэндээ энэ ухагдахуун нь хоёр дотоод сүлжээнд байгаа машиныг хэлэхэд + зөвхөн ашиглагддаг.</para> + + <para>Нэг тохиолдолд машин нь хоёр Ethernet карттай бөгөөд карт бүр + тусдаа дэд сүлжээний хаягтай байна. Өөрөөр, машин нь зөвхөн нэг Ethernet + карттай бөгөөд &man.ifconfig.8; alias хийлт буюу өөр нэрийг ашигладаг байж + болно. Эхнийх нь физикийн хувьд тусдаа хоёр Ethernet сүлжээ ашиглагдаж + байгаа үед хэрэглэгдэх бөгөөд сүүлийх нь ганц физик сүлжээний сегмент байгаа боловч + логикийн хувьд хоёр тусдаа дэд сүлжээнүүд байгаа үед хэрэглэгддэг.</para> + + <para>Аль ч тохиолдолд энэ машин нь нөгөө дэд сүлжээ уруу хүрэх тодорхойлогдсон гарц + (гаднаас ирэх чиглүүлэлт) гэдгийг дэд сүлжээ бүр мэддэг байхаар чиглүүлэлтийн хүснэгтүүд + тохируулагддаг. Хоёр дэд сүлжээний хооронд чиглүүлэгч маягаар ажиллах + машинтай энэ тохиргоо нь бид аль нэг тал уруу эсвэл хоёр талын хоюулангийн хувьд + пакет шүүгч буюу галт хана дээр тулгуурласан аюулгүй байдлын шийдлийг хийх + шаардлагатай үед ихэвчлэн хэрэглэгддэг.</para> + + <para>Хоёр интерфэйсийн хооронд пакетуудыг дамжуулдаг байхаар энэ машиныг + байлгахыг хэрэв та хүсвэл энэ боломжийг идэвхжүүлэхийг FreeBSD-д хэлэх + хэрэгтэй. Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг дараагийн хэсгээс үзнэ үү.</para> + </sect2> + + <sect2 id="network-dedicated-router"> + <title>Чиглүүлэгч бүтээх нь</title> + + <indexterm><primary>чиглүүлэгч</primary></indexterm> + + <para>Сүлжээний чиглүүлэгч нь ердөө л нэг интерфэйсээс нөгөө интерфэйс уруу пакетуудыг + дамжуулдаг систем юм. Интернетийн стандартууд болон сайн инженерчлэлийн туршлага нь + үүнийг FreeBSD дээр анхдагчаар идэвхжүүлсэн байхаас FreeBSD төслийг сэргийлдэг. + &man.rc.conf.5; дахь дараах хувьсагчийг <literal>YES</literal> болгон + өөрчилснөөр та энэ боломжийг идэвхжүүлж болно:</para> + + <programlisting>gateway_enable=YES # Set to YES if this host will be a gateway</programlisting> + + <para>Энэ тохируулга нь &man.sysctl.8;-ийн хувьсагч <varname>net.inet.ip.forwarding</varname>-г + <literal>1</literal> болгоно. Хэрэв та чиглүүлэлтийг түр зуур зогсоох хэрэгтэй + бол үүнийг түр зуур <literal>0</literal> болгож тохируулж болно.</para> + + <para>Урсгалыг хааш нь илгээхээ мэдэхийн тулд таны шинэ чиглүүлэгчид чиглүүлэлтүүд + хэрэгтэй болно. Хэрэв таны сүлжээ хангалттай хялбар байх юм бол статик + чиглүүлэлтүүд ашиглаж болно. FreeBSD нь стандарт BSD чиглүүлэлтийн демон + &man.routed.8; програмтай бас ирдэг. Энэ нь RIP (1 ба 2-р хувилбар) болон + IRDP протоколуудыг дэмждэг. BGP v4, OSPF v2 болон бусад төвөгтэй + чиглүүлэлтийн протоколуудын дэмжлэгийг <filename role="package">net/zebra</filename> + багц хангадаг. <application>&gated;</application> зэрэг арилжааны + бүтээгдэхүүнүүд бас илүү төвөгтэй сүлжээний чиглүүлэлтийн шийдлүүдэд + зориулагдсан байдаг.</para> + +<indexterm><primary>BGP</primary></indexterm> +<indexterm><primary>RIP</primary></indexterm> +<indexterm><primary>OSPF</primary></indexterm> + </sect2> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Аль</firstname> + <surname>Хоанг</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + <!-- Feb 2004 --> + <title>Статик чиглүүлэлтүүдийг тохируулах нь</title> + + <sect3> + <title>Гар тохиргоо</title> + + <para>Бид дараах сүлжээтэй байна гэж төсөөлье:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/static-routes"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> + 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 + </literallayout> + </textobject> + </mediaobject> + + <para>Энэ тохиолдолд <hostid>RouterA</hostid> нь Интернет уруу + гарах чиглүүлэгч маягаар ажиллаж байгаа бидний &os; машин байна. + Энэ нь анхдагч чиглүүлэлтээ <hostid role="ipaddr">10.0.0.1</hostid> + гэж тохируулсан бөгөөд ингэснээр гаднах ертөнц уруу холбогдох боломжийг + олгоно. Бид <hostid>RouterB</hostid> нь зөв тохируулагдсан бөгөөд + хаа явах хэрэгцээтэй газраа хэрхэн хүрэхээ мэддэг гэж үзэх болно. (Энэ нь + зураг дээр хялбар юм. Ердөө л <hostid>RouterB</hostid> дээр <hostid + role="ipaddr">192.168.1.1</hostid>-г гарц болгон анхдагч чиглүүлэлт + нэмнэ.)</para> + + <para>Хэрэв бид <hostid>RouterA</hostid>-ийн чиглүүлэлтийн хүснэгтийг + харвал доорхтой төстэйг харах болно:</para> + + <screen>&prompt.user; <userinput>netstat -nr</userinput> +Routing tables + +Internet: +Destination Gateway Flags Refs Use Netif Expire +default 10.0.0.1 UGS 0 49378 xl0 +127.0.0.1 127.0.0.1 UH 0 6 lo0 +10.0.0/24 link#1 UC 0 0 xl0 +192.168.1/24 link#2 UC 0 0 xl1</screen> + + <para>Энэ үеийн чиглүүлэлтийн хүснэгттэй байхад <hostid>RouterA</hostid> нь + бидний Internal Net 2 буюу дотоод сүлжээ 2 уруу хүрч чадахгүй байх болно. + Энэ нь <hostid role="ipaddr">192.168.2.0/24</hostid>-ийн хувьд + чиглүүлэлтгүй байна. Үүнийг арилгах нэг арга нь гараар чиглүүлэлт нэмэх явдал юм. + Дараах тушаал нь <hostid>RouterA</hostid>-ийн чиглүүлэлтийн хүснэгтэд + <hostid role="ipaddr">192.168.1.2</hostid>-г дараагийн зөрлөг (hop) + болгон ашиглан Internal Net 2 сүлжээг нэмэх болно:</para> + + <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen> + + <para>Одоо <hostid>RouterA</hostid> нь <hostid role="ipaddr">192.168.2.0/24</hostid> + сүлжээн дэх дурын хост уруу хүрч чадна.</para> + </sect3> + + <sect3> + <title>Байнгын тохиргоо</title> + + <para>Дээрх жишээ нь ажиллаж байгаа систем дээр статик чиглүүлэлтийг + тохируулахад төгс төгөлдөр юм. Гэхдээ нэг асуудал нь таны &os; машин + дахин ачаалахад чиглүүлэлтийн мэдээлэл үлдэхгүй байх явдал юм. + Статик чиглүүлэлтийг байнга байлгахын тулд түүнийг <filename>/etc/rc.conf</filename> + файлд нэмнэ:</para> + + <programlisting># Add Internal Net 2 as a static route +static_routes="internalnet2" +route_internalnet2="-net 192.168.2.0/24 192.168.1.2"</programlisting> + + <para><literal>static_routes</literal> тохиргооны хувьсагч нь + зайгаар тусгаарлагдсан үгнүүдийн жагсаалт юм. Үг бүр чиглүүлэлтийн нэрийг + заана. Бидний жишээн дээр <literal>static_routes</literal> мөрөнд + бид зөвхөн нэг үгтэй байна. Энэ нь <replaceable>internalnet2</replaceable> + юм. Бид дараа нь &man.route.8; тушаалд өгөх бүх тохиргооны нэмэлт өгөгдлүүдийг + <literal>route_<replaceable>internalnet2</replaceable></literal> + гэгдсэн тохиргооны хувьсагчийн хамтаар нэмнэ. Бидний жишээний хувьд бид ийм + тушаал ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen> + + <para>тэгэхээр бидэнд <literal>"-net 192.168.2.0/24 192.168.1.2"</literal> хэрэгтэй.</para> + + <para>Дээр дурдсанаар бид <literal>static_routes</literal> мөрөнд нэгээс + илүү үгс оруулж болно. Энэ нь бидэнд олон статик чиглүүлэлтүүд үүсгэх боломжийг + олгоно. Дараах мөрүүд нь <hostid role="ipaddr">192.168.0.0/24</hostid> болон <hostid + role="ipaddr">192.168.1.0/24</hostid> сүлжээний хувьд статик чиглүүлэлтүүдийг + санаандаа төсөөлсөн чиглүүлэгч дээрээ нэмж байгаа жишээг үзүүлж байна:</para> + + <programlisting>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"</programlisting> + </sect3> + </sect2> + + <sect2> + <title>Чиглүүлэлтийн тархалт</title> + <indexterm><primary>чиглүүлэлтийн тархалт</primary></indexterm> + <para>Бид гаднах ертөнц уруу чиглэсэн өөрсдийн чиглүүлэлтүүдийг хэрхэн тодорхойлох + талаар ярилцсан боловч гаднах ертөнц хэрхэн биднийг олох талаар хэлэлцээгүй билээ.</para> + + <para>Чиглүүлэлтийн хүснэгтүүдийг тухайн нэг хаягийн талбарын (бидний жишээн дээр + C ангилалын дэд сүлжээ) бүх урсгал тэр сүлжээний тухайн нэг хост уруу илгээгдэж тэр нь + пакетуудыг дотогшоо дамжуулдагаар тохируулж болно гэдгийг бид мэдэж байгаа билээ.</para> + + <para>Та өөрийн сайтдаа заагдсан хаягийн талбарыг авах үед таны үйлчилгээ үзүүлэгч + өөрсдийн чиглүүлэлтийн хүснэгтүүдийг таны дэд сүлжээнд зориулагдсан бүх урсгал + таны PPP холбоосоор таны сайт уруу илгээгддэгээр тохируулах болно. Гэхдээ улс даяар + байх бусад сайтууд таны ISP уруу илгээхээ яаж мэдэх вэ?</para> + + <para>Бүх заагдсан хаягийн талбаруудыг хянаж Интернэтийн үндсэн сүлжээ уруу холбогдох + холболтын цэгийг тодорхойлдог систем (тараагдсан DNS-ийн мэдээлэлтэй бараг адил) + байдаг. <quote>Backbone</quote> буюу <quote>гол нуруу (үндсэн сүлжээ)</quote> + нь улс даяар болон дэлхий даяар Интернетийн урсгалыг зөөвөрлөж байдаг гол шугамнууд + юм. Гол нуруу машин бүр мастер хүснэгтүүдийн хуулбартай байдаг бөгөөд эдгээр хүснэгтүүд нь + тухайн нэг сүлжээнд зориулсан урсгалыг онцгой гол нуруу зөөвөрлөгч уруу чиглүүлж + тэндээсээ доош бусад үйлчилгээ үзүүлэгчдээр дамжин таны сүлжээнд хүрдэг.</para> + + <para>Үндсэн (гол нуруу) сайтууд уруу зарлаж тэдгээр нь таны сайтын хувьд холболтын цэг + (буюу орох зам) гэж тодорхойлох нь таны үйлчилгээ үзүүлэгчийн үүрэг юм. Үүнийг чиглүүлэлтийн + тархалт гэж нэрлэдэг.</para> + </sect2> + + <sect2> + <title>Алдааг олж засварлах</title> + <indexterm> + <primary><command>traceroute</command></primary> + </indexterm> + <para>Заримдаа чиглүүлэлтийн тархалт асуудалтай бөгөөд зарим нэгэн сайтууд өөр уруу + чинь холбогдож чадахгүй байж болно. Чиглүүлэлт хаана ажиллахгүй болж байгааг + олоход тус болох магадгүй хамгийн ашигтай тушаал нь &man.traceroute.8; тушаал + юм. Хэрэв та алсын машин уруу холбогдож чадахгүй юм шиг байвал (өөрөөр хэлбэл + &man.ping.8; амжилтгүй болвол) энэ нь бас адил ашигтай байдаг.</para> + + <para>&man.traceroute.8; тушаалыг таны холбогдохыг оролдож байгаа алсын + хостын нэртэй ажиллуулдаг. Энэ нь гарц хостуудыг оролдлого хийж байгаа замын + хамтаар харуулдаг бөгөөд эцсийн хост уруу хүрэх юм уу эсвэл холболтын асуудлаас болоод + эцсийн хост уруугаа хүрэлгүйгээр ажиллаж дуусдаг.</para> + + <para>Дэлгэрэнгүй мэдээллийг &man.traceroute.8;-ийн гарын авлагын хуудаснаас + үзнэ үү.</para> + </sect2> + + <sect2> + <title>Multicast чиглүүлэлт хийх</title> + <indexterm> + <primary>multicast чиглүүлэлт хийх</primary> + </indexterm> + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>MROUTING</secondary> + </indexterm> + <para>FreeBSD нь multicast програмууд болон multicast чиглүүлэлтийг + угаасаа дэмждэг. Multicast програмууд нь FreeBSD-ийн ямар нэг тусгай + тохиргоо шаарддаггүй; програмууд нь шууд л ажилладаг. Multicast + чиглүүлэлт нь дэмжлэгийг цөмд эмхэтгэхийг шаарддаг:</para> + + <programlisting>options MROUTING</programlisting> + + <para>Мөн multicast чиглүүлэлтийн демон &man.mrouted.8; нь + туннелууд болон <acronym>DVMRP</acronym>-г үүсгэхээр + <filename>/etc/mrouted.conf</filename> файлын тусламжтай + тохируулагдсан байх ёстой. Multicast тохиргооны талаарх дэлгэрэнгүй + мэдээллийг &man.mrouted.8;-ийн гарын авлагын хуудаснаас олж + болно.</para> + </sect2> + </sect1> + + <sect1 id="network-wireless"> + <sect1info> + <authorgroup> + <author> + <othername>Loader</othername> + </author> + + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + </author> + + <author> + <firstname>Мюррэй</firstname> + <surname>Стөүкли</surname> + </author> + </authorgroup> + </sect1info> + <title>Утасгүй сүлжээ</title> + + <indexterm><primary>утасгүй сүлжээ</primary></indexterm> + <indexterm> + <primary>802.11</primary> + <see>утасгүй сүлжээ</see> + </indexterm> + + <sect2> + <title>Утасгүй сүлжээний үндсүүд</title> + + <para>Ихэнх утасгүй сүлжээнүүд нь IEEE 802.11 стандартууд дээр үндэслэсэн + байдаг. Үндсэн утасгүй сүлжээ нь 2.4GHz юм уу эсвэл 5GHz-ийн зурваст + цацдаг радио долгионоор холбогддог олон станцуудаас тогтдог (энэ нь орон + нутгаас хамаарч өөр өөр байдаг бөгөөд 2.3GHz-с 4.9GHz-ийн хүрээнд холбоог + идэвхжүүлэхээр өөрчлөгдөж байгаа).</para> + + <para>802.11 сүлжээ нь хоёр аргаар зохион байгуулагддаг: + <emphasis>дэд бүтцийн горим</emphasis>д нэг станц мастер маягаар ажиллаж + бусад станцууд нь түүнтэй холбогддог; энэ сүлжээг BSS гэдэг бөгөөд мастер + станц нь хандалтын цэг (access point)(AP) гэгддэг. BSS-т бүх холбоо AP-р + дамждаг; нэг станц өөр нэг утасгүй станцтай холбоо тогтоохыг хүссэн байсан ч гэсэн + мэдэгдлүүд нь AP-р дамжих ёстой байдаг. Хоёр дахь хэлбэрийн сүлжээнд + мастер байдаггүй бөгөөд станцууд нь шууд холбогддог. Энэ сүлжээний хэлбэрийг + IBSS гэдэг бөгөөд бас <emphasis>ad-hoc сүлжээ</emphasis> гэгддэг.</para> + + <para>802.11 сүлжээнүүд нь 2.4GHz-ийн зурваст IEEE 802.11 болон 802.11b + стандартуудаар тодорхойлогдсон протоколуудыг ашиглан эхлэн хийгдэж байсан. + Эдгээр тодорхойлолтууд нь ажиллах давтамжууд, хүрээ хийх болон дамжуулах хурд + (холболт төрөл бүрийн хурдаар хийгдэж болно) зэрэг MAC давхаргын үзүүлэлтүүдийг + агуулдаг. Сүүлд 802.11a стандарт нь өөр дохионы арга замууд болон илүү өндөр дамжуулах + хурдууд зэрэг 5GHz-ийн зурвасын ажиллагааг тодорхойлсон билээ. Мөн дараа нь + 802.11b сүлжээнүүдтэй буцаж нийцтэй байхаар 802.11a дохионы хэрэглээ болон + 2.4GHz-ийн зурваст дамжуулах арга замуудыг идэвхжүүлж 802.11g стандарт + тодорхойлогдсон байна.</para> + + <para>Суурь болсон дамжуулах техникүүдээс гадна 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-д шаардагддаггүй, учир нь үүнийг хуучин тоног төхөөрөмж дээр хийхэд + тооцооллын хувьд өртөгтэй гэж үздэг.)</para> + + <para>Дээрх протоколын стандартуудаас гадна мэдэж байх өөр нэг чухал стандарт + бол 802.11e юм. Энэ нь 802.11 сүлжээнд видео дамжуулах, IP дээгүүрх + дуу (VoIP) зэрэг мультимедиа хэрэглээнүүдэд шаардлагатай протоколуудыг + тодорхойлдог. 802.11i-тай адил 802.11e нь үйлдвэрлэлийн бүлгээс + 802.11e-ийн дэд олонлог гэж тодорхойлсон, 802.11e-г батлахыг хүлээж байх + хугацаанд мультимедиа хэрэглээнүүдийг идэвхжүүлэхэд ашиглаж болох + WME (сүүлд WMM) гэгдсэн урьдчилсан тодорхойлолт байдаг. + 802.11e болон WME/WMM-ийн талаар мэдэх ёстой хамгийн чухал зүйл нь + утасгүй сүлжээний зэрэглэл тогтоогдсон урсгалын хэрэглээг Quality of Service + (QoS) буюу үйчилгээний чанарын протоколууд болон өргөтгөсөн зөөвөрлөгчийн + хандалтын протоколуудын тусламжтайгаар идэвхжүүлдэг явдал юм. Эдгээр + протоколуудын зөв шийдэл нь өгөгдлийн өндөр хурдтай тэсрэлт болон зэрэглэл + тогтоогдсон урсгалыг идэвхжүүлдэг.</para> + + <para>6.0 хувилбараас эхлээд &os; нь 802.11a, 802.11b, болон 802.11g-г + ашиглан ажилладаг сүлжэнүүдийг дэмждэг. WPA болон 802.11i аюулгүй байдлын + протоколууд нь адилхан (11a, 11b, болон 11g-тэй цуг) дэмжигдсэн байдаг + бөгөөд WME/WMM протоколуудын шаарддаг QoS болон урсгалын зэрэглэлт нь + хязгааргүй тооны утасгүй төхөөрөмжүүдэд дэмжигдсэн байдаг.</para> + </sect2> + + <sect2 id="network-wireless-basic"> + <title>Үндсэн тохируулга</title> + + <sect3> + <title>Цөмийн тохиргоо</title> + + <para>Утасгүй сүлжээг ашиглахын тулд танд утасгүй сүлжээний карт болон + цөмийг тохирох утасгүй сүлжээний дэмжлэгтэйгээр тохируулах хэрэгтэй + болно. Сүүлийнх нь олон модулиудад хуваагддаг. Тэгэхээр танд + зөвхөн өөрийнхөө ашиглах програм хангамжийг тохируулах хэрэгтэй болох + юм.</para> + + <para>Танд эхлээд хэрэг болох зүйл нь утасгүй сүлжээний төхөөрөмж + юм. Хамгийн түгээмэл хэрэглэгддэг төхөөрөмжүүд нь Atheros-ийн + хийдэг хэсгүүдийг ашигладаг төхөөрөмжүүд байдаг. Эдгээр төхөөрөмжүүд нь + &man.ath.4; драйвераар дэмжигддэг бөгөөд <filename>/boot/loader.conf</filename> + файлд дараах мөрийг нэмэхийг шаарддаг:</para> + + <programlisting>if_ath_load="YES"</programlisting> + + <para>Atheros драйвер нь гурван тусдаа хэсэгт хуваагддаг: эдгээр нь зөв драйвер + (&man.ath.4;), бичил схемийн функцүүдийг зохицуулдаг, тоног төхөөрөмжийн + дэмжлэгийн давхарга (&man.ath.hal.4;), болон хүрээнүүдийг дамжуулахын + тулд хэд хэдэн боломжит хурдуудаас (энд ath_rate_sample) сонгох алгоритм юм. + Та энэ дэмжлэгийг модул хэлбэрээр дуудах үед түүнтэй хамааралтай зүйлс + автоматаар зохицуулагдах болно. Хэрэв танд Atheros төхөөрөмжийн оронд + өөр төхөөрөмж байгаа бол та тэр төхөөрөмжид зориулсан модулийг сонгох юм, + өөрөөр хэлбэл:</para> + + <programlisting>if_wi_load="YES"</programlisting> + + <para>гэж Intersil Prism хэсгүүд дээр суурилсан төхөөрөмжүүдийн + хувьд хийж өгнө (&man.wi.4; driver).</para> + + <note> + <para>Энэ баримтын үлдсэн хэсэгт бид &man.ath.4; төхөөрөмжийг ашиглах + бөгөөд жишээнүүд дээрх төхөөрөмжийн нэр таны тохиргооны дагуу + өөрчлөгдөх ёстой. Байгаа утасгүй драйверуудын жагсаалтыг + &man.wlan.4; гарын авлагын хуудасны эхнээс олж болно. Таны + утасгүй төхөөрөмжид зориулагдсан &os;-ийн драйвер байхгүй бол магадгүй + &windows; драйверийг <link + linkend="config-network-ndis">NDIS</link> + драйверийн гүйцэтгэл хялбаршуулагчийн тусламжтай шууд ашиглаж + болох юм.</para> + </note> + + <para>Төхөөрөмжийн драйверийг тохируулсныхаа дараа та драйверийн шаарддаг + 802.11 сүлжээний дэмжлэгийг бас оруулах хэрэгтэй болно. &man.ath.4; + драйверийн хувьд энэ нь ядахдаа &man.wlan.4; модул байх бөгөөд энэ модул + нь утасгүй төхөөрөмжийн драйвертай цуг автоматаар дуудагддаг. Үүнтэй цуг + таны ашиглах аюулгүй байдлын протоколуудад зориулагдсан криптографийн дэмжлэгийг + хийдэг модулиуд хэрэгтэй болно. Эдгээр нь &man.wlan.4; модулиар автоматаар + шаардлагын дагуу дуудагддаг байхаар зориулагдсан боловч одоохондоо эдгээрийг гараар + тохируулах шаардлагатай. Дараах модулиуд байдаг: &man.wlan.wep.4;, &man.wlan.ccmp.4; + болон &man.wlan.tkip.4;. &man.wlan.ccmp.4; болон &man.wlan.tkip.4; + драйверууд нь WPA ба/эсвэл 802.11i аюулгүй байдлын протоколуудыг ашиглахаар + болсон тохиолдолд танд зөвхөн хэрэгтэй байдаг. Хэрэв таны сүлжээ нээлттэй + (өөрөөр хэлбэл шифрлэлтгүй) ажиллах бол танд &man.wlan.wep.4; дэмжлэг + ерөөсөө хэрэггүй. Эдгээр модулиудыг ачаалах үед дуудахын тулд дараах мөрүүдийг + <filename>/boot/loader.conf</filename> файлд нэмнэ:</para> + + <programlisting>wlan_wep_load="YES" +wlan_ccmp_load="YES" +wlan_tkip_load="YES"</programlisting> + + <para>Системийн эхлүүлэх тохиргооны файлд (өөрөөр хэлбэл + <filename>/boot/loader.conf</filename>) ийм мэдээлэлтэйгээр та өөрийн + &os; хайрцгийг дахин ачаалах хэрэгтэй. Хэрэв та өөрийн машиныг дахин ачаалахыг + хүсэхгүй байгаа бол та модулиудыг &man.kldload.8;-ийн тусламжтайгаар + гараар дуудаж болно.</para> + + <note> + <para>Хэрэв та модулиудыг ашиглахыг хүсэхгүй байгаа бол дараах мөрүүдийг өөрийн + цөмийн тохиргооны файлд нэмж эдгээр драйверуудыг цөмд эмхэтгэж болно:</para> + + <programlisting>device ath # Atheros IEEE 802.11 wireless network driver +device ath_hal # Atheros Hardware Access Layer +device ath_rate_sample # John Bicket's SampleRate control algorithm. +device wlan # 802.11 support (Required) +device wlan_wep # WEP crypto support for 802.11 devices +device wlan_ccmp # AES-CCMP crypto support for 802.11 devices +device wlan_tkip # TKIP and Michael crypto support for 802.11 devices</programlisting> + + <para>Цөмийн тохиргооны файлдаа ийм мэдээлэлтэйгээр цөмөө дахин эмхэтгээд + өөрийн &os; машиныг дахин ачаалах хэрэгтэй.</para> + </note> + + <para>Систем ассаны дараа ачаалах үеийн мэдэгдлүүдэд үүнтэй адил + утасгүй төхөөрөмжийн талаарх зарим мэдээллийг олж болно:</para> + + <screen>ath0: <Atheros 5212> 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</screen> + </sect3> + </sect2> + + <sect2> + <title>Дэд бүтцийн горим</title> + + <para>Дэд бүтцийн горим буюу BSS горим нь ихэвчлэн ашиглагддаг горим юм. + Энэ горимд утасгүй хандалтын цэгүүд нь утастай сүлжээнд холбогдсон байдаг. + Утасгүй сүлжээ бүр өөрийн нэртэй байдаг бөгөөд энэ нэр нь сүлжээний SSID + гэгддэг. Утасгүй клиентүүд нь утасгүй хандалтын цэгүүдэд холбогддог.</para> + + <sect3> + <title>&os; клиентүүд</title> + + <sect4> + <title>Хандалтын цэгүүдийг хэрхэн олох вэ</title> + + <para>Сүлжээнүүдийг хайхын тулд <command>ifconfig</command> + тушаалыг ашиглана. Энэ хүсэлт нь хэсэг хором болж болох бөгөөд + боломжтой утасгүй давтамж бүр уруу шилжиж, байгаа хандалтын + цэгүүдийг шалгахыг системээс шаарддаг. Зөвхөн супер хэрэглэгч + ийм хайлт эхлүүлж чадна:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> up scan</userinput> +SSID BSSID CHAN RATE S:N INT CAPS +dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME +freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPA</screen> + + <note> + <para>Та хайлт хийхээсээ өмнө интерфэйсээ <option>up</option> болгож + тэмдэглэх ёстой. Дараа дараагийн хайлтын хүсэлтүүд интерфэйсийг + up болгож тэмдэглэхийг шаарддаггүй.</para> + </note> + + <para>Хайлтын хүсэлтийн гаралт олсон BSS/IBSS сүлжээ бүрийг + харуулдаг. Сүлжээний нэр <literal>SSID</literal>-с + гадна хандалтын цэгийн MAC хаяг болох <literal>BSSID</literal>-г + бид харах болно. <literal>CAPS</literal> талбар нь сүлжээ бүрийн + төрөл болон тэнд ажиллаж байгаа станцуудын боломжуудыг заана:</para> + + <variablelist> + <varlistentry> + <term><literal>E</literal></term> + + <listitem> + <para>Extended Service Set (ESS) буюу өргөтгөсөн үйлчилгээний олонлог. + Станц нь дэд бүтцийн сүлжээний хэсэг гэдгийг харуулна + (IBSS/ad-hoc сүлжээтэй харьцуулах юм бол ).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>I</literal></term> + + <listitem> + <para>IBSS/ad-hoc сүлжээ. Станц нь ad-hoc сүлжээний хэсэг гэдгийг + харуулна (ESS сүлжээтэй харьцуулах юм бол).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>P</literal></term> + + <listitem> + <para>Хувийн нууц. BSS-ийн дотор солилцож байгаа өгөгдлийн бүх + хүрээнүүдэд өгөгдлийн нууц байдал шаардлагатай байдаг. Энэ BSS нь + бусадтай солилцох өгөгдлийн хүрээнүүдийг шифрлэх/буцаах + WEP, TKIP эсвэл AES-CCMP зэрэг криптограф ашиглахыг станцаас + шаарддаг гэсэн үг юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>S</literal></term> + + <listitem> + <para>Богино оршил (preamble). Сүлжээ богино оршлуудыг + (802.11b өндөр хурд/DSSS PHY-д тодорхойлогдсоноор богино + оршил нь урт оршилд ашиглагддаг 128 бит талбартай харьцуулах юм бол + 56 бит sync талбарыг хэрэглэдэг) ашиглаж байгааг харуулдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>s</literal></term> + + <listitem> + <para>Богино слот (ангархай) хугацаа. 802.11g сүлжээ хуучин + (802.11b) станцууд байхгүй байгаа учраас богино слот хугацааг + хэрэглэж байгааг харуулна.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Мэдэгдэж байгаа сүлжээнүүдийн одоогийн жагсаалтыг бас доорх + тушаалаар харуулж болно:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> list scan</userinput></screen> + + <para>Энэ мэдээллийг автоматаар хувиргагчаар (adapter) эсвэл гараар + <option>scan</option> хүсэлтийн тусламжтай шинэчилж болно. + Хуучин өгөгдөл кэшээс автоматаар арилгагдах болохоор хэсэг хугацаа + өнгөрсний дараа нэмэлт хайлтууд хийхгүй л бол энэ жагсаалт багасаж + болох юм.</para> + </sect4> + + <sect4> + <title>Үндсэн тохиргоонууд</title> + + <para>Энэ хэсэгт &os; дээр утасгүй сүлжээний хувиргагчийг шифрлэлтгүйгээр + хэрхэн ажиллуулахыг харуулсан энгийн жишээг үзүүлнэ. Эдгээр ойлголтуудыг + мэддэг болсныхоо дараа өөрийнхөө утасгүй сүлжээг тохируулахдаа + <link linkend="network-wireless-wpa">WPA</link>-г ашиглахыг + бид тууштай зөвлөж байна.</para> + + <para>Утасгүй сүлжээг тохируулах гурван үндсэн алхам байдаг: эдгээрт хандалтыг цэгийг + сонгох, өөрийн станцийг таниулж нэвтрүүлэх, болон IP хаягийг тохируулах + багтана. Дараах хэсэг алхам бүрийг хэлэлцэнэ.</para> + + <sect5> + <title>Хандалтын цэгийг сонгох нь</title> + + <para>Ихэнх тохиолдолд систем өөртөө бүтээгдсэн гүнзгийрүүлэн шалгах аргаа + (heuristic) ашиглан хандалтын цэгийг сонгохыг нь зөвшөөрөх хангалттай байдаг. + Таныг интерфэйсийг up гэж тэмдэглэх үед энэ нь анхдагч байх бөгөөд хэрэв + үгүй бол интерфэйсийг <filename>/etc/rc.conf</filename> файлд + жагсаан тохируулна, өөрөөр хэлбэл:</para> + + <programlisting>ifconfig_ath0="DHCP"</programlisting> + + <para>Хэрэв олон хандалтын цэгүүд байгаа бөгөөд та тухайн нэгийг сонгохыг + хүсвэл түүнийг SSID-аар нь сонгож болно:</para> + + <programlisting>ifconfig_ath0="ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting> + + <para>Адил SSID-тай олон хандалтын цэгүүд байгаа орчинд (роуминг-ийг + (тэнүүчлэх) хялбар болгохын тулд ихэвчлэн хийдэг) аль нэг тухайн + төхөөрөмж уруу холбогдох шаардлагатай болж болох юм. Энэ тохиолдолд + та хандалтын цэгийн BSSID-ийг зааж өгч бас болох юм (та бас SSID-ийг + үлдээж болно):</para> + + <programlisting>ifconfig_ath0="ssid <replaceable>your_ssid_here</replaceable> bssid <replaceable>xx:xx:xx:xx:xx:xx</replaceable> DHCP"</programlisting> + + <para>Системийн хайлт хийх давтамжуудын олонлогийг хязгаарлах зэрэг хандалтын + цэгийн сонголтыг шаардах өөр аргууд байдаг.Та олон зурвасын + утасгүй сүлжээний карттай байх тохиолдолд энэ нь ашигтай байдаг. Ийм + тохиолдолд бүх боломжит сувгуудыг хайх нь цаг хугацаа шаардсан + ажил байдаг. Ажиллагааг тухайн нэг зурвас дээр хязгаарлахын тулд + <option>mode</option> параметрийг та ашиглаж болно, өөрөөр + хэлбэл:</para> + + <programlisting>ifconfig_ath0="mode <replaceable>11g</replaceable> ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting> + + <para>нь картыг 2.4GHz давтамжуудын хувьд тодорхойлогдсон 802.11g горимд + картыг ажиллуулах бөгөөд бусад 5GHz-ийн сувгуудыг авч үзэхгүй байх + болно. Үүнийг хийх өөр нэг арга нь ажиллагааг тухайн нэг давтамжид + түгжих <option>channel</option> параметр болон + хайлт хийхдээ сувгуудын жагсаалтыг заах <option>chanlist</option> + параметрийг ашиглах явдал юм. Эдгээр параметрүүдийн талаарх дэлгэрэнгүй + мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас лавлана уу.</para> + </sect5> + + <sect5> + <title>Нэвтрэлт танилт</title> + + <para>Хандалтын цэгийг сонгосны дараа таны станц өгөгдөл дамжуулахаа + өмнө өөрийгөө таниулан нэвтрэх хэрэгтэй. Нэвтрэлт танилт хэд хэдэн + аргаар хийгдэж болно. Ашиглагддаг хамгийн түгээмэл схем бол + нээлттэй нэвтрэлт танилт гэгддэг бөгөөд энэ нь дурын станц сүлжээнд нэгдэж + холбогдохыг зөвшөөрдөг. Энэ нь эхний удаа утасгүй сүлжээг тохируулж байхдаа + тестийн зорилгоор таны ашиглах ёстой нэвтрэлт танилт юм. Бусад + схемүүд нь өгөгдлийн урсгал эхлэхээс өмнө криптограф мэдээлэл + солилцоо хийгдэхийг шаарддаг; урьдчилсан хуваалцсан түлхүүрүүд эсвэл + нууц үгс ашиглах эсвэл RADIUS зэрэг арын үйлчилгээнүүдийг ашигладаг + илүү төвөгтэй схемүүд зэргийг дурдаж болно. Ихэнх хэрэглэгчид + нээлттэй нэвтрэлт танилт ашиглах бөгөөд энэ нь анхдагч тохиргоо + байдаг. Дараагийн хамгийн түгээмэл тохируулга бол WPA-PSK бөгөөд энэ нь + бас WPA Personal гэгддэг. Энэ тохируулга <link + linkend="network-wireless-wpa-wpa-psk">доор</link> тайлбарлагдсан + байгаа.</para> + + <note> + <para>Хэрэв танд хандалтын цэгт зориулсан &apple; &airport; Extreme дээр + суурилсан үндсэн станц байгаа бол WEP түлхүүртэй хамт хуваалцсан түлхүүрийг + тохируулах хэрэгтэй болж болох юм. Үүнийг <filename>/etc/rc.conf</filename> + файл эсвэл &man.wpa.supplicant.8; програмыг ашиглан хийж болно. + Хэрэв та ганц &airport; үндсэн станцтай бол хандалтыг иймэрхүүгээр хийж + өгч болно:</para> + + <programlisting>ifconfig_ath0="authmode shared wepmode on weptxkey <replaceable>1</replaceable> wepkey <replaceable>01234567</replaceable> DHCP"</programlisting> + + <para>Ерөнхийдээ хуваалцсан түлхүүр бүхий нэвтрэлт танилтыг + ашиглахаас зайлсхийх хэрэгтэй, яагаад гэвэл WEP түлхүүрийн + материалыг их хүчилсэн хэлбэрээр ашигладаг нь түлхүүрийг + эвдэх боломжийг илүү амархан болгодог. Хэрэв WEP ашиглагдах + ёстой бол (өөрөөр хэлбэл хуучин төхөөрөмжтэй нийцтэй байх үүднээс) + WEP-ийг <literal>open</literal> буюу нээлттэй нэвтрэлт + танилттай цуг ашиглах нь зүйтэй юм. WEP-ийн талаар дэлгэрэнгүй + мэдээллийг <xref + linkend="network-wireless-wep">-с олж болно.</para> + </note> + </sect5> + + <sect5> + <title>DHCP-ээр IP хаяг авах</title> + + <para>Хандалтын цэгийг сонгож нэвтрэлт танилтын параметрүүдийг тохируулсны + дараа холбогдохын тулд та IP хаяг авах хэрэгтэй болно. Та өөрийн утасгүй + IP хаягийг ихэвчлэн DHCP-ээр авах болно. Ингэхийн тулд ердөө л + <filename>/etc/rc.conf</filename> файлыг засварлаж + дээрх жишээн дээр үзүүлсэн шиг өөрийн төхөөрөмжийн тохиргоонд зориулж + <literal>DHCP</literal> гэж нэмж өгнө:</para> + + <programlisting>ifconfig_ath0="DHCP"</programlisting> + + <para>Энэ хүрэхэд та утасгүй интерфэйсээ ажиллуулахад бэлэн байх болно:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput></screen> + + <para>Интерфэйс ажиллаж эхэлсний дараа <devicename>ath0</devicename> + интерфэйсийн төлөвийг үзэхийн тулд <command>ifconfig</command> + тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput> +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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 + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen> + + <para><literal>status: associated</literal> мөр нь + таныг утасгүй сүлжээнд (бидний тохиолдолд <literal>dlinkap</literal> + сүлжээ уруу) холбогдсон гэдгийг харуулж байна. + <literal>bssid 00:13:46:49:41:76</literal> хэсэг нь + таны хандалтын цэгийн MAC хаяг юм; <literal>authmode</literal> мөр нь + холболт шифрлэгдээгүй гэдгийг танд харуулж байна + (<literal>OPEN</literal>).</para> + </sect5> + + <sect5> + <title>Статик IP хаяг</title> + + <para>DHCP серверээс IP хаяг авч чадахгүй тохиолдолд тогтмол IP хаяг + та тавьж болно. Дээр үзүүлсэн <literal>DHCP</literal> гэсэн + түлхүүр үгийг хаягийн мэдээллээр солих хэрэгтэй. Хандалтын цэгийг + сонгохдоо хэрэглэсэн бусад параметрүүдийг үлдээхээ мартуузай:</para> + + <programlisting>ifconfig_ath0="inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>your_ssid_here</replaceable>"</programlisting> + </sect5> + + <sect4 id="network-wireless-wpa"> + <title>WPA</title> + + <para>WPA (Wi-Fi Protected Access буюу Wi-Fi Хамгаалагдсан Хандалт) нь + <link linkend="network-wireless-wep">WEP</link>-ийн + сул тал болон зөв нэвтрэлт танилтын дутмаг байдлыг арилгах зорилгоор + 802.11 сүлжээнүүдэд цуг ашиглагддаг аюулгүй байдлын протокол + юм. WPA нь 802.1X нэвтрэлт танилтын протоколыг хөшүүрэгддэг бөгөөд өгөгдлийн + бүрэн бүтэн байдалд зориулж WEP-ийн оронд хэд хэдэн шифрүүдийн + нэгийг ашигладаг. WPA-ийн шаарддаг цорын ганц шифр бол TKIP + (Temporary Key Integrity Protocol) бөгөөд энэ нь + бүрэн бүтэн байдал шалгалт, хуурамч үйлдлийг илрүүлэлт болон илрүүлсэн + халдлагуудад хариулахад зориулсан арга хэмжээнүүдийг WEP-ийн ашигладаг + үндсэн RC4 шифрт нэмэн өргөтгөсөн шифр юм. TKIP нь хуучин тоног төхөөрөмж дээр + зөвхөн програм хангамжийн өөрчлөлттэйгээр ажиллахаар хийгдсэн; + энэ нь аюулгүй байдлыг сайжруулдаг боловч хадлагаас бүрэн гүйцэд + хамгаалж чаддаггүй. WPA нь TKIP-г орлуулж AES-CCMP шифрийг + бас заадаг бөгөөд боломжтой тохиолдолд үүнийг хэрэглэхийг + урьтал болгодог; энэ тодорхойлолтод WPA2 (эсвэл RSN) гэсэн + ухагдахуун нийтлэг ашиглагддаг.</para> + + <para>WPA нь нэвтрэлт танилт болон шифрлэлтийн протоколуудыг + тодорхойлдог. Нэвтрэлт танилт нь хоёр техникийн аль нэгээр + ихэвчлэн хийгддэг: 802.1X болон RADIUS зэрэг арын + нэвтрэлт танилтын үйлчилгээгээр эсвэл урьдчилан хуваалцсан нууц үг + ашиглан станц болон хандалтын хооронд хамгийн багаар мэдээлэл солилцох + (handshake) замаар хийгддэг. Эхнийх нь ихэвчлэн WPA Enterprise, + сүүлийнх нь WPA Personal гэгддэг. Ихэнх хүмүүс утасгүй сүлжээнд + зориулж арын RADIUS сервер тохируулдаггүй учир WPA-PSK нь + WPA-д зориулсан хамгийн түгээмэл тохиолддог тохиргоо юм.</para> + + <para>Утасгүй холболтын хяналт болон нэвтрэлт танилт (түлхүүрийн + тохиролцоо эсвэл сервертэй хийх нэвтрэлт танилт) нь + &man.wpa.supplicant.8; хэрэгслээр хийгддэг. Энэ програм нь + ажиллахын тулд <filename>/etc/wpa_supplicant.conf</filename> + тохиргооны файл шаарддаг. Энэ файлын талаар дэлгэрэнгүй + мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас + олж болно.</para> + + <sect5 id="network-wireless-wpa-wpa-psk"> + <title>WPA-PSK</title> + + <para>WPA-PSK нь бас WPA Personal гэгддэг бөгөөд өгөгдсөн нууц үгээс үүсгэгдсэн + pre-shared key буюу (PSK) урьдчилан хуваалцсан түлхүүр дээр суурилдаг + бөгөөд утасгүй сүлжээнд мастер түлхүүр болон ашиглагддаг. Энэ нь + утасгүй хэрэглэгч бүр адил түлхүүрийг хуваалцана гэсэн үг юм. + WPA-PSK нь нэвтрэлт танилтын сервер хэрэглэх боломжгүй эсвэл шаардлагагүй + жижиг сүлжээнүүдэд зориулагдсан юм.</para> + + <warning> + <para>Хангалттай урт, төрөл бүрийн тэмдэгтүүдээс бүтсэн, таах буюу/эсвэл халдах + боломжгүй хэцүү нууц үгсийг үргэлж ашиглах хэрэгтэй.</para> + </warning> + + <para>Эхний алхам нь <filename>/etc/wpa_supplicant.conf</filename> + файлыг өөрийн сүлжээний SSID болон урьдчилан хуваалцсан түлхүүрээр + тохируулах явдал юм:</para> + + <programlisting>network={ + ssid="freebsdap" + psk="freebsdmall" +}</programlisting> + + <para>Дараа нь бид <filename>/etc/rc.conf</filename> файлд + утасгүй төхөөрөмжийн тохиргоо WPA-аар хийгдэж IP хаяг DHCP-ээс + авагдана гэдгийг зааж өгнө:</para> + + <programlisting>ifconfig_ath0="WPA DHCP"</programlisting> + + <para>Дараа нь бид интерфэйсийг босгож ажиллуулна:</para> + + <screen>&prompt.root; <userinput><filename>/etc/rc.d/netif</filename> start</userinput> +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<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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</screen> + + <para>Эсвэл та үүнийг гараар <link + linkend="network-wireless-wpa-wpa-psk">дээрх</link> + <filename>/etc/wpa_supplicant.conf</filename> ашиглан + хийж дараахийг ажиллуулж болно:</para> + + <screen>&prompt.root; <userinput>wpa_supplicant -i <replaceable>ath0</replaceable> -c /etc/wpa_supplicant.conf</userinput> +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]</screen> + + <para>Дараагийн үйлдэл нь DHCP серверээс IP хаяг авахын тулд + <command>dhclient</command> тушаалыг ажиллуулах явдал + юм:</para> + + <screen>&prompt.root; <userinput>dhclient <replaceable>ath0</replaceable></userinput> +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. +&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput> +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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/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</screen> + + <note> + <para>Хэрэв <filename>/etc/rc.conf</filename> файл нь + <literal>ifconfig_ath0="DHCP"</literal> мөртэй тохируулагдсан + бол <command>dhclient</command> тушаалыг гараар ажиллуулах + шаардлагагүй, <command>dhclient</command> тушаал нь + түлхүүрүүдийг <command>wpa_supplicant</command> гаргаж + авсны дараа ажиллах болно.</para> + </note> + + <para>DHCP-ийн хэрэглээ боломжгүй тохиолдолд <command>wpa_supplicant</command> + станцыг таниулж нэвтрүүлсний дараа та статик IP хаяг + тохируулж болно:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.0.100</replaceable> netmask <replaceable>255.255.255.0</replaceable></userinput> +&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput> +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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</screen> + + <para>DHCP сервер ашиглагдаагүй үед та анхдагч гарц болон + нэрийн серверийг гараар бас тохируулах хэрэгтэй болно:</para> + + <screen>&prompt.root; <userinput>route add default <replaceable>your_default_router</replaceable></userinput> +&prompt.root; <userinput>echo "nameserver <replaceable>your_DNS_server</replaceable>" >> /etc/resolv.conf</userinput></screen> + </sect5> + + <sect5 id="network-wireless-wpa-eap-tls"> + <title>EAP-TLS-тэй WPA</title> + + <para>WPA-г ашиглах хоёр дахь арга нь 802.1X арын нэвтрэлт танилтын + сервертэй цуг ашиглах явдал бөгөөд энэ тохиолдолд WPA-г + урьдчилан хуваалцсан түлхүүр бүхий аюулгүй байдлын хувьд арай дутуу WPA-Personal-с + ялгахын тулд WPA-Enterprise гэдэг. WPA-Enterprise дахь + нэвтрэлт танилт нь EAP (Extensible Authentication Protocol + буюу өргөтгөсөн нэвтрэлт танилтын протокол) дээр суурилдаг.</para> + + <para>EAP нь шифрлэлтийн аргагүй ирдэг бөгөөд харин шифрлэгдсэн туннелийн + дотор EAP-ийг суулгахаар шийдсэн байдаг. EAP нэвтрэлт танилтын аргуудын + олон төрлүүд бүтээгдсэн бөгөөд хамгийн түгээмэл аргууд нь EAP-TLS, EAP-TTLS + болон EAP-PEAP юм.</para> + + <para>EAP-TLS (EAP with Transport Layer Security) нь + <ulink url="http://www.wi-fi.org/">Wi-Fi alliance</ulink>-аас + хамгийн түрүүнд батламжлагдсан EAP арга бөгөөд утасгүй ертөнц дэх + маш сайн дэмжигдсэн нэвтрэлт танилтын протокол юм. EAP-TLS нь + ажиллахын тулд гурван сертификат шаарддаг: эдгээр нь CA сертификат (бүх машин + дээр суулгагдсан), таны нэвтрэлт танилтын серверт зориулсан сертификат, + утасгүй клиент бүрд зориулсан клиентийн сертификат юм. Энэ + EAP арга дээр нэвтрэлт танилтын сервер болон утасгүй клиент нь + өөр өөрсдийн сертификатыг бие биендээ үзүүлж нэг нэгнийгээ + танин нэвтрүүлдэг бөгөөд тэд эдгээр сертификатыг танай байгууллагын + сертификатын удирдлага (CA) олгож баталгаажуулсан болохыг + шалгадаг.</para> + + <para>Урьдын адил тохиргоог <filename>/etc/wpa_supplicant.conf</filename> + файлаар хийнэ:</para> + + <programlisting>network={ + ssid="freebsdap" <co id="co-tls-ssid"> + proto=RSN <co id="co-tls-proto"> + key_mgmt=WPA-EAP <co id="co-tls-kmgmt"> + eap=TLS <co id="co-tls-eap"> + identity="loader" <co id="co-tls-id"> + ca_cert="/etc/certs/cacert.pem" <co id="co-tls-cacert"> + client_cert="/etc/certs/clientcert.pem" <co id="co-tls-clientcert"> + private_key="/etc/certs/clientkey.pem" <co id="co-tls-pkey"> + private_key_passwd="freebsdmallclient" <co id="co-tls-pwd"> +}</programlisting> + + <calloutlist> + <callout arearefs="co-tls-ssid"> + <para>Энэ талбар нь сүлжээний нэрийг заана + (SSID).</para> + </callout> + + <callout arearefs="co-tls-proto"> + <para>Энд бид RSN (IEEE 802.11i) протоколыг ашиглана, өөрөөр хэлбэл, + WPA2.</para> + </callout> + + <callout arearefs="co-tls-kmgmt"> + <para><literal>key_mgmt</literal> мөр нь бидний ашиглах + түлхүүр удирдах протоколыг заана. Бидний тохиолдолд энэ нь EAP + нэвтрэлт танилтыг ашиглаж байгаа WPA юм: + <literal>WPA-EAP</literal>.</para> + </callout> + + <callout arearefs="co-tls-eap"> + <para>Энэ талбарт бид өөрсдийн холболтдоо зориулж EAP + аргыг заана.</para> + </callout> + + <callout arearefs="co-tls-id"> + <para><literal>identity</literal> талбар нь EAP-ийг таниулах + мөрийг агуулна.</para> + </callout> + + <callout arearefs="co-tls-cacert"> + <para><literal>ca_cert</literal> талбар нь CA сертификат + файлын замыг заана. Энэ файл нь серверийн сертификатыг шалгахад + хэрэгтэй.</para> + </callout> + + <callout arearefs="co-tls-clientcert"> + <para><literal>client_cert</literal> шугам клиентийн + сертификатын файлын замыг өгнө. Энэ сертификат нь сүлжээний + утасгүй клиент бүрийн хувьд давтагдашгүй байна.</para> + </callout> + + <callout arearefs="co-tls-pkey"> + <para><literal>private_key</literal> талбар нь + клиентийн сертификатын хувийн түлхүүрийн файлын замын нэр + юм.</para> + </callout> + + <callout arearefs="co-tls-pwd"> + <para><literal>private_key_passwd</literal> талбар нь + хувийн түлхүүрийн нэвтрэх үгийг агуулдаг.</para> + </callout> + </calloutlist> + + <para>Тэгээд дараах мөрийг + <filename>/etc/rc.conf</filename> файлд нэмнэ:</para> + + <programlisting>ifconfig_ath0="WPA DHCP"</programlisting> + + <para>Дараагийн алхам нь <filename>rc.d</filename> боломжийн + тусламжтай интерфэйсийг босгож ажиллуулах явдал юм:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput> +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<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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</screen> + + <para>Урьд нь үзүүлсний адил интерфэйсийг гараар <command>wpa_supplicant</command> болон + <command>ifconfig</command> тушаалуудаар босгох боломжтой + байдаг.</para> + </sect5> + + <sect5 id="network-wireless-wpa-eap-ttls"> + <title>EAP-TTLS-тэй WPA</title> + + <para>EAP-TLS-тэй байхад нэвтрэлт танилтын сервер болон клиентэд + сертификат хэрэгтэй бол EAP-TTLS-тэй (EAP-Tunneled + Transport Layer Security) байхад клиентийн сертификат + нэмэлт сонголт байдаг. Энэ арга нь зорчигчид клиент талдаа + сертификатгүй байсан ч гэсэн нууцлаг SSL туннел үүсгэж чаддаг + зарим нэг аюулгүй вэб сайтуудын хийдэгтэй ойролцоо байдаг. + EAP-TTLS нь нэвтрэлт танилтын өгөгдлийг аюулгүй тээвэрлэхэд + зориулж шифрлэгдсэн TLS туннелийг ашиглах болно.</para> + + <para>Тохиргоог <filename>/etc/wpa_supplicant.conf</filename> + файлаар хийнэ:</para> + + <programlisting>network={ + ssid="freebsdap" + proto=RSN + key_mgmt=WPA-EAP + eap=TTLS <co id="co-ttls-eap"> + identity="test" <co id="co-ttls-id"> + password="test" <co id="co-ttls-passwd"> + ca_cert="/etc/certs/cacert.pem" <co id="co-ttls-cacert"> + phase2="auth=MD5" <co id="co-ttls-pha2"> +}</programlisting> + + <calloutlist> + <callout arearefs="co-ttls-eap"> + <para>Энэ талбарт бид өөрийн холболтондоо зориулж + EAP аргыг дурдана.</para> + </callout> + + <callout arearefs="co-ttls-id"> + <para><literal>identity</literal> талбар нь шифрлэгдсэн TLS + туннел доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг + агуулна.</para> + </callout> + + <callout arearefs="co-ttls-passwd"> + <para><literal>password</literal> талбар нь EAP нэвтрэлт + танилтад зориулсан нэвтрэх үгийг агуулна.</para> + </callout> + + <callout arearefs="co-ttls-cacert"> + <para><literal>ca_cert</literal> талбар нь CA сертификатын + файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг + шалгахад хэрэгтэй байдаг.</para> + </callout> + + <callout arearefs="co-ttls-pha2"> + <para>Энэ талбарт бид шифрлэгдсэн TLS туннелд ашиглагдсан + нэвтрэлт танилтын аргыг заана. Бидний тохиолдолд MD5-Challenge-тай + цуг EAP ашиглагдаж байна. <quote>inner authentication</quote> + дотоод нэвтрэлт танилт үе нь ихэвчлэн <quote>phase2</quote> буюу хоёрдугаар + үе гэгддэг.</para> + </callout> + </calloutlist> + + <para>Дараах мөрийг та <filename>/etc/rc.conf</filename> файлд + бас нэмэх хэрэгтэй:</para> + + <programlisting>ifconfig_ath0="WPA DHCP"</programlisting> + + <para>Дараагийн алхам бол интерфэйсийг босгож ажиллуулах явдал юм:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput> +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<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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</screen> + </sect5> + + <sect5 id="network-wireless-wpa-eap-peap"> + <title>EAP-PEAP-тэй WPA</title> + + <para>PEAP (Protected EAP) нь EAP-TTLS-ийн өөр нэг хувилбар хэлбэрээр + байхаар хийгдсэн юм. Хоёр төрлийн PEAP арга байдаг бөгөөд хамгийн + түгээмэл нь PEAPv0/EAP-MSCHAPv2 юм. Энэ баримтын үлдсэн хэсэгт + PEAP ухагдахууныг тэр EAP аргыг хэлэхдээ хэрэглэх болно. PEAP нь + EAP-TLS-ийн дараа ордог хамгийн их ашиглагддаг EAP стандарт юм, + өөрөөр хэлбэл хэрэв та төрөл бүрийн OS-үүд холилдсон сүлжээтэй бол + PEAP нь EAP-TLS-ийн дараа орох хамгийн ихээр дэмжигдсэн стандарт + байх юм.</para> + + <para>PEAP нь EAP-TLS-тэй төстэй байдаг: энэ нь клиент болон + нэвтрэлт танилтын серверийн хооронд нэвтрэлт танилтын + мэдээллийн солилцоог хамгаалах шифрлэгдсэн туннел үүсгэн + клиентүүдийг танин нэвтрүүлэхийн тулд сервер талын сертификатыг + ашигладаг. Аюулгүй байдлын ухагдахуун дахь EAP-TTLS болон PEAP-ийн + хоорондох ялгаа нь PEAP нэвтрэлт танилт хэрэглэгчийн нэрийг + цэвэр текст хэлбэрээр, зөвхөн нууц үгийг шифрлэгдсэн TLS туннелээр + цацдаг явдал юм. EAP-TTLS нь хэрэглэгчийн нэр болон нууц үгт + зориулж TLS туннелийг ашиглах болно.</para> + + <para>Бид <filename>/etc/wpa_supplicant.conf</filename> файлыг + засварлаж EAP-PEAP-тэй холбоотой тохируулгуудыг нэмэх хэрэгтэй болно:</para> + + <programlisting>network={ + ssid="freebsdap" + proto=RSN + key_mgmt=WPA-EAP + eap=PEAP <co id="co-peap-eap"> + identity="test" <co id="co-peap-id"> + password="test" <co id="co-peap-passwd"> + ca_cert="/etc/certs/cacert.pem" <co id="co-peap-cacert"> + phase1="peaplabel=0" <co id="co-peap-pha1"> + phase2="auth=MSCHAPV2" <co id="co-peap-pha2"> +}</programlisting> + + <calloutlist> + <callout arearefs="co-peap-eap"> + <para>Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг + ашиглахаа дурдана.</para> + </callout> + + <callout arearefs="co-peap-id"> + <para><literal>identity</literal> талбар нь шифрлэгдсэн TLS + туннел доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг + агуулна.</para> + </callout> + + <callout arearefs="co-peap-passwd"> + <para><literal>password</literal> талбар нь EAP нэвтрэлт + танилтад зориулсан нэвтрэх үгийг агуулна.</para> + </callout> + + <callout arearefs="co-peap-cacert"> + <para><literal>ca_cert</literal> талбар нь CA сертификатын + файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг + шалгахад хэрэгтэй байдаг.</para> + </callout> + + <callout arearefs="co-peap-pha1"> + <para>Энэ талбар нь нэвтрэлт танилтын (TLS туннел) эхний үед + зориулсан параметрүүдийг агуулна. Ашигласан нэвтрэлт танилтын + серверээс хамаараад нэвтрэлт танилтанд зориулж тусгай хаяг/шошгыг + зааж өгөх хэрэгтэй болно. Ихэнх тохиолдолд хаяг/шошго нь + <quote>клиентийн EAP шифрлэлт</quote> байх бөгөөд үүнийг + <literal>peaplabel=0</literal> гэж тохируулна. + Илүү мэдээллийг &man.wpa.supplicant.conf.5; + гарын авлагын хуудаснаас олж болно.</para> + </callout> + + <callout arearefs="co-peap-pha2"> + <para>Энэ талбарт бид шифрлэгдсэн TLS туннелд ашиглагдсан + нэвтрэлт танилтын аргыг заана. PEAP-ийн хувьд энэ нь + <literal>auth=MSCHAPV2</literal> байна.</para> + </callout> + </calloutlist> + + <para>Дараахийг <filename>/etc/rc.conf</filename> файлд + нэмэх ёстой:</para> + + <programlisting>ifconfig_ath0="WPA DHCP"</programlisting> + + <para>Дараа нь бид интерфэйсийг босгож ажиллуулж болно:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput> +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<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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</screen> + </sect5> + </sect4> + + <sect4 id="network-wireless-wep"> + <title>WEP</title> + + <para>WEP (Wired Equivalent Privacy) нь анхдагч 802.11 стандартын + хэсэг юм. Үүнд ямар ч нэвтрэлт танилтын арга байхгүй, энэ нь хандалт + хяналтын зөвхөн сул хэлбэр бөгөөд хялбар эвдэх боломжтой байдаг.</para> + + <para>WEP-ийг <command>ifconfig</command> тушаалаар + тохируулж болно:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid my_net \ + wepmode on weptxkey 3 wepkey 3:0x3456789012</userinput></screen> + + <itemizedlist> + <listitem> + <para><literal>weptxkey</literal> нь дамжуулалтад + ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь + түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой + таарах ёстой.</para> + </listitem> + + <listitem> + <para><literal>wepkey</literal> нь сонгогдсон WEP түлхүүрийг + тохируулахыг хэлнэ. Энэ нь <replaceable>index:key</replaceable> + хэлбэрийн байх ёстой бөгөөд индекс өгөгдөөгүй бол түлхүүр + <literal>1</literal> тохируулагдана. Энэ нь хэрэв бид + эхний түлхүүрээс өөр түлхүүрүүдийг ашиглах бол индексийг тохируулах + хэрэгтэй гэсэн үг юм.</para> + + <note> + <para>Та <literal>0x3456789012</literal>-г + хандалтын цэг дээр ашиглахаар тохируулсан түлхүүрээр + солих ёстой.</para> + </note> + </listitem> + </itemizedlist> + + <para>Цаашхи мэдээллийг &man.ifconfig.8; гарын авлагын + хуудаснаас унших нь зүйтэй юм.</para> + + <para><command>wpa_supplicant</command> хэрэгслийг өөрийн утасгүй + интерфэйсийг WEP-тэй тохируулахын тулд бас ашиглаж болно. + Дараах мөрийг <filename>/etc/wpa_supplicant.conf</filename> + файлд нэмж дээрх жишээг тохируулж болно:</para> + + <programlisting>network={ + ssid="my_net" + key_mgmt=NONE + wep_key3=3456789012 + wep_tx_keyidx=3 +}</programlisting> + + <para>Дараа нь:</para> + + <screen>&prompt.root; <userinput>wpa_supplicant -i <replaceable>ath0</replaceable> -c /etc/wpa_supplicant.conf</userinput> +Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz) +Associated with 00:13:46:49:41:76</screen> + </sect4> + </sect3> + </sect2> + + <sect2> + <title>Ad-hoc горим</title> + + <para>IBSS горим буюу бас ad-hoc гэгддэг горим нь цэгээс цэгт холбогдох холболтуудад + зориулагдан хийгдсэн. Жишээ нь <hostid>A</hostid> машин болон <hostid>B</hostid> + машины хооронд ad-hoc сүлжээ үүсгэхийн тулд бид ердөө л хоёр IP хаяг болон SSID + сонгох хэрэгтэй болно.</para> + + <para><hostid>A</hostid> машин дээр:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.0.1</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable> mediaopt adhoc</userinput> +&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput> + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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 <adhoc> (autoselect <adhoc>) + status: associated + ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen> + + <para><literal>adhoc</literal> параметр нь интерфэйс IBSS горимд ажиллаж + байгааг харуулж байна.</para> + + <para><hostid>B</hostid> машин дээр бид <hostid>A</hostid> машиныг + илрүүлж чадах ёстой:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> up scan</userinput> + SSID BSSID CHAN RATE S:N INT CAPS + freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 IS</screen> + + <para>Гаралт дээрх <literal>I</literal> нь <hostid>A</hostid> + машин ad-hoc горимд байгааг батална. Бид одоо <hostid>B</hostid>-г + өөр IP хаягтайгаар тохируулах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.0.2</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable> mediaopt adhoc</userinput> +&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput> + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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 <adhoc> (autoselect <adhoc>) + status: associated + ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen> + + <para><hostid>A</hostid> болон <hostid>B</hostid> нь одоо + мэдээлэл солилцоход бэлэн боллоо.</para> + </sect2> + + <sect2> + <title>Алдааг олж засварлах</title> + + <para>Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж + засварлахад туслах хэд хэдэн алхмууд байдаг.</para> + + <itemizedlist> + <listitem> + <para>Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол + та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр + хязгаарлаж тохируулаагүй эсэхээ шалгаарай.</para> + </listitem> + + <listitem> + <para>Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын + тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай. + Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд + хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй. + Хэрэв та WPA эсвэл WEP зэрэг аюулгүй байдлын протоколыг + ашиглаж байгаа бол хандалтын цэгийг нээлттэй нэвтрэлт танилтад зориулж + ямар нэгэн аюулгүй байдлын хамгаалалтгүй тохируулж урсгал + дамжиж байгаа эсэхийг үзэх хэрэгтэй.</para> + </listitem> + + <listitem> + <para>Хандалтын цэгт холбогдсоныхоо дараа &man.ping.8; зэрэг + хялбар хэрэгслүүдийг ашиглаад ямар ч аюулгүй байдлын тохиргоог + оношлож болно.</para> + + <para><command>wpa_supplicant</command> нь илүү дибаг хийх + дэмжлэгтэй байдаг; үүнийг <option>-dd</option> сонголттой + гараар ажиллуулж системийн бүртгэлүүдийг шалгах хэрэгтэй.</para> + </listitem> + + <listitem> + <para>Мөн олон доод түвшний дибаг хийх хэрэгслүүд бас байдаг. Та + 802.11 протоколын дэмжлэг давхаргад дибаг мэдэгдлүүдийг + <filename>/usr/src/tools/tools/net80211</filename> дахь + <command>wlandebug</command> програмыг ашиглан идэвхжүүлж + болно. Жишээ нь:</para> + + <screen>&prompt.root; <userinput>wlandebug -i <replaceable>ath0</replaceable> +scan+auth+debug+assoc</userinput> + net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan></screen> + + <para>тушаал нь хандалтын цэгүүдийг хайх болон холбоог зохион байгуулах + 802.11 протоколын мэдээлэл солилцоонуудыг хийхтэй холбоотой + консолийн мэдэгдлүүдийг идэвхжүүлэхэд ашиглагдаж болох юм.</para> + + <para>802.11 давхаргын арчилж байдаг олон ашигтай статистикууд бас + байдаг; эдгээр мэдээллүүдийг <command>wlanstats</command> + хэрэгсэл харуулах болно. Эдгээр статистикууд нь 802.11 давхаргаар + танигдсан бүх алдаануудыг таних ёстой. Гэхдээ 802.11 давхаргаас доош + орших төхөөрөмжийн драйверууд дээр танигдсан зарим алдаанууд нь + харуулагдахгүй байж болохыг санаарай. Төхөөрөмжтэй холбоотой + асуудлуудыг оношлохын тулд та драйверийн баримтаас лавлах хэрэгтэй юм.</para> + </listitem> + </itemizedlist> + + <para>Хэрэв дээрх мэдээлэл асуудлыг тодруулахад тань туслахгүй байгаа бол + дээрх хэрэгслүүдээс гарсан гаралтыг оруулж асуудлынхаа тайланг илгээгээрэй.</para> + </sect2> + </sect1> + + <sect1 id="network-bluetooth"> + <sect1info> + <authorgroup> + <author> + <firstname>Пав</firstname> + <surname>Лукистник</surname> + <contrib>Бичсэн </contrib> + <affiliation> + <address><email>pav@FreeBSD.org</email></address> + </affiliation> + </author> + </authorgroup> + </sect1info> + <title>Bluetooth</title> + + <indexterm><primary>Bluetooth</primary></indexterm> + <sect2> + <title>Танилцуулга</title> + <para>Bluetooth нь 10 метрийн дотор 2.4 GHz давтамжийн лицензжүүлээгүй + зурваст ажиллах хувийн сүлжээнүүд үүсгэхэд зориулагдсан утасгүй технолог юм. + Сүлжээнүүд нь үүрэн утас, гарын цахим жижиг хэрэгслүүд, болон зөөврийн + компьютерууд зэрэг зөөврийн төхөөрөмжүүдээс ad-hoc ихэвчлэн бүрдүүлдэг. + Бусад түгээмэл утасгүй технологиудаас ялгаатай тал нь Wi-Fi, Bluetooth нь + илүү өндөр түвшний үйлчилгээний хувийн тохиргоонуудыг санал болгодог, өөрөөр + хэлбэл FTP-тэй адил файлын серверүүд, файл түлхэх, дуу дамжуулалт, + цуваа шугамын эмуляц зэрэг олныг дурдаж болно.</para> + + <para>&os; дэх Bluetooth стек нь Netgraph тогтолцоог ашиглан хийгдсэн + байдаг (&man.netgraph.4;-г үзнэ үү). Олон төрлийн Bluetooth USB хамгаалах + төхөөрөмжүүд (dongle) &man.ng.ubt.4; драйвераар дэмжигдсэн байдаг. + Broadcom BCM2033 бичил схем дээр суурилсан Bluetooth төхөөрөмжүүд нь + &man.ubtbcmfw.4; болон &man.ng.ubt.4; драйверуудаар дэмжигдсэн байдаг. + 3Com Bluetooth PC Карт 3CRWB60-A нь &man.ng.bt3c.4; драйвераар + дэмжигдсэн байдаг. Цуваа болон UART дээр суурилсан Bluetooth төхөөрөмжүүд нь + &man.sio.4;, &man.ng.h4.4; болон &man.hcseriald.8; драйверуудаар + дэмжигдсэн. Энэ хэсэг нь USB Bluetooth dongle-ийн хэрэглээг тайлбарлах + болно.</para> + </sect2> + + <sect2> + <title>Төхөөрөмжид залгах нь</title> + <para>Анхдагчаар Bluetooth төхөөрөмжийн драйверууд нь цөмийн модул хэлбэрээр + байдаг. Төхөөрөмжийг залгахаасаа өмнө та драйверийг цөмд дуудаж ачаалах хэрэгтэй + болно:</para> + + <screen>&prompt.root; <userinput>kldload ng_ubt</userinput></screen> + + <para>Хэрэв Bluetooth төхөөрөмж системийг эхлүүлэх явцад системд байх юм бол + <filename>/boot/loader.conf</filename> файлаас модулийг дуудна:</para> + + <programlisting>ng_ubt_load="YES"</programlisting> + + <para>Өөрийн USB dongle-ийг залга. Консол (эсвэл syslog) дээр дараахьтай төстэй + гаралт гарж ирэх болно:</para> + + <screen>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</screen> + + <note> + <para>Bluetooth стек нь &os; 6.0 болон 5.5-аас өмнөх &os; 5.X + хувилбарууд дээр гараар эхлүүлэгдэх ёстой. Энэ нь &os; 5.5, 6.1 болон түүнээс + шинэ хувилбарууд дээр &man.devd.8;-ээс автоматаар хийгддэг.</para> + + <para><filename>/usr/share/examples/netgraph/bluetooth/rc.bluetooth</filename>-г + <filename>/etc/rc.bluetooth</filename> гэх мэт ямар нэг тохиромжтой газар хуулах хэрэгтэй. + Энэ скрипт ньь Bluetooth стекийг эхлүүлэх болон зогсооход хэрэглэгддэг. Төхөөрөмжийг + салгахаасаа өмнө стекийг зогсоох нь зөв байдаг, гэхдээ энэ нь (ихэвчлэн) сүйрлийн биш + байдаг. Стекийг эхлүүлж байхад дараахьтай төстэй гаралтыг та хүлээн авах + болно:</para> + + <screen>&prompt.root; <userinput>/etc/rc.bluetooth start ubt0</userinput> +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> <Hold mode> <Sniff mode> +<Park mode> <RSSI> <Channel quality> <SCO link> +<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> +<Paging scheme> <Power control> <Transparent SCO data> +Max. ACL packet size: 192 bytes +Number of ACL packets: 8 +Max. SCO packet size: 64 bytes +Number of SCO packets: 8</screen> + </note> + + </sect2> + + <indexterm><primary>HCI</primary></indexterm> + <sect2> + <title>Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс</title> + + <para>Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс нь + үндсэн зурвасын хянагч болон холболтын менежерт тушаалын интерфэйсийг, + тоног төхөөрөмжийн төлөв болон хяналтын регистерүүдэд хандалтыг өгдөг байна. + Энэ интерфэйс нь Bluetooth-ийн үндсэн зурвасын боломжуудад хандах нэгэн + хэвийн аргыг олгодог. Хост дээрх HCI давхарга нь өгөгдөл болон тушаалуудыг + Bluetooth тоног төхөөрөмж дээрх HCI firmware-тэй солилцдог. + Хостийн Хянагчийн Тээврийн Давхаргын (өөрөөр хэлбэл физик шугам) драйвер нь + HCI давхаргуудад нэг нь нөгөөдөө мэдээлэл солилцох боломжоор хангаж + өгдөг.</para> + + <para><emphasis>hci</emphasis> төрлийн ганц Netgraph цэг ганц Bluetooth + төхөөрөмжийн хувьд үүсдэг. HCI цэг нь Bluetooth төхөөрөмжийн драйверийн цэгт + (доош) болон L2CAP цэгт (дээш) ихэвчлэн холбогддог. Бүх HCI үйлдлүүд нь + төхөөрөмжийн драйверийн цэг дээр биш HCI цэг дээр хийгдэх ёстой. HCI цэгийн + анхдагч нэр нь <quote>devicehci</quote> юм. Илүү дэлгэрэнгүй + мэдээллийг &man.ng.hci.4; гарын авлагын хуудаснаас лавлана уу.</para> + + <para>Хамгийн нийтлэг ажлуудын нэг нь RF-ийн ойр Bluetooth төхөөрөмжүүдийг + олох явдал юм. Энэ үйлдлийг <emphasis>inquiry</emphasis> буюу + лавлагаа гэдэг. Лавлагаа болон бусад HCI-тэй холбоотой үйлдлүүд нь + &man.hccontrol.8; хэрэгслээр хийгддэг. Доорхи жишээ нь ойр орчим ямар + Bluetooth төхөөрөмжүүд байгааг хэрхэн олохыг харуулж байна. Та төхөөрөмжүүдийн + жагсаалтыг хэдхэн секундэнд авах ёстой. Алсын төхөөрөмж нь + <emphasis>илрүүлэгдэх</emphasis> горимд байгаа тохиолдолд лавлагаанд зөвхөн + хариулах болно гэдгийг санаарай.</para> + + <screen>&prompt.user; <userinput>hccontrol -n ubt0hci inquiry</userinput> +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]</screen> + + <para><literal>BD_ADDR</literal> нь Bluetooth төхөөрөмжийн + сүлжээний картад байдаг MAC хаягууд шиг давтагдашгүй хаяг юм. Энэ хаяг нь + төхөөрөмжтэй холбогдоход цаашид хэрэг болдог. BD_ADDR-т хүн уншиж + болохоор нэр өгөх боломжтой байдаг. <filename>/etc/bluetooth/hosts</filename> + файл нь мэдэгдэж байгаа Bluetooth хостуудын талаарх мэдээллийг + агуулдаг. Дараах жишээ нь алсын төхөөрөмжид өгсөн хүн уншиж болохоор нэрийг + хэрхэн авч болохыг үзүүлж байна:</para> + + <screen>&prompt.user; <userinput>hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4</userinput> +BD_ADDR: 00:80:37:29:19:a4 +Name: Pav's T39</screen> + + <para>Хэрэв та лавлагааг алсын Bluetooth төхөөрөмж дээр хийх юм бол энэ нь + таны компьютерийг <quote>your.host.name (ubt0)</quote> хэлбэрээр + олох болно. Локал төхөөрөмжид өгсөн нэрийг ямар ч үед өөрчилж болно.</para> + + <para>Bluetooth систем нь цэгээс-цэгт-хүрэх (point-to-point) + эсвэл цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтын боломжийг олгодог. + Цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтод холболт нь + хэд хэдэн Bluetooth төхөөрөмжүүдийн хооронд хуваалцан хэрэглэгддэг. Дараах + жишээ нь локал төхөөрөмжийн хувьд идэвхтэй үндсэн зурвасын холболтуудын + жагсаалтыг хэрхэн авахыг үзүүлж байна:</para> + + <screen>&prompt.user; <userinput>hccontrol -n ubt0hci read_connection_list</userinput> +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</screen> + + <para><emphasis>connection handle</emphasis> буюу <emphasis>холболтын гар</emphasis> + нь үндсэн зурвасын холболтыг дуусгах шаардлагатай үед ашигтай байдаг. + Үүнийг гараар хийхийг ерөнхийдөө шаарддаггүйг санаарай. Стек нь идэвхгүй байгаа + үндсэн зурвасын холболтуудыг автоматаар дуусгах болно.</para> + + <screen>&prompt.root; <userinput>hccontrol -n ubt0hci disconnect 41</userinput> +Connection handle: 41 +Reason: Connection terminated by local host [0x16]</screen> + + <para>HCI тушаалуудын бүрэн жагсаалыг <command>hccontrol help</command> + гэж лавлана уу. HCI тушаалуудын ихэнх нь супер хэрэглэгчийн зөвшөөрлүүдийг + шаарддаггүй.</para> + + </sect2> + + <indexterm><primary>L2CAP</primary></indexterm> + <sect2> + <title>Logical Link Control and Adaptation Protocol (L2CAP) буюу + Логик Холболтын Хяналт ба Тааруулах Протокол</title> + + <para>Логик Холболтын Хяналт ба Тааруулах Протокол (L2CAP) нь + холболт дээр тулгуурласан болон холболтгүй (connection-oriented and + connectionless) өгөгдлийн үйлчилгээнүүдийг протокол олон хуваагдах (multiplex) + чадвар болон сегмент болгож дахин цуглуулах үйлдэлтэй цуг дээд түвшний + протоколуудад хангаж өгдөг. L2CAP нь уртаараа 64 килобайт хүртэл хэмжээний + L2CAP пакетуудыг дамжуулж хүлээн авахыг өндөр түвшний протоколууд болон + програмуудад зөвшөөрдөг.</para> + + <para>L2CAP нь <emphasis>сувгууд</emphasis> гэсэн ойлголт дээр тулгуурладаг. + Суваг нь үндсэн зурвасын холболт дээрх логик холболт юм. Суваг бүр ганц протоколд + олноос нэг уруу чиглэсэн загвараар уягдсан байдаг. Олон сувгууд нэг протоколд + уягдаж болдог боловч нэг сувгийг олон протоколд уяж болдоггүй. Суваг дээр + хүлээн авсан L2CAP пакет бүр зохих дээд түвшний протокол уруу чиглүүлэгддэг. + Олон сувгууд нь нэг үндсэн зурвасын холболтыг хуваалцаж болно.</para> + + <para><emphasis>l2cap</emphasis> төрлийн ганц Netgraph цэг ганц Bluetooth + төхөөрөмжийн хувьд үүсгэгддэг. L2CAP цэг нь Bluetooth HCI цэг (доош) болон + Bluetooth сокетуудад (дээш) ихэвчлэн холбогддог. Илүү дэлгэрэнгүй мэдээллийг + &man.ng.l2cap.4; гарын авлагын хуудаснаас лавлана уу.</para> + + <para>Ашигтай тушаал бол бусад хэрэгслүүд уруу ping хийхэд хэрэглэгддэг + &man.l2ping.8; тушаал юм. Зарим нэг Bluetooth шийдлүүд нь тэдэн уруу + илгээсэн бүх өгөгдлийг буцаахгүй байж болох учраас дараах жишээн дээрх + <literal>0 bytes</literal> гэдэг нь хэвийн юм.</para> + + <screen>&prompt.root; <userinput>l2ping -a 00:80:37:29:19:a4</userinput> +0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0</screen> + + <para>&man.l2control.8; хэрэгсэл нь L2CAP цэгүүд дээр төрөл бүрийн үйлдлүүдийг + хийдэг. Энэ жишээ нь логик холболтуудын (сувгууд) жагсаалт болон локал төхөөрөмжийн + хувьд үндсэн зурвасын жагсаалтыг хэрхэн авахыг үзүүлж байна:</para> + + <screen>&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_channel_list</userinput> +L2CAP channels: +Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State +00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN +&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_connection_list</userinput> +L2CAP connections: +Remote BD_ADDR Handle Flags Pending State +00:07:e0:00:0b:ca 41 O 0 OPEN</screen> + + <para>Өөр нэг оношлогооны хэрэгсэл бол &man.btsockstat.1; юм. Энэ нь + &man.netstat.1;-ийн хийдэгтэй төстэйг хийдэг, гэхдээ зөвхөн Bluetooth сүлжээтэй + холбоотой өгөгдлийн бүтцүүдийн хувьд хийдэг. Доорхи жишээ нь дээрх &man.l2control.8;-ийн + нэгэн адил логик холболтыг харуулж байна.</para> + + <screen>&prompt.user; <userinput>btsockstat</userinput> +Active L2CAP sockets +PCB Recv-Q Send-Q Local address/PSM Foreign address CID State +c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN +Active RFCOMM sessions +L2PCB PCB Flag MTU Out-Q DLCs State +c2afe900 c2b53380 1 127 0 Yes OPEN +Active RFCOMM sockets +PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State +c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN</screen> + + </sect2> + + <indexterm><primary>RFCOMM</primary></indexterm> + <sect2> + <title>RFCOMM Протокол</title> + + <para>RFCOMM протокол нь L2CAP протоколын дээгүүр цуваа портуудыг эмуляц хийх + боломжийг хангадаг. Энэ протокол нь ETSI стандарт TS 07.10 дээр суурилсан юм. + RFCOMM нь RS-232 (EIATIA-232-E) цуваа портуудын 9 замыг эмуляц хийх нэмэлт + бэлтгэл бүхий ердийн тээвэрлэх протокол юм. RFCOMM протокол нь хоёр Bluetooth + төхөөрөмжийн хооронд 60 хүртэлх зэрэг холболтуудыг (RFCOMM сувгууд) + дэмждэг.</para> + + <para>RFCOMM-ийн хувьд өөр өөр төхөөрөмжүүд (холбооны төгсгөлийн цэгүүд) + дээр ажиллаж байгаа хоёр програм болон тэдгээрийн хоорондын холбооны сегмент + холбооны бүрэн замд ордог. RFCOMM нь төхөөрөмжүүд дээр байгаа цуваа портуудыг ашигладаг + програмуудад зориулагдсан юм. Холбооны сегмент нь нэг төхөөрөмжөөс нөгөө уруу + холбогдсон (шууд холболт) Bluetooth холбоос юм.</para> + + <para>RFCOMM нь шууд холболтын үед төхөөрөмжүүдийн хоорондох холболт + эсвэл сүлжээний хувьд төхөөрөмж болон модемийн хоорондох холболтод зөвхөн + санаа тавьдаг. RFCOMM нь нэг талдаа Bluetooth утасгүй технологийг ашиглаж + холбогддог бөгөөд нөгөө талдаа утастай интерфэйсээр хангадаг модулиуд зэрэг бусад + тохиргоонуудыг дэмждэг.</para> + + <para>&os; дээр RFCOMM протокол нь Bluetooth сокетуудын давхаргад хийгддэг.</para> + </sect2> + + <indexterm><primary>хослох</primary></indexterm> + <sect2> + <title>Төхөөрөмжүүдийг хослох</title> + + <para>Анхдагчаар Bluetooth холбоонд нэвтрэлт танилт хийгддэггүй бөгөөд ямар ч + төхөөрөмж ямар ч төхөөрөмжтэй ярилцаж чаддаг. Bluetooth төхөөрөмж (жишээ нь + үүрэн утас) тухайн нэг үйлчилгээг (жишээ нь Dial-Up үйлчилгээ) хангахын тулд + нэвтрэлт танилтыг шаарддаг байхаар байж болно. Bluetooth нэвтрэлт танилт нь + хэвийн үед <emphasis>PIN кодуудаар</emphasis> хийгддэг. Хоёр төхөөрөмжийн + хувьд хэрэглэгч адил PIN кодыг оруулах шаардлагатай. Хэрэглэгч PIN код оруулсны + дараа хоёр төхөөрөмж <emphasis>холболтын түлхүүр</emphasis> үүсгэнэ. + Түүний дараа холболтын түлхүүр нь уг төхөөрөмжүүд дээрээ эсвэл байнгын хадгалалтад + хадгалагдаж болно. Дараагийн удаа хоёр төхөөрөмж нь урьд нь үүсгэсэн холболтын + түлхүүрээ ашиглах болно. Энэ тайлбарласан процедурыг <emphasis>pairing</emphasis> + буюу <emphasis>хослох</emphasis> гэж нэрлэдэг. Ямар нэг төхөөрөмж холболтын + түлхүүрийг гээх юм бол хослолтыг дахин хийх ёстой.</para> + + <para>&man.hcsecd.8; демон нь бүх Bluetooth нэвтрэлт танилтын хүсэлтүүдтэй + ажиллах үүрэгтэй. Анхдагч тохиргооны файл нь + <filename>/etc/bluetooth/hcsecd.conf</filename> юм. Дурын <quote>1234</quote> + гэж тохируулагдсан PIN кодтой үүрэн утасны жишээ хэсгийг доор үзүүлэв:</para> + + <programlisting>device { + bdaddr 00:80:37:29:19:a4; + name "Pav's T39"; + key nokey; + pin "1234"; + }</programlisting> + + <para>PIN код дээр хязгаарлалт байдаггүй (уртаас гадна). Зарим төхөөрөмжүүдэд + (жишээ нь Bluetooth чихэвчнүүд) тогтмол PIN код цуг бүтээгдсэн байж болох юм. + <option>-d</option> тохируулга нь &man.hcsecd.8; демонг нүүрэнд үлдэж + ажиллахыг заадаг бөгөөд ингэснээр юу болж байгааг харах боломжтой юм. + Хослолыг хүлээн авч алсын төхөөрөмж уруу Bluetooth холболт эхлүүлэхээр + алсын төхөөрөмжийг тохируулна. Алсын төхөөрөмж нь хослол хийлтийг хүлээн авсан гэдгээ + хэлж PIN код хүсэх ёстой. <filename>hcsecd.conf</filename> файлд + байгаатай адил PIN код оруулаарай. Одоо таны PC болон алсын төхөөрөмж + хосолсон байна. Өөрөөр та хослол хийлтийг алсын төхөөрөмж дээр эхлүүлж болно.</para> + + <para>&os; 5.5, 6.1 болон түүнээс шинэ хувилбаруудад <application>hcsecd</application>-г + систем эхлэхэд автоматаар эхлүүлэхийн тулд дараах мөрийг <filename>/etc/rc.conf</filename> + файлд нэмэн хийж болно:</para> + + <programlisting>hcsecd_enable="YES"</programlisting> + + <para><application>hcsecd</application> демоны гаралтын жишээг доор + үзүүлэв:</para> + +<programlisting>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 doesn't exist +hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 +hcsecd[16484]: Got PIN_Code_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', PIN code exists +hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4</programlisting> + + </sect2> + + <indexterm><primary>SDP</primary></indexterm> + <sect2> + <title>Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол</title> + <para>Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол нь + сервер програмуудын үзүүлдэг үйлчилгээнүүдийн байгаа эсэх болон тэдгээр + үйлчилгээнүүдийн шинж чанаруудыг илрүүлэх боломжийг клиент програмуудад олгодог. + Үйлчилгээний шинж чанарууд нь санал болгосон үйлчилгээний төрөл эсвэл ангилал болон + үйлчилгээг хэрэглэхэд шаардагдах арга зам юм уу эсвэл протоколын мэдээллийг + агуулдаг.</para> + + <para>SDP-д SDP сервер болон SDP клиентийн хоорондох холбоо ордог. Сервер нь + сервертэй холбоотой үйлчилгээнүүдийн шинж чанаруудыг тайлбарладаг үйлчилгээний + бичлэгүүдийн жагсаалтыг арчилж байдаг. Үйлчилгээний бичлэг бүр ганц үйлчилгээний + талаарх мэдээллийг агуулдаг. SDP серверийн арчилж байдаг үйлчилгээний бичлэгээс + клиент SDP хүсэлт илгээн мэдээллийг авч болно. Хэрэв клиент эсвэл клиенттэй + холбоотой програм нь үйлчилгээг ашиглахаар шийдвэл үйлчилгээг хэрэглэхийн тулд + үйлчилгээ үзүүлэгч уруу тусдаа холболт нээх ёстой. SDP нь үйлчилгээнүүд болон + тэдгээрийн шинж чанаруудыг илрүүлэх арга замаар хангадаг боловч тэдгээр үйлчилгээнүүдийг + хэрэглэх арга замуудаар хангадаггүй юм.</para> + + <para>Хэвийн үед SDP клиент нь үйлчилгээнүүдийн зарим хүссэн онцгой шинжүүд дээр тулгуурлан + үйлчилгээнүүдийг хайдаг. Гэхдээ үйлчилгээнүүдийн талаар урьд нь ямар ч мэдээлэл байхгүй + байхад SDP серверийн үйлчилгээний бичлэгүүдээр тайлбарлагдсан үйлчилгээнүүдийн ямар + төрлүүд байгааг олохыг хүсэх үеүүд байдаг. Санал болгосон дурын үйлчилгээнүүдийг + хайх процесс нь <emphasis>browsing</emphasis> буюу <emphasis>үзэх</emphasis> + гэгддэг.</para> + + <para>Bluetooth SDP сервер &man.sdpd.8; болон тушаалын мөрийн клиент + &man.sdpcontrol.8; нь стандарт &os; суулгацад орсон байдаг. Дараах жишээ нь + SDP үзэх хүсэлтийг хэрхэн хийж байгаа харуулж байна.</para> + + <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec browse</userinput> +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 +Bluetooth Profile Descriptor List: + LAN Access Using PPP (0x1102) ver. 1.0 +</screen> + + <para>... гэх мэт байна. Үйлчилгээ болгон шинж чанаруудтай байгааг анхаараарай + (жишээ нь RFCOMM суваг). Үйлчилгээнээс хамаараад та зарим нэг шинж чанаруудын + талаар тэмдэглэгээ хийж авах хэрэгтэй болж болох юм. Зарим Bluetooth шийдлүүд нь + үйлчилгээ үзэх боломжийг дэмждэггүй бөгөөд хоосон жагсаалт буцааж болох юм. + Энэ тохиолдолд тодорхой үйлчилгээг хайх боломжтой байдаг. Доорхи жишээ нь + OBEX-ийн Обьект Түлхэх (OPUSH) үйлчилгээг хэрхэн хайхыг үзүүлж байна:</para> + + <screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH</userinput></screen> + + <para>&os; дээр Bluetooth клиентүүдэд үйлчилгээнүүдийг санал болохдоо + &man.sdpd.8; серверийн тусламжтайгаар хийдэг. &os; 5.5, 6.1 болон + түүнээс дээш хувилбарууд дээр <filename>/etc/rc.conf</filename> файлд + дараах мөрийг нэмж болно:</para> + + <programlisting>sdpd_enable="YES"</programlisting> + + <para>Дараа нь <application>sdpd</application> демонийг ингэж эхлүүлж болно:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/sdpd start</userinput></screen> + + <para>&os; 6.0, болон 5.5-аас өмнөх &os; 5.X хувилбар дээр <application>sdpd</application> + нь системийг эхлүүлэх скриптүүдэд хийгдээгүй байдаг. Үүнийг гараар ажиллуулах ёстой:</para> + + <screen>&prompt.root; <userinput>sdpd</userinput></screen> + + <para>Алсын клиентүүдэд Bluetooth үйлчилгээг үзүүлэхийг хүссэн локал серверийн + програм нь үйлчилгээг SDP демонд бүртгэх болно. Ийм програмуудын нэг нь + &man.rfcomm.pppd.8; юм. Эхэлснийхээ дараа энэ нь Bluetooth LAN үйлчилгээг + локал SDP демонд бүртгэх болно.</para> + + <para>Локал SDP серверт бүртгэсэн үйлчилгээнүүдийн жагсаалтыг локал хяналтын сувгаар + SDP-ийн үзэх хүсэлтийг илгээн авч болно:</para> + + <screen>&prompt.root; <userinput>sdpcontrol -l browse</userinput></screen> + + </sect2> + + <sect2> + <title>Dial-Up сүлжээ (DUN) ба PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоонууд</title> + + <para>Dial-Up сүлжээ (DUN) хувийн тохиргоо нь модемууд болон үүрэн утаснуудтай + ихэвчлэн ашиглагддаг. Энэ хувийн тохиргоонд хамаарах тохиолдлуудыг + доор дурдав:</para> + + <itemizedlist> + <listitem><para>үүрэн утас эсвэл модемийг компьютер дээрээ + Интернетийн хандалтын сервер уруу залгаж холбогдох юм уу эсвэл + бусад dial-up үйлчилгээнүүдэд хэрэглэхээр утасгүй модем маягаар ашиглах;</para></listitem> + + <listitem><para>үүрэн утас эсвэл модемийг компьютер дээрээ + өгөгдлийн дуудлагуудыг хүлээн авахад ашиглах.</para></listitem> + </itemizedlist> + + <para>PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоо дараах тохиолдлуудад + ашиглагдаж болно:</para> + + <itemizedlist> + <listitem><para>Ганц Bluetooth төхөөрөмжид зориулсан LAN хандалт; + </para></listitem> + + <listitem><para>Олон Bluetooth төхөөрөмжид зориулсан LAN хандалт; + </para></listitem> + + <listitem><para>PC-ээс PC уруу (цуваа кабелийн эмуляцаар PPP сүлжээ + ашиглан).</para></listitem> + </itemizedlist> + + <para>&os; дээр энэ хоёр хувийн тохиргоо нь &man.ppp.8; болон + &man.rfcomm.pppd.8; програмуудаар хийгддэг. &man.rfcomm.pppd.8; нь + RFCOMM Bluetooth холболтыг PPP-ийн ажиллаж чадах ямар нэгэн зүйл болгож хувиргадаг + гүйцэтгэл хялбаршуулагч юм. Аль ч хувийн тохиргоог ашиглахаасаа өмнө + <filename>/etc/ppp/ppp.conf</filename> файлд шинэ PPP хаяг + үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; гарын + авлагаас лавлана уу. + </para> + + <para>Дараах жишээн дээр &man.rfcomm.pppd.8; нь DUN RFCOMM суваг дээр + BD_ADDR 00:80:37:29:19:a4 хаягтай алсын төхөөрөмж уруу RFCOMM холболт + хийхэд ашиглагдах болно. RFCOMM сувгийн дугаарыг алсын төхөөрөмжөөс SDP-ээр + авах болно. RFCOMM сувгийг гараар зааж өгөх боломжтой бөгөөд энэ тохиолдолд + &man.rfcomm.pppd.8; нь SDP хүсэлт хийхгүй байх болно. Алсын төхөөрөмж дээр + RFCOMM сувгийг олохын тулд &man.sdpcontrol.8;-г ашиглаарай.</para> + + <screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen> + + <para>PPP ашиглах Сүлжээний Хандалтын (LAN) үйлчилгээг хангахын тулд + &man.sdpd.8; сервер ажиллаж байх ёстой. LAN клиентүүдэд зориулсан + шинэ оруулгууд <filename>/etc/ppp/ppp.conf</filename> файлд + үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; + гарын авлагын хуудаснаас лавлана уу. Төгсгөлд нь RFCOMM PPP серверийг + зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. RFCOMM PPP сервер нь + Bluetooth LAN үйлчилгээг локал SDP демонд автоматаар бүртгэх болно. + Доорх жишээ нь RFCOMM PPP серверийг хэрхэн эхлүүлэхийг үзүүлж байна.</para> + + <screen>&prompt.root; <userinput>rfcomm_pppd -s -C 7 -l rfcomm-server</userinput></screen> + + </sect2> + + <indexterm><primary>OBEX</primary></indexterm> + <sect2> + <title>OBEX Object Push (OPUSH) буюу OBEX Обьект Түлхэх хувийн тохиргоо</title> + <para>OBEX нь хөдөлгөөнт төхөөрөмжүүдийн хооронд энгийн файл дамжуулалт хийхэд + зориулагдсан өргөн ашиглагддаг протокол юм. Үүний гол хэрэглээ нь хэт ягаан туяаны + холбоо бөгөөд зөөврийн компьютерууд эсвэл PDA-уудын хооронд ердийн файл + дамжуулахад, нэрийн хуудас эсвэл цагалбарыг үүрэн утас болон PIM програмуудтай + бусад төхөөрөмжүүдийн хооронд илгээхэд хэрэглэгддэг.</para> + + <para>OBEX сервер болон клиент нь гуравдагч талын багц <application>obexapp</application> + хэлбэрээр хийгдсэн байдаг бөгөөд энэ нь <filename role="package">comms/obexapp</filename> + порт хэлбэрээр байдаг.</para> + + <para>OBEX клиент нь OBEX серверт обьектуудыг түлхэж оруулах буюу/эсвэл татахад хэрэглэгддэг. + Обьект нь жишээ нь нэрийн хуудас юм уу эсвэл уулзалт байж болно. OBEX клиент нь + алсын төхөөрөмжөөс SDP-ээр RFCOMM сувгийн дугаарыг авч болно. RFCOMM сувгийн + дугаарын оронд үйлчилгээний нэрийг зааж үүнийг хийж болно. Дэмжигдсэн үйлчилгээний + нэрсэд: IrMC, FTRN, болон OPUSH ордог. RFCOMM сувгийг дугаар болгон зааж + өгөх боломжтой байдаг. Төхөөрөмжийн мэдээллийн обьектийг үүрэн утаснаас татаж + авч байгаа болон шинэ обьектийг (нэрийн хуудас) утасны сан уруу хийж байгаа + OBEX сессийн жишээг доор үзүүлэв.</para> + + <screen>&prompt.user; <userinput>obexapp -a 00:80:37:29:19:a4 -C IrMC</userinput> +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)</screen> + + <para>OBEX-ийн Обьект Түлхэх үйлчилгээг хангахын тулд &man.sdpd.8; сервер + ажиллаж байх ёстой. Бүх ирж байгаа обьектууд хадгалагдах root хавтас үүсгэгдэх + ёстой. root сангийн анхдагч зам нь <filename>/var/spool/obex</filename> + байна. Төгсгөлд нь OBEX серверийг зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. + OBEX сервер нь OBEX-ийн Обьект Түлхэх үйлчилгээг локал SDP демонд автоматаар + бүртгүүлэх болно. Доорх жишээ нь OBEX серверийг хэрхэн эхлүүлэхийг харуулж байна.</para> + + <screen>&prompt.root; <userinput>obexapp -s -C 10</userinput></screen> + </sect2> + + <sect2> + <title>Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо</title> + <para>Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо нь Bluetooth + төхөөрөмжүүдэд RS232 (эсвэл түүнтэй төстэй) цуваа кабелийн эмуляц хийхийг зөвшөөрдөг. + Энэ хувийн тохиргоонд хамаатай тохиолдол нь кабелийн оронд виртуал цуваа портын + хийсвэрлэлтийн тусламжтай Bluetooth-ийг ашигладаг хуучин програмуудтай харьцдаг.</para> + + <para>&man.rfcomm.sppd.1; хэрэгсэл нь цуваа портын хувийн тохиргоог хийдэг. + Псевдо tty нь виртуал цуваа портын хийсвэрлэлт болон ашиглагддаг. Доорх жишээ нь + алсын төхөөрөмжийн цуваа портын үйлчилгээ уруу хэрхэн холбогдохыг харуулж байна. + Та RFCOMM сувгийг заах шаардлагагүйг санаарай - &man.rfcomm.sppd.1; нь + алсын төхөөрөмжөөс SDP-ээр авч чаддаг. Хэрэв та үүнийг дарж өөрчлөхийг хүсвэл + тушаалын мөрөнд RFCOMM сувгийг зааж өгөх хэрэгтэй.</para> + + <screen>&prompt.root; <userinput>rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6</userinput> +rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen> + + <para>Холбогдсоны дараа псевдо tty нь цуваа порт шиг ашиглагдаж болно:</para> + + <screen>&prompt.root; <userinput>cu -l ttyp6</userinput></screen> + + </sect2> + + <sect2> + <title>Алдааг олж засварлах</title> + + <sect3> + <title>Алсын төхөөрөмж холбогдож чадахгүй байх</title> + <para>Зарим нэг хуучин Bluetooth төхөөрөмжүүд нь үүрэг шилжүүлэлтийг дэмждэггүй. + Анхдагчаар &os; нь шинэ холболтыг хүлээн авахдаа үүргийг өөрчилж мастер болохыг + оролддог. Үүнийг дэмждэггүй төхөөрөмжүүд нь холбогдож чаддаггүй. Шинэ холболт + хийгдэхэд үүрэг шилжүүлэлт хийгддэгийг санаарай. Тийм учраас алсын төхөөрөмжөөс + үүрэг шилжүүлэлтийг дэмждэг эсэхийг нь асуух боломжгүй юм. Локал тал дээрээ + үүрэг шилжүүлэлтийг хаах HCI тохируулга байдаг:</para> + + <screen>&prompt.root; <userinput>hccontrol -n ubt0hci write_node_role_switch 0</userinput></screen> + + </sect3> + + <sect3> + <title>Ямар нэгэн юм буруу болоод байна, би яг юу болоод байгааг харж болох уу?</title> + <para>Тиймээ, та харж болно. <filename role="package">comms/hcidump</filename> порт + хэлбэрээр байдаг гуравдагч талын багц <application>hcidump</application>-г ашиглана. + <application>hcidump</application> хэрэгсэл нь &man.tcpdump.1;-тай төстэй. + Энэ нь Bluetooth пакетуудын агуулгыг терминал дээр харуулж Bluetooth пакетуудыг + файл уруу гаргахад хэрэглэгдэж болно.</para> + </sect3> + + </sect2> + + </sect1> + + <sect1 id="network-bridging"> + <sect1info> + <authorgroup> + <author> + <firstname>Стив</firstname> + <surname>Питерсон</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>Гүүр</title> + + <sect2> + <title>Танилцуулга</title> + <indexterm><primary>IP дэд сүлжээ</primary></indexterm> + <indexterm><primary>гүүр</primary></indexterm> + <para>Заримдаа нэг физик сүлжээг (Ethernet сегмент зэрэг) + IP дэд сүлжээнүүд үүсгэж сегментүүдийг хооронд нь чиглүүлэгчээр + цугт нь холбож ашиглалгүйгээр хоёр тусдаа сүлжээний сегмент болгох нь ашигтай + байдаг. Ийм маягаар хоёр сүлжээг хооронд нь холбодог төхөөрөмжийг + <quote>bridge</quote> буюу <quote>гүүр</quote> гэдэг. + Хоёр сүлжээний интерфэйс карттай FreeBSD систем гүүр маягаар ажиллаж + чаддаг.</para> + + <para>Гүүр нь өөрийн сүлжээний интерфэйс бүрийн төхөөрөмжийн MAC давхаргын + хаягуудыг (Ethernet хаягууд) сурч ажилладаг. Түүний эх болон төгсгөл нь + зөвхөн өөр өөр сүлжээнд байгаа тохиолдолд хоёр сүлжээний хооронд + урсгалыг дамжуулдаг.</para> + + <para>Олон талаараа гүүр нь маш цөөн порттой Ethernet шилжүүлэгчтэй адил + юм.</para> + </sect2> + + <sect2> + <title>Гүүр хийхэд тохирох тохиолдлууд</title> + + <para>Өнөөдөр гүүр ашиглагддаг хоёр нийтлэг тохиолдол байдаг.</para> + + <sect3> + <title>Сегмент дээр урсгал их байх</title> + + <para>Эхний тохиолдол нь таны физик сүлжээний сегмент урсгалаар хэт ачаалагдсан + бөгөөд сүлжээг дэд сүлжээ болгон хувааж тэдгээрийг чиглүүлэгчээр + холбохыг та ямар нэгэн шалтгаанаар хүсэхгүй байгаа тохиолдол юм.</para> + + <para>Редакцийн болон Үйлдвэрлэлийн хэлтсүүд нэг дэд сүлжээнд байгаа сонингийн + газрыг авч үзье. Редакцийн хэрэглэгчид нь бүгдээрээ файлын үйлчилгээндээ + <hostid>A</hostid> серверийг, Үйлдвэрлэлийн хэрэглэгчид нь + <hostid>B</hostid> сервер дээр байна. Ethernet сүлжээ нь бүх хэрэглэгчдийг + холбоход хэрэглэгддэг бөгөөд сүлжээний өндөр ачаалал сүлжээг удаашруулж буй.</para> + + <para>Хэрэв Редакцийн хэрэглэгчид нь сүлжээний нэг сегментэд, Үйлдвэрлэлийн + хэрэглэгчид өөр нэг сегментэд тусгаарлагдвал хоёр сүлжээний сегмент нь + гүүрээр холбогдож болох юм. Гүүрийн зөвхөн <quote>нөгөө</quote> талын + интерфэйс уруу чиглэсэн сүлжээний урсгал тэр сүлжээ уруу илгээгдэх бөгөөд ингэснээр + сүлжээний сегмент бүр дэх ачаалал багасах юм.</para> + </sect3> + + <sect3> + <title>Шүүх/урсгал хэлбэржүүлэх галт хана</title> + <indexterm><primary>галт хана</primary></indexterm> + <indexterm><primary>NAT</primary></indexterm> + + <para>Хоёр дахь нийтлэг тохиолдол бол сүлжээний хаягийн хөрвүүлэлтгүй (NAT) + галт ханын ажиллагаа шаардлагатай тохиолдол юм.</para> + + <para>Үүний жишээ нь DSL юм уу эсвэл ISDN-ээр ISP уруугаа холбогдсон + жижиг компани юм. Тэд 13 ширхэг гаднаас хандах боломжтой IP хаягийг + өөрсдийн ISP-ээс авдаг бөгөөд сүлжээндээ 10 PC-тэй. Энэ тохиолдолд + чиглүүлэгч дээр тулгуурласан галт хана нь дэд сүлжээний асуудлуудаас болоод + төвөгтэй байна.</para> + + <indexterm><primary>чиглүүлэгч</primary></indexterm> + <indexterm><primary>DSL</primary></indexterm> + <indexterm><primary>ISDN</primary></indexterm> + <para>Гүүр дээр тулгуурласан галт ханыг тохируулж тэдний DSL/ISDN чиглүүлэгчийн + замд ямар нэгэн IP хаяглалтын асуудалгүйгээр тавьж болно.</para> + </sect3> + </sect2> + + <sect2> + <title>Гүүрийг тохируулах</title> + + <sect3> + <title>Сүлжээний интерфэйс картын сонголт</title> + + <para>Гүүр нь ажиллахын тулд хамгийн багадаа хоёр сүлжээний карттай + байхыг шаарддаг. Харамсалтай нь бүх сүлжээний интерфэйс картууд + гүүрийг дэмждэггүй. Дэмжигдсэн картуудын талаарх дэлгэрэнгүй + мэдээллийг &man.bridge.4;-с уншина уу.</para> + + <para>Үргэлжлүүлэхээсээ өмнө хоёр сүлжээний картаа суулгаад тест хийх + хэрэгтэй.</para> + </sect3> + + <sect3> + <title>Цөмийн тохиргооны өөрчлөлтүүд</title> + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>BRIDGE</secondary> + </indexterm> + + <para>Гүүрийн цөмийн дэмжлэгийг идэвхжүүлэхийн тулд дараах:</para> + + <programlisting>options BRIDGE</programlisting> + + <para>мөрийг өөрийн цөмийн тохиргооны файлдаа нэмээд цөмөө дахин бүтээнэ.</para> + </sect3> + + <sect3> + <title>Галт ханын дэмжлэг</title> + <indexterm><primary>галт хана</primary></indexterm> + <para>Хэрэв та гүүрийг галт хана маягаар ашиглахыг төлөвлөж байгаа бол + <literal>IPFIREWALL</literal> тохируулгыг бас нэмэх хэрэгтэй. + Гүүрийг галт хана хэлбэрээр тохируулах ерөнхий мэдээллийг + <xref linkend="firewalls"> хэсгээс уншина уу.</para> + + <para>Хэрэв та IP биш пакетуудыг (ARP зэрэг) гүүрээр дамжин урсахыг + зөвшөөрөх хэрэгтэй бол гурван тохируулга байдаг. Эхнийх нь дараах тохируулгыг + цөмдөө нэмээд дахин бүтээх явдал юм:<para> + + <programlisting>option IPFIREWALL_DEFAULT_TO_ACCEPT</programlisting> + + <para>Хоёр дахь нь галт ханын төрлөө <filename>rc.conf</filename> файлд + <quote><literal>open</literal></quote> буюу нээлттэй гэж тохируулах явдал юм:</para> + + <programlisting>firewall_type="open"</programlisting> + + <para>Эдгээр тохируулгууд нь галт ханыг бүр мөсөн харагдуулахгүй болгодгийг + тэмдэглэе; дурын пакет эсвэл холболт анхдагчаар зөвшөөрөгдөх болно. + Энэ нь галт ханын дүрмийн олонлогт нэлээн өөрчлөлтүүдийг шаардаж болох юм.</para> + + <para>Гурав дахь тохируулга нь дараахийг &man.ipfw.8; дүрмэнд нэмэх + явдал юм:</para> + + <screen>&prompt.root; <userinput>ipfw add allow mac-type arp layer2</userinput></screen> + + <para>Эсвэл үүнийг тухайн үеийн галт ханын дүрмийн олонлогт нэмнэ. Энэ дүрэм нь + &man.arp.8; пакетуудыг нэвтэрхийг идэвхтэйгээр зөвшөөрдөг учраас түүнийг + аль болох эхэнд шалгуулахын тулд дүрмийн олонлогийн эхэн хэсэгтэй ойролцоо тавих ёстой юм.</para> + </sect3> + + <sect3> + <title>Урсгал хэлбэржүүлэх дэмжлэг</title> + + <para>Хэрэв та гүүрийг урсгал хэлбэржүүлэгч маягаар ашиглахыг хүсвэл + өөрийн цөмийн тохиргоондоо <literal>DUMMYNET</literal> тохируулгыг + нэмэх хэрэгтэй болно. Дэлгэрэнгүй мэдээллийг &man.dummynet.4;-с + уншина уу.</para> + </sect3> + </sect2> + + <sect2> + <title>Гүүрийг идэвхжүүлэх</title> + + <para>Гүүрийг ажиллаж байх үед идэвхжүүлэхийн тулд дараах:</para> + + <programlisting>net.link.ether.bridge.enable=1</programlisting> + + <para>мөрийг <filename>/etc/sysctl.conf</filename> файлд, заагдсан интерфэйсүүд дээр гүүрийг идэвхжүүлэхийн тулд:</para> + + <programlisting>net.link.ether.bridge.config=<replaceable>if1</replaceable>,<replaceable>if2</replaceable></programlisting> + + <para>мөрийг нэмнэ (<replaceable>if1</replaceable> болон + <replaceable>if2</replaceable>-г өөрийн хоёр сүлжээний интерфэйсийн + нэрсээр солиорой). Хэрэв та гүүрээр дамжсан пакетуудыг &man.ipfw.8;-оор + шүүхийг хүсвэл дараах:</para> + + <programlisting>net.link.ether.bridge.ipfw=1</programlisting> + + <para>мөрийг бас нэмэх хэрэгтэй.</para> + + <para>&os; 5.2-RELEASE-с өмнөх хувилбаруудын хувьд дараах мөрүүдийг ашиглана:</para> + + <programlisting>net.link.ether.bridge=1 +net.link.ether.bridge_cfg=<replaceable>if1</replaceable>,<replaceable>if2</replaceable> +net.link.ether.bridge_ipfw=1</programlisting> + + </sect2> + + <sect2> + <title>Бусад мэдээлэл</title> + + <para>Хэрэв та гүүр уруу сүлжээнээс &man.ssh.1; хийж чаддаг байхыг хүсэж байгаа бол + аль нэг сүлжээний карт дээр IP хаяг тавих нь зүйтэй юм. Хоёр карт дээр хоюулан дээр нь + хаяг олгохыг зөвшөөрөх нь буруу юм.</para> + + <para>Хэрэв та сүлжээндээ олон гүүртэй бол аль ч хоёр ажлын станцын хооронд нэгээс илүү + зам байх ёсгүй юм. Техникийн хэллэгээр бол энэ нь spanning tree link management + буюу сунан тогтох модны холбоосын удирдлагын дэмжлэг байдаггүй гэсэн үг юм.</para> + + <para>Гүүр нь ялангуяа нэг сегментээс нөгөө сегмент уруу урсах урсгалын хувьд + таны &man.ping.8;-ийн хугацаанд хоцрогдол нэмж болох юм.</para> + + </sect2> + </sect1> + + <sect1 id="network-diskless"> + <sect1info> + <authorgroup> + <author> + <firstname>Жан-Франсуа</firstname> + <surname>Докье</surname> + <contrib>Шинэчилсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Алекс</firstname> + <surname>Дюпре</surname> + <contrib>Дахин зохион байгуулж өргөтгөсөн </contrib> + </author> + </authorgroup> + </sect1info> + <title>Дискгүй ажиллагаа</title> + + <indexterm><primary>дискгүй ажлын станц</primary></indexterm> + <indexterm><primary>дискгүй ажиллагаа</primary></indexterm> + + <para>FreeBSD машин сүлжээгээр ачаалан локал дискгүйгээр <acronym>NFS</acronym> + сервер дээр холбогдсон файлын системүүд ашиглаад ажиллаж чаддаг. Стандарт тохиргооны + файлуудаас өөр системийн өөрчлөлт шаардлагагүй. Ийм системийг харьцангуй хялбараар + тохируулж болдог. Учир нь шаардлагатай бүх элементүүд бэлэн байдаг:</para> + <itemizedlist> + <listitem> + <para>Цөмийг сүлжээгээр ачаалах хоёр боломжит арга хамгийн багаар бодоход + байдаг:</para> + <itemizedlist> + <listitem> + <para><acronym>PXE</acronym>: &intel;-ийн Preboot eXecution + Environment буюу ачаалалт хийгдэхээс өмнөх ажиллуулах орчны систем нь + зарим сүлжээний картууд эсвэл эх хавтангуудад цуг бүтээгдсэн байдаг + ухаалаг ачаалах ROM-ийн нэг хэлбэр юм. Илүү дэлгэрэнгүйг + &man.pxeboot.8;-с үзнэ үү.</para> + </listitem> + <listitem> + <para><application>Etherboot</application> + порт (<filename role="package">net/etherboot</filename>) нь + цөмийг сүлжээгээр ачаалах ROM хийгдэх боломжтой код үүсгэдэг. + Код нь сүлжээний картан дээр ачаалах ROM уруу шарагдсан байх юм уу эсвэл + локал уян (эсвэл хатуу) дискийн хөтчөөс эсвэл ажиллаж байгаа &ms-dos; + системээс дуудагдахаар байдаг. Олон сүлжээний карт дэмжигдсэн + байгаа.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>Жишээ скрипт (<filename>/usr/share/examples/diskless/clone_root</filename>) + нь сервер дээр ажлын станцын root файлын системийг үүсгэх болон түүний ажиллагааг хангах + үйлдлийг хөнгөвчилдөг. Скрипт нь магадгүй жижиг өөрчлөлтийг шаардаж болох боловч + энэ нь таныг хурдан эхлүүлэх болно.</para> + </listitem> + + <listitem> + <para>Дискгүй системийн эхлүүлэлтийг илрүүлж дэмжих стандарт системийн эхлүүлэгч + файлууд <filename>/etc</filename> санд байдаг.</para> + </listitem> + + <listitem> + <para>swap хийх хэрэв шаардлагатай бол <acronym>NFS</acronym> файл эсвэл + локал диск уруу хийж болох юм.</para> + </listitem> + </itemizedlist> + + <para>Дискгүй ажлын станцуудыг тохируулах олон арга байдаг. Олон элементүүд үүнд + хамрагддаг бөгөөд өөрийн сонирхлоор ихэнхийг нь өөрчилж болно. Дараах нь + бүрэн системийг тохируулах талаарх хувилбаруудыг тайлбарлах болно. Ингэхдээ + стандарт FreeBSD эхлүүлэх скриптүүдтэй хялбар, нийцтэй байхыг чухалчлах + болно. Тайлбарласан систем нь дараах шинжүүдтэй байна:</para> + + <itemizedlist> + <listitem> + <para>Дискгүй ажлын станцууд нь хуваалцсан, зөвхөн уншигдах + <filename>/</filename> файлын систем болон хуваалцсан, зөвхөн уншигдах + <filename>/usr</filename>-г ашигладаг.</para> + <para>root файлын систем нь зөвхөн дискгүй ажиллагаатай холбоотой эсвэл + тэдгээрийн харьяалагдах ажлын станцтай холбоотой зарим тохиргооны + файлууд нь өөрчлөгдсөн стандарт FreeBSD root-ийн (ихэвчлэн серверийн) + хуулбар юм.</para> + <para>Бичигдэх боломжтой байх root-ийн хэсэг нь &man.md.4; файлын + системээр дээр тавигддаг (overlaid). Систем дахин ачаалахад хийгдсэн + өөрчлөлтүүд алга болох болно.</para> + </listitem> + <listitem> + <para>Цөм дамжуулагдаж <application>Etherboot</application> эсвэл + <acronym>PXE</acronym>-ийн аль нэгээр дуудагддаг бөгөөд зарим тохиолдолд + зөвхөн аль нэг аргыг ашиглахыг шаардаж болох юм.</para> + </listitem> + </itemizedlist> + + <caution><para>Тайлбарласны дагуу энэ систем нь аюултай юм. Энэ нь сүлжээний + хамгаалагдсан талбарт байх ёстой бөгөөд бусад хостуудаас хандахааргүй + байх ёстой.</para> + </caution> + + <para>Энэ хэсгийн бүх мэдээллийг &os; 5.2.1-RELEASE ашиглан тест хийсэн болно.</para> + + <sect2> + <title>Үндсэн мэдээлэл</title> + + <para>Дискгүй ажлын станцуудыг тохируулах нь харьцангуй амархан боловч алдаанд + өртөх хандлагатай байдаг. Хэд хэдэн шалтгаанаас болоод эдгээрийг заримдаа + оношлох төвөгтэй байдаг. Жишээ нь:</para> + + <itemizedlist> + <listitem> + <para>Эмхэтгэлтийн үеийн тохируулгууд нь ажиллах үед өөрөөр ажиллахыг + тодорхойлж болох юм.</para> + </listitem> + + <listitem> + <para>Алдааны мэдэгдлүүд нь ихэвчлэн нуугдмал эсвэл бүр байхгүй ч + байж болно.</para> + </listitem> + </itemizedlist> + + <para>Энд гарч болзошгүй асуудлуудыг шийдэхэд үндсэн арга замуудын зарим нэг + мэдлэгийг ашиглах нь маш ашигтай байдаг.</para> + + <para>Амжилттайгаар эхлүүлэхийн тулд хэд хэдэн үйлдлүүдийг хийх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>Машин өөрийн IP хаяг, ажиллах файлын нэр, серверийн нэр, root зам + зэрэг эхний параметрүүдийг авах хэрэгтэй. Үүнийг <acronym>DHCP</acronym> эсвэл + BOOTP протоколуудыг ашиглан хийдэг. <acronym>DHCP</acronym> нь + BOOTP-ийн нийцтэй өргөтгөл бөгөөд адил портын дугаарууд болон үндсэн + пакетийн хэлбэршүүлэлтийг ашигладаг.</para> + + <para>Зөвхөн BOOTP ашиглахаар системийг тохируулах боломжтой. + &man.bootpd.8; серверийн програм нь үндсэн &os; системд орсон + байдаг.</para> + + <para>Гэхдээ <acronym>DHCP</acronym> нь BOOTP-ээс хэд хэдэн давуу + талтай байдаг (илүү сайхан тохиргооны файлууд, <acronym>PXE</acronym> + ашиглах боломж, дискгүй ажиллагаатай шууд холбоогүй бусад олон давуу талууд) + бөгөөд бид голчлон <acronym>DHCP</acronym> тохиргоог боломжтой бол + &man.bootpd.8; ашиглан таарах жишээнүүдтэй нь хамт тайлбарлах болно. + Жишээ тохиргоо нь <application>ISC DHCP</application> програм + хангамжийн багцыг (тест сервер дээр 3.0.1.r12 хувилбар суулгагдсан) + ашиглах болно.</para> + </listitem> + + <listitem> + <para>Машин нь нэг буюу хэд хэдэн програмуудыг локал санах ой уруугаа дамжуулах + хэрэгтэй болно. <acronym>TFTP</acronym> юм уу эсвэл <acronym>NFS</acronym> + ашиглагдана. <acronym>TFTP</acronym> болон <acronym>NFS</acronym>-ийн + сонголтыг хэд хэдэн газар эмхэтгэх үеийн тохируулгаар хийдэг. Алдааний түгээмэл + эх үүсвэр нь буруу протоколд зориулж файлын нэрүүдийг заах явдал юм: + <acronym>TFTP</acronym> нь сервер дээрх ганц сангаас бүх файлуудыг + ихэвчлэн дамжуулдаг бөгөөд энэ сантай харьцангуй файлын нэрсийг хүлээдэг. + <acronym>NFS</acronym>-д файлын туйлын (абсолют) замууд хэрэгтэй + байдаг. + </para> + </listitem> + + <listitem> + <para>Боломжит дундын эхлүүлэх програмууд болон цөм нь эхлэн тохируулагдаж ажиллах + шаардлагатай. Энд хэд хэдэн чухал хувилбарууд байдаг:</para> + + <itemizedlist> + <listitem> + <para><acronym>PXE</acronym> нь &os;-ийн гурав дахь шатны дуудагчийн + өөрчлөгдсөн хувилбар болох &man.pxeboot.8;-ийг ачаална. &man.pxeboot.8; нь + системийг эхлүүлэхэд шаардлагатай ихэнх параметрүүдийг авч хяналтыг дамжуулахаасаа + өмнө тэдгээрийг цөмийн орчинд үлдээх болно. Энэ тохиолдолд + <filename>GENERIC</filename> цөмийг ашиглах боломжтой.</para> + </listitem> + + <listitem> + <para><application>Etherboot</application> нь бага бэлтгэлтэйгээр + цөмийг шууд ачаалах болно. Та цөмийг тусгай тохируулгуудтай бүтээх + хэрэгтэй болно.</para> + </listitem> + </itemizedlist> + + <para><acronym>PXE</acronym> болон <application>Etherboot</application> + нь адилхан ажиллана; гэхдээ цөмүүд нь &man.loader.8;-ийн тэдэнд зориулж + илүү ажил хийх боломжийг олгодог болохоор <acronym>PXE</acronym> нь + зохимжтой арга юм.</para> + + <para>Хэрэв таны <acronym>BIOS</acronym> болон сүлжээний картууд нь + <acronym>PXE</acronym>-г дэмждэг бол та үүнийг ашиглах + хэрэгтэй байж болох юм.</para> + </listitem> + + <listitem> + <para>Эцэст нь машин өөрийн файлын системүүдэд хандах хэрэгтэй болно. + <acronym>NFS</acronym> нь бүх тохиолдолд хэрэглэгдэнэ.</para> + </listitem> + </itemizedlist> + + <para>&man.diskless.8; гарын авлагын хуудсыг бас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Тохируулах зааврууд</title> + + <sect3> + <title><application>ISC DHCP</application> ашиглах тохиргоо</title> + <indexterm> + <primary>DHCP</primary> + <secondary>дискгүй ажиллагаа</secondary> + </indexterm> + + <para><application>ISC DHCP</application> сервер BOOTP болон + <acronym>DHCP</acronym> хүсэлтүүдэд хариулж чаддаг.</para> + + <para><application>ISC DHCP 3.0</application> нь үндсэн системийн + хэсэг биш юм. Та эхлээд <filename role="package">net/isc-dhcp3-server</filename> + порт юм уу эсвэл тохирох багцыг суулгах хэрэгтэй.</para> + + <para><application>ISC DHCP</application> суулгагдсаны дараа + ажиллахын тулд тохиргооны файл хэрэгтэй болно (ихэвчлэн + <filename>/usr/local/etc/dhcpd.conf</filename> гэж + нэрлэгддэг). Доор <hostid>margaux</hostid> хост <application>Etherboot</application>-ийг + ашигласан ба <hostid>corbieres</hostid> хост <acronym>PXE</acronym>-г ашиглаж байгаа + тайлбар хийгдсэн жишээ байна:</para> + + <programlisting> +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; <co id="co-dhcp-host-name"> + 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; <co id="co-dhcp-next-server"> + filename "/data/misc/kernel.diskless"; <co id="co-dhcp-filename"> + option root-path "192.168.4.4:/data/misc/diskless"; <co id="co-dhcp-root-path"> + } + host corbieres { + hardware ethernet 00:02:b3:27:62:df; + fixed-address corbieres.example.com; + next-server 192.168.4.4; + filename "pxeboot"; + option root-path "192.168.4.4:/data/misc/diskless"; + } +} + </programlisting> + + <calloutlist> + <callout arearefs="co-dhcp-host-name"><para>Энэ тохируулга нь + <literal>host</literal> зарлалтууд дахь утгыг дискгүй хостын + хувьд хостын нэр болгон илгээхийг <application>dhcpd</application>-д + хэлнэ. Өөр нэг арга нь <literal>option host-name + <replaceable>margaux</replaceable></literal> мөрийг + <literal>host</literal> зарлалтуудын дотор нэмэх явдал юм.</para> + </callout> + + <callout arearefs="co-dhcp-next-server"><para> + <literal>next-server</literal> тохируулга нь дуудагч эсвэл цөмийн + файлыг дуудахад зориулж <acronym>TFTP</acronym> эсвэл + <acronym>NFS</acronym> серверийг ашиглахыг зааж өгнө (анхдагчаар + <acronym>DHCP</acronym> сервер байгаа хостыг ашиглана).</para> + </callout> + + <callout arearefs="co-dhcp-filename"><para> + <literal>filename</literal> тохируулга нь <application>Etherboot</application> + эсвэл <acronym>PXE</acronym>-ийн дараагийн ажиллуулах алхамд дуудах + файлыг тодорхойлно. Үүнийг ашиглах дамжуулалтын аргын дагуу заасан байх + ёстой. <application>Etherboot</application>-ийг + <acronym>NFS</acronym> эсвэл <acronym>TFTP</acronym> + ашиглахаар эмхэтгэж болно. &os; порт нь <acronym>NFS</acronym>-ийг + анхдагчаар тохируулдаг. <acronym>PXE</acronym> нь + <acronym>TFTP</acronym>-г ашигладаг. Энд яагаад харьцангуй файлын + нэр хэрэглэгддэгийн учир нь тэр юм (энэ нь <acronym>TFTP</acronym> + серверийн тохиргооноос хамаарах боловч ерөнхийдөө нэлээн энгийн байх болно). + <acronym>PXE</acronym> нь цөмийг биш бас <filename>pxeboot</filename>-г + дууддаг. &os; CD-ROM + <filename role="directory">/boot</filename> сангаас + <filename>pxeboot</filename>-ийг дуудах зэрэг бусад сонирхолтой боломжууд + байдаг (&man.pxeboot.8; нь <filename>GENERIC</filename> цөмийг + ачаалж чаддаг бөгөөд энэ нь алсын CD-ROM-с ачаалахын тулд <acronym>PXE</acronym>-г + ашиглах боломжтой болгодог юм).</para> + </callout> + + <callout arearefs="co-dhcp-root-path"><para> + <literal>root-path</literal> тохируулга нь root файлын систем хүрэх + замыг энгийн <acronym>NFS</acronym> бичлэгээр тодорхойлдог. + <acronym>PXE</acronym> ашиглаж байгаа үед цөмийн тохиргоо BOOTP-г идэвхжүүлээгүй + байхад хостын IP-г орхигдуулах боломжтой байдаг. <acronym>NFS</acronym> + сервер дараа нь <acronym>TFTP</acronym> сервертэй адил + болох болно.</para> + </callout> + </calloutlist> + + </sect3> + <sect3> + <title>BOOTP ашиглах тохиргоо</title> + <indexterm> + <primary>BOOTP</primary> + <secondary>дискгүй ажиллагаа</secondary> + </indexterm> + + <para>Энд <application>bootpd</application>-ийн адил тохиргоо + (нэг клиент болгож багасгасан) байна. Үүнийг <filename>/etc/bootptab</filename> + файлаас олж болно.</para> + + <para>BOOTP-г ашиглахын тулд <application>Etherboot</application>-ийг + анхдагч биш тохируулга <literal>NO_DHCP_SUPPORT</literal>-тойгоор + эмхэтгэх ёстой бөгөөд <acronym>PXE</acronym>-д <acronym>DHCP</acronym> + <emphasis>хэрэгтэй</emphasis> гэдгийг санаарай. <application>bootpd</application>-ийн + цорын ганц илэрхий давуу тал бол үндсэн системд орсон байдаг явдал юм.</para> + + <programlisting> +.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 + </programlisting> + </sect3> + + <sect3> + <title>Ачаалах програмыг <application>Etherboot</application>-ээр бэлдэх</title> + + <indexterm> + <primary>Etherboot</primary> + </indexterm> + + <para><ulink url="http://etherboot.sourceforge.net">Etherboot-ийн вэб сайт</ulink> + нь Линукс системд голчлон зориулагдсан боловч ашигтай мэдээлэл агуулсан + <ulink url="http://etherboot.sourceforge.net/doc/html/userman/t1.html"> + өргөтгөсөн баримт</ulink>ыг агуулдаг. Дараах нь FreeBSD систем дээр + <application>Etherboot</application>-г хэрхэн ашиглах талаар + тайлбарлах болно.</para> + + <para>Та эхлээд <filename + role="package">net/etherboot</filename> багц юм уу эсвэл портыг + суулгах ёстой.</para> + + <para><application>Etherboot</application>-ийн тохиргоог + <application>Etherboot</application>-ийн эх байгаа сан дахь + <filename>Config</filename> файлыг засварлаж (өөрөөр хэлбэл + <acronym>NFS</acronym>-ийн оронд <acronym>TFTP</acronym>-г + ашиглахын тулд) өөрчилж болно.</para> + + <para>Бидний тохиргооны хувьд бид ачаалах уян дискийг ашиглах болно. + Бусад аргуудын хувьд (PROM, эсвэл &ms-dos; програм) + <application>Etherboot</application>-ийн баримтаас лавлана уу.</para> + + <para>Ачаалах уян дискийг хийхийн тулд <application>Etherboot</application> + суулгасан машин дээрх хөтөч уруугаа уян дискээ хийгээд <application>Etherboot</application> + мод дахь <filename>src</filename> сан уруу болгож одоогийн сангаа солиод + дараахийг бичнэ:</para> + + <screen> +&prompt.root; <userinput>gmake bin32/<replaceable>devicetype</replaceable>.fd0</userinput> + </screen> + + <para><replaceable>devicetype</replaceable> нь дискгүй ажлын + станц дахь Ethernet картын төрлөөс хамаарна. + Зөв <replaceable>devicetype</replaceable> буюу төхөөрөмжийн + төрлийг тодорхойлохын тулд тэр сан дахь <filename>NIC</filename> + файлд хандана.</para> + + </sect3> + + <sect3> + <title><acronym>PXE</acronym>-ээр ачаалах</title> + + <para>Анхдагчаар &man.pxeboot.8; дуудагч нь <acronym>NFS</acronym>-ээр + цөмийг дууддаг. <filename>/etc/make.conf</filename> файлд + <literal>LOADER_TFTP_SUPPORT</literal> тохируулга заахын оронд + <acronym>TFTP</acronym>-г ашиглахаар эмхэтгэгдэж болно. + Заавруудын талаар <filename>/usr/share/examples/etc/make.conf</filename> + файл дахь тайлбаруудыг үзнэ үү.</para> + + <para>Цуваа консол дискгүй машин тохируулахад ашигтай байж болох + <filename>make.conf</filename> файлын өөр хоёр тохируулга байдаг: эдгээр нь + <literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, болон + <literal>BOOT_PXELDR_ALWAYS_SERIAL</literal> юм.</para> + + <para>Машин эхлэхэд <acronym>PXE</acronym>-г ашиглахын тулд та өөрийн + <acronym>BIOS</acronym>-ийн тохируулгаас <literal>Boot from network</literal> + буюу <literal>Сүлжээнээс ачаалах</literal> сонголтыг сонгох юм + уу эсвэл PC-г эхлүүлж байх үед функцийн товчлуурыг дарах хэрэгтэй.</para> + </sect3> + + <sect3> + <title><acronym>TFTP</acronym> болон <acronym>NFS</acronym> серверүүдийг тохируулах</title> + + <indexterm> + <primary>TFTP</primary> + <secondary>дискгүй ажиллагаа</secondary> + </indexterm> + <indexterm> + <primary>NFS</primary> + <secondary>дискгүй ажиллагаа</secondary> + </indexterm> + + <para>Хэрэв та <acronym>TFTP</acronym> ашиглахаар тохируулсан + <acronym>PXE</acronym> юм уу эсвэл <application>Etherboot</application>-г + ашиглаж байгаа бол файл сервер дээрээ <application>tftpd</application>-г + идэвхжүүлэх хэрэгтэй:</para> + <procedure> + <step> + <para><application>tftpd</application>-д зориулж файлууд байх + сан үүсгэнэ, өөрөөр хэлбэл <filename>/tftpboot</filename>.</para> + </step> + + <step> + <para>Энэ мөрийг өөрийн + <filename>/etc/inetd.conf</filename> файлд нэмнэ:</para> + + <programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot</programlisting> + + <note><para>Зарим нэгэн <acronym>PXE</acronym> хувилбарууд нь + <acronym>TFTP</acronym>-ийн <acronym>TCP</acronym> хувилбарыг + хүсдэг байна. Энэ тохиолдолд <literal>dgram udp</literal> мөрийг + <literal>stream tcp</literal> болгон сольж хоёр дахь мөрийг + нэмнэ.</para> + </note> + </step> + <step> + <para><application>inetd</application>-д өөрийн тохиргооны файлаа + дахин уншихыг хэлээрэй. Энэ тушаалыг зөв ажиллуулахын тулд + <filename>/etc/rc.conf</filename> файлд + <option>inetd_enable="YES"</option> тохируулга заагдсан + байх ёстой:</para> + <screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen> + </step> + </procedure> + + <para>Та <filename>tftpboot</filename> санг серверийнхээ хаана ч + байрлуулж болно. <filename>inetd.conf</filename> болон + <filename>dhcpd.conf</filename> файлууд дээрээ байрлалаа + заасан эсэхээ шалгаарай.</para> + + <para>Аль ч тохиолдолд та бас <acronym>NFS</acronym>-ээ идэвхжүүлж + <acronym>NFS</acronym> сервер дээрээ тохирох файлын системээ экспорт хийх + хэрэгтэй юм.</para> + + <procedure> + <step> + <para>Үүнийг <filename>/etc/rc.conf</filename>-д нэмнэ:</para> + <programlisting>nfs_server_enable="YES"</programlisting> + </step> + + <step> + <para>Дараахийг <filename>/etc/exports</filename> файл уруу нэмж + дискгүй root сан байгаа файлын системээ экспорт хийнэ (эзлэхүүний холбох + цэгийг тааруулж <replaceable>margaux corbieres</replaceable> + гэснийг дискгүй ажлын станцуудын нэрсээр солих хэрэгтэй):</para> + + <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting> + </step> + <step> + <para><application>mountd</application>-д өөрийн тохиргооны файлаа + дахин уншихыг хэлнэ. Хэрэв та эхний шатандаа <acronym>NFS</acronym>-г + <filename>/etc/rc.conf</filename> файлд идэвхжүүлэх хэрэгтэй + болсон бол харин дахин ачаалахыг хүсэж болох юм.</para> + <screen>&prompt.root; <userinput>/etc/rc.d/mountd restart</userinput></screen> + </step> + </procedure> + + </sect3> + + <sect3> + <title>Дискгүй цөмийг бүтээх</title> + + <indexterm> + <primary>дискгүй ажиллагаа</primary> + <secondary>цөмийн тохиргоо</secondary> + </indexterm> + + <para>Хэрэв <application>Etherboot</application>-г ашиглаж байгаа + бол дискгүй клиентдээ зориулж дараах тохируулгуудтайгаар (ердийн тохируулгуудын хамтаар) + цөмийн тохиргооны файл үүсгэх хэрэгтэй:</para> + + <programlisting> +options BOOTP # Use BOOTP to obtain IP address/hostname +options BOOTP_NFSROOT # NFS mount root file system using BOOTP info + </programlisting> + + <para>Та бас <literal>BOOTP_NFSV3</literal>, + <literal>BOOT_COMPAT</literal> болон <literal>BOOTP_WIRED_TO</literal> + (<filename>NOTES</filename> файлаас лавлана уу) тохируулгуудыг ашиглахыг хүсэж болох + юм.</para> + + <para>Эдгээр тохируулгуудын нэрс нь уламжлалт бөгөөд тэдгээр нь яг үнэндээ + <acronym>DHCP</acronym> болон BOOTP-ийн өөр хэрэглээг цөм дотор идэвхжүүлдэг + болохоор нэлээн төөрөгдөлд хүргэж болох юм (зөвхөн BOOTP эсвэл <acronym>DHCP</acronym>-ийн + хэрэглээг ашиглахаар болгох бас боломжтой байдаг).</para> + + <para>Цөмийг бүтээж (<xref linkend="kernelconfig">-г үзнэ үү), + <filename>dhcpd.conf</filename> файлд заасан байрлал уруу + хуулах хэрэгтэй.</para> + + <note> + <para><acronym>PXE</acronym>-г ашиглаж байгаа үед дээрх тохируулгуудтайгаар + цөмийг бүтээх нь заавал шаардлагагүй (хэдийгээр зөвлөдөг боловч). + Тэдгээрийг идэвхжүүлэх нь цөмийг эхлүүлэх явцад илүү олон <acronym>DHCP</acronym> + хүсэлтүүдийг үүсгэж шинэ утгууд болон зарим тусгай тохиолдлуудад &man.pxeboot.8;-ийн + авсан утгуудын хооронд нийцэмжгүй байдлын жижиг эрсдэл гаргахад хүргэдэг. + Тэдгээрийг ашиглахын давуу тал нь буруу нөлөөллөөс болоод хостын нэр тохируулагддаг + явдал юм. Үгүй бол та хостын нэрийг өөр аргаар, жишээ нь клиентэд тусгайлан зориулсан + <filename>rc.conf</filename> файлд тохируулах хэрэгтэй болно.</para> + </note> + + <note> + <para><application>Etherboot</application>-ээр дуудагдах боломжтой + байхын тулд цөмд төхөөрөмжийн бяцхан зааврууд эмхэтгэгдсэн байх хэрэгтэй + байдаг. Ингэхдээ та дараах тохируулгыг тохиргооны файлдаа тохируулах + болно (<filename>NOTES</filename> тохиргооны тайлбаруудын файлыг + үзнэ үү):</para> + + <programlisting>hints "GENERIC.hints"</programlisting> + </note> + + </sect3> + + <sect3> + <title>Root файлын системийг бэлдэх</title> + + <indexterm> + <primary>root файлын систем</primary> + <secondary>дискгүй ажиллагаа</secondary> + </indexterm> + + <para>Дискгүй ажлын станцад зориулж <filename>dhcpd.conf</filename> + файлд <literal>root-path</literal> гэж жагсаагдсан байрлалд + root файлын системийг та үүсгэх хэрэгтэй.</para> + + <sect4> + <title>root-ийг суурьшуулахын тулд <command>make world</command> тушаал ашиглах</title> + + <para>Энэ арга нь хурдан байх бөгөөд бүрэн онгон системийг (зөвхөн root файлын + систем биш) <envar>DESTDIR</envar> уруу суулгах болно. + Та дараах скриптийг л өрдөө ажиллуулах хэрэгтэй болно:</para> + + <programlisting>#!/bin/sh +export DESTDIR=/data/misc/diskless +mkdir -p ${DESTDIR} +cd /usr/src; make buildworld && make buildkernel +cd /usr/src/etc; make distribution</programlisting> + + <para>Үүнийг хийсний дараа танд өөрийнхөө хэрэгцээний дагуу + <envar>DESTDIR</envar>-д байрлуулагдсан өөрийн + <filename>/etc/rc.conf</filename> болон + <filename>/etc/fstab</filename> файлуудаа өөрчлөн тохируулах + шаардлага гарч болох юм.</para> + </sect4> + </sect3> + + <sect3> + <title>Swap-ийг тохируулах</title> + + <para>Шаардлагатай бол сервер дээр байрласан swap файлд + <acronym>NFS</acronym>-ээр хандаж болно.</para> + + <sect4> + <title><acronym>NFS</acronym> Swap</title> + + <para>Цөм нь ачаалах үед <acronym>NFS</acronym> swap-ийг + идэвхжүүлэхийг дэмждэггүй. Бичигдэх файлын системийг холбож + swap файлыг үүсгэн идэвхжүүлэх замаар эхлүүлэх скриптүүдээр + swap нь идэвхжүүлэгдэх ёстой. Зохих хэмжээ бүхий swap файлыг + үүсгэхдээ та ингэж хийж болно:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/path/to/swapfile</replaceable> bs=1k count=1 oseek=<replaceable>100000</replaceable></userinput></screen> + + <para>Үүнийг идэвхжүүлэхийн тулд та дараах мөрийг өөрийн + <filename>rc.conf</filename> файлд нэмэх хэрэгтэй:</para> + + <programlisting>swapfile=<replaceable>/path/to/swapfile</replaceable></programlisting> + </sect4> + </sect3> + + <sect3> + <title>Бусад асуудлууд</title> + + + <sect4> + <title>Зөвхөн уншигдах <filename>/usr</filename> сантайгаар ажиллах</title> + + <indexterm> + <primary>дискгүй ажиллагаа</primary> + <secondary>/usr зөвхөн уншигдах</secondary> + </indexterm> + + <para>Хэрэв дискгүй ажлын станц нь X-ийг ажиллуулахаар тохируулагдсан бол + анхдагчаар <filename>/usr</filename>-т алдааны бүртгэлийг + хийдэг <application>XDM</application> тохиргооны файлыг + та тааруулах хэрэгтэй болно.</para> + </sect4> + <sect4> + <title>FreeBSD биш сервер ашиглах</title> + + <para>root файлын системд зориулсан сервер нь FreeBSD-г ажиллуулаагүй бол + та FreeBSD машин дээр root файлын систем үүсгээд хэрэгтэй байрлал + уруу нь <command>tar</command> эсвэл <command>cpio</command> тушаал + ашиглан хуулах хэрэгтэй болно.</para> + <para>Энэ тохиолдолд бүхэл тооны их/бага (major/minor) хэмжээнүүдийн ялгаанаас + болоод <filename>/dev</filename> дахь тусгай файлуудад заримдаа + асуудал гардаг. Энэ асуудлын шийдэл нь FreeBSD биш серверээс + уг санг экспорт хийж энэ сангаа FreeBSD машин дээр холбон хэрэглэгчийн + хувьд төхөөрөмжийн цэгүүдийг харагдахгүйгээр (transparently) хуваарилахын тулд + &man.devfs.5;-ийг ашиглах явдал юм.</para> + + </sect4> + + </sect3> + + </sect2> + </sect1> + + <sect1 id="network-isdn"> + <title>ISDN</title> + + <indexterm> + <primary>ISDN</primary> + </indexterm> + + <para>ISDN технолог болон тоног төхөөрөмжийн талаарх мэдээллийн сайн эх үүсвэр нь + <ulink url="http://www.alumni.caltech.edu/~dank/isdn/">Дан Кегелийн ISDN + хуудас</ulink> юм.</para> + + <para>ISDN-ий талаарх хялбар заавруудыг доор дурдав:</para> + + <itemizedlist> + <listitem> + <para>Хэрэв та Европд амьдарч байгаа бол ISDN картын хэсгийг та магадгүй + шалгахыг хүсэж болох юм.</para> + </listitem> + + <listitem> + <para>Хэрэв та Интернет уруу Интернетийн үйлчилгээ үзүүлэгчтэй + dial-up-аар байнгын бишээр холбогдохдоо ISDN-ийг голчлон хэрэглэхээр төлөвлөж байгаа + бол та Терминал Хувиргагчдыг үзэж болох юм. Хэрэв та үйлчилгээ үзүүлэгчдээ солих бол + энэ нь асуудлууд хамгийн багатайгаар хамгийн уян хатан чанарыг танд өгөх болно.</para> + </listitem> + + <listitem> + <para>Хэрэв та хоёр LAN-ийг хооронд нь холбож байгаа бол эсвэл Интернет уруу + зориулагдсан ISDN холболтоор холбогдож байгаа бол зориулагдсан чиглүүлэгч/гүүр + сонголтыг бодолцож болох юм.</para> + </listitem> + </itemizedlist> + + <para>Аль шийдлийг сонгохыг тодорхойлоход чухал хүчин зүйл нь өртөг юм. Дараах сонголтуудыг + хамгийн бага өртөгтэйгээс нь эхлээд хамгийн их өртөгтэй хүртэл жагсаав.</para> + + <sect2 id="network-isdn-cards"> + <sect2info> + <authorgroup> + <author> + <firstname>Хелмут</firstname> + <surname>Михаелис</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + <title>ISDN картууд</title> + + <indexterm> + <primary>ISDN</primary> + <secondary>картууд</secondary> + </indexterm> + + <para>FreeBSD-ийн ISDN шийдэл нь идэвхгүй картыг ашиглаад зөвхөн + DSS1/Q.931 (буюу Euro-ISDN) стандартыг дэмждэг. Firmware нь + бас бусад дохионы протоколуудыг дэмждэг зарим идэвхтэй картуудыг + дэмждэг; энэ нь бас хамгийн эхэнд дэмжигдсэн Primary Rate (PRI) буюу + Анхдагч Хурд бүхий ISDN картыг оруулдаг.</para> + + <para><application>isdn4bsd</application> програм хангамж нь + бусад ISDN чиглүүлэгчүүдтэй түүхий HDLC дээгүүрх IP юм уу эсвэл + синхрон PPP: өөрчлөн засварласан &man.sppp.4; драйвер + <literal>isppp</literal>-тэй цөмийн PPP юм уу эсвэл хэрэглэгчийн талбарын &man.ppp.8; + ашиглан холбогдох боломжийг олгодог. Хэрэглэгчийн талбарын &man.ppp.8; ашиглан + хоёр буюу түүнээс дээш ISDN B-сувгуудын суваг холболтыг (channel bonding) + хийх боломжтой байдаг. Утас хариулагч машины хэрэглээ бас байдаг + байдаг бөгөөд бас програм хангамжийн 300 baud модем зэрэг олон хэрэгслүүд + байдаг.</para> + + <para>FreeBSD дээр дэмжигдсэн зарим PC ISDN картуудын тоо өсөн нэмэгдэж байгаа + бөгөөд энэ нь бүх л Европ болон дэлхийн бусад олон хэсэгт амжилттайгаар ашиглагдаж + байгаа мэдээллүүд байдаг.</para> + + <para>Дэмжигдсэн идэвхгүй (пассив) 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 зэрэг зарим нэгэн + үйлдвэрлэгчээс хамааралтай бичил схем бүхий картууд ордог.</para> + + <para>Одоогоор идэвхтэй дэмжигдсэн ISDN картууд нь AVM B1 + (ISA болон PCI) BRI картууд болон AVM T1 PCI PRI картууд юм.</para> + + <para><application>isdn4bsd</application>-ийн баримтын талаар + өөрийн FreeBSD систем дээрээ <filename>/usr/share/examples/isdn/</filename> + сангаас эсвэл бяцхан зөвлөгөө, алдааны мэдээлэл болон <ulink + url="http://people.FreeBSD.org/~hm/">isdn4bsd + гарын авлага</ulink> зэрэг илүү баримтыг заасан + <ulink url="http://www.freebsd-support.de/i4b/">isdn4bsd-ийн эх хуудас isdn4bsd</ulink> + хаягаас үзээрэй.</para> + + <para>Хэрэв та өөр ISDN протокол, одоогоор дэмжигдээгүй байгаа ISDN PC картад + зориулж дэмжлэг нэмэх эсвэл <application>isdn4bsd</application>-ийг өргөжүүлэх + сонирхолтой байгаа бол &a.hm;-тай холбоо барина уу.</para> + + <para><application>isdn4bsd</application>-ийн суулгалт, тохиргоо болон + алдааг олж засварлах талаарх асуултуудад зориулагдсан &a.isdn.name; + захидлын жагсаалт байдаг.</para> + </sect2> + + <sect2> + <title>ISDN Терминал Хувиргагчид</title> + + <para>Терминал хувиргагчид (TA) нь модемууд нь ердийн утасны шугамд зориулагдсан байдаг + шиг ISDN-ий хувьд зориулагдсан байдаг.</para> + <indexterm><primary>модем</primary></indexterm> + <para>Ихэнх TA нь стандарт Hayes модемийн AT тушаалын олонлогийг ашигладаг бөгөөд + модемийг шууд солих зориулалтаар ашиглаж болно.</para> + + <para>TA нь ерөнхийдөө модемтой адил ажилладаг. Ялгаатай тал нь холболт болон + дамжуулах хурдны хувьд таны хуучин модемоос хамаагүй хурдан байдаг явдал юм. + Та модемийн тохиргоотой яг адил <link linkend="ppp">PPP</link>-г + тохируулах хэрэгтэй болно. Цуваа хурдыг хамгийн өндрөөр аль болох тавьсан эсэхээ + шалгаарай.</para> + <indexterm><primary>PPP</primary></indexterm> + <para>TA-г ашиглахын гол давуу тал нь динамик PPP-ээр хийж болдогтой адил Интернетийн + үйлчилгээ үзүүлэгчтэй холбогдох явдал юм. IP хаягийн хэмжээ өдөр ирэх тутам багасч байгаа + өнөө үед ихэнх үйлчилгээ үзүүлэгчид танд статик IP өгөх хүсэлгүй байдаг. Ихэнх зориулагдсан + чиглүүлэгчид динамик IP хуваарилалттай зохицож чаддаггүй.</para> + + <para>TA-уудын боломжууд болон холболтын тогтвортой байдалд зориулан таны ажиллуулж байдаг + PPP демонд TA-ууд нь бүрэн найддаг. Хэрэв та PPP-г аль хэдийн тохируулсан бол энэ нь + FreeBSD машин дээр модемийг ашиглаж байгаад ISDN уруу хялбараар сайжруулах боломжийг + олгодог. Гэхдээ танд тулгарсан PPP програм дээр байсан асуудлууд бас хэвээр үлдэх + болно.</para> + + <para>Хэрэв та максимум тогтвортой байдлыг хүсэж байгаа бол <link + linkend="userppp">хэрэглэгчийн талбарын PPP</link> биш цөмийн <link + linkend="ppp">PPP</link> тохируулгыг ашиглаарай.</para> + + <para>Дараах TA-ууд нь FreeBSD-тэй ажилладаг:</para> + + <itemizedlist> + <listitem> + <para>Motorola BitSurfer болон Bitsurfer Pro</para> + </listitem> + + <listitem> + <para>Adtran</para> + </listitem> + </itemizedlist> + + <para>Ихэнх бусад TA-ууд нь магадгүй бас ажиллах байх. TA үйлдвэрлэгчид нь + өөрсдийнхөө бүтээгдэхүүнийг стандарт модемийн AT тушаалын олонлогийн ихэнхийг + хүлээн авч чаддагаар хийхийг оролддог.</para> + + <para>Гадаад TA-ийн жинхэнэ асуудал нь модемуудын адил таны компьютер дээр + сайн цуваа карт хэрэгтэй явдал юм.</para> + + <para>Та цуваа төхөөрөмжүүдийн талаарх дэлгэрэнгүй ойлголт болон асинхрон ба + синхрон цуваа портуудын ялгаануудын талаар <ulink + url="&url.articles.serial-uart;/index.html">FreeBSD Цуваа Тоног + Төхөөрөмж</ulink>ийн заавраас унших шаардлагатай.</para> + + <para>Стандарт PC цуваа порт (асинхрон) дээр ажиллаж байгаа TA нь таныг + 128 Kbs холболттой байсан ч гэсэн 115.2 Kbs хурдаар хязгаарладаг. + ISDN-ий чаддаг 128 Kbs хурдыг бүрэн ашиглахын тулд та TA-г синхрон + цуваа карт уруу шилжүүлэх шаардлагатай.</para> + + <para>Дотоод TA худалдан авч синхрон/асинхрон асуудлаас тойрон гарчлаа гэж + битгий тэнэгтээрэй. Дотоод TA-ууд нь ердөө л өөр дээрээ бүтээгдсэн стандарт PC цуваа + портын бичил схемтэй байдаг. Энэ нь ердөө л өөр цуваа кабел худалдан авч өөр хоосон + цахилгаан сокет олох асуудлыг хөнгөвчилдөг.</para> + + <para>TA-тэй синхрон карт нь ядаж дангаараа зориулагдсан чиглүүлэгчтэй адил хурдан + байдаг бөгөөд түүнийг энгийн FreeBSD хайрцаг удирдаж байгаа нь магадгүй илүү уян хатан + юм.</para> + + <para>Синхрон карт/TA болон зориулагдсан чиглүүлэгчийн алийг сонгох нь голчлон сүсэг бишрэлийн + асуудал байдаг. Энэ талаар зарим хэлэлцүүлэг захидлын жагсаалтуудаар явагдсан байгаа. + Бүрэн хэлэлцүүлгийг <ulink url="&url.base;/search/index.html">архивууд</ulink>аас + хайхыг бид санал болгож байна.</para> + </sect2> + + <sect2> + <title>Зориулагдсан ISDN Гүүрнүүд/Чиглүүлэгчид</title> + <indexterm> + <primary>ISDN</primary> + <secondary>зориулагдсан гүүрнүүд/чиглүүлэгчид</secondary> + </indexterm> + <para>ISDN гүүрнүүд эсвэл чиглүүлэгчид нь зөвхөн FreeBSD эсвэл бусад + үйлдлийн системийн хувьд биш юм. Чиглүүлэлт болон гүүр хийх технологийн + талаар илүү дэлгэрэнгүй тайлбарыг сүлжээний ямар нэг номноос үзнэ үү.</para> + + <para>Энэ хэсгийн хувьд чиглүүлэгч болон гүүр гэсэн ухагдахуунууд нь харилцан + солигдож ашиглагдана.</para> + + <para>Доод зэрэглэлийн ISDN чиглүүлэгчид/гүүрнүүдийн үнэ багасаж байгаа + болохоор энэ нь улам илүү түгээмэл сонголт болох юм. ISDN чиглүүлэгч нь + таны локал Ethernet сүлжээ уруу шууд залгагддаг жижиг хайрцаг байдаг + бөгөөд бусад гүүр/чиглүүлэгчтэй хийх өөрийн холболтоо удирддаг. Энэ нь + PPP болон бусад түгээмэл протоколуудын тусламжтай холболт хийх өөртөө + цуг бүтээгдсэн програм хангамжтай байдаг.</para> + + <para>Чиглүүлэгч нь бүрэн ISDN холболтыг ашиглах болохоор стандарт TA-аас + хамаагүй илүү хурдан дамжуулах боломжийг олгодог.</para> + + <para>ISDN чиглүүлэгчид болон гүүрнүүдийн гол асуудал нь үйлдвэрлэгчид + хоорондын харилцан ажиллах боломж асуудал хэвээр байгаа явдал юм. + Хэрэв та Интернетийн үйлчилгээ үзүүлэгчтэй холбогдохоор төлөвлөж байгаа бол + тэд нартай өөрийн хэрэгцээний талаар хэлэлцэх нь зүйтэй юм.</para> + + <para>Хэрэв та өөрийн гэрийн LAN-ийг оффисийн LAN-тай холбох зэргээр хоёр LAN + сегментийг хооронд нь холбохоор төлөвлөж байгаа бол энэ нь хамгийн хялбар + ажиллагаа багатай шийдэл юм. Та холболт хийгдэх гэж байгаа хоёр талдаа + хоюуланд нь зориулан төхөөрөмж авах болохоор холболт ажиллах тал дээр + итгэлтэй байж болно.</para> + + <para>Жишээ нь гэрийн компьютер эсвэл салбар оффисийн сүлжээг гол оффисийн + сүлжээтэй холбохын тулд дараах тохируулгыг ашиглаж болно:</para> + + <example> + <title>Салбар оффис эсвэл Гэрийн сүлжээ</title> + + <indexterm><primary>10 base 2</primary></indexterm> + <para>Сүлжээ нь 10 base 2 + Ethernet (<quote>thinnet</quote>) сүлжээний шугаман хэлбэрийг + ашиглана. Шаардлагатай бол чиглүүлэгчийг сүлжээний кабельтай + AUI/10BT хувиргагчаар холбоно.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/isdn-bus"> + </imageobject> + + <textobject> + <literallayout class="monospaced">---Sun workstation +| +---FreeBSD box +| +---Windows 95 +| +Stand-alone router + | +ISDN BRI line</literallayout> + </textobject> + + <textobject> + <phrase>10 Base 2 Ethernet</phrase> + </textobject> + </mediaobject> + + <para>Хэрэв таны гэр/салбар оффис нь зөвхөн нэг компьютер бол та зориулагдсан + чиглүүлэгчийг холбохын тулд эрчилсэн хос зөрсөн кабелийг (twisted pair crossover + cable) ашиглаж болно.</para> + </example> + + <example> + <title>Гол оффис эсвэл бусад LAN</title> + + <indexterm><primary>10 base T</primary></indexterm> + <para>Сүлжээ нь 10 base T Ethernet + (<quote>Twisted Pair</quote>) сүлжээний од хэлбэрийг + ашиглана.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/isdn-twisted-pair"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> -------Novell Server + | H | + | ---Sun + | | + | U ---FreeBSD + | | + | ---Windows 95 + | B | + |___---Stand-alone router + | + ISDN BRI line</literallayout> + </textobject> + + <textobject> + <phrase>ISDN Сүлжээний зураг</phrase> + </textobject> + </mediaobject> + </example> + + <para>Ихэнх чиглүүлэгчид/гүүрнүүдийн нэг том давуу тал нь <emphasis>нэг зэрэг</emphasis> + 2 тусдаа сайт уруу 2 <emphasis>тусдаа чөлөөтэй</emphasis> PPP холболтуудтай + байх боломжийг олгодог явдал юм. Хоёр цуваа порттой тусгай (ихэвчлэн үнэтэй) загваруудыг + тооцохгүй бол энэ нь ихэнх TA-ууд дээр дэмжигдээгүй байдаг. Үүнийг суваг холболт (channel + bonding), MPP зэрэгтэй андуурч болохгүй.</para> + + <para>Жишээ нь хэрэв та оффис дээрээ зориулагдсан ISDN холболттой бөгөөд + түүнийг чагнахыг хүсэж байгаа боловч өөр нэг ISDN шугам авахыг хүсэхгүй байгаа + бол энэ нь маш ашигтай боломж байж болох юм. Оффист байгаа чиглүүлэгч нь + Интернет уруу хийх зориулагдсан B сувгийн холболтыг (64 Kbps) удирдаж + тусдаа өгөгдлийн холболтод зориулж өөр B сувгийг ашиглаж чадна. Хоёр дахь + B суваг нь гаднаас залгах, гадагш залгах юм уу эсвэл илүү өргөн зурвасд зориулж + эхний B сувагтай цуг динамикаар холболт (bonding) хийхэд (MPP зэрэг) + ашиглагдаж болно.</para> + + <indexterm><primary>IPX/SPX</primary></indexterm> + <para>Ethernet гүүр нь зөвхөн IP урсгал биш бас өөр илүүг дамжуулах боломжийг танд + олгодог. Та IPX/SPX эсвэл өөрийн ашигладаг бусад протоколуудынхаа алийг ч бас илгээж + болох юм.</para> + </sect2> + </sect1> + + <sect1 id="network-natd"> + <sect1info> + <authorgroup> + <author> + <firstname>Шерн</firstname> + <surname>Ли</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлт</title> + + <sect2 id="network-natoverview"> + <title>Тойм</title> + <indexterm> + <primary><application>natd</application></primary> + </indexterm> + <para>FreeBSD-ийн Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлтийн демон нь + &man.natd.8; гэгддэг бөгөөд ирж байгаа түүхий IP пакетуудыг хүлээн авч эх хаягийг + локал машиныхаар сольж эдгээр пакетуудыг гарч байгаа IP пакетийн урсгалд буцааж + дахин оруулдаг. &man.natd.8; нь өгөгдлийг буцаан хүлээн авахад өгөгдлийн анхын байрлалыг + тодорхойлж чаддаг байхаар эхлэл IP хаяг болон портыг өөрчилж түүнийг анхлан хүсэгчид буцааж + дамжуулдаг.</para> + <indexterm><primary>Интернетийн холболт хуваалцах</primary></indexterm> + <indexterm><primary>NAT</primary></indexterm> + <para>NAT-ийн хамгийн түгээмэл хэрэглээ бол Интернетийн холболт хуваалцах гэгддэгийг + хийж гүйцэтгэх явдал юм.</para> + </sect2> + + <sect2 id="network-natsetup"> + <title>Анхны тохируулга</title> + <para>IP хаягийн хэмжээ багасаж байгаа болон кабел эсвэл DSL зэрэг өндөр хурдны хэрэглэгчийн + шугамууд ашиглах хэрэглэгчдийн тоо ихэссэнээс болоод хүмүүст Интернетийн холболт хуваалцах шийдлийн + хэрэгцээ нэмэгдэх болсон билээ. Хэд хэдэн компьютеруудыг шууд нэг холболтоор холбох чадвар болон + IP хаяг нь &man.natd.8;-г боломжийн сонголт болгодог.</para> + + <para>Хамгийн түгээмэл тохиолдол нь хэрэглэгч кабел эсвэл DSL шугаманд нэг IP хаягтай холбогдсон + машинтай бөгөөд LAN-аар дамжуулан хэд хэдэн компьютеруудад Интернетийн хандалт өгөхийн тулд + энэ холбогдсон нэг компьютераа ашиглахыг хүсдэг явдал юм.</para> + + <para>Үүнийг хийхийн тулд Интернет дэх FreeBSD машин нь гарц маягаар ажиллах ёстой. + Энэ гарц машин нь хоёр NIC-тэй байх ёстой—нэг нь Интернетийн чиглүүлэгч уруу холбогдохын + тулд, нөгөөх нь LAN уруу холбогдохын тулд ашиглагдах ёстой. LAN дахь бүх машинууд нь + холбох төхөөрөмж (hub) юм уу эсвэл шилжүүлэгчээр (switch) холбогдсон байна.</para> + + <note> + <para>&os; гарцаар LAN-ийг Интернеттэй холбох олон арга замууд байдаг. + Энэ жишээ нь хамгийн багаар бодоход хоёр NIC-тэй гарцыг зөвхөн тайлбарлах + болно.</para> + </note> + + <mediaobject> + <imageobject> + <imagedata fileref="advanced-networking/natd"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> _______ __________ ________ + | | | | | | + | Hub |-----| Client B |-----| Router |----- Internet + |_______| |__________| |________| + | + ____|_____ +| | +| Client A | +|__________|</literallayout> + </textobject> + + <textobject> + <phrase>Network Layout</phrase> + </textobject> + </mediaobject> + + <para>Үүнтэй адил тохиргоог Интернетийн холболтыг хуваалцахын тулд түгээмэл + ашигладаг. <acronym>LAN</acronym> машинуудын нэг нь Интернетэд + холбогдсон. Бусад машинууд нь тэр <quote>гарц</quote> машинаар + Интернетэд ханддаг.</para> + </sect2> + + <sect2 id="network-natdkernconfiguration"> + <indexterm> + <primary>цөм</primary> + <secondary>тохиргоо</secondary> + </indexterm> + <title>Тохиргоо</title> + <para>Дараах тохируулгууд цөмийн тохиргооны файлд байх ёстой:</para> + <programlisting>options IPFIREWALL +options IPDIVERT</programlisting> + + <para>Мөн нэмэлтээр дараах нь бас тохиромжтой байж болох юм:</para> + <programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT +options IPFIREWALL_VERBOSE</programlisting> + + <para>Дараах нь <filename>/etc/rc.conf</filename> файлд байх ёстой:</para> + + <programlisting>gateway_enable="YES" <co id="co-natd-gateway-enable"> +firewall_enable="YES" <co id="co-natd-firewall-enable"> +firewall_type="OPEN" <co id="co-natd-firewall-type"> +natd_enable="YES" +natd_interface="<replaceable>fxp0</replaceable>" <co id="co-natd-natd-interface"> +natd_flags="" <co id="co-natd-natd-flags"></programlisting> + + <calloutlist> + <callout arearefs="co-natd-gateway-enable"> + <para>Машиныг гарц маягаар ажиллахыг тохируулна. + <command>sysctl net.inet.ip.forwarding=1</command> тушаалыг ажиллуулах + нь бас адил үр дүнтэй.</para> + </callout> + + <callout arearefs="co-natd-firewall-enable"> + <para><filename>/etc/rc.firewall</filename> файл дахь галт ханын + дүрмүүдийг ачаалах үед идэвхжүүлнэ.</para> + </callout> + + <callout arearefs="co-natd-firewall-type"> + <para>Энэ нь урьдчилан тодорхойлсон байдаг бүгдийг оруулахыг зөвшөөрдөг галт ханын + дүрмийн олонлогийг заана. Нэмэлт төрлүүдийн талаар + <filename>/etc/rc.firewall</filename> файлаас үзнэ үү.</para> + </callout> + + <callout arearefs="co-natd-natd-interface"> + <para>Аль интерфэйс пакетуудыг нэвтрүүлэн дамжуулахыг заана + (Интернетэд холбогдсон интерфэйс).</para> + </callout> + + <callout arearefs="co-natd-natd-flags"> + <para>Ачаалах үед &man.natd.8;-д дамжуулах нэмэлт тохиргооны сонголтууд.</para> + </callout> + </calloutlist> + + <para>Өмнөх тохируулгуудыг <filename>/etc/rc.conf</filename> файлд + тодорхойлсноор <command>natd -interface fxp0</command> тушаалыг + ачаалах үед ажиллуулна. Үүнийг гараар бас ажиллуулж болно.</para> + + <note> + <para>Их олон сонголтуудыг дамжуулах бол &man.natd.8;-д зориулж тохиргооны + файлыг ашиглаж бас болно. Энэ тохиолдолд дараах мөрийг + <filename>/etc/rc.conf</filename> файлд нэмж тохиргооны файлыг + тодорхойлох шаардлагатай:</para> + + <programlisting>natd_flags="-f /etc/natd.conf"</programlisting> + + <para><filename>/etc/natd.conf</filename> файл нь тохиргооны сонголтуудын + жагсаалтыг нэг мөрөнд нэгийг байхаар агуулдаг. Жишээ нь дараах хэсгийн хувьд + доорх файлыг ашиглах болно:</para> + + <programlisting>redirect_port tcp 192.168.0.2:6667 6667 +redirect_port tcp 192.168.0.3:80 80</programlisting> + + <para>Тохиргооны файлын талаарх дэлгэрэнгүй мэдээллийг &man.natd.8; + гарын авлагын хуудасны <option>-f</option> тохируулгын талаар + бичсэнээс лавлана уу.</para> + </note> + + <para>LAN-ий ард байгаа машин болон интерфэйс бүр <ulink + url="ftp://ftp.isi.edu/in-notes/rfc1918.txt">RFC 1918</ulink>-д + тодорхойлогдсон хувийн сүлжээний хаягаас заагдсан IP хаягтай, + <application>natd</application> машины дотоод IP хаягийг анхдагч + гарц болгон заасан байх ёстой.</para> + + <para>Жишээ нь LAN-ий цаана байгаа клиент <hostid>A</hostid> болон + <hostid>B</hostid> нь <hostid + role="ipaddr">192.168.0.2</hostid> болон <hostid + role="ipaddr">192.168.0.3</hostid> гэсэн IP хаягтай байх бол + natd машины LAN интерфэйс нь <hostid + role="ipaddr">192.168.0.1</hostid> гэсэн IP хаягтай байна. + Клиент <hostid>A</hostid> болон <hostid>B</hostid>-ийн анхдагч + гарц <application>natd</application> машины <hostid + role="ipaddr">192.168.0.1</hostid>-ээр тохируулагдах + ёстой. <application>natd</application> машины гадаад + буюу Интернетийн интерфэйс нь &man.natd.8;-г ажиллуулахын тулд + ямар нэгэн тусгайлсан өөрчлөлтийг шаарддаггүй.</para> + </sect2> + + <sect2 id="network-natdport-redirection"> + <title>Порт дахин чиглүүлэлт</title> + + <para>&man.natd.8;-ийн сул тал нь LAN клиентүүдэд Интернетээс хандах боломжгүй + байдаг. LAN дахь клиентүүд нь гаднах ертөнц уруу чиглэсэн гадагшаа холболтуудыг + хийж чадах боловч ирж байгааг хүлээн авч чаддаггүй. LAN клиент машинуудын аль нэгэн + дээр Интернетийн үйлчилгээнүүдийг ажиллуулахыг оролдох үед энэ нь асуудал үүсгэдэг. + Үүнийг тойрох хялбар арга бол <application>natd</application> машины + сонгосон Интернетийн портуудыг LAN клиент уруу дахин чиглүүлэх явдал юм. + </para> + + <para>Жишээ нь <hostid>A</hostid> клиент дээр IRC сервер, + <hostid>B</hostid> клиент дээр вэб сервер ажиллаж байна гэж үзье. Эдгээр нь + зөв ажиллахын тулд 6667 (IRC) болон 80 (вэб) портууд дээр хүлээн авсан холболтууд нь + тохирох машинууд уруу дахин чиглүүлэгдэх ёстой юм. + </para> + + <para>&man.natd.8; уруу <option>-redirect_port</option> тохируулга зохих + сонголтуудтай дамжуулагдах ёстой. Зөв бичих дүрэм нь ийм байна:</para> + <programlisting> -redirect_port proto targetIP:targetPORT[-targetPORT] + [aliasIP:]aliasPORT[-aliasPORT] + [remoteIP[:remotePORT[-remotePORT]]]</programlisting> + + <para>Дээрх жишээний хувьд нэмэлт өгөгдөл нь ийм байх ёстой:</para> + + <programlisting> -redirect_port tcp 192.168.0.2:6667 6667 + -redirect_port tcp 192.168.0.3:80 80</programlisting> + + <para> + Энэ нь зөв <emphasis>tcp</emphasis> портуудыг LAN клиент машинууд уруу дахин + чиглүүлэх болно. + </para> + + <para><option>-redirect_port</option> нэмэлт өгөгдлийг порт тус бүрийг + заахад ашиглахаас гадна бас бүлэг портуудыг заахад хэрэглэж болно. Жишээ нь + <replaceable>tcp + 192.168.0.2:2000-3000 2000-3000</replaceable> нь 2000-аас 3000 хүртэлх + портууд дээр хүлээн авсан бүх холболтуудыг <hostid>A</hostid> клиентийн + 2000-аас 3000 хүртэлх портууд уруу дахин чиглүүлэх болно.</para> + + <para>Эдгээр тохируулгуудыг &man.natd.8;-г шууд ажиллуулж байх үед + <filename>/etc/rc.conf</filename> файлд + <literal>natd_flags=""</literal> тохируулга дотор оруулж + ашиглаж болохоос гадна тохиргооны файлын тусламжтай дамжуулж + болно.</para> + + <para>Тохиргооны сонголтуудын талаар &man.natd.8;-с лавлана уу</para> + </sect2> + + <sect2 id="network-natdaddress-redirection"> + <title>Хаяг дахин чиглүүлэлт</title> + <indexterm><primary>хаяг дахин чиглүүлэлт</primary></indexterm> + <para>Хаягийн дахин чиглүүлэлт нь хэд хэдэн IP хаягууд байгаа бөгөөд тэдгээр нь + нэг машин дээр байх ёстой үед ашигтай байдаг. Үүнийг ашиглаад + &man.natd.8; нь өөрийн LAN клиент бүрдээ өөрийн гадаад IP хаягуудыг + өгч чаддаг. Дараа нь &man.natd.8; нь LAN клиентүүдээс ирэх гадагш + чиглэсэн пакетуудыг зөв гадаад IP хаягаас болгон дахин бичиж тухайн IP хаяг + дээр ирж байгаа бүх урсгалыг тохирох LAN клиент уруу дахин чиглүүлдэг. + Энэ нь бас статик NAT гэж нэрлэгддэг. Жишээ нь <hostid role="ipaddr">128.1.1.1</hostid>, + <hostid role="ipaddr">128.1.1.2</hostid>, болон + <hostid role="ipaddr">128.1.1.3</hostid> гэсэн IP хаягууд нь + <application>natd</application> гарц машинд харьяалагдаж байна + гэж үзье. <hostid role="ipaddr">128.1.1.1</hostid> нь + <application>natd</application> гарц машины гадаад IP хаяг болон + ашиглагдаж болох бол <hostid role="ipaddr">128.1.1.2</hostid> болон + <hostid role="ipaddr">128.1.1.3</hostid> нь <hostid>A</hostid> болон + <hostid>B</hostid> LAN клиентүүд уруу буцааж дамжуулагдахаар байж болно.</para> + + <para><option>-redirect_address</option> бичлэг нь дараах маягийн байна:</para> + + <programlisting>-redirect_address localIP publicIP</programlisting> + + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <tbody> + <row> + <entry>localIP</entry> + <entry>LAN клиентийн дотоод IP хаяг.</entry> + </row> + <row> + <entry>publicIP</entry> + <entry>LAN клиентэд тохирох гадаад IP хаяг.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Энэ жишээний хувьд энэхүү нэмэлт өгөгдөл нь ингэж уншигдаж болно:</para> + + <programlisting>-redirect_address 192.168.0.2 128.1.1.2 +-redirect_address 192.168.0.3 128.1.1.3</programlisting> + + <para><option>-redirect_port</option> тохируулгын нэгэн адил эдгээр + нэмэлт өгөгдлүүдийг <filename>/etc/rc.conf</filename> файлын + <literal>natd_flags=""</literal> тохируулгад хийж өгч болохоос + гадна тохиргооны файлаар дамжуулж болно. Хаягийн дахин чиглүүлэлт дээр + тухайн нэг IP хаяг дээр хүлээн авсан бүх өгөгдөл дахин чиглүүлэгддэг учраас + портын дахин чиглүүлэлт шаардлагагүй байдаг.</para> + + <para><application>natd</application> машины гадаад IP хаягууд нь идэвхтэй байж + гадаад интерфэйсийн нэрээр нэрлэгдсэн байх ёстой. Үүнийг хийхийн тулд &man.rc.conf.5;-г + үзнэ үү.</para> + + </sect2> + </sect1> + + <sect1 id="network-plip"> + <title>Parallel Line IP (PLIP) буюу Зэрэгцээ Шугамын IP</title> + + <indexterm><primary>PLIP</primary></indexterm> + <indexterm> + <primary>Parallel Line IP</primary> + <see>PLIP</see> + </indexterm> + + <para>PLIP нь параллель буюу зэрэгцээ портуудын хооронд TCP/IP ажиллуулах + боломж олгодог. Энэ нь сүлжээний картгүй машинууд дээр эсвэл зөөврийн компьютер + дээр суулгахад ашигтай байдаг. Энэ хэсэгт бид дараах зүйлсийг хэлэлцэх + болно:</para> + + <itemizedlist> + <listitem> + <para>Зэрэгцээ (laplink) кабелийг хийх.</para> + </listitem> + + <listitem> + <para>PLIP-ээр хоёр компьютерийг холбох.</para> + </listitem> + </itemizedlist> + + <sect2 id="network-create-parallel-cable"> + <title>Зэрэгцээ кабелийг хийх</title> + + <para>Та зэрэгцээ кабелийг ихэнх компьютерийн хангамжийн дэлгүүрээс худалдан + авч болно. Хэрэв та тэгж чадахгүй бол эсвэл та зүгээр л яаж хийгддэгийг мэдэхийг + хүсэж байгаа бол дараах хүснэгт нь ердийн зэрэгцээ хэвлэгчийн кабелаас + тийм кабел хэрхэн хийхийг харуулж байна.</para> + + <table frame="none"> + <title>Сүлжээнд зориулж зэрэгцээ кабел хийх нь</title> + + <tgroup cols="5"> + <thead> + <row> + <entry>A-нэр</entry> + + <entry>A-Төгсгөл</entry> + + <entry>B-Төгсгөл</entry> + + <entry>Тайлбар</entry> + + <entry>Post/Bit</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literallayout>DATA0 +-ERROR</literallayout></entry> + + <entry><literallayout>2 +15</literallayout></entry> + + <entry><literallayout>15 +2</literallayout></entry> + + <entry>Өгөгдөл</entry> + + <entry><literallayout>0/0x01 +1/0x08</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA1 ++SLCT</literallayout></entry> + + <entry><literallayout>3 +13</literallayout></entry> + + <entry><literallayout>13 +3</literallayout></entry> + + <entry>Өгөгдөл</entry> + + <entry><literallayout>0/0x02 +1/0x10</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA2 ++PE</literallayout></entry> + + <entry><literallayout>4 +12</literallayout></entry> + + <entry><literallayout>12 +4</literallayout></entry> + + <entry>Өгөгдөл</entry> + + <entry><literallayout>0/0x04 +1/0x20</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA3 +-ACK</literallayout></entry> + + <entry><literallayout>5 +10</literallayout></entry> + + <entry><literallayout>10 +5</literallayout></entry> + + <entry>Strobe</entry> + + <entry><literallayout>0/0x08 +1/0x40</literallayout></entry> + </row> + + <row> + <entry><literallayout>DATA4 +BUSY</literallayout></entry> + + <entry><literallayout>6 +11</literallayout></entry> + + <entry><literallayout>11 +6</literallayout></entry> + + <entry>Өгөгдөл</entry> + + <entry><literallayout>0/0x10 +1/0x80</literallayout></entry> + </row> + + <row> + <entry>GND</entry> + + <entry>18-25</entry> + + <entry>18-25</entry> + + <entry>GND</entry> + + <entry>-</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2 id="network-plip-setup"> + <title>PLIP-ийг тохируулах</title> + + <para>Эхлээд та laplink кабел олж авах хэрэгтэй. + Дараа нь хоёр компьютер хоюулаа &man.lpt.4; драйверийн + дэмжлэгтэй цөмтэй эсэхийг шалгаарай:</para> + + <screen>&prompt.root; <userinput>grep lp /var/run/dmesg.boot</userinput> +lpt0: <Printer> on ppbus0 +lpt0: Interrupt-driven port</screen> + + <para>Зэрэгцээ порт нь тасалдлаар удирдагддаг порт байх ёстой + бөгөөд та өөрийн <filename>/boot/device.hints</filename> + файлдаа доорхитой төстэй мөрүүдтэй байх ёстой:</para> + + <programlisting>hint.ppc.0.at="isa" +hint.ppc.0.irq="7"</programlisting> + + <para>Дараа нь цөмийн тохиргооны файлд <literal>device plip</literal> + мөр байгаа эсэх эсвэл цөмийн <filename>plip.ko</filename> модуль + дуудагдсан эсэхийг шалгана. Аль ч тохиолдолд таныг &man.ifconfig.8; ашиглан + үзүүлэх үед зэрэгцээ сүлжээний интерфэйс гарч ирэх ёстой:</para> + + <screen>&prompt.root; <userinput>ifconfig plip0</userinput> +plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500</screen> + + <para>Компьютер бүрийн зэрэгцээ интерфэйс уруу laplink кабелаа + залгана.</para> + + <para>Сүлжээний интерфэйсийн өгөгдлүүдийг хоёр талын хоюулан дээр + <username>root</username> хэрэглэгчээр тохируулна. Жишээ нь хэрэв та + <hostid>host1</hostid> хостыг өөр <hostid>host2</hostid> машинтай + холбохыг хүсвэл:</para> + + <programlisting> host1 <-----> host2 +IP Address 10.0.0.1 10.0.0.2</programlisting> + + <para><hostid>host1</hostid> дээрх интерфэйсийг дараахийг хийж тохируулна:</para> + + <screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.1 10.0.0.2</userinput></screen> + + <para><hostid>host2</hostid> дээрх интерфэйсийг дараахийг хийж тохируулна:</para> + + <screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.2 10.0.0.1</userinput></screen> + + + <para>Та одоо ажилладаг холболттой болсон байх ёстой. Дэлгэрэнгүй мэдээллийг + &man.lp.4; болон &man.lpt.4; гарын авлагын хуудаснуудаас уншина уу.</para> + + <para>Та хоёр хостыг хоюуланг нь <filename>/etc/hosts</filename> файлд + нэмэх хэрэгтэй:</para> + + <programlisting>127.0.0.1 localhost.my.domain localhost +10.0.0.1 host1.my.domain host1 +10.0.0.2 host2.my.domain</programlisting> + + <para>Холболт ажиллаж байгааг баталгаажуулахын тулд хост бүр уруу очоод + нөгөө тал уруу ping хийнэ. Жишээ нь <hostid>host1</hostid> дээр:</para> + + <screen>&prompt.root; <userinput>ifconfig plip0</userinput> +plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 +&prompt.root; <userinput>netstat -r</userinput> +Routing tables + +Internet: +Destination Gateway Flags Refs Use Netif Expire +host2 host1 UH 0 0 plip0 +&prompt.root; <userinput>ping -c 4 host2</userinput> +PING host2 (10.0.0.2): 56 data bytes +64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms +64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms +64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms +64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 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</screen> + + </sect2> + </sect1> + + <sect1 id="network-ipv6"> + <sect1info> + <authorgroup> + <author> + <firstname>Аарон</firstname> + <surname>Каплан</surname> + <contrib>Анхлан бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Дахин бүтцийг өөрчилж нэмсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Брэд</firstname> + <surname>Дэйвис</surname> + <contrib>Өргөтгөсөн </contrib> + </author> + </authorgroup> + + </sect1info> + + <title>IPv6</title> + <para>IPv6 (бас IPng <quote>IP next generation</quote> буюу дараа үеийн IP гэгддэг) нь + олонд танигдсан IP протоколын (бас <acronym>IPv4</acronym> гэгддэг) шинэ хувилбар юм. + Одоогийн бусад *BSD системүүдийн адил FreeBSD нь KAME IPv6 лавлагаа шийдлийг + агуулдаг. Тэгэхээр таны FreeBSD систем таныг IPv6-г туршихад хэрэгтэй бүхнийг агуулсан + байдаг. Энэ хэсэг нь IPv6-г тохируулж ажиллуулах талаар анхаарлаа хандуулах болно.</para> + + <para>1990 оны эхэн үеэс хүмүүс IPv4-ийн хаягийн хэмжээ хурдацтай багасаж + байгааг мэдэх болсон. Интернетийн өсөлтийн хурдаас хамаараад хоёр гол асуудал + гарч ирсэн:</para> + + <itemizedlist> + <listitem> + <para>Хаяггүй болж эхэлсэн. RFC1918 хувийн хаягийн талбар + (<hostid role="ipaddr">10.0.0.0/8</hostid>, + <hostid role="ipaddr">172.16.0.0/12</hostid>, болон + <hostid role="ipaddr">192.168.0.0/16</hostid>) болон + Network Address Translation (<acronym>NAT</acronym>) буюу + Сүлжээний хаягийн хөрвүүлэлтийг ашигладаг болсон болохоор өнөөдөр энэ нь + тийм ч чухал асуудал байхаа больсон.</para> + </listitem> + + <listitem> + <para>Чиглүүлэгчийн хүснэгтийн оруулгууд хэтэрхий ихсэж байгаа явдал. + Энэ нь өнөөдөр асуудал хэвээр байгаа билээ.</para> + </listitem> + </itemizedlist> + + <para>IPv6 нь эдгээр асуудлууд болон өөр бусад олныг шийддэг:</para> + + <itemizedlist> + <listitem> + <para>128 битийн хаягийн талбар. Өөрөөр хэлбэл онолын хувьд + 340,282,366,920,938,463,463,374,607,431,768,211,456 хаяг байна. + Энэ нь манай гариг дээрх нэг квадрат метр бүрт ойролцоогоор 6.67 * 10^27 IPv6 хаяг + байна гэсэн үг юм.</para> + </listitem> + + <listitem> + <para>Чиглүүлэгчүүд нь зөвхөн сүлжээний нийлбэр хаягуудыг өөрсдийн чиглүүлэлтийн + хүснэгтүүдэд хадгалах бөгөөд ингэснээр чиглүүлэлтийн хүснэгтийн дундаж хэмжээг + 8192 хүртэл бууруулдаг.</para> + </listitem> + </itemizedlist> + + <para>IPv6-ийн бусад ашигтай олон боломжууд бас байдаг, тэдгээрээс дурдвал:</para> + + <itemizedlist> + <listitem> + <para>Хаягийн автомат тохиргоо (<ulink + url="http://www.ietf.org/rfc/rfc2462.txt">RFC2462</ulink>)</para> + </listitem> + + <listitem> + <para>Anycast хаягууд (<quote>one-out-of many</quote> буюу олноос ганц)</para> + </listitem> + + <listitem> + <para>Зайлшгүй шаардлагатай (mandatory) multicast хаягууд</para> + </listitem> + + <listitem> + <para>IPsec (IP security буюу нууцлаг)</para> + </listitem> + + <listitem> + <para>Хялбаршуулсан толгойн бүтэц</para> + </listitem> + + <listitem> + <para>Хөдөлгөөнт <acronym>IP</acronym></para> + </listitem> + + <listitem> + <para>IPv6-to-IPv4 шилжилтийн арга замууд</para> + </listitem> + </itemizedlist> + + + <para>Дэлгэрэнгүй мэдээллийн талаар доорхоос үзнэ үү:</para> + + <itemizedlist> + <listitem> + <para><ulink url="http://playground.sun.com/pub/ipng/html/ipng-main.html">playground.sun.com</ulink> + дэх IPv6-ийн талаарх тойм </para> + </listitem> + + <listitem> + <para><ulink url="http://www.kame.net">KAME.net</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.6bone.net">6bone.net</ulink></para> + </listitem> + </itemizedlist> + + <sect2> + <title>IPv6 хаягуудын талаарх суурь мэдээлэл</title> + <para>IPv6 хаягуудын өөр өөр төрлүүд байдаг: Unicast, Anycast, болон + Multicast.</para> + + <para>Unicast хаягууд нь бидний мэддэг хаягууд юм. Unicast хаяг уруу илгээсэн + пакет нь яг тэр хаягт харгалзах интерфэйс дээр ирдэг.</para> + + <para>Anycast хаягуудыг unicast хаягуудаас ялгах боломжгүй байдаг боловч + тэдгээр нь бүлэг интерфэйсүүдийг хаягладаг. Anycast хаяг уруу чиглэсэн пакет + хамгийн ойрын (чиглүүлэгчийн хэмжилтийн хувьд) интерфэйс дээр ирэх болно. + Anycast хаягуудыг зөвхөн чиглүүлэгчид ашиглаж болох юм.</para> + + <para>Multicast хаягууд нь бүлэг интерфэйсүүдийг таньдаг. Multicast хаяг уруу + чиглэсэн пакет нь multicast бүлэгт харьяалагдах бүх интерфэйсүүд дээр + ирэх болно.</para> + + <note><para>IPv4 цацах (broadcast) хаяг (ихэвчлэн <hostid role="ipaddr">xxx.xxx.xxx.255</hostid>) нь + IPv6-ийн multicast хаягуудаар илэрхийлэгддэг.</para></note> + + <table frame="none"> + <title>Нөөц IPv6 хаягууд</title> + + <tgroup cols="4"> + <thead> + <row> + <entry>IPv6 хаяг</entry> + <entry>Prefixlength буюу угтварын урт (битээр)</entry> + <entry>Тайлбар</entry> + <entry>Тэмдэглэл</entry> + </row> + </thead> + + <tbody> + <row> + <entry><hostid role="ip6addr">::</hostid></entry> + <entry>128 бит</entry> + <entry>тодорхойлогдоогүй</entry> + <entry>харьцуулбал IPv4 дэх <hostid role="ipaddr">0.0.0.0</hostid></entry> + </row> + + <row> + <entry><hostid role="ip6addr">::1</hostid></entry> + <entry>128 бит</entry> + <entry>loopback буюу буцах хаяг</entry> + <entry>харьцуулбал IPv4 дэх <hostid role="ipaddr">127.0.0.1</hostid></entry> + </row> + + <row> + <entry><hostid + role="ip6addr">::00:xx:xx:xx:xx</hostid></entry> + <entry>96 бит</entry> + <entry>суулгагдсан IPv4</entry> + <entry>Бага 32 бит нь IPv4 хаяг юм. Бас + <quote>IPv4 нийцтэй IPv6 хаяг</quote> + гэгддэг</entry> + </row> + + <row> + <entry><hostid + role="ip6addr">::ff:xx:xx:xx:xx</hostid></entry> + <entry>96 бит</entry> + <entry>IPv4-р илэрхийлэгдсэн IPv6 хаяг</entry> + <entry>Бага 32 бит нь IPv4 хаяг юм. + IPv6-г дэмждэггүй хостуудад зориулсан.</entry> + </row> + + <row> + <entry><hostid role="ip6addr">fe80::</hostid> - <hostid + role="ip6addr">feb::</hostid></entry> + <entry>10 бит</entry> + <entry>link-local</entry> + <entry>харьцуулбал IPv4 дэх loopback буюу буцах хаяг</entry> + </row> + + <row> + <entry><hostid role="ip6addr">fec0::</hostid> - <hostid + role="ip6addr">fef::</hostid></entry> + <entry>10 бит</entry> + <entry>site-local</entry> + <entry> </entry> + </row> + + <row> + <entry><hostid role="ip6addr">ff::</hostid></entry> + <entry>8 бит</entry> + <entry>multicast</entry> + <entry> </entry> + </row> + + <row> + <entry><hostid role="ip6addr">001</hostid> (хоёртын системээр)</entry> + <entry>3 бит</entry> + <entry>глобал unicast</entry> + <entry>Бүх глобал unicast хаягууд нь энэ цөөрмөөс заагдана. + Эхний 3 бит нь <quote>001</quote> байна.</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2> + <title>IPv6 хаягуудыг унших нь</title> + <para>Дүрмийн дагуу ийм хэлбэртэй байна: <hostid role="ip6addr">x:x:x:x:x:x:x:x</hostid> хэлбэрийн + байх бөгөөд <quote>x</quote> бүр нь 16 битийн арван зургаат утга байна. Жишээ нь + <hostid role="ip6addr">FEBC:A574:382B:23C1:AA49:4592:4EFE:9982</hostid></para> + + <para>Хаяг нь ихэнхдээ дандаа тэгүүдээс тогтох урт дэд хэсгүүдээс тогтож болох бөгөөд хаягийн тийм + хэсгийг <quote>::</quote> гэж хураангуйлж болно. Дөрвөн арван зургаат тооны + гурав хүртэлх эхний <quote>0</quote>-үүдийг орхиж бас болно. + Жишээ нь <hostid role="ip6addr">fe80::1</hostid> нь дүрэмд заасан хэлбэрээр бол + <hostid role="ip6addr">fe80:0000:0000:0000:0000:0000:0000:0001</hostid> байна.</para> + + <para>Гурав дахь хэлбэр нь сүүлийн 32 бит хэсгийг бидний мэддэг (аравтын) IPv4 + загварын цэгүүдээр <quote>.</quote> тусгаарлаж бичих явдал юм. + Жишээ нь <hostid role="ip6addr">2002::10.0.0.1</hostid> нь + (арван зургаатын) дүрэмд зааснаар + <hostid role="ip6addr">2002:0000:0000:0000:0000:0000:0a00:0001</hostid> + болох бөгөөд үүнийг бас <hostid role="ip6addr">2002::a00:1</hostid> + гэж бичиж болох юм.</para> + + <para>Энэ хүртэл уншигч дараахийг ойлгож чадаж байх ёстой:</para> + + <screen>&prompt.root; <userinput>ifconfig</userinput></screen> + + <programlisting>rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 + inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 + inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 + ether 00:00:21:03:08:e1 + media: Ethernet autoselect (100baseTX ) + status: active</programlisting> + + <para><hostid role="ip6addr">fe80::200:21ff:fe03:8e1%rl0</hostid> нь + автоматаар тохируулагдсан link-local хаяг юм. Энэ нь MAC хаягаас автомат тохиргооны + хэсэг болон үүсгэгддэг.</para> + + <para>IPv6 хаягуудын бүтцийн талаарх дэлгэрэнгүй мэдээллийг + <ulink url="http://www.ietf.org/rfc/rfc3513.txt">RFC3513</ulink> хаягаас + үзнэ үү.</para> + </sect2> + + <sect2> + <title>Холбогдох нь</title> + + <para>Одоогоор бусад IPv6 хостууд болон сүлжээнүүдтэй холбогдох дөрвөн арга байдаг:</para> + + <itemizedlist> + <listitem> + <para>Туршилтын 6bone уруу нэгдэх</para> + </listitem> + + <listitem> + <para>Өөрийн дээд үйлчилгээ үзүүлэгчээсээ IPv6 сүлжээ авах. Зааврын талаар өөрийн + Интернетийн үйлчилгээ үзүүлэгчтэйгээ ярилцах хэрэгтэй.</para> + </listitem> + + <listitem> + <para>6-аас-4 уруу туннел хийх (<ulink + url="http://www.ietf.org/rfc/rfc3068.txt">RFC3068</ulink>)</para> + </listitem> + + <listitem> + <para>Хэрэв та dial-up холболт дээр байгаа бол + <filename role="package">net/freenet6</filename> портыг ашиглах + хэрэгтэй.</para> + </listitem> + </itemizedlist> + + <para>Энд бид 6bone уруу хэрхэн холбогдох талаар ярилцах болно. Учир нь энэ нь одоогоор + хамгийн түгээмэл арга юм.</para> + + <para>Эхлээд <ulink url="http://www.6bone.net/">6bone</ulink> сайтад орж + үзээд өөртөө хамгийн ойр байгаа 6bone холболтыг олох хэрэгтэй. Хариуцаж байгаа + хүн уруу нь бичээд ялимгүй аз байвал танд өөрийн холболтыг хэрхэн тохируулах талаар заавруудыг + өгөх болно. Энэ нь ихэвчлэн GRE (gif) туннел тохируулахад хүргэдэг.</para> + + <para>Энд &man.gif.4; туннелийг тохируулах нийтлэг жишээ байна:</para> + + <screen>&prompt.root; <userinput>ifconfig gif0 create</userinput> +&prompt.root; <userinput>ifconfig gif0</userinput> +gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280 +&prompt.root; <userinput>ifconfig gif0 tunnel <replaceable>MY_IPv4_ADDR MY_IPv4_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable></userinput> +&prompt.root; <userinput>ifconfig gif0 inet6 alias <replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable></userinput></screen> + + <para>Дээд талын 6bone цэгээс авсан мэдээллээр томоор бичсэн үгнүүдийг солино.</para> + + <para>Энэ нь туннел үүсгэнэ. Туннел ажиллаж байгаа эсэхийг шалгаж + <hostid role="ip6addr">ff02::1%gif0</hostid> уруу &man.ping6.8; хийж үзэх + хэрэгтэй. Та хоёр ping хариулт хүлээн авах ёстой.</para> + + <note><para>Хэрэв таны сонирхлыг <hostid role="ip6addr">ff02:1%gif0</hostid> хаяг татсан бол + энэ нь multicast хаяг юм. <literal>%gif0</literal> нь <devicename>gif0</devicename> + сүлжээний интерфэйс дэх multicast хаягийг ашиглахыг хэлж байна. Бид multicast хаяг уруу <command>ping</command> + хийж байгаа болохоор туннелийн нөгөө тал ч бас хариулах ёстой.</para></note> + + <para>Одоо өөрийн дээш холбогдсон 6bone холбоос уруу чиглүүлэлт тохируулах нь + шулуухан байх ёстой:</para> + + <screen>&prompt.root; <userinput>route add -inet6 default -interface gif0</userinput> +&prompt.root; <userinput>ping6 -n <replaceable>MY_UPLINK</replaceable></userinput></screen> + + <screen>&prompt.root; <userinput>traceroute6 www.jp.FreeBSD.org</userinput> +(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets + 1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms + 2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms * + 3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms + 4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms + 5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms + 6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms</screen> + + <para>Энэхүү гаралт нь машинаас машинд өөр өөр байх болно. Одоо та IPv6 сайт + <ulink url="http://www.kame.net">www.kame.net</ulink> уруу хүрч бүжиглэж байгаа яст мэлхийг + харж чадаж байх ёстой — <filename role="package">x11/kdebase3</filename>, + эсвэл <filename role="package">www/epiphany</filename>-ийн хэсэг болох + <application>Konqueror</application>, <filename role="package">www/mozilla</filename> + зэрэг IPv6 идэвхжүүлэгдсэн хөтөчтэй байхад ингэх боломжтой.</para> + + </sect2> + + <sect2> + <title>IPv6 ертөнц дэх DNS</title> + + <para>IPv6-д зориулсан хоёр төрлийн DNS бичлэг байдаг. IETF нь A6 бичлэгийг + хуучин, хэрэгцээнээс гарсан гэж зарласан. AAAA бичлэгүүд нь одоо стандарт + болсон байгаа.</para> + + <para>AAAA бичлэгүүдийг ашиглах нь амархан. Өөрийн хостын нэрийг дөнгөж авсан шинэ + IPv6 хаягт зааж дараахийг:</para> + + <programlisting>MYHOSTNAME AAAA MYIPv6ADDR</programlisting> + + <para>өөрийн анхдагч бүсийн DNS файл уруу нэмж өгнө. Та өөрийн <acronym>DNS</acronym> + бүсүүдийг удирддаггүй бол өөрийн <acronym>DNS</acronym> үйлчилгээ үзүүлэгчээс + асуух хэрэгтэй. <application>bind</application> (8.3 ба 9 хувилбар) + болон <filename role="package">dns/djbdns</filename>-ийн (IPv6 засвартай) + одоогийн хувилбарууд AAAA бичлэгүүдийг дэмждэг.</para> + </sect2> + + <sect2> + <title><filename>/etc/rc.conf</filename> файлд хэрэгцээтэй өөрчлөлтүүдийг хийх нь</title> + + <sect3> + <title>IPv6 клиентийн тохиргоонууд</title> + + <para>Эдгээр тохиргоонууд нь таны LAN-д байх машиныг чиглүүлэгч биш клиент маягаар + ажиллуулахаар тохируулахад танд туслах болно. Таны интерфэйсийг ачаалах үед автоматаар + &man.rtsol.8;-оор тохируулуулахын тулд таны нэмэх ёстой зүйл бол дараах мөр юм:</para> + + <programlisting>ipv6_enable="YES"</programlisting> + + <para><hostid role="ip6addr"> + 2001:471:1f11:251:290:27ff:fee0:2093</hostid> зэрэг + IP хаягийг өөрийн <devicename>fxp0</devicename> интерфэйсд + статикаар өгөхийн тулд дараахийг нэмнэ:</para> + + <programlisting>ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"</programlisting> + + <para><hostid role="ip6addr">2001:471:1f11:251::1</hostid> анхдагч + чиглүүлэгчийг зааж өгөхдөө дараахийг <filename>/etc/rc.conf</filename> + файлд нэмнэ:</para> + + <programlisting>ipv6_defaultrouter="2001:471:1f11:251::1"</programlisting> + + </sect3> + + <sect3> + <title>IPv6 чиглүүлэгч/гарцын тохиргоонууд</title> + + <para>Энэ нь <ulink url="http://www.6bone.net/">6bone</ulink> зэрэг + таны туннелийн үйлчилгээ үзүүлэгчийн өгсөн чиглэлүүдийг авч тэдгээрийг дахин ачаалсан ч + гэсэн үлдэхээр болгож тохиргоо болгон хөрвүүлэхэд танд туслах болно. Эхлүүлэх үед + өөрийн туннелийг сэргээхийн тулд доорхтой төстэйг <filename>/etc/rc.conf</filename> + файлд ашиглана:</para> + + <para>Тохируулах Ердийн Туннел хийх интерфэйсүүдийг жагсаана. Жишээ нь + <devicename>gif0</devicename>:</para> + + <programlisting>gif_interfaces="gif0"</programlisting> + + <para><replaceable>MY_IPv4_ADDR</replaceable> гэсэн локал төгсгөлтэй + интерфэйсийг <replaceable>REMOTE_IPv4_ADDR</replaceable> гэсэн алсын төгсгөл + уруу тохируулахын тулд:</para> + + <programlisting>gifconfig_gif0="<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>"</programlisting> + + <para>Өөрийн IPv6 туннелийн төгсгөл болгон ашиглахаар таны зааж өгсөн IPv6 + хаягийг хамааруулахын тулд дараахийг нэмнэ:</para> + + <programlisting>ipv6_ifconfig_gif0="<replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting> + + <para>Тэгээд таны хийх зүйл чинь IPv6-д зориулж анхдагч чиглүүлэлт тохируулах + явдал юм. Энэ нь IPv6 туннелийн нөгөө тал байх болно:</para> + + <programlisting>ipv6_defaultrouter="<replaceable>MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting> + + </sect3> + + <sect3> + <title>IPv6 туннелийн тохиргоонууд</title> + + <para>Хэрэв сервер нь таны бусад сүлжээ болон гадаад ертөнцийн хооронд + IPv6-г чиглүүлэх бол дараах <filename>/etc/rc.conf</filename> + тохируулга бас хэрэгтэй болно:</para> + + <programlisting>ipv6_gateway_enable="YES"</programlisting> + + </sect3> + </sect2> + + <sect2> + <title>Чиглүүлэгчийн зарлалт ба Хостын автомат тохиргоо</title> + + <para>Энэ хэсэг нь IPv6 анхдагч чиглүүлэлтийг зарлахын тулд &man.rtadvd.8;-г + тохируулахад тань туслах болно.</para> + + <para>&man.rtadvd.8;-г идэвхжүүлэхийн тулд таны <filename>/etc/rc.conf</filename> + файлд дараах тохиргоо хэрэгтэй болно:</para> + + <programlisting>rtadvd_enable="YES"</programlisting> + + <para>IPv6 чиглүүлэгчийн төлөөлөлт хийгдэх интерфэйсийг заах нь чухал юм. Жишээ нь + &man.rtadvd.8;-д <devicename>fxp0</devicename>-г ашиглахыг хэлж өгөхийн + тулд дараахийг нэмнэ:</para> + + <programlisting>rtadvd_interfaces="fxp0"</programlisting> + + <para>Одоо бид <filename>/etc/rtadvd.conf</filename> тохиргооны + файл үүсгэх ёстой. Энд жишээ байна:</para> + + <programlisting>fxp0:\ + :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:</programlisting> + + <para><devicename>fxp0</devicename>-г өөрийн ашиглах интерфэйсээр солих + хэрэгтэй.</para> + + <para>Дараа нь <hostid role="ip6addr">2001:471:1f11:246::</hostid>-г + өөрийн хуваарилалтын угтвараар солиорой.</para> + + <para>Хэрэв та <hostid role="netmask">/64</hostid> дэд сүлжээг зориулсан + бол өөр бусад ямар ч өөрлөлт хийх хэрэггүй. Хэрэв тийм биш бол та + <literal>prefixlen#</literal> буюу угтварын уртыг зөв утгаар өөрчлөх шаардлагатай.</para> + + </sect2> + </sect1> + + <sect1 id="network-atm"> + <sect1info> + <authorgroup> + <author> + <firstname>Харти</firstname> + <surname>Брандт</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + + <title>Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горим</title> + + <sect2> + <title>ATM дээгүүр классик IP тохируулах нь (PVC-нүүд)</title> + + <para>Classical IP over ATM (<acronym>CLIP</acronym>) буюу + ATM дээгүүрх классик IP нь Asynchronous Transfer Mode (ATM) + буюу Асинхрон Дамжуулах Горимыг IP-тай ашиглах хамгийн энгийн + арга юм. Энэ нь switched буюу шилжүүлэгдсэн (SVC-нүүд) ба permanent буюу + байнгын (PVC-нүүд) холболтуудтай ашиглагдаж болдог. Энэ хэсэг нь + сүлжээн дээр тулгуурласныг PVC-нүүд дээр хэрхэн тохируулах талаар + тайлбарладаг.</para> + + <sect3> + <title>Бүрэн тор хэлбэрийн тохиргоонууд</title> + + <para><acronym>CLIP</acronym>-ийг PVC-нүүдтэй тохируулах эхний арга нь + машин бүрийг сүлжээн дэх бусад машин бүртэй зориулагдсан PVC-ээр холбох явдал + юм. Үүнийг тохируулах хялбар байдаг боловч их олон тооны машинууд дээр + бүтэшгүй байдаг. Энэ жишээ нь сүлжээнд бидэнд дөрвөн машин байгаа бөгөөд + машин бүр <acronym role="Asynchronous Transfer Mode">ATM</acronym> + сүлжээнд <acronym role="Asynchronous Transfer Mode">ATM</acronym> + хувиргагч картын тусламжтай холбогдсон гэж үздэг. Эхний алхам нь IP хаягууд болон + машинуудын хооронд <acronym role="Asynchronous + Transfer Mode">ATM</acronym> холболтуудыг төлөвлөх явдал юм. + Бид дараахийг ашиглана:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <thead> + <row> + <entry>Хост</entry> + <entry>IP хаяг</entry> + </row> + </thead> + + <tbody> + <row> + <entry><hostid>hostA</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.1</hostid></entry> + </row> + + <row> + <entry><hostid>hostB</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.2</hostid></entry> + </row> + + <row> + <entry><hostid>hostC</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.3</hostid></entry> + </row> + + <row> + <entry><hostid>hostD</hostid></entry> + <entry><hostid role="ipaddr">192.168.173.4</hostid></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Бүрэн тор хэлбэрийн сүлжээг бүтээхийн тулд машинуудын хослол бүрийн хооронд + нэг ATM холболт бидэнд хэрэгтэй:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <thead> + <row> + <entry>Машинууд</entry> + <entry>VPI.VCI хослол</entry> + </row> + </thead> + + <tbody> + <row> + <entry><hostid>hostA</hostid> - <hostid>hostB</hostid></entry> + <entry>0.100</entry> + </row> + + <row> + <entry><hostid>hostA</hostid> - <hostid>hostC</hostid></entry> + <entry>0.101</entry> + </row> + + <row> + <entry><hostid>hostA</hostid> - <hostid>hostD</hostid></entry> + <entry>0.102</entry> + </row> + + <row> + <entry><hostid>hostB</hostid> - <hostid>hostC</hostid></entry> + <entry>0.103</entry> + </row> + + <row> + <entry><hostid>hostB</hostid> - <hostid>hostD</hostid></entry> + <entry>0.104</entry> + </row> + + <row> + <entry><hostid>hostC</hostid> - <hostid>hostD</hostid></entry> + <entry>0.105</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Холболтын төгсгөл бүр дэх VPI болон VCI утгууд нь мэдээж ялгаатай + байх боловч амархан байлгах үүднээс бид тэдгээрийг адил гэж үзнэ. Дараа нь + бид ATM интерфэйсүүдийг хост бүр дээр тохируулах хэрэгтэй болно:</para> + + <screen>hostA&prompt.root; <userinput>ifconfig hatm0 192.168.173.1 up</userinput> +hostB&prompt.root; <userinput>ifconfig hatm0 192.168.173.2 up</userinput> +hostC&prompt.root; <userinput>ifconfig hatm0 192.168.173.3 up</userinput> +hostD&prompt.root; <userinput>ifconfig hatm0 192.168.173.4 up</userinput></screen> + + <para>Ингэхдээ бүх хостууд дээр ATM интерфэйс нь <devicename>hatm0</devicename> + гэж үзэх болно. Одоо PVC-нүүд нь <hostid>hostA</hostid> дээр тохируулагдах + шаардлагатай (бид тэдгээрийг ATM шилжүүлэгч дээр аль хэдийн тохируулагдсан гэж + үзнэ, үүнийг хэрхэн хийхийг шилжүүлэгчийн гарын авлагаас лавлах хэрэгтэй).</para> + + <screen>hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr</userinput> +hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr</userinput> +hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr</userinput> + +hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr</userinput> +hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr</userinput> +hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr</userinput> + +hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr</userinput> +hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr</userinput> +hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr</userinput> + +hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr</userinput> +hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr</userinput> +hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</userinput></screen> + + <para>Мэдээж хэрэг UBR-с бусад урсгалын хэлэлцээнүүд хэрэв ATM хувиргагч тэдгээрийг + дэмждэг бол ашиглагдаж болно. Энэ тохиолдолд урсгалын хэлэлцээний нэр нь урсгалын + нэмэлт өгөгдлүүдийн дараа орж байна. &man.atmconfig.8; хэрэгсэлд зориулсан + тусламжийг дараах тушаалыг ашиглан:</para> + + <screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen> + + <para>авч болох бөгөөд эсвэл &man.atmconfig.8; гарын авлагаас авч болно.</para> + + <para>Үүнтэй адил тохиргоог <filename>/etc/rc.conf</filename> + ашиглан бас хийж болно. <hostid>hostA</hostid>-ийн хувьд энэ нь + иймэрхүү харагдана:</para> + +<programlisting>network_interfaces="lo0 hatm0" +ifconfig_hatm0="inet 192.168.173.1 up" +natm_static_routes="hostB hostC hostD" +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"</programlisting> + + <para>Бүх <acronym>CLIP</acronym> чиглүүлэлтүүдийн тухайн үеийн төлвийг дараах + тушаалаар авч болно:</para> + + <screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> +<!-- LocalWords: config mnt www --> diff --git a/mn_MN.UTF-8/books/handbook/appendix.decl b/mn_MN.UTF-8/books/handbook/appendix.decl new file mode 100644 index 0000000000..a14de0d695 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/appendix.decl @@ -0,0 +1,9 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.1 + + $FreeBSD$ +--> + +<!DOCTYPE appendix PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN"> diff --git a/mn_MN.UTF-8/books/handbook/audit/Makefile b/mn_MN.UTF-8/books/handbook/audit/Makefile new file mode 100644 index 0000000000..b96a7cf76f --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/audit/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= audit/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/audit/chapter.sgml b/mn_MN.UTF-8/books/handbook/audit/chapter.sgml new file mode 100644 index 0000000000..b045bbbd1b --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/audit/chapter.sgml @@ -0,0 +1,675 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.25 + + $FreeBSD$ +--> + +<!-- Need more documentation on praudit, auditreduce, etc. Plus more info +on the triggers from the kernel (log rotation, out of space, etc). +And the /dev/audit special file if we choose to support that. Could use +some coverage of integrating MAC with Event auditing and perhaps discussion +on how some companies or organizations handle auditing and auditing +requirements. --> + +<chapter id="audit"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Роудс</surname> + <contrib>Бичсэн </contrib> + </author> + <author> + <firstname>Роберт</firstname> + <surname>Ватсон</surname> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </chapterinfo> + + <title>Аюулгүй байдлын үйл явцад аудит хийх нь </title> + + <sect1 id="audit-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm><primary>АУДИТ</primary></indexterm> + <indexterm> + <primary>Аюулгүй байдлын үйл явцад аудит хийх нь</primary> + <see>MAC</see> + </indexterm> + + <para>FreeBSD 6.2-RELEASE болон дараагийн хувилбарууд нь нягт-боловсруулсан + аюулгүй байдлын үйл явцад аудит хийх дэмжлэг оруулсан болно. Үйл явцад аудит хийх нь + нэвтрэн оролтууд, тохиргооны өөрчлөлтүүд, болон файл болон сүлжээний хандалт зэрэг + төрөл бүрийн аюулгүй байдлын холбогдолтой системийн үйл явцуудын хянаж бүртгэсэн бичлэгийг найдвартай, + нягт-боловсруулсан, ба тохируулах боломжтойгоор хийх боломжийг бүрдүүлдэг. + Эдгээр хянаж бүртгэсэн бичлэгүүд нь системийг шууд хянах, халдлага илрүүлэх, болон халдлагын + дараах анализ хийхэд үнэлж баршгүй байж болох юм. &os; Sun-ий гаргасан + <acronym>BSM</acronym> API болон файлын хэлбэрийг шийдлээ болгосон бөгөөд + Sun-ий Solaris болон Apple-ийн Mac OS X-ийн аудит шийдлүүдтэй харилцан + ажиллах боломжтой.</para> + + <para>Энэ бүлэг нь үйл явцыг аудит хийхийг тохируулах болон суулгах тал дээр анхаарна. + Энд аудитийн бодлогуудын талаар тайлбарлах бөгөөд аудитийн тохиргооны жишээг бас + харж болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Үйл явцыг аудит хийх гэж юу вэ болон яаж ажилладаг талаар.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчид болон процессуудын үйл явцыг аудит хийхийг &os; дээр яаж + тохируулах талаар.</para> + </listitem> + + <listitem> + <para>Аудитийн мөрийг аудит багасгах болон хянах хэрэгслүүдээр хэрхэн шалгах талаар.</para> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>&unix; болон &os; -ийн үндсийг ойлгох + (<xref linkend="basics">).</para> + </listitem> + + <listitem> + <para>Цөмийг тохируулах/хөрвүүлэх үндэстэй танилцах + (<xref linkend="kernelconfig">).</para> + </listitem> + + <listitem> + <para>Аюулгүй байдлын талаар болон түүний &os; -тэй хэрхэн холбогддог талаар ойлголттой байх + (<xref linkend="security">).</para> + </listitem> + </itemizedlist> + + <warning> + <para>Аудит хэрэгсэл нь &os; 6.2 дээр туршилтын байдлаар орсон бөгөөд + туршилтын програм хангамж ашиглахад гарж болзошгүй аюулыг нарийн нягтлан + үзсэний дараа ашиглалтад хэрэглэх ёстой юм. Зарим нэг хязгаарлалтуудыг дурдвал + бүх аюулгүй байдлын холбогдолтой системийн үйл явцуудыг аудит хийх боломжгүй, + X11 дээр үндэслэгдсэн дэлгэцийн менежерүүд болон гуравдагч демонууд зэрэг + зарим нэвтрэх механизмууд хэрэглэгчийн нэвтрэх сессийг аудит хийх тохиргоог буруу + хийдэг зэрэг болно.</para> + </warning> + + <warning> + <para>Аюулгүй байдлын үйл явцыг аудит хийх хэрэгсэл нь системийн ажиллагааны маш + дэлгэрэнгүй бичлэгүүдийг үүсгэх чадвартай: нарийвчилсан тохиргоо хийгдсэн завгүй системд + мөр бичлэгийн файлын өгөгдөл тохиргооноос хамааран зарим тохиолдолд гигабайтаас ч илүү + асар их болох боломжтой. Администраторууд их хэмжээний аудит хийх тохиргоотой холбоотой + дискийн хэмжээний шаардлагыг тооцох ёстой. Жишээ нь, аудит бичиж байгаа файлын систем + дүүрэх нөхцөлд өөр бусад файлын системүүдэд хамааралгүйгээр файлын системийг + <filename>/var/audit</filename> модонд зориулах нь магадгүй зохимжтой байж + болох юм.</para> + </warning> + + </sect1> + + <sect1 id="audit-inline-glossary"> + <title>Энэ бүлгийн түлхүүр ухагдахуунууд</title> + + <para>Энэ бүлгийг уншихаас өмнө аудиттай холбоотой цөөн түлхүүр ухагдахуунуудыг + тайлбарлах шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para><emphasis>үйл явц</emphasis>: Аудит хийх боломжтой үйл явц гэдэг нь + аудит дэд системийн тусламжтайгаар хянаж бүртгэх боломжтой дурын үйл явцыг хэлнэ. + Аюулгүй байдалтай холбоотой үйл явцуудын жишээнүүдэд файлын үүсгэлт, + сүлжээний холболтыг босгох, эсвэл хэрэглэгчийн нэвтрэлтийг дурдаж болно. + Үйл явцууд нь нэг бол жинхэнэ хэрэглэгч хүртэл мөрдөн гаргаж болох + <quote>шинж чанарлаг</quote>, эсвэл тэгж болохооргүй + <quote>шинж чанарлаг бус </quote> байна. + <quote>Шинж чанарлаг бус</quote> үйл явцуудын жишээнүүд гэвэл + нууц үгийн буруу оролдлогууд гэх мэт нэвтрэн орох процессийн жинхэнэ эсэхийг шалгахаас + өмнөх үеийн дурын үйл явцуудыг хэлж болно.</para> + </listitem> + + <listitem> + <para><emphasis>ангилал</emphasis>: Үйл явцын ангилалууд гэдэг нь + холбоотой үйл явцууд бүхий хэсэг бүлгүүдийн нэр бөгөөд эдгээр нь сонголтын + илэрхийллүүдэд хэрэглэгддэг. Энгийн ашиглагддаг үйл явцуудын ангилалуудад + <quote>файл үүсгэлт</quote> (fc), <quote>ажиллуулах</quote> (ex) + мөн <quote>нэвтрэх_гарах</quote> (lo) зэрэг орно.</para> + </listitem> + + <listitem> + <para><emphasis>бичлэг</emphasis>: Бичлэг гэдэг нь аюулгүй байдлын үйл явцыг + тайлбарласан аудитийн хянан бүртгэсэн оруулга юм. Бичлэгүүд нь үйл явцын төрлийн бичлэг, + субьектийн (хэрэглэгч) үйлдэл хийж байгаа талаарх мэдээлэл, огноо болон цагийн + мэдээлэл, дурын нэмэлт өгөгдлүүд болон обьектуудын мэдээлэл, амжилт эсвэл уналтын + нөхцөлүүдийг агуулдаг.</para> + </listitem> + + <listitem> + <para><emphasis>мөр</emphasis>: Аудитийн мөр буюу хянан бүртгэлийн файл нь + аюулгүй байдлын үйл явцуудыг тайлбарласан аудит бичлэгүүдийн сериэс тогтоно. + Ерөнхийдөө мөрүүд нь үйл явцуудын биелж дууссан цагийн дагуу + он цагийн дарааллаар байрладаг. Зөвхөн жинхэнэ процессууд аудитийн + мөрд бичлэг нэмэх эрхтэй байдаг.</para> + + <listitem> + <para><emphasis>сонголтын илэрхийлэл</emphasis>: Сонголтын илэрхийлэл нь + угтваруудын жагсаалт болон үйл явцтай тохирох аудитийн үйл явцын ангилалын нэрсээс + тогтох мөр юм.</para> + </listitem> + + <listitem> + <para><emphasis>урьдчилсан сонголт</emphasis>: Энэ нь + администраторын сонирхох боломж бүхий үйл явцууд, сонирхлыг татахгүй байгаа + үйл явц зэргийг тайлбарласан аудитийн бичлэгүүдийг үүсгэхээс зайлсхийх зорилготойгоор + ялгасан системийн процесс юм. Урьдчилсан тохиргоо нь аль хэрэглэгчийн хувьд + үйл явцуудын аль ангиллуудыг таних болон жинхэнэ болон жинхэнэ биш процессуудад + хамаарах глобал тохиргоонуудын сонголтын илэрхийллүүдийн серийг ашигладаг.</para> + </listitem> + + <listitem> + <para><emphasis>хураангуйлалт</emphasis>: Энэ нь байгаа аудитийн мөрнүүдээс + аль бичлэгүүдийг хадгалалт, хэвлэлт болон анализ хийхээр сонгосон процесс юм. + Үүний нэгэн адил аудит мөрөөс хэрэггүй аудит бичлэгүүдийг устгах процесс бас хамаарна. + Хураангуйлалтыг ашиглаад администраторууд аудит өгөгдлийн хадгалалтын бодлогуудыг + боловсруулах боломжтой юм. Жишээ нь, дэлгэрэнгүй аудитийн мөрнүүд нэг сарын хугацаанд + хадгалагдаад дараагаар нь тэдгээр мөрнүүдийг архивийн зорилгоор зөвхөн нэвтрэлтийн мэдээллийг + үлдээн багасгаж болох юм.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="audit-install"> + <title>Аудит хийх дэмжлэг суулгах нь</title> + + <para>Үйл явцыг Аудит хийх хэрэглэгчийн талбарын дэмжлэг үндсэн &os; + үйлдлийн системийн 6.2-RELEASE хувилбараас эхлэн орсон. Гэхдээ + үйл явцыг аудит хийхийг дэмжих дараах мөрийг цөмд оруулан хөрвүүлсэн + байх шаардлагатай:</para> + + <programlisting>options AUDIT</programlisting> + + <para><xref linkend="kernelconfig"> -д тайлбарласан ердийн процессийн + дагуу цөмийг дахин хөрвүүлж суулгана.</para> + + <para>Цөм хөрвөгдөж суугаад систем дахин ачаалсны дараа + дараах мөрийг &man.rc.conf.5; -д нэмж аудит демонийг идэвхжүүлнэ:</para> + + <programlisting>auditd_enable="YES"</programlisting> + + <para>Тэгээд системийг дахин ачаалах замаар эсвэл гараар аудит демонийг + ажиллуулах замаар аудит дэмжлэгийг эхлүүлэх ёстой:</para> + + <programlisting>/etc/rc.d/auditd start</programlisting> + </sect1> + + <sect1 id="audit-config"> + <title>Аудитийн тохиргоо</title> + + <para>Аюулгүй байдлын аудитийн тохиргооны бүх файлуудыг + <filename role="directory">/etc/security</filename> дотроос олж болно. + Дараах файлууд аудит демон эхлэхээс өмнө байх ёстой:</para> + + <itemizedlist> + <listitem> + <para><filename>audit_class</filename> - Аудитийн ангилалуудын + тодорхойлолтуудыг агуулна.</para> + </listitem> + + <listitem> + <para><filename>audit_control</filename> - Анхдагч аудитийн ангилалууд, + аудитийн хянан бүртгэлтийн эзлэхүүнд үлдээх хамгийн бага дискийн зай, хамгийн их + аудитийн мөрийн хэмжээ гэх зэрэг аудит дэд системийн шинж чанарыг хянана.</para> + </listitem> + + <listitem> + <para><filename>audit_event</filename> - Системийн аудит үйл явцуудын + тайлбарууд ба нэрс болон үйл явц болгон аль ангилалд хамаарах жагсаалт.</para> + </listitem> + + <listitem> + <para><filename>audit_user</filename> - Нэвтрэн орох үеийн глобал анхдагчуудаас + бүрдсэн зөвхөн хэрэглэгчид хамааралтай аудитийн шаардлагууд</para> + </listitem> + + <listitem> + <para><filename>audit_warn</filename> - Аудитийн бичлэгүүдийн зай хангалтгүй + болох эсвэл аудитийн мөрийн файл дахин эргэсэн зэрэг зайлшгүй шаардлагатай тохиолдолд + анхааруулах мэдээллүүдийг үүсгэдэг өөрчлөх боломж бүхий auditd -ийн ашигладаг + бүрхүүлийн скрипт.</para> + </listitem> + </itemizedlist> + + <warning> + <para>Тохиргоон дахь алдаанууд үйл явцуудын буруу хянан бүртгэлд хүргэж болзошгүй тул + аудитийн тохиргооны файлуудыг засварлах болон ажиллагааг хангахдаа заавал + болгоомжтой байх шаардлагатай.</para> + </warning> + + <sect2> + <title>Үйл явц сонголтын илэрхийллүүд</title> + + <para>Сонголтын илэрхийллүүд нь аль үйл явцуудыг аудит хийх ёстойг тодорхойлох + аудитийн тохиргооны хэд хэдэн газар ашиглагддаг. Илэрхийллүүд нь тохирох үйл + явцын ангилалуудын жагсаалтаас бүрдэх ба эдгээр тус бүр нь тохирох бичлэгүүдийг + хүлээн авах ёстой юу эсвэл орхих ёстой юу гэдгийг харуулсан угтвартайгаас + гадна оруулга нь амжилттай эсвэл амжилтгүй үйлдлүүдтэй тохирох ёстойг харуулах + боломж бас байна. Сонголтын илэрхийллүүд нь зүүнээс баруун тийш биелэгддэг + бөгөөд хоёр илэрхийллийг нэг дээр нь нөгөөг нь нэмж нийлүүлдэг.</para> + + <para>Дараах жагсаалт нь <filename>audit_class</filename>-д байгаа анхдагч + үйл явцын ангилалуудаас тогтоно:</para> + + <itemizedlist> + <listitem> + <para><option>all</option> - <literal>all</literal> - Бүх үйл + явцын ангилалуудыг тааруулах(match).</para> + </listitem> + + <listitem> + <para><option>ad</option> - <literal>administrative</literal> + - Удирдлагын үйлдлүүд систем дээр бүхэлдээ гүйцэтгэгдэнэ.</para> + </listitem> + + <listitem> + <para><option>ap</option> - <literal>application</literal> - + Програмын тодорхойлсон үйлдэл.</para> + </listitem> + + <listitem> + <para><option>cl</option> - <literal>file_close</literal> - + <function>close</function> системийн дуудлагыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>ex</option> - <literal>exec</literal> - Програмын + ажиллагааг аудит хийх. Тушаалын мөрийн нэмэлт өгөгдлүүд болон орчны + хувьсагчуудыг <literal>argv</literal> ба <literal>envv</literal> + параметрүүдийг ашиглан <literal>policy</literal> тохиргоонд + тохиргоо хийн &man.audit.control.5; -ийн тусламжтайгаар хянадаг.</para> + </listitem> + + <listitem> + <para><option>fa</option> - <literal>file_attr_acc</literal> + - &man.stat.1;, &man.pathconf.2; болон бусад адил үйл явцуудын + обьектийн шинж чанаруудад хандсан хандалтыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>fc</option> - <literal>file_creation</literal> + - Үр дүнд нь файл үүсдэг үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>fd</option> - <literal>file_deletion</literal> + - Файлыг устгадаг үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>fm</option> - <literal>file_attr_mod</literal> + - &man.chown.8;, &man.chflags.1;, &man.flock.2; зэрэг + файлын шинж чанарын өөрчлөлт гарч байгаа үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>fr</option> - <literal>file_read</literal> + - Өгөгдөл уншигдаж байгаа, мөн файлуудыг уншихаар нээсэн зэрэг үйл явцуудыг + аудит хийх.</para> + </listitem> + + <listitem> + <para><option>fw</option> - <literal>file_write</literal> - + Өгөгдөл бичигдэж байгаа, мөн файлд бичсэн эсвэл файл өөрчлөгдсөн зэрэг үйл + явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>io</option> - <literal>ioctl</literal> - &man.ioctl.2; + системийн дуудлагын хэрэглээг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>ip</option> - <literal>ipc</literal> - POSIX хоолойнууд + болон System V <acronym>IPC</acronym> үйлдлүүд зэрэг Процесс-Хоорондох + Холбооны төрөл бүрийн хэлбэрүүдийг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>lo</option> - <literal>login_logout</literal> - + Систем дээр болж байгаа &man.login.1; ба &man.logout.1; + үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>na</option> - <literal>non_attrib</literal> - + Шинж чанаргүй үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>no</option> - <literal>no_class</literal> - + Аудит бус үйл явцуудыг тааруулах(match).</para> + </listitem> + + <listitem> + <para><option>nt</option> - <literal>network</literal> - + &man.connect.2; ба &man.accept.2; зэрэг сүлжээний үйлдлүүдтэй + холбоотой үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>ot</option> - <literal>other</literal> - + Бусад үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><option>pc</option> - <literal>process</literal> - + &man.exec.3; ба &man.exit.3; зэрэг процессийн үйлдлүүдийг + аудит хийх.</para> + </listitem> + + </itemizedlist> + + <para>Эдгээр аудит үйл явцын ангилалуудыг <filename>audit_class</filename> + болон <filename>audit_event</filename> тохиргооны файлуудыг өөрчилснөөр + өөрчилж болно.</para> + + <para>Жагсаалтад байгаа аудитийн ангилал бүр амжилттай/амжилтгүй үйлдлүүдийг + таарсан эсэхийг болон ангилал ба төрлийн хувьд таарч байгааг нэмж + байгаа эсвэл устгаж байгааг харуулсан угтвартай байна.</para> + + <itemizedlist> + <listitem> + <para>(none) Үйл явцын амжилттай болон амжилтгүйг аудит хийх.</para> + </listitem> + + <listitem> + <para><literal>+</literal> Энэ ангилал дахь амжилттай үйл явцуудыг + аудит хийх.</para> + </listitem> + + <listitem> + <para><literal>-</literal> Энэ ангилал дахь амжилтгүй үйл явцуудыг + аудит хийх.</para> + </listitem> + + <listitem> + <para><literal>^</literal> Энэ ангилал дахь амжилттай, амжилтгүй + аль нь ч биш үйл явцуудыг аудит хийх.</para> + </listitem> + + <listitem> + <para><literal>^+</literal> Энэ ангилал дахь амжилттай үйл явцуудыг + аудит хийхгүй.</para> + </listitem> + + <listitem> + <para><literal>^-</literal> Энэ ангилал дахь амжилтгүй үйл явцуудыг + аудит хийхгүй.</para> + </listitem> + + </itemizedlist> + + <para>Дараах сонголтын мөр амжилттай ба амжилтгүй нэвтрэлт/гаралтын үйл явцуудаас + гадна зөвхөн амжилттай ажиллуулсныг сонгож байна:</para> + + <programlisting>lo,+ex</programlisting> + + </sect2> + + <sect2> + <title>Тохиргооны файлууд</title> + + <para>Аудит системийг тохируулахдаа ихэнх тохиолдолд администраторууд зөвхөн хоёр + файлыг өөрчлөх хэрэгтэй: <filename>audit_control</filename> + болон <filename>audit_user</filename>. Эхнийх нь системийн дагуух + аудит өмчүүд болон бодлогуудыг хянадаг; хоёр дахь нь хэрэглэгчийн аудитийг нарийн + тохируулахад ашиглагддаг.</para> + + <sect3 id="audit-auditcontrol"> + <title> <filename>audit_control</filename> файл</title> + + <para> <filename>audit_control</filename> файл нь аудит дэд системийн хувьд + анхдагч утгуудын тоог тодорхойлно. Энэ файлын дотор бид дараах зүйлсийг харна:</para> + + <programlisting>dir:/var/audit +flags:lo +minfree:20 +naflags:lo +policy:cnt +filesz:0</programlisting> + + <para> <option>dir</option> тохиргоо нь аудит бүртгэлүүдийг хадгалах нэг болон + хэд хэдэн санг заахад хэрэглэгдэнэ. Хэрэв нэгээс их сан байгаа бол бичигдсэн + дарааллаараа ашиглагдана. Файлын систем дүүрсэн тохиолдолд аудит дэд систем болон + бусад дэд системүүд бие биедээ нөлөөлж болзошгүй учир аудит бүртгэлүүдийг тусгайлан + зориулсан файлын систем дээр хадгалахаар аудит системийг ихэвчлэн тохируулдаг.</para> + + <para> <option>flags</option> талбар нь системийн дагуух шинж чанар бүхий үйл явцуудад + зориулсан анхдагч урьдчилан сонголтын багийг тодорхойлдог. Дээрх жишээн дээр бүх хэрэглэгчийн + хувьд амжилттай болон амжилтгүй нэвтрэлт болон гаралтын үйл явцууд аудит хийгдэж байна.</para> + + <para> <option>minfree</option> тохиргоо нь аудит мөр хадгалагдах файлын системийн + хувьд хамгийн бага чөлөөт зайны хувийг тодорхойлдог. Энэ тогтоосон хэмжээнээс илүү гарахад + анхааруулга үүсгэгддэг. Дээрх жишээ хамгийн бага чөлөөт зайг 20 хувиар тогтоожээ.</para> + + <para> <option>naflags</option> тохиргоо нь нэвтрэн оролтын процесс + болон системийн демонууд зэрэг шинж чанаргүй үйл явцуудыг аудит хийх аудитийн ангилалуудыг + тодорхойлдог.</para> + + <para> <option>policy</option> тохиргоо нь таслалаар тусгаарлагдсан, аудитийн зан + авирын төрөл бүрийн шинж чанарыг хянах бодлогын тугуудын жагсаалтыг тодорхойлдог. Анхдагч + <literal>cnt</literal> туг нь аудит амжилтгүй болсон ч гэсэн систем ажиллагаагаа + үргэлжлүүлэхийг заадаг (энэ туг зайлшгүй шаардлагатай). Өөр нэг байнга ашиглагддаг туг бол + <literal>argv</literal> бөгөөд энэ нь &man.execve.2; системийн дуудлагад орж байгаа + тушаалын мөрийн нэмэлт өгөгдлүүдийг тушаалын ажиллагааг аудит хийхийн хэсэг болох боломж + олгодог.</para> + + <para><option>filesz</option> тохиргоо нь мөрийн файл автоматаар төгсөх болон эргэхээс + өмнөх аудит мөрийн файлын хамгийн их хэмжээг байтаар тодорхойлдог. Анхдагч утга нь 0 байх ба + автоматаар эргүүлэхийг хориглосон байна. Хэрэв хүссэн файлын хэмжээ тэгээс ялгаатай ба 512k -аас + бага бол түүнийг орхиж бүртгэлийн мэдээлэл үүсгэнэ.</para> + </sect3> + + <sect3 id="audit-audituser"> + <title> <filename>audit_user</filename> файл</title> + + <para> <filename>audit_user</filename> файл нь зарим нэг хэрэглэгчдэд + зориулсан аудитийн шаардлагуудыг администраторууд тодорхойлохыг зөвшөөрдөг. + Мөр болгон хэрэглэгчид зориулсан аудитийг хийхийг хоёр талбараар тохируулдаг: нэг дэх нь + хэрэглэгчийн хувьд үргэлж аудит хийх шаардлагатай нэг хэсэг үйл явцуудыг тодорхойлдог + <literal>alwaysaudit</literal> талбар ба хоёр дахь нь + <literal>neveraudit</literal> талбар бөгөөд хэрэглэгчийн хувьд хэзээ ч + аудит хийх шаардлагагүй нэг хэсэг үйл явцуудыг тодорхойлдог.</para> + + <para>Дараах жишээн дээр <filename>audit_user</filename> файл нь нэвтрэлт/гаралтын + үйл явцууд, root хэрэглэгчийн амжилттай тушаалын ажиллагаа, файл үүсгэлт ба www + хэрэглэгчийн амжилттай тушаалын ажиллагааг аудит хийж байна. Хэрэв дээрх жишээ + <filename>audit_control</filename> файлтай цуг ашиглагдвал + <literal>root</literal> -ийн <literal>lo</literal> оруулга нь давхардах бөгөөд + <literal>www</literal> хэрэглэгчийн нэвтрэлт/гаралтын үйл явцууд бас аудит хийгдэнэ.</para> + + <programlisting>root:lo,+ex:no +www:fc,+ex:no</programlisting> + + </sect3> + </sect2> + </sect1> + + <sect1 id="audit-administration"> + <title>Аудит дэд системийг удирдах нь</title> + + <sect2> + <title>Аудит мөрүүдийг харах нь</title> + + <para>Аудит мөрүүд нь BSM хоёртын хэлбэрээр хадгалагддаг бөгөөд өөрчлөх болон текст + уруу хөрвүүлэхэд тусгай хэрэгслүүд ашиглах шаардлагатай. <command>praudit</command> + тушаал нь мөрийн файлуудыг хялбар текст хэлбэрт хөрвүүлдэг; <command>auditreduce</command> + тушаал нь аудит мөрийн файлыг шинжлэх, архивлах эсвэл хэвлэх зорилгоор багасгахад + ашиглагддаг. <command>auditreduce</command> нь үйл явцын төрөл, үйл явцын + ангилал, үйл явцын хэрэглэгч, огноо эсвэл цаг, файлын зам эсвэл обьектийн үйлдэл үзүүлсэн + зэрэг төрөл бүрийн сонголтын параметрүүдийг дэмждэг.</para> + + <para>Жишээ нь <command>praudit</command> хэрэгсэл нь заасан аудит бүртгэлийн бүх агуулгыг + жирийн текстээр харуулна:</para> + + <screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen> + + <para> <replaceable>AUDITFILE</replaceable> нь харуулах аудит бүртгэл юм.</para> + + <para>Аудит мөрүүд нь токенуудаас бүтэх аудит бичлэгүүдийн цувралаас тогтох бөгөөд + <command>praudit</command> нь мөр болгонд нэгийг дараалуулан хэвлэнэ. + Токен бүр аудит бичлэгийн толгойг агуулсан <literal>header</literal> + эсвэл нэрийн хайлтаас гарсан файлын замыг агуулсан <literal>path</literal> + зэрэг тусгай төрлийн байна. Дараах жишээ нь <literal>execve</literal> + үйл явцыг харуулж байна:</para> + + <programlisting>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</programlisting> + + <para>Энэхүү аудит нь амжилттай <literal>execve</literal> дуудлагыг илэрхийлж + байгаа бөгөөд түүнд "finger doug" тушаал ажиллажээ. Нэмэлт өгөгдлийн токен нь + цөм уруу бүрхүүлээс гарч боловсруулагдсан тушаалын мөрийг агуулна. path буюу замын токен + нь цөмийн хайсан ажиллах файлын замыг агуулна. attribute буюу шинж чанарын токен + нь хоёртын файлыг тайлбарлах ба тухайлбал програм setuid эсэхийг тодорхойлоход + ашиглагдах файлын горимыг агуулна. Subject буюу субьект токен нь субьект процессыг + тайлбарлах бөгөөд аудит хэрэглэгчийн ID, идэвхитэй хэрэглэгчийн ID ба бүлгийн ID, + жинхэнэ хэрэглэгчийн ID ба бүлгийн ID, процессийн ID, сессийн ID, портын ID болон + нэвтрэлтийн хаяг гэсэн дарааллаар хадгална. Аудит хэрэглэгчийн ID ба жинхэнэ хэрэглэгчийн + ID нь ялгаатайг анхаарах хэрэгтэй: + <literal>robert</literal> гэдэг хэрэглэгч энэ тушаалыг ажиллуулахаасаа өмнө + <literal>root</literal> бүртгэл уруу шилжсэн бөгөөд энэ нь эхний шалгуулсан + хэрэглэгчийг ашиглан аудит хийгдсэн байна. Төгсгөлд нь return буюу буцах токен нь + амжилттай ажиллагааг харуулж trailer нь бичлэгийг төгсгөнө.</para> + + </sect2> + + <sect2> + <title>Аудитийн мөрүүдийг багасгах нь</title> + + <para>Аудит бүртгэлүүд нь маш их байж болно, администратор зарим хэрэглэгчтэй холбоотой + бичлэгүүд зэрэг хэсэг бичлэгүүдийг ашиглахын тулд шилж сонгохыг магадгүй хүснэ:</para> + + <screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen> + + <para>Энэ нь <replaceable>AUDITFILE</replaceable> файлд хадгалагдсан + <username>trhodes</username> хэрэглэгчийн бүх аудитийн бичлэгүүдийг сонгож + байна.</para> + </sect2> + + <sect2> + <title>Аудит хянах эрхүүдийг томилох нь</title> + + <para><literal>audit</literal> бүлгийн гишүүд <filename>/var/audit</filename> + дахь аудит мөрүүдийг унших эрхтэй; анхандаа энэ бүлэг нь хоосон байх бөгөөд тэгэхээр зөвхөн + root хэрэглэгч аудит мөрүүдийг уншиж чадна. Аудит хянах эрхүүдийг хэрэглэгчдэд + томилохын тулд хэрэглэгчдийг <literal>audit</literal> бүлэгт нэмж болно. Аудитийн + бүртгэлийн агуулгыг хянах чадвар нь хэрэглэгчид болон процессуудын үйл хөдлөлийн дотоод уруу + нэлээн гүнзгий ханддаг учир аудит хянах эрхүүдийг томилохдоо болгоомжтой хийхийг зөвлөж байна.</para> + </sect2> + + <sect2> + <title>Аудит хоолойнуудыг шууд монитор хийх нь</title> + + <para>Аудит хоолойнууд нь төхөөрөмжийн файлын систем дахь клон хийгдсэн псевдо төхөөрөмжүүд + бөгөөд програмыг шууд явж байгаа аудит бичлэгийн урсгалд холбох боломж олгоно. Энэ нь голчлон + халдлага илрүүлэх болон систем монитор хийх програмуудын зохиогчдын сонирхлыг татдаг. + Гэхдээ администраторуудын хувьд аудитийн хоолойны төхөөрөмж нь аудитийн мөрийн файлын + эзэмшил эсвэл үйл явцын урсгалыг зогсоох, бүртгэл эргүүлэх зэрэг асуудлуудтай холбогдолгүйгээр + шууд монитор хийх эвтэйхэн боломжийг бүрдүүлдэг. Шууд явж байгаа аудитийн үйл явцын урсгалыг + хянахдаа дараах тушаалын мөрийг ашиглана</para> + + <screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen> + + <para>Анхандаа аудитийн хоолойны төхөөрөмжийн цэгүүдэд зөвхөн root хэрэглэгч хандах + эрхтэй байдаг. <literal>audit</literal> бүлгийн хэрэглэгчид хандах боломжтой + болгохын тулд <literal>devfs</literal> дүрмийг <filename>devfs.rules</filename> -д + нэмнэ:</para> + + <programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting> + + <para>devfs файлын системийг тохируулах талаар дэлгэрэнгүй мэдээллийг &man.devfs.rules.5; -ээс + харна уу.</para> + + <warning> + <para>Аудитийн үйл явцын буцааж өгөх давталтуудыг үүсгэх нь хялбар бөгөөд + аудит үйл явц бүрийн үзэлт нь олон аудитийн үйл явцуудыг үүсгэхэд хүргэнэ. Жишээ нь, + хэрэв сүлжээний бүх I/O аудит хийгдсэн бөгөөд praudit нь SSH сессээс ажилласан + бол үйл явц бүр хэвлэгдэхэд өөр үйл явцыг бас үүсгэх учраас үргэлжилсэн аудитийн үйл + явцууд их хэмжээгээр үүсэх болно. Энэ асуудлыг бий болгохгүйн тулд нарийн тохируулаагүй + I/O аудит хийх сессээс praudit -ийг аудитийн хоолойны төхөөрөмж дээр ажиллуулахыг + зөвлөж байна.</para> + </warning> + </sect2> + + <sect2> + <title>Аудит мөрийн файлуудыг эргүүлэх нь</title> + + <para>Аудит мөрүүд нь зөвхөн цөмөөр бичигдэх бөгөөд <command>auditd</command> + аудит демоноор удирдагддаг. Администраторууд аудит бүртгэлүүдийг шууд эргүүлэхдээ + &man.newsyslog.conf.5; эсвэл бусад хэрэгслүүдийг ашиглан хийх ёсгүй юм. Харин + <command>audit</command> удирдах хэрэгслийг ашиглан аудитийг унтраах, + аудит системийг дахин тохируулах, болон бүртгэлийг эргүүлэх үйлдлүүдийг хийх боломжтой + байдаг. Дараах тушаал аудит демонийг шинэ аудит бүртгэл үүсгэж цөмийг шинэ бүртгэл + уруу шилжихийг дохино. Хуучин бүртгэл нь төгсөж нэр нь өөчлөгдөх бөгөөд дараагаар түүнтэй + администратор ажиллах боломж бүрдэнэ.</para> + + <screen>&prompt.root; <userinput>audit -n</userinput></screen> + + <warning> + <para>Хэрэв <command>auditd</command> демон ажиллахгүй байгаа бол энэ тушаал + нь амжилтгүй болох бөгөөд алдааны мэдээлэл үүсгэнэ.</para> + </warning> + + <para>Дараах мөрийг <filename>/etc/crontab</filename> -д нэмснээр + &man.cron.8; -оос арван хоёр цаг тутам эргүүлэх болно:</para> + + <programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting> + + <para>Шинэ <filename>/etc/crontab</filename> -ийг хадгалсны дараа өөрчлөлт + үйлчилж эхлэх болно.</para> + + <para>Файлын хэмжээн дээр тулгуурласан аудитийн мөрийн файлыг автоматаар эргүүлэх нь + &man.audit.control.5; дахь <option>filesz</option> тохиргоогоор хийгдэх + боломжтой бөгөөд гарын авлагын энэ бүлгийн тохиргооны файлуудын хэсэгт тайлбарласан болно.</para> + </sect2> + + <sect2> + <title>Аудит мөрүүдийг шахах нь</title> + + <para>Аудит мөрийн файлууд асар их болох тусам мөрүүдийг аудит демоноор хаалгасны + дараа шахах эсвэл архивлах нь зүйтэй юм. <filename>audit_warn</filename> + скрипт нь аудитийн мөрүүдийг эргүүлэх үеийн цэвэр төгсгөл зэрэг төрөл бүрийн аудиттай + холбоотой үйл явцуудад зориулан өөрчилсөн үйлдлүүдийг гүйцэтгэхэд ашиглагдана. + Жишээ нь хаагдах үед аудит мөрүүдийг шахах дараах кодыг <filename>audit_warn</filename> + скриптэд нэмж болно:</para> + + <programlisting># +# Compress audit trail files on close. +# +if [ "$1" = closefile ]; then + gzip -9 $2 +fi</programlisting> + + <para>Бусад архивлах идэвхүүдэд мөрийн файлуудыг төв сервер уруу хуулах, хуучин мөрийн + файлуудыг устгах эсвэл хэрэггүй бичлэгүүдийг хасч аудит мөрийг багасгах зэрэг орж болно. + Аудит мөрийн файлууд цэвэрхэн дууссан тохиолдолд скрипт ажиллана, тэгэхээр буруу унтраасны + дараа дуусаагүй мөрүүд дээр ажиллахгүй.</para> + </sect2> + </sect1> +</chapter> diff --git a/mn_MN.UTF-8/books/handbook/basics/Makefile b/mn_MN.UTF-8/books/handbook/basics/Makefile new file mode 100644 index 0000000000..83e06610a5 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/basics/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= basics/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/basics/chapter.sgml b/mn_MN.UTF-8/books/handbook/basics/chapter.sgml new file mode 100644 index 0000000000..b39c637e34 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/basics/chapter.sgml @@ -0,0 +1,2383 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.147 + + $FreeBSD$ +--> + +<chapter id="basics"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Крис</firstname> + <surname>Шумвэй</surname> + <contrib>Дахин бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Шагдарын</firstname> + <surname>Нацагдорж</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + <!-- 10 Mar 2000 --> + </chapterinfo> + + <title>Юниксийн үндэс</title> + + <sect1 id="basics-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>Дараах бүлгүүд нь FreeBSD үйлдлийн системийн үндсэн + тушаал мөн гүйцэтгэлүүдийг хамрах болно. Энэ материалын + ихэнх хэсэг нь &unix;-төрлийн үйлдлийн системтэй хамаатай. + Хэрэв та юникс төрлийн үйлдлийн системтэй танил бол энэ бүлгийг + алгасаж болно. Харин та FreeBSD-г шинээр сурагч бол энэ бүлгийг + тун анхааралтай унших хэрэгтэй.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD-н <quote>виртуал консолыг</quote> хэрхэн + хэрэглэх.</para> + </listitem> + <listitem> + <para>&os; дээрх файлын тугийг ойлгосноор &unix;-н файлын + зөвшөөрөл хэрхэн ажилладгийг мэдэх.</para> + </listitem> + <listitem> + <para>Үндсэн &os; файл системийн байрлуулалтыг мэдэх.</para> + </listitem> + <listitem> + <para>&os; диск зохион байгуулалт.</para> + </listitem> + <listitem> + <para>Файл системийг хэрхэн холбох болон салгах.</para> + </listitem> + <listitem> + <para>Процес, далд чөтгөр дэмон, мөн дохионууд гэж юу болох.</para> + </listitem> + <listitem> + <para>Бүрхүүл гэж юу болох, мөн хэрхэн анхны нэвтрэх орчноо өөрчлөх.</para> + </listitem> + <listitem> + <para>Үндсэн текст засварлагчийг хэрхэн хэрэглэх.</para> + </listitem> + <listitem> + <para>Төхөөрөмж болох төхөөрөмжийн цэг гэж юу болох.</para> + </listitem> + <listitem> + <para>&os;-д ямар хоёртын хэлбэр хэрэглэгддэг болох.</para> + </listitem> + <listitem> + <para>Нэмэлт мэдээллийг товч гарын авлагаас хэрхэн харах.</para> + </listitem> + </itemizedlist> + + </sect1> + + <sect1 id="consoles"> + <title>Виртуал консол болон тэрминал</title> + <indexterm><primary>виртуал консол</primary></indexterm> + <indexterm><primary>тэрминал</primary></indexterm> + + <para>FreeBSD нь олон аргаар хэрэглэгдэж чадна. Тэдний нэг нь + тушаалуудыг текст тэрминал дээр бичиж хэрэглэх юм. Хэрэв та + FreeBSD-г ингэж хэрэглэвэл, &unix;-н маш олон боломж болон + хүч таны гарт байна гэсэн үг. + Энэ бүлэг танд, <quote>тэрминал</quote> болон <quote>консол</quote> гэж юу болох, мөн тэд нарыг FreeBSD дээр хэрхэн хэрэглэх талаар + танд тодорхойлж өгөх болно.</para> + + <sect2 id="consoles-intro"> + <title>Консол</title> + <indexterm><primary>консол</primary></indexterm> + + <para>Хэрэв та FreeBSD-г эхлэх үедээ автоматаар график горимд + эхлүүлэхээр тохируулаагүй бол, систем нь эхлэлтийн гүйцэтгэдэг + бичиглэлүүдээ дуусгасны дараа танд нэвтрэх хуудас харуулдаг. + Та нэг иймэрхүү хуудас харах байх:</para> + + <screen>Additional ABI support:. +Local package initialization:. +Additional TCP options:. + +Fri Sep 20 13:01:06 EEST 2002 + +FreeBSD/i386 (pc3.example.org) (ttyv0) + +login:</screen> + + <para>Энд харуулсан текстүүд нь таны систем дээр жаахан + өөр байж магадгүй ч, ерөнхийдөө үүнтэй ижил байх ёстой. + Сүүлийн хоёр мөр нь бидэнд одоогоор чухал мөрүүд. Сүүлээсээ + хоёр дахь мөр нь ингэж уншигдаж байна:</para> + + <programlisting>FreeBSD/i386 (pc3.example.org) (ttyv0)</programlisting> + + <para>Энэ мөр нь таны дөнгөж сая эхлүүлсэн системийн талаархи + товч мэдээллийг агуулсан байна. Та x86 архитектуртай тохиромжтой + Интел юмуу тохирох систем дээр ажиллаж буй <quote>FreeBSD</quote> + консолийг харж байна <footnote> + <para><literal>i386</literal> гэдэг нь үүнийг илэрхийлж байгаа юм. Тэмдэглэж хэлэхэд, хэрэв та FreeBSD-г Интел 386 процессор дээр + ажиллуулаагүй байсан ч энэ нь <literal>i386</literal> гэж гарна. Энэ нь процессорын төрлийг биш харин процессорын <quote>архитектурыг </quote> харуулж байгаа юм.</para> + </footnote>. Энэ машины нэр нь (&unix; машин болгон + өөрийн нэртэй ) <hostid>pc3.example.org</hostid>, бөгөөд + та энэ системийн консолийн — <devicename>ttyv0</devicename> + нэртэй тэрминалыг харж байна.</para> + + <para>Эцэст нь, сүүлийн мөр бол үргэлж:</para> + + <programlisting>login:</programlisting> + + <para>Энэ хэсэг нь, таны FreeBSD уруу нэвтрэх + <quote>хэрэглэгчийн-нэрээ</quote> бичдэг хэсэг. Дараагийн + хэсэгт энэ талаар тодорхойлсон байгаа.</para> + </sect2> + + <sect2 id="consoles-login"> + <title>FreeBSD уруу нэвтрэх</title> + + <para>FreeBSD бол олон хэрэглэгчийн бас олон үйлдлийн систем. + Энэ нь, нэг машин уруу олон хүмүүс зэрэг холбогдож + нэгэн зэрэг олон үйлдэл хийж болдог системийн ерөнхий тодорхойлолт + юм. </para> + + <para>Олон хэрэглэгчийн систем нь ямар нэгэн аргаар нэг + <quote>хэрэглэгчийг</quote> бусдаас нь ялгаж чаддаг байх ёстой. + FreeBSD дээр (мөн бусад &unix;-төрлийн системүүд дээр) энэ нь, + хэрэглэгч ямар нэгэн програм ажиллуулахаасаа өмнө систем уруу + <quote>нэвтрэх үйлдэл</quote> хийж хэрэгждэг. Хэрэглэгч бүрд + гоц нэр ( + <quote>хэрэглэгчийн-нэр</quote>) мөн хувийн нууц үг ( + <quote>нууц-үг</quote>) харгалзах ёстой. Хэрэглэгчийг програм + хэрэглэж эхлээс өмнө FreeBSD энэ хоёрыг асуух болно.</para> + + <indexterm><primary>эхлэлийн бичлэг</primary></indexterm> + <para>Дөнгөж FreeBSD эхлэх үедээ эхлүүлэгч бичлэгүүдийг + <footnote> + <para>Эхлэх бичлэгүүд гэдэг нь + FreeBSD эхлэх үед автоматаар ажилладаг програмууд. Тэдгээрийн + үндсэн үүрэг нь, ажиллах ёстой програмуудыг тохируулах, мөн хэрэв ар талд далд ажилладаг ямар нэгэн үр ашигтай үйлдэл хийж байдаг + таны тохируулсан үйлчилгээнүүд байвал тэднийг + эхлүүлэх зэрэг үйлдлүүд юм. </para> + </footnote> гүйцэтгэж дуусаад танаас зөв + хэрэглэгчийн нэр оруулахыг лавлаж асууна:</para> + + <screen>login:</screen> + + <para>Энэ жишээнд зориулаад бүгдээрээ таны хэрэглэгчийн нэрийг + <username>john</username> гэж бодоцгооё. Лавлаж асуусан + мөрөнд <literal>john</literal> гэж бичээд + <keycap>Enter</keycap> товч дарна. Ингээд дараа нь танаас + <quote>password</quote> гэж нууц үг асуух болно:</para> + + <screen>login: <userinput>john</userinput> +Password:</screen> + + <para><username>john</username>-ны нууц үгийг оруулаад + <keycap>Enter</keycap> товч дарна. Нууц үгийг <emphasis>танд + харуулдаггүй!</emphasis> Энэ талаар та одоохондоо санаагаа + зовоох хэрэггүй. Нууцлалын шалтгаанаар ингэж байгаа юм гэж + хэлэхэд хангалттай.</para> + + <para>Хэрэв та нууц үгээ зөв оруулсан бол ингээд FreeBSD + уруу нэвтрэх бөгөөд боломжтой бүх програмуудыг туршиж болохоор + боллоо.</para> + + <para>Та <acronym>MOTD</acronym> эсвэл тухайн өдрийн мэдээллийг + тушаал бичигчийн араас харах болно ( тушаал бичигч нь + <literal>#</literal>, + <literal>$</literal>, эсвэл <literal>%</literal> гэсэн + тэмдэгтүүдийн нэг нь байдаг). Энэ нь таныг FreeBSD уруу + амжилттай нэвтэрсэнийг илэрхийлдэг.</para> + </sect2> + + <sect2 id="consoles-virtual"> + <title>Олон консолууд</title> + + <para>&unix; тушаалуудыг нэг консол дээр гүйцэтгэх нь ердийнх, гэхдээ FreeBSD олон програмыг нэг дор ажиллуулж чадна. FreeBSD + олон програмыг нэг дор нэг цагт ажиллуулж чадаж байхад, нэг консол + дээр олон тушаал өгж суух нь цаг алдахын л нэмэр. Ийм үед л + <quote>виртуал консолын</quote> тусламж хэрэг болдог.</para> + + <para>FreeBSD нь танд олон төрлийн виртуал консол хэрэглүүлэхээр + тохируулагдаж чаддаг. Нэг виртуал консолоос нөгөөх уруу нь + гарын хэдхэн товчлуур дараад л шилжиж болдог. Консол бүр өөрийн + төрөл бүрийн гаралтын сувагтай бөгөөд FreeBSD нь таныг нэг + консолоос нөгөө консол уруу сэлгэх үед гарын оруулга болон дэлгэцийн + гаралтыг тухайн консолд тохируулж дамжуулж өгдөг.</para> + + <para>Гарын тусгай товчлолууд нь FreeBSD дээр консол сэлгэхэд зориулж + нөөцлөгдсөн байдаг <footnote> + <para>FreeBSD консол мөн гарын тохируулгын тухай нэлээн + дэлгэрэнгүй техникийн мэдээллийг та + &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; + мөн &man.kbdcontrol.1; зэрэг гарын авлагуудаас харж болно. Бид + нар энд задалж нарийвчлахгүй бөгөөд сонирхсон хүмүүс нь гарын авлагуудаас хэрхэн ажилладаг заавар тайлбарыг уншиж болно.</para> + </footnote>. Та + <keycombo><keycap>Alt</keycap><keycap>F1</keycap></keycombo>, + <keycombo><keycap>Alt</keycap><keycap>F2</keycap></keycombo>, аас + <keycombo><keycap>Alt</keycap><keycap>F8</keycap></keycombo> хүртэлх товчлуурыг дарж FreeBSD дээр консолуудын хооронд шилжиж болно.</para> + + <para>Таныг нэгээс нөгөөх уруу нь шилжих үед, FreeBSD таны дэлгэцийн + гаралтыг хадгалж санаа тавьдаг. Ингэсний үр дүнд гарнаас тушаал оруулж програмуудыг + ажиллуулж болдог маш олон <quote>виртуал</quote> дэлгэцүүдтэй + мэт үзэгддэг. Нэг виртуал консол дээр таны ажиллуулсан програм нь уг консолоос сэлгээд өөр консол дээр сэлгэсэн ч гэсэн зогсохгүй + ажиллаж л байдаг. </para> + </sect2> + + <sect2 id="consoles-ttys"> + <title> <filename>/etc/ttys</filename> Файл</title> + + <para>FreeBSD анхны тохируулгаараа найман виртуал + консолтой эхэлдэг. Энэ нь хатуу тогтоосон тохируулга биш бөгөөд + хэрэв та хүсвэл олон юмуу цөөн болгож амархан өөрчлөх боломжтой. Виртуал консолын тоо болон тохируулга нь + <filename>/etc/ttys</filename> файлд байдаг.</para> + + <para>Та <filename>/etc/ttys</filename> файлыг хэрэглэж FreeBSD + дээрх виртуал консолуудыг тохируулж болно. Энэ файлын тайлбар + тавиагүй мөр болгон + ( <literal>#</literal> тэмдгээр эхлээгүй мөрүүд) виртуал + консол эсвэл ганц тэрминалын тохируулгыг агуулж байдаг. + Энэ файл FreeBSD-тэй анх цуг ирэхдээ есөн виртуал + консолтой гэж тохируулагдаж ирдэг бөгөөд тэдний наймыг нь + хэрэглэж болохыг зөвшөөрсөн байдаг. Тэдгээр нь + <literal>ttyv</literal> гэж эхэлсэн байдаг:</para> + + <programlisting># name getty type status comments +# +ttyv0 "/usr/libexec/getty Pc" cons25 on secure +# Virtual terminals +ttyv1 "/usr/libexec/getty Pc" cons25 on secure +ttyv2 "/usr/libexec/getty Pc" cons25 on secure +ttyv3 "/usr/libexec/getty Pc" cons25 on secure +ttyv4 "/usr/libexec/getty Pc" cons25 on secure +ttyv5 "/usr/libexec/getty Pc" cons25 on secure +ttyv6 "/usr/libexec/getty Pc" cons25 on secure +ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</programlisting> + + <para>Виртуал консолыг тохируулдаг энэ файлын баганууд + мөн нэмэлт сонголтуудын дэлгэрэнгүй + тайлбарыг та &man.ttys.5; гарын авлагаас харна уу.</para> + </sect2> + + <sect2 id="consoles-singleuser"> + <title>Ганц хэрэглэгчийн горимын консол</title> + + <para><quote>Ганц хэрэглэгчийн горим</quote> гэж юу болох талаар дэлгэрэнгүй мэдээлэл <xref linkend="boot-singleuser">-д буй. + FreeBSD дээр ганц хэрэглэгчийн горимд ажиллаж байхад + зөвхөн нэг консол байдаг гэдгийг мэдэх хэрэгтэй. Энэ үед + ямар ч виртуал консолууд боломжгүй. Ганц хэрэглэгчийн + горимын тохируулгыг бас <filename>/etc/ttys</filename> файл + дотор хийж болно. <literal>console</literal> гэж эхэлсэн + мөрүүдийг харна уу:</para> + + <programlisting># 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</programlisting> + + <note> + <para>Дээрх <literal>console</literal> гэсэн мөрний + дээд хэсэгт бичсэн тайлбарт бичсэний дагуу та <literal>secure</literal> гэдгийг + <literal>insecure</literal> гэж өөрчилж болно. Хэрэв та ингэвэл, + FreeBSD ганц хэрэглэгчийн горимд эхэлсэн ч гэсэн танаас + <username>root</username> нууц үг асуух болно.</para> + + <para><emphasis>Үүнийг + <literal>insecure</literal> гэж солихдоо та тун болгоомжтой + байх хэрэгтэй</emphasis>. Хэрэв та хэзээ нэгэн цагт + <username>root</username> нууц үгээ мартаад ганц хэрэглэгчийн горимд орвол жаахан хүндрэлтэй байх болно. Энэ нь гэхдээ шийдэж болохоор хүндрэл боловч FreeBSD-н эхлэх үйлдэл болон хамрагдсан + програмуудад нь дасаагүй хүнд бол жаахан хүндрэлтэй байж магадгүй.</para> + </note> + </sect2> + </sect1> + + <sect1 id="permissions"> + <title>Зөвшөөрлүүд</title> + <indexterm><primary>UNIX</primary></indexterm> + + <para>FreeBSD нь BSD &unix;-ээс уламжилж байх үедээ, &unix;-н + үндсэн хэдэн бүтэц дээр суурилсан. Эхний бөгөөд хамгийн + чухал тунхаглал нь FreeBSD бол олон хэрэглэгчийн + үйлдлийн систем юм. + Систем нь олон хэрэглэгчийн хоорондоо хамааралгүй олон үйлдлийг + ачаалж чаддаг. Хэрэглэгч болгонд шаардагдах компьютерийн төхөөрөмж, санах ой мөн процессорын давтамжийг зөв шударга + хуваарилахыг систем хариуцдаг.</para> + + <para>Систем олон хэрэглэгчтэй ажиллах болохоор, системийн + хийх ёстой зүйл нь хэн тухайн нөөцийг унших, бичих, + гүйцэтгэх вэ гэдгийг зохицуулах юм. Эдгээр зөвшөөрлүүд нь + гурав гурваараа нийлүүлэгдсэн гурван хэсэг тоо байдаг. Нэг нь + файлын эзэмшигчид, нөгөөх нь файлын хамаарагддаг бүлэгт, үлдсэн нь + хүн болгонд гэж хуваарилагдана. Энэ тоон дараалал нь дараах + маягаар ажилладаг.:</para> + + <indexterm><primary>зөвшөөрөл</primary></indexterm> + <indexterm> + <primary>файлын зөвшөөрөл</primary> + </indexterm> + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Утга</entry> + <entry>Зөвшөөрөл</entry> + <entry>Жагсаах харуулалт</entry> + </row> + </thead> + + <tbody> + <row> + <entry>0</entry> + <entry>Уншигдахгүй, бичигдэхгүй, гүйцэтгэгдэхгүй</entry> + <entry><literal>---</literal></entry> + </row> + + <row> + <entry>1</entry> + <entry>Уншигдахгүй, бичигдэхгүй, гүйцэтгэгдэнэ</entry> + <entry><literal>--x</literal></entry> + </row> + + <row> + <entry>2</entry> + <entry>Уншигдахгүй, бичигдэнэ, гүйцэтгэгдэхгүй</entry> + <entry><literal>-w-</literal></entry> + </row> + + <row> + <entry>3</entry> + <entry>Уншигдахгүй, бичигдэнэ, гүйцэтгэгдэнэ</entry> + <entry><literal>-wx</literal></entry> + </row> + + <row> + <entry>4</entry> + <entry>Уншигдана, бичигдэхгүй, гүйцэтгэгдэхгүй</entry> + <entry><literal>r--</literal></entry> + </row> + + <row> + <entry>5</entry> + <entry>Уншигдана, бичигдэхгүй, гүйцэтгэгдэнэ</entry> + <entry><literal>r-x</literal></entry> + </row> + + <row> + <entry>6</entry> + <entry>Уншигдана, бичигдэнэ, гүйцэтгэгдэхгүй</entry> + <entry><literal>rw-</literal></entry> + </row> + + <row> + <entry>7</entry> + <entry>Уншигдана, бичигдэнэ, гүйцэтгэгдэнэ</entry> + <entry><literal>rwx</literal></entry> + </row> + </tbody> + </tgroup> + </informaltable> + <indexterm> + <primary><command>ls</command></primary> + </indexterm> + <indexterm><primary>сангууд</primary></indexterm> + + <para>Та &man.ls.1; тушаалыг <option>-l</option> сонголттой + хэрэглэж файлын эзэмшигч, бүлэг, мөн хүн болгонд хуваарилсан + зөвшөөрлийг харуулсан баганатай дэлгэрэнгүй мэдээллийг харж + болно. Жишээлбэл, + <command>ls -l</command> тушаалыг нэг сан дотор гүйцэтгэвэл дараах маягаар харагдана:</para> + + <screen>&prompt.user; <userinput>ls -l</userinput> +total 530 +-rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile +-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile +-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt +...</screen> + + <para>Энд <command>ls -l</command> тушаалын эхний баганыг авч үзье:</para> + + <screen>-rw-r--r--</screen> + + <para>Хамгийн эхний (зүүн талын) тэмдэг нь үүнийг ердийн файл + юм уу, эсвэл сан, онцгой тэмдэг төхөөрөмж, сокэт, эсвэл ямар + нэгэн холбоост файл мөн эсэхийг илэрхийлдэг. Энэ тохиолдолд + <literal>-</literal> нь ердийн файлыг зааж байна. + Дараагийн гурван тэмдэгт + <literal>rw-</literal> нь энэ тохиолдолд энэ файлын эзэмшигчид + зөвшөөрөл өгч байна. Дараагийн гурван тэмдэгт <literal>r--</literal> нь файлын хамаарах бүлэгт эрх өгч байна. + Сүүлийн гурван тэмдэгт <literal>r--</literal> нь бусад бүх хүмүүсд + эрх өгч байна. Зураас нь зөвшөөрөл өгөөгүйг + илэрхийлдэг. Энэ файлын тохиолдолд, файлыг унших бичих эрхийг эзэмшигчид нь өгөөд, бүлэг нь файлыг унших эрхтэй, бусад хүмүүс + энэ файлыг зөвхөн унших эрхтэй гэж заагдсан байна. + Дээр тайлбарласан хүснэгтийн дагуу, энэ файлын зөвшөөрөл нь + <literal>644</literal> гэж дээрх гурван төрөлд заагдаж байна.</para> + + <para>Энэ бол сайн бөгөөд сайхан хэрэг, гэхдээ төхөөрөмж рүү хандах + зөвшөөрлийг систем яаж хянах вэ? FreeBSD бараг ихэнх + төхөөрөмжийг нээж уншиж өгөгдөл бичдэг файл мэт хандаж уншиж + бичдэг. Тэдгээр онцгой төхөөрөмжүүд нь + <filename>/dev</filename> сан дотор байрладаг.</para> + + <para>Сангууд ч гэсэн бас файл мэт хандагддаг. Тэд нарт бас + уншигдах, бичигдэх, гүйцэтгэгдэх зөвшөөрлүүд байдаг. + Сангийн гүйцэтгэгдэх тэмдэг нь файлаас арай өөрөөр хэрэгждэг. + Хэрэв сан нь гүйцэтгэгдэнэ гэж тэмдэглэгдсэн бол, энэ сан нь + дамжиж өнгөрүүлэгдэж болох буюу <quote>cd</quote> тушаалыг + (сан сольдог) хэрэглэж ийшээ орж болно гэсэн үг. Энэ нь мөн + сан дотор харагдаж байгаа файлууд уруу хандаж болно гэсэн үг. (бас нэг зүйл, мэдээжээр, файлууд бас өөр дээрээ зөвшөөрөл агуулсан байгаа).</para> + + <para>Ерөнхийдөө бол, сан доторх файлуудыг жагсааж харахыг хүсвэл, + уг санд уншигдах зөвшөөрөл суугдсан байх ёстой. Хэрэв санд байгаа + файлыг устгана гэвэл бичигдэх + <emphasis>болон</emphasis> гүйцэтгэгдэх зөвшөөрлүүд уг санд + суугдах ёстой.</para> + + <para>Мөн нэмээд хэдэн зөвшөөрлийн битүүд байдаг, гэхдээ тэдгээр нь + ажилладаг файлын setuid дугаар болон sticky сан зэрэг тусгай + зориулалтаар хэрэглэгддэг. Файлын зөвшөөрлийн талаар + нэмэлт мэдээлэл авахыг хүсвэл &man.chmod.1; гарын авлага + хуудаснаас хараарай.</para> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хамтарч бичсэн </contrib> + </author> + </authorgroup> + </sect2info> + + <title>Тэмдэгт зөвшөөрлүүд</title> + <indexterm><primary>зөвшөөрлүүд</primary><secondary>үсгэн</secondary></indexterm> + + <para>Сан эсвэл файлд тоон утганы оронд заримдаа тэмдгэн зөвшөөрлийг + хэрэглэдэг. Тэмдгэн зөвшөөрлийг бичихдээ (хэн) (үйлдэл) + (зөвшөөрөл) гэсэн дарааллаар бичих бөгөөд дараах утгуудыг авдаг:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Сонголт</entry> + <entry>Үсэг</entry> + <entry>Илэрхийлэл нь</entry> + </row> + </thead> + + <tbody> + <row> + <entry>(хэн)</entry> + <entry>u</entry> + <entry>Хэрэглэгч</entry> + </row> + + <row> + <entry>(хэн)</entry> + <entry>g</entry> + <entry>Бүлгийн эзэмшигч</entry> + </row> + + <row> + <entry>(хэн)</entry> + <entry>o</entry> + <entry>Бусад</entry> + </row> + + <row> + <entry>(хэн)</entry> + <entry>a</entry> + <entry>Бүгд (<quote>ертөнц</quote>)</entry> + </row> + + <row> + <entry>(үйлдэл)</entry> + <entry>+</entry> + <entry>Зөвшөөрөл нэмэх</entry> + </row> + + <row> + <entry>(action)</entry> + <entry>-</entry> + <entry>Зөвшөөрлийг устгах</entry> + </row> + + <row> + <entry>(үйлдэл)</entry> + <entry>=</entry> + <entry>зөвхөн тухайн зөвшөөрлийг суулгах</entry> + </row> + + <row> + <entry>(зөвшөөрөл)</entry> + <entry>r</entry> + <entry>Унших</entry> + </row> + + <row> + <entry>(зөвшөөрөл)</entry> + <entry>w</entry> + <entry>Бичих</entry> + </row> + + <row> + <entry>(зөвшөөрөл)</entry> + <entry>x</entry> + <entry>Гүйцэтгэх</entry> + </row> + + <row> + <entry>(зөвшөөрөл)</entry> + <entry>t</entry> + <entry>Sticky бит</entry> + </row> + + <row> + <entry>(зөвшөөрөл)</entry> + <entry>s</entry> + <entry>UID эсвэл GID суулгах</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Эдгээр утгууд нь өмнөх жишээ шиг &man.chmod.1; тушаалтай + хэрэглэгддэг бөгөөд гэхдээ үсэг хэрэглэнэ. Жишээлбэл, та + <replaceable>FILE</replaceable> уруу бусад хэрэглэгчид + хандахыг хориглохдоо:</para> + + <screen>&prompt.user; <userinput>chmod go= FILE</userinput></screen> + + <para>Файлд нэгээс олон өөрчлөлт хийх шаардлага гарвал таслалаар + тусгаарласан мөр бичиж болно. Жишээлбэл, дараах тушаал нь + бүлэг болон <quote>дэлхийг</quote> <replaceable>FILE</replaceable> дээр бичих эрхийг нь аваад дараа нь хүн болгонд гүйцэтгэж + болно гэсэн эрх өгч байна:</para> + + <screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>FILE</replaceable></userinput></screen> + +<!-- + <para>Most users will not notice this, but it should be pointed out + that using the octal method will only set or assign permissions to + a file; it does not add or delete them.</para> +--> + </sect2> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хамтран бичсэн </contrib> + </author> + </authorgroup> + </sect2info> + + <title>&os; файлын туг</title> + + <para>Өмнө ярилцсан файлын зөвшөөрлөөс гадна &os; нь + <quote>файлын туг</quote> хэрэглээгээр хангагдсан байдаг. Эдгээр туг + нь файлд нэмэлт нууцлалын болон хяналтын түвшин тогтоож өгдөг, гэхдээ + санд бол үгүй.</para> + + <para>Эдгээр файлын тугнууд нь файлд нэмэлт түвшний хяналт тогтоож + өгсөнөөрөө зарим тохиолдолд + <username>root</username> хэрэглэгч хүртэл файлыг устгах + юмуу өөрчилж чадахгүй болгож тусалдаг.</para> + + <para>Файлын тугнууд нь энгийн загвартай &man.chflags.1; + багажаар ашиглагддаг. Жишээлбэл, + <filename>file1</filename> файл дээр устгагдахгүй гэсэн + туг хатгахыг системд зөвшөөрүүлэхийн тулд дараах тушаалыг гүйцэтгэнэ:</para> + + <screen>&prompt.root; <userinput>chflags sunlink <filename>file1</filename></userinput></screen> + + <para>Хэрэв устгагдахгүй тугийг буцааж авна гэвэл өмнөх тушаал дээрээ + <option>sunlink</option>-ын өмнө <quote>no</quote> залгаж + ажиллуулана:</para> + + <screen>&prompt.root; <userinput>chflags nosunlink <filename>file1</filename></userinput></screen> + + <para>Энэ файлын тугийг харахын тулд &man.ls.1; тушаалыг + <option>-lo</option> сонголттой хамт ажиллуулна:</para> + + <screen>&prompt.root; <userinput>ls -lo <filename>file1</filename> + </userinput></screen> + + <para>Тушаалын гаралт нь дараах маягаар харагдах ёстой:</para> + + <programlisting>-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1</programlisting> + + <para>Нэлээн хэдэн тугнууд нь файлд зөвхөн + <username>root</username> хэрэглэгчээр нэмэгдэж устгагдана. + Бусад тохиолдолд файлын эзэмшигч нь тугийг суулгах боломжтой. + Администраторуудыг &man.chflags.1; болон &man.chflags.2; гарын + авлагуудыг уншихыг зөвлөж байна.</para> + </sect2> + </sect1> + + <sect1 id="dirstructure"> + <title>Сангийн бүтэц</title> + <indexterm><primary>сангийн зохион байгуулалт</primary></indexterm> + + <para>FreeBSD ийн сангийн бүтэц нь уг системийг ойлгоход тун + чухал үүрэг гүйцэтгэнэ. Хамгийн чухал бөгөөд үндсэн + ойлголт бол root буюу хамгийн дээд эх сан + <quote>/</quote> юм. Энэ сан нь систем эхлэх үед хамгийн + түрүүнд танигдах ёстой бөгөөд олон хэрэглэгчид зориулсан + үйлдлийн системийг бэлдэхэд чухал үүрэгтэй. Энэ дээд эх сан + нь мөн таны бусад холбохыг хүсэж байгаа файл + системийг таньж байрлуулах цэгийг агуулж байдаг.</para> + + <para>Энэ эх үндсэн файл систем уруу нэмэлт файл системийг холбож + нэмдэг санг таниулах цэг гэж байгаа юм. + Энэ тухай цаашид <xref linkend="disk-organization">-д тайлбарласан + байгаа. + Үндсэн холбох цэгүүд нь + <filename>/usr</filename>, <filename>/var</filename>, <filename>/tmp</filename>, + <filename>/mnt</filename>, мөн <filename>/cdrom</filename> + сангуудыг агуулж байдаг. + Эдгээр сангууд нь голдуу + <filename>/etc/fstab</filename> файлд заагдсан байдаг. <filename>/etc/fstab</filename> файл нь төрөл бүрийн файл системүүдийг + системд ойлгуулах гэж бичсэн хүснэгт бичлэг. + <filename>/etc/fstab</filename> файлд байгаа ихэнх файл + системүүд компьютер эхэлж ачаалагдах үед автоматаар &man.rc.8; + гүйцэтгэгддэг бичлэгээс таниулагддаг. Гэхдээ хэрэв + <option>noauto</option> гэсэн сонголтыг агуулсан бол + автоматаар таниулагддаггүй. + Дэлгэрэнгүй мэдээлэл <xref linkend="disks-fstab"> хэсэгт буй.</para> + + <para>Файл системийн бүтцийн тухай бүрэн мэдээллийг + &man.hier.7;-с харж болно. Одоохондоо байнга хэрэглэгддэг + сангуудыг товч тайлбарлахад хангалттай.</para> + + <para> + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Сан</entry> + <entry>Тодорхойлолт</entry> + </row> + </thead> + <tbody valign="top"> + <row> + <entry><filename class="directory">/</filename></entry> + <entry>Файл системийн Root буюу хамгийн дээд эх сан.</entry> + </row> + + <row> + <entry><filename class="directory">/bin/</filename></entry> + <entry>Ганц болон олон хэрэглэгчийн орчны үндсэн + хэрэгслийн сан.</entry> + </row> + + <row> + <entry><filename class="directory">/boot/</filename></entry> + <entry>Үйлдлийн систем эхлэж ачаалагдах үеийн програмууд болон тохируулга файлууд.</entry> + </row> + + <row> + <entry><filename class="directory">/boot/defaults/</filename></entry> + <entry>Анхдагч ачаалах үеийн тохируулгын файлууд; дэлгэрэнгүйг + &man.loader.conf.5; хуудаснаас харна уу.</entry> + </row> + + <row> + <entry><filename class="directory">/dev/</filename></entry> + <entry>Төхөөрөмжүүд байдаг сан; &man.intro.4; хуудаснаас харна уу.</entry> + </row> + + <row> + <entry><filename class="directory">/etc/</filename></entry> + <entry>Системийн тохируулгын файлууд болон гүйцэтгэх бичлэгүүд.</entry> + </row> + + <row> + <entry><filename class="directory">/etc/defaults/</filename></entry> + <entry>Анхдагч системийн тохируулгын файлууд; дэлгэрэнгүйг &man.rc.8; хуудаснаас хараарай.</entry> + </row> + + <row> + <entry><filename class="directory">/etc/mail/</filename></entry> + <entry>&man.sendmail.8; мэтиийн захиа илгээгчдийн + тохируулгын файлууд. + </entry> + </row> + + <row> + <entry><filename class="directory">/etc/namedb/</filename></entry> + <entry><command>named</command>-н тохируулгын файл; + &man.named.8; хуудаснаас дэлгэрэнгүйг харна уу.</entry> + </row> + + <row> + <entry><filename class="directory">/etc/periodic/</filename></entry> + <entry>&man.cron.8;-г ашиглаж өдрөөр, сараар, эсвэл жилээр + гэх мэт давтамжаар ажиллаж чаддаг бичлэгүүд ; дэлгэрэнгүйг &man.periodic.8; хуудаснаас харна уу.</entry> + </row> + + <row> + <entry><filename class="directory">/etc/ppp/</filename></entry> + <entry><command>ppp</command> тохируулга файлууд; + &man.ppp.8;-с харна уу.</entry> + </row> + + <row> + <entry><filename class="directory">/mnt/</filename></entry> + <entry>Администратор голдуу түр зуур бусад файл систем эсвэл + төхөөрөмжийг таниулахад хэрэглэдэг хоосон сан.</entry> + </row> + + <row> + <entry><filename class="directory">/proc/</filename></entry> + <entry>Процесийн файл систем; &man.procfs.5; болон + &man.mount.procfs.8;-с харна уу.</entry> + </row> + + <row> + <entry><filename class="directory">/rescue/</filename></entry> + <entry>Эвдэрч гэмтсэн үед сэргээхэд хэрэглэгддэг + програмууд &man.rescue.8;-с харна уу.</entry> + </row> + + <row> + <entry><filename class="directory">/root/</filename></entry> + <entry><username>root</username> хэрэглэгчийн гэрийн сан.</entry> + </row> + + <row> + <entry><filename class="directory">/sbin/</filename></entry> + <entry>Ганц болон олон хэрэглэгчийн орчинд хэрэглэж болохоор + системийн програм ба администраторын үндсэн хэрэгслүүд.</entry> + </row> + + + <row> + <entry><filename class="directory">/tmp/</filename></entry> + <entry>Түр зуурын файлууд. + <filename class="directory">/tmp</filename> сан доторх файлууд нь систем шинээр ачаалагдах үед хадгалагдалгүйгээр устгагдана. Санах ойгоос ажилладаг файл системүүд голцуу + <filename class="directory">/tmp</filename> + санд таниулагдаж байрлуулагддаг. + Энэ үйлдэл нь &man.rc.conf.5;-тай холбоотой tmpmfs-төрлийг ашиглаж автоматжуулагдаж болдог + (эсвэл <filename>/etc/fstab</filename> дотор буй + оруулгууд бүгдээрээ; &man.mdmfs.8;-с харна уу).</entry> + </row> + + + <row> + <entry><filename class="directory">/usr/</filename></entry> + <entry>Програм болон хэрэглэгчийн хэрэглэдэг үндсэн хэрэгслүүд.</entry> + </row> + + <row> + <entry><filename class="directory">/usr/bin/</filename></entry> + <entry>Үндсэн хэрэгслүүд, програмын багажууд, мөн програмууд.</entry> + </row> + + <row> + <entry><filename class="directory">/usr/include/</filename></entry> + <entry>Стандарт C-ийн include файлууд.</entry> + </row> + + <row> + <entry><filename class="directory">/usr/lib/</filename></entry> + <entry>Програмын шахаж бэлдсэн багцууд.</entry> + </row> + + + <row> + <entry><filename class="directory">/usr/libdata/</filename></entry> + <entry>Төрөл бүрийн хэрэгслийн өгөгдлийн файлууд.</entry> + </row> + + <row> + <entry><filename class="directory">/usr/libexec/</filename></entry> + <entry>Системийн далд чөтгөр буюу дэмон болон системийн + хэрэгслүүд (бусад програмаас дуудагдаж ажилладаг).</entry> + </row> + + <row> + <entry><filename + class="directory">/usr/local/</filename></entry> + + <entry>Дотоод гүйцэтгэгддэг болон програмын сангууд гэх мэт програмууд байдаг. Мөн FreeBSD-н портуудын анхны байрлуулах газар болж өгдөг. <filename>/usr/local</filename> -ийн доторхи нь, + &man.hier.7;-аар + <filename>/usr</filename> сангийн доторхийг байрлуулсан шиг + зохион байгуулагдах хэрэгтэй. Гэхдээ энэнд хамаарахгүй + сангууд нь man гэж <filename>/usr/local/share</filename> сан дотор биш + <filename>/usr/local</filename> дотор байрладаг сан, + мөн + <filename>share/doc/<replaceable>port</replaceable> + </filename> дотор байдаг портуудын бичиг баримт байдаг сан юм. + </entry> + </row> + + <row> + <entry><filename class="directory">/usr/obj/</filename></entry> + <entry>Архитектураасаа хамаараад <filename>/usr/src</filename> санг хөрвүүлэх үед бүтээгддэг сан..</entry> + </row> + + <row> + <entry><filename class="directory">/usr/ports</filename></entry> + <entry>FreeBSD Портын цуглуулга (сонгомол).</entry> + </row> + + <row> + <entry><filename class="directory">/usr/sbin/</filename></entry> + <entry>Системийн дэмон болон системийн хэрэгслүүд (хэрэглэгчдээр гүйцэтгэгдэнэ).</entry> + </row> + + <row> + <entry><filename class="directory">/usr/share/</filename></entry> + <entry>Архитектурдаа хамаатай файлууд.</entry> + </row> + + <row> + <entry><filename class="directory">/usr/src/</filename></entry> + <entry>BSD болон/эсвэл дотоод эх файлууд.</entry> + </row> + + <row> + <entry><filename + class="directory">/usr/X11R6/</filename></entry> + <entry>X11R6 цогцолборын гүйцэтгэж болдог програмууд, + програмын сан зэргүүд + (сонгомол).</entry> + </row> + + <row> + <entry><filename class="directory">/var/</filename></entry> + <entry>Олон зорилгоор хэрэглэгддэг бүртгэл бичлэг, түр зуурын, дараалал зэргийн файлууд. + Санах ойд тулгуурлаж ажилладаг зарим файлын системүүд + <filename class="directory">/var</filename> дотор + танигдаж үүсгэгддэг. +Энэ үйлдэл нь &man.rc.conf.5;-тай холбоотой varmfs-төрлийг ашиглаж автоматжуулагдаж болдог + (эсвэл <filename>/etc/fstab</filename> дотор буй + оруулгууд бүгдээрээ; &man.mdmfs.8;-с харна уу).</entry> + </row> + + + <row> + <entry><filename class="directory">/var/log/</filename></entry> + <entry>Системийн төрөл бүрийн бүртгэл бичлэгийн файлууд.</entry> + </row> + + <row> + <entry><filename class="directory">/var/mail/</filename></entry> + <entry>Хэрэглэгчийн ирсэн захиаг хадгалах файлууд.</entry> + </row> + + <row> + <entry><filename class="directory">/var/spool/</filename></entry> + <entry>Төрөл бүрийн хэвлэгч болон захианы системийн дарааллыг удирдах сангууд. + </entry> + </row> + + <row> + <entry><filename class="directory">/var/tmp/</filename></entry> + <entry>Түр зуурын файлууд. + Энэ санд буй файлууд н голдуу системийг эхлэх үед + зориулагдахаар нөөцлөгдсөн байдаг. Гэхдээ, хэрэв + <filename class="directory">/var</filename> + нь санах ойд тулгуурласан файлын систем бол өмнө хэлсэн зүйл хүчингүй.</entry> + </row> + + <row> + <entry><filename>/var/yp</filename></entry> + <entry>NIS maps.</entry> + </row> + + </tbody> + </tgroup> + </informaltable> + </para> + + </sect1> + + <sect1 id="disk-organization"> + <title>Диск зохион байгуулалт</title> + + <para>FreeBSD нь файл олохын тулд хэрэглэдэг хамгийн жижиг + хэрэгсэл бол файлын нэр юм. Файлын нэрний том болон бага үсэгнүүд нь + бас ялгаатай. Энэ нь юу гэсэн үг вэ гэвэл + <filename>readme.txt</filename> болон <filename>README.TXT</filename> гэсэн хоёр файл нь хоорондоо ялгаатай файл гэсэн үг. + FreeBSD нь файлын төрлийг програм, бичиг баримт, эсвэл бусад төрлийн + файл байна гэж ялгахын тулд + (<filename>.txt</filename>) гэх мэтийн өргөтгөл хэрэглэдэггүй.</para> + + <para>Файлууд сан дотор хадгалагддаг. Сан нь зуу зуун файл агуулж + болох бөгөөд эсвэл хоосон байж болно. Сан нь сангаа агуулж бас болох ба ингэж сангийн угсарсан +модлог бүтэц үүсгэж болно. Ингэвэл та файлуудаа илүү амархан зохицуулах болно.</para> + + <para>Файл ба сангууд нь <literal>/</literal> тэмдгийн араас шаардлагатай бол сангуудын нэрийг бичиж өгөгдсөн нэрээрээ хандагдана. + Хэрэв танд <filename>foo</filename> нэртэй сан нь + <filename>bar</filename> санг агуулдаг бөгөөд уг сан дотор + <filename>readme.txt</filename> файл байгаа бол, файлын хандах + бүтэн нэр буюу + <firstterm>зам</firstterm> нь + <filename>foo/bar/readme.txt</filename> гэж бичигдэнэ.</para> + + <para>Сан болон файлууд нь файл системд хадгалагддаг. Файл систем болгон хамгийн эхний дээд хэсэгт заавал нэг сан агуулдаг бөгөөд, түүнийг уг файл системийн + <firstterm>root сан</firstterm> буюу дээд эх сан гэж нэрлэдэг. + Тэгээд энэ эх сан нь цаашаагаа өөр сангуудыг агуулж явдаг.</para> + + <para>Энэ хүртэл таны уншсан зүйлүүд нь таны бусад мэддэг үйлдлийн + системтэй ижил байж магадгүй. Гэхдээ жаахан ялгаанууд бий. Жишээлбэл + &ms-dos; үйлдлийн систем нь файл болон санг тусгаарлахдаа + <literal>\</literal> тэмдэг хэрэглэдэг байхад &macos; үйлдлийн + систем нь <literal>:</literal> тэмдгийг хэрэглэдэг.</para> + + <para>FreeBSD дискэнд үсэглэж нэр өгдөггүй бөгөөд үсгээр нэр өгөгдсөн файлын замыг хэрэглэдэггүй. Та FreeBSD дээр <filename>c:/foo/bar/readme.txt</filename> гэж бичиж болохгүй.</para> + + <para>Харин түүний оронд нэг файл системийг нэг <firstterm>root + файл систем</firstterm> гэж ангилдаг. Уг root буюу эх файл системийн эх сан нь + <literal>/</literal> гэж хандагдана. Бусад өөр файл системүүд энэ root буюу эх файл систем дотор + <firstterm>холбогддог</firstterm>. Та FreeBSD систем дээрээ + хэдэн ч дисктэй байсан, сан болгонууд нь нэг дискний хэсэг мэт + харагддаг.</para> + + <para>Жишээлбэл <literal>A</literal>, + <literal>B</literal>, мөн <literal>C</literal> гэсэн гурван + файл систем танд байна гэж бодъё. Файл систем бүр нь өөртөө хоёр сан агуулсан тус тусын эх сантай гэж үзье. Тэдгээр сангууд нь дараах нэртэй байг. + <literal>A1</literal>, <literal>A2</literal> (гэх мэтчилэн + <literal>B1</literal>, <literal>B2</literal> мөн + <literal>C1</literal>, <literal>C2</literal>).</para> + + <para><literal>A</literal>-г эх сан гэж үзнэ. Хэрэв та + <command>ls</command> тушаалаар энэ сангийн доторхийг харвал, <literal>A1</literal> ба + <literal>A2</literal> гэсэн хоёр санг та харах болно. Энэ сангийн модлог загвар нь ингэж харагдаж байна:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="install/example-dir1" format="EPS"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> / + | + +--- A1 + | + `--- A2</literallayout> + </textobject> + </mediaobject> + + <para>Хэрэв файл систем өөр файл системд холбогдохоор бол, холбогдож байгаа системийнхээ нэг сан дор холбогдоно. Тэгвэл одоо + <literal>B</literal> файл системийг <literal>A1</literal> санд холбоно гэж үзье. Тэгвэл <literal>B</literal>-ийн эх сан нь <literal>A1</literal>-ээр орлуулагдаж, + <literal>B</literal> доторх файлууд дараах маягаар харагдана:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="install/example-dir2" format="EPS"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> / + | + +--- A1 + | | + | +--- B1 + | | + | `--- B2 + | + `--- A2</literallayout> + </textobject> + </mediaobject> + + <para>Хэрэв <literal>B1</literal> эсвэл + <literal>B2</literal> сан доторх файлууд шаардлага гаран + хандагдахаар бол + <filename>/A1/B1</filename> эсвэл <filename>/A1/B2</filename> гэсэн зам хэрэглэгдэж бичигдэнэ. Хэрэв <filename>/A1</filename> дотор файлууд байсан бол тэдгээрийг түр зуур нуудаг. <literal>B</literal> файл систем A системээс <firstterm>салгагдсан</firstterm> үед л тэр файлууд харагдана.</para> + + <para>Хэрэв <literal>B</literal> файл систем <literal>A2</literal> + дор холбогдсон бол дараах маягаар харагдана:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="install/example-dir3" format="EPS"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> / + | + +--- A1 + | + `--- A2 + | + +--- B1 + | + `--- B2</literallayout> + </textobject> + </mediaobject> + + <para>мөн файл уруу хандах зам нь <filename>/A2/B1</filename> болон + <filename>/A2/B2</filename> гэж тус тусдаа хандагдах болно.</para> + + <para>Файл системүүд нэг нэгнийхээ дээр холбогдож болдог. Сүүлийн жишээгээ үргэлжлүүлээд <literal>C</literal> файл системийг <literal>B</literal> файл систем доторх + <literal>B1</literal> сангийн дээд хэсэгт холбож өгвөл дараах зохион байгуулалт үүсэж байна:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="install/example-dir4" format="EPS"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> / + | + +--- A1 + | + `--- A2 + | + +--- B1 + | | + | +--- C1 + | | + | `--- C2 + | + `--- B2</literallayout> + </textobject> + </mediaobject> + + <para>Эсвэл <literal>C</literal> файл систем + <literal>A</literal> файл систем дотор <literal>A1</literal> + санд холбогож болно:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="install/example-dir5" format="EPS"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> / + | + +--- A1 + | | + | +--- C1 + | | + | `--- C2 + | + `--- A2 + | + +--- B1 + | + `--- B2</literallayout> + </textobject> + </mediaobject> + + <para>Хэрэв та &ms-dos; системийг гадарладаг бол энэ нь <command>join</command> тушаалтай төсөөтэй боловч яг адилхан биш.</para> + + <para>Угтаа бол энэ нь тийм их анхаарлаа хандуулаад байхаар зүйл биш. + Ердийн үед та FreeBSD суулгах үедээ нэг файл систем үүсгээд хаана холбохыг нь шийдэж холбоод, шинэ диск нэмэхгүй л бол түүнийгээ хэзээ ч өөрчлөх шаардлага гардаггүй.</para> + + <para>Өөр файл систем үүсгэлгүйгээр нэг бүхэл эх файл систем үүсгэж болдог. Ийм үед зарим сул талууд гарч ирдэг бөгөөд нэг л давуу тал үүснэ.</para> + + <itemizedlist> + <title>Олон файл системүүдийн давуу талууд</title> + + <listitem> + <para>Олон төрлийн файл системүүд нь олон төрлийн <firstterm>холбох нөхцөлтэй</firstterm>. Жишээлбэл, сайн төлөвлөсний + дараагаар, эх файл систем нь зөвхөн уншигдахаар холбогдож, ингэснээр санамсаргүй юмуу алдаа ослын шалтгаанаар чухал файлуудыг устгахаас сэргийлж болно. Хэрэглэгчдээр бичигдэж болдог файл систем, жишээ нь + <filename>/home</filename> мэтийн бусад системээс тусгаарлаж + <firstterm>nosuid</firstterm> төрлийн гэж холбож болно; энэ сонголт нь файл систем дээр буй гүйцэтгэж болдог файлд <firstterm>suid</firstterm>/<firstterm>guid</firstterm> бит утга тавигдахаас сэргийлж аюулгүй байдлыг хангаж өгдөг.</para> + </listitem> + + <listitem> + <para>FreeBSD файл систем ямар зорилгоор хэрэглэгдэхээс нь + хамаараад файл систем дээр файлын зохион байгуулалтыг автоматаар + хийдэг. Тийм болохоор байнга бичигдэж байдаг олон жижигхэн файлуудын + байгаа файл систем дээр цөөхөн бичигддэг том файл агуулсан + файл системийг бодвол олон бичигдэхэд зориулж арай + өөр файлын зохион байгуулалт хийгддэг. Ганц том эх файл системд ийм зохион байгуулалт хийх боломжгүй.</para> + </listitem> + + <listitem> + <para>FreeBSD-н файл систем нь цахилгаан тэжээлээс огцом салгагдсан үед ч дискийн алдаа үүсгэдэггүй найдвартай байдаг. Гэвч маш ноцтой үед цахилгаан тэжээлээс огцом салгагдахад файл системийн бүтэц эвдэрч болзошгүй юм. Өгөгдлүүдээ олон файл системд хувааж байрлуулах нь дараа нь эвдрэлээс буцааж сэргээхэд амар байдаг.</para> + </listitem> + </itemizedlist> + + <itemizedlist> + <title>Нэг файл системтэй байх үеийн давуу тал</title> + + <listitem> + <para>Энэ файл систем нь тогтсон хэмжээтэй байдаг. Хэрэв та FreeBSD-ийг суулгах үедээ тодорхой зааж өгсөн файл систем үүсгээд, сүүлд нь түүнийгээ өргөжүүлэхийг хүсвэл, энэ нь тийм амархан биелэхгүй. Та эхлээд байгаа файл системийнхээ файлуудыг нөөцөлж хадгалаад дараа нь файл системдээ шинэ хэмжээ өгч өргөтгөөд дараа нь нөөцөөсөө файлуудаа буцааж сэргээж хадгалах болно.</para> + + <important> + <para>FreeBSD-н &man.growfs.8; тушаал нь дээрх + хүндрэлийг алга болгож, файлыг нөөцлөх + шаардлагагүйгээр шууд файл системийг өргөтгөж болдог болсон.</para> + </important> + </listitem> + </itemizedlist> + + <para>Дискийн хуваалт дотор файл систем оршиж байдаг. &os; нь юниксээс + уламжилсан болохоор диск хуваалтын ойлголт нь ердийн хэрэглээтэй + ижилхэн биш (жишээлбэл, &ms-dos; диск зохион байгуулалт). Дискийн + хуваагдал бүр <literal>a</literal> үсэгнээс эхлээд + <literal>h</literal> хүртэл үсгээр тэмдэглэгддэг. Хуваагдал бүр зөвхөн ганцхан файл систем агуулах ёстой. Ийм болохоор файл систем нь агуулж байгаа диск хуваалтынхаа үсгээр илэрхийлэгдэх бөгөөд хэрэв өөр файл системд холбогдвол, холбосон сан нь уг файл системийг илэрхийлнэ.</para> + + <para>FreeBSD мөн <firstterm>swap + </firstterm>-д зориулж дискэнд зай бэлддэг. Swap хэмжээ нь FreeBSD-н + <firstterm>виртуал санах ой</firstterm> юм. Ингэснээр таны компьютер + байгаа бодит хэмжээнээсээ илүү санах ой хэрэглэж байгаа мэт ажилладаг. + Хэрэв зарим програм FreeBSD дээр ажиллаад санах ойноос хэтрэх хүндрэл + гарвал, хэрэглэгдэхгүй байгаа хэсгийг swap зай руу зөөж, шаардлагатай + үед буцааж санах ой руу зөөх зарчмаар хэрэглэгддэг.</para> + + <para>Зарим дискийн хуваалт нь тогтсон журамтай байдаг.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="5*"> + + <thead> + <row> + <entry>Хуваалт</entry> + + <entry>Тогтсон журам</entry> + </row> + </thead> + + <tbody valign="top"> + <row> + <entry><literal>a</literal></entry> + + <entry>Ихэнхдээ root файл системийг агуулж байдаг</entry> + </row> + + <row> + <entry><literal>b</literal></entry> + + <entry>Ихэнхдээ swap хэмжээг агуулдаг</entry> + </row> + + <row> + <entry><literal>c</literal></entry> + + <entry>Ихэнх үед агуулж буй зүсмэлийнхээ хэмжээтэй + ижил хэмжээтэй байдаг. Энэ нь ямар нэгэн хэрэгслүүдийг + (жишээлбэл, дискийн эвдэрсэн хэсгийг шалгагч) + <literal>c</literal> хуваалт дээрх зүсмэл дээр бүхэлд + нь ажиллаж болох зөвшөөрөл өгдөг. Ердийн үед + та үүн дээр файл систем үүсгэх шаардлага байхгүй.</entry> + </row> + + <row> + <entry><literal>d</literal></entry> + + <entry>Урьд нь <literal>d</literal> хуваалт онцгой үүрэгтэй байсан + боловч одоо тийм биш, харин ердийн хуваалт шиг хэрэглэгдэж болно.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>FreeBSD дээр файл систем агуулж байгаа хуваалтыг + <firstterm>зүсмэл</firstterm> гэж нэрлэдэг. Хуваалтын ерөнхий нэр нь + FreeBSD дээр зүсмэл гэж яригдах бөгөөд FreeBSD-ийн &unix; гаралд + цаад утга учир нь бий. Зүсмэл нь 1 -ээс эхлээд 4 хүртэлх тоогоор + дугаарлагдана.</para> + + <indexterm><primary>зүсмэл</primary></indexterm> + <indexterm><primary>хуваалт</primary></indexterm> + <indexterm><primary>аюултай зориулалт</primary></indexterm> + + <para>Зүсмэлийн дугаар нь төхөөрөмжийн нэрний араас + <literal>s</literal> үсгээр эхэлж бичигддэг. + Тэгэхээр <quote>da0<emphasis>s1</emphasis></quote> гэдэг нь, + эхний SCSI диск дээрх эхний зүсмэлийг илэрхийлж байна. + Диск дээр физик чанараараа зөвхөн дөрвөн ширхэг зүсмэл байрлуулж + болно. Харин логик зүсмэлийг та фикик зүсмэл дотор дурын хэмжээтэй + үүсгэж болно. Ингэж өргөтгөж нэмсэн зүсмэлүүд нь 5 гэсэн + дугаараар эхэлж цаашаагаа тоологддог. Тэгэхээр + <quote>ad0<emphasis>s5</emphasis></quote> гэдэг нь эхний IDE + диск дээрх эхний өргөтгөсөн зүсмэлийг хэлж байна. + Ингэж өргөтгөсөн зүсмэлүүд нь файл систем агуулж, систем дээр + ердийн зүсмэл мэт харагдаж ажиллана.</para> + + <para>Зүсмэлүүд нь физик диск дээр <quote>аюултай зориулалт</quote>аар + буюу өөрөөp хэлбэл хүчээр байрлуулагддаг. Харин бусад дискнүүд нь + <literal>a</literal> -с эхлээд <literal>h</literal> хүртэл нэрлэсэн + <firstterm>хуваалт</firstterm> агуулж болдог. + Эдгээр үсэгнүүд нь төхөөрөмжийн ард залгагдаж бичигддэг ба + <quote>da0<emphasis>a</emphasis></quote> гэдэг нь + эхний da диск дээр байгаа a хуваалтыг илэрхийлж байна. + <quote>ad1s3<emphasis>e</emphasis></quote> бол хоёр дахь IDE диск дээр байгаа + гурав дахь зүсмэлийн тав дахь хуваалтыг илэрхийлж байна.</para> + + <para>Эцэст нь хэлэхэд, диск болгон системд танигдах ёстой. + Дискийн нэр нь дискийн төрлийг илэрхийлсэн үсгээр эхлээд + тэгээд араас нь хэд дэх диск вэ гэдгийг нь илэрхийлсэн дугаартай + байдаг. Зүсмэлээс ялгарах зүйл нь, дискийн дугаар 0 -ээс эхэлдэг. + Ерөнхий хэрэглээний жишээг <xref linkend="basics-dev-codes"> + хүснэгтээс харна уу.</para> + + <para>Хуваалт уруу хандах үед FreeBSD уг хуваалтыг + агуулсан зүсмэл болон дискийг тодорхойлохыг шаарддаг. Тэгээд + зүсмэл рүү хандах үед зүсмэлийг агуулсан дискний нэрийг шаардах + болно. Тэгэхээр, дискний нэр, <literal>s</literal>, зүсмэлийн дугаар, + тэгээд хуваалтын үсэг гэсэн дарааллаар нэрлэх нь байна. + Жишээнүүдийг <xref linkend="basics-disk-slice-part">-д харуулав.</para> + + <para>Танд ойлгоход тань дөхөм болгож <xref linkend="basics-concept-disk-model"> + жишээн дээр дискийн зохион байгуулалтын тогтсон загварыг харуулж байна.</para> + + <para>FreeBSD суулгахын тулд та эхлээд дискийн зүсмэлийг тохируулна, + дараа нь зүсмэл дотор FreeBSD-н хэрэглэх хуваалт үүсгээд, дараа нь + хуваалт бүрд файл систем (эсвэл swap зайг) үүсгэж эцэст нь + хаана холбогдохыг нь (mount) зааж өгдөг.</para> + + <table frame="none" pgwide="1" id="basics-dev-codes"> + <title>Диск төхөөрөмжийн нэрнүүд</title> + + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="5*"> + + <thead> + <row> + <entry>Нэр</entry> + + <entry>Утга</entry> + </row> + </thead> + + <tbody> + <row> + <entry><devicename>ad</devicename></entry> + + <entry>ATAPI (IDE) disk</entry> + </row> + + <row> + <entry><devicename>da</devicename></entry> + + <entry>SCSI direct access disk</entry> + </row> + + <row> + <entry><devicename>acd</devicename></entry> + + <entry>ATAPI (IDE) CDROM</entry> + </row> + + <row> + <entry><devicename>cd</devicename></entry> + + <entry>SCSI CDROM</entry> + </row> + + <row> + <entry><devicename>fd</devicename></entry> + + <entry>Floppy disk</entry> + </row> + </tbody> + </tgroup> + </table> + + <example id="basics-disk-slice-part"> + <title>Диск, Зүсмэл, Хуваалтын нэрлэх жишээ</title> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="5*"> + + <thead> + <row> + <entry>Нэр</entry> + + <entry>Утга</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>ad0s1a</literal></entry> + + <entry> + Эхний IDE диск (<literal>ad0</literal>) дээрх эхний + зүсмэлийн (<literal>s1</literal>) эхний хуваалт (<literal>a</literal>).</entry> + </row> + + <row> + <entry><literal>da1s2e</literal></entry> + + <entry> + Хоёр дахь SCSI диск (<literal>da1</literal>) дээрх + хоёр дахь (<literal>s2</literal>) зүсмэлийн тав дахь + (<literal>e</literal>) хуваалт. + </entry> + </row> + </tbody> + </tgroup> + </informaltable> + </example> + + <example id="basics-concept-disk-model"> + <title>Дискийн тогтсон загвар</title> + + <para> + Дараах загвар нь системд буй IDE диск + FreeBSD дээр хэрхэн харагдаж байгааг харуулж байна. + Дискийн хэмжээг 4 ГБ-н хэмжээтэй гэж үзээд хоёр ширхэг + 2 ГБ зүсмэл байна (нэг зүсмэл дээр нь &ms-dos; хуваалт байгаа). + Эхний зүсмэл нь &ms-dos;-н <devicename>C:</devicename> диск агуулсан, + харин хоёр дахь зүсмэл дээр FreeBSD суугдсан. + Энэ жишээн дээр FreeBSD нь гурван хуваалт мөн swap хуваалт хэрэглэж + байна.</para> + + <para>Гурван хуваалт нь тус тусдаа файл систем агуулж байгаа. + <literal>a</literal> хуваалт root файл системд зориулагдаж, + <literal>e</literal> хуваалт <filename>/var</filename> санд, мөн + <literal>f</literal> хуваалт + <filename>/usr</filename> санд тус тус зориулагдсан.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disk-layout" format="EPS"> + </imageobject> + + <textobject> + <literallayout class="monospaced">.-----------------. --. +| | | +| DOS / Windows | | +: : > First slice, ad0s1 +: : | +| | | +:=================: ==: --. +| | | Partition a, mounted as / | +| | > referred to as ad0s2a | +| | | | +:-----------------: ==: | +| | | Partition b, used as swap | +| | > referred to as ad0s2b | +| | | | +:-----------------: ==: | Partition c, no +| | | Partition e, used as /var > file system, all +| | > referred to as ad0s2e | of FreeBSD slice, +| | | | ad0s2c +:-----------------: ==: | +| | | | +: : | Partition f, used as /usr | +: : > referred to as ad0s2f | +: : | | +| | | | +| | --' | +`-----------------' --'</literallayout> + </textobject> + </mediaobject> + </example> + </sect1> + + + + <sect1 id="mount-unmount"> + <title>Файл системийг холбох болон салгах</title> + + <para>Файл систем нь <filename>/</filename> гэсэн + эхээс эхлэн модлог хэлбэрээр маш сайн харагддаг. + <filename>/dev</filename>, <filename>/usr</filename>, мөн + бусад сангууд нь root буюу эх сангаасаа салбарласан + салаа мөчир бөгөөд цаашаа уг мөчир нь бас + + <filename>/usr/local</filename> гэж салаалах зэргээр + өргөжиж салаалж болдог.</para> + + <indexterm><primary>root файл систем</primary></indexterm> + <para>Эдгээр сангуудын заримыг нь өөр файл системд + байрлуулах маш олон шалтгаан бий. <filename>/var</filename> + сан нь жишээлбэл <filename>log/</filename>, + <filename>spool/</filename>, гэх зэрэг янз бүрийн түр зуурын + файлуудыг агуулдаг бөгөөд түргэн дүүрэх магадлалтай. Эх сан буюу + root файл систем түргэн дүүрнэ гэдэг бол тийм ч сайн юм биш. + Тийм болохоор <filename>/var</filename> санг + <filename>/</filename> сангаас тусад нь өөр газар байрлуулах нь + тун хэрэгтэй.</para> + + <para>Тодорхой хэдэн сангуудыг тусад нь өөр файл систем дээр + байрлуулах хүндтэй шалтгаан бол, хэрвээ уг сангууд нь + өөр физик диск дээр, тусдаа виртуал диск дээр, <link + linkend="network-nfs">Сүлжээний файл систем</link> дээр, + эсвэл CDROM дээр байх явдал юм.</para> + + <sect2 id="disks-fstab"> + <title><filename>fstab</filename> файл</title> + <indexterm> + <primary>файл систем</primary> + <secondary>fstab ашиглаж диск холбогдох</secondary> + </indexterm> + + <para><filename>/etc/fstab</filename> файлд жагсаагдсан + файл системүүд нь системийн <link linkend="boot">ачаалах явцад</link> автоматаар холбогддог (гэхдээ хэрэв тэдгээр нь + <option>noauto</option> сонголт хэрэглээгүй үед).</para> + + <para><filename>/etc/fstab</filename> нь дараах маягийн + жагсаалтыг агуулж байдаг:</para> + + <programlisting><replaceable>төхөөрөмж</replaceable> <replaceable>/холбох-цэг</replaceable> <replaceable>файл-системийн-төрөл</replaceable> <replaceable>сонголтууд</replaceable> <replaceable>dumpfreq</replaceable> <replaceable>passno</replaceable></programlisting> + + <variablelist> + <varlistentry> + <term><literal>төхөөрөмж</literal></term> + <listitem> + <para>Төхөөрөмжийн нэр (заавал байх ёстой). + <xref linkend="disks-naming"> хуудсанд тайлбарласан байгаа.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>mount-point буюу холбох цэг</literal></term> + + <listitem><para>Файл системийг байрлуулах + сангийн нэр (заавал байх ёстой).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>файл-системийн-төрөл</literal></term> + + <listitem><para> + &man.mount.8; хуудсанд тайлбарласан байгаа тул алгасав. + FreeBSD-н анхдагч файл систем бол + <literal>ufs</literal>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>сонголтууд</literal></term> + + <listitem><para>Уншиж бичигдэх файл системийг заасан + <option>rw</option> эсвэл зөвхөн уншигдах файл системд + зориулсан <option>ro</option> сонголт байж болох бөгөөд + цаашаагаа мөн нэмэлт сонголтууд агуулж болно. + Ердийн сонголт бол <option>noauto</option> бөгөөд + ингэснээр систем эхлэх үед уг файл систем холбогддоггүй. + Бусад сонголтууд &man.mount.8; гарын авлагад тодорхой + бичигдсэн байгаа.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>dumpfreq</literal></term> + + <listitem><para>Энэ сонголт нь &man.dump.8; хэрэгслээр + хэрэглэгддэг бөгөөд аль файл системд нөөц хадгалалт хийх вэ гэдгийг + тодорхойлж өгдөг. Хэрэв энэ сонголтыг бичээгүй бол + хоосон утгыг агуулж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>passno</literal></term> + + <listitem> + <para>Энэ сонголтыг ашиглан ямар дарааллаар файл системүүдийг + шалгах вэ гэдгийг зааж өгдөг. + Шалгалгүйгээр алгасна гэсэн файл системүүд нь + <literal>passno</literal> талбардаа 0 утгатай байх ёстой. + root буюу эх файл системийн (энэ файл систем нь хамгийн түрүүнд + шалгагддаг) <literal>passno</literal> талбарын утга нь + 1 байдаг бөгөөд бусад системийн <literal>passno</literal> + нь нэгээс их байх ёстой. + Хэрэв нэгээс илүү олон файл системүүд <literal>passno</literal> + талбартаа ижил утгатай бол &man.fsck.8; нь тэдгээр файл системийг + хэрэв боломжтой зэрэг шалгахыг оролдох болно.</para> + </listitem> + </varlistentry> + </variablelist> + + <para><filename>/etc/fstab</filename> файлын бүтэц болон тохируулдаг сонголтуудын талаарх дэлгэрэнгүй мэдээллийг &man.fstab.5; гарын авлагаас харна уу.</para> + </sect2> + + <sect2 id="disks-mount"> + <title><command>mount</command> тушаал</title> + <indexterm> + <primary>файл систем</primary> + <secondary>mounting буюу файл систем холбох</secondary> + </indexterm> + + <para>&man.mount.8; тушаал нь файл системийг + холбоход хэрэглэгддэг цорын ганц тушаал юм.</para> + + <para>Таны хамгийн өргөн хэрэглэх хэлбэр бол:</para> + + <informalexample> + <screen>&prompt.root; <userinput>mount <replaceable>төхөөрөмж-буюу-диск</replaceable> <replaceable>холбох-цэг</replaceable></userinput></screen> + </informalexample> + + <para>&man.mount.8;-н гарын авлагад зааснаар бол маш олон + сонголт байдаг бөгөөд өргөн хэрэглэгддэг нь:</para> + + <variablelist> + <title>Холбох тохируулгууд</title> + + <varlistentry> + <term><option>-a</option></term> + + <listitem> + <para><filename>/etc/fstab</filename> файлд + жагсааж бичсэн бүх файл системийг холбоно. Гэхдээ + <quote>noauto</quote> гэж тэмдэглэснийг, + <option>-t</option> гэж туг хатгасныг, эсвэл + өмнө нь холбогдчихсон файл системүүдийг холбохгүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-d</option></term> + + <listitem> + <para>Дуудаж ажиллуулж байгаа файл системээсээ бусдад нь + дурын үйлдлээ хийнэ. Энэ сонголтыг + <option>-v</option> тугтай хамт хэрэглэж + &man.mount.8;-г юу хийж байгааг нь харж болдог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-f</option></term> + + <listitem> + <para>Бохир файл систем + (аюултай), эсвэл файл системийн унших-бичигдэх төлвөөс + зөвхөн-унших төлөв рүү шилжүүлэн бичих эрхийг хасаж + холбох үед хүчээр холбодог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-r</option></term> + + <listitem> + <para>Файл системийг зөвхөн-унших төлвөөр холбоно. + Энэ нь <option>-o</option> сонголтийг + <option>ro</option> утгатай + (5.2-с өмнөх үед хэрэглэдэг + байсан <option>rdonly</option>) + хэрэглэсэнтэй ижил.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-t</option> + <replaceable>fstype</replaceable></term> + + <listitem> + <para>Өгөгдсөн файл системйиг өгөгдсөн төрлөөр холбоно. + Эсвэл <option>-a</option> сонголт өгөгдсөн бол зөвхөн + өгөгдсөн төрлөөр холбоно.</para> + + <para><quote>ufs</quote> нь анхдагч файл систем юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-u</option></term> + + <listitem> + <para>Файл системд холболтын сонголтыг шинэчлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-v</option></term> + + <listitem> + <para>Болж байгаа үйл явцыг харуулж мэдэгдэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-w</option></term> + + <listitem> + <para>Файл системийг унших-бичих төлвөөр холбоно.</para> + </listitem> + </varlistentry> + </variablelist> + + <para><option>-o</option> сонголт нь дараах зүйлүүдийг таслалаар тусгаарлаж хэрэглэж болно:</para> + + <variablelist> + <varlistentry> + <term>nodev</term> + + <listitem> + <para>Файл систем дээр тусгай төхөөрөмж бүү суулга. + Аюулгүй байдлын шалтгаанаар энэ нь маш хэрэгтэй сонголт.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>noexec</term> + + <listitem> + <para>Энэ нь файл систем дээр хоёрлосон файл буюу ачаалагдаж ажиллаж болдог файл ажиллахыг үл зөвшөөрнө. Энэ нь мөн аюулгүй байдлын зорилгоор хэрэгтэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>nosuid</term> + + <listitem> + <para>Файл систем дээр setuid эсвэл setgid тугуудыг бүү хэрэглэ. Мөн аюулгүй байдлын шалтгаанаар.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2 id="disks-umount"> + <title><command>umount</command> тушаал</title> + <indexterm> + <primary>файл систем</primary> + <secondary>файл систем салгах</secondary> + </indexterm> + + <para>&man.umount.8; тушаал нь ардаа холбосон цэг, төхөөрөмжийн нэр зэргийг авдаг бөгөөд мөн + <option>-a</option> сонголт эсвэл бас + <option>-A</option> сонголтуудыг авч болдог.</para> + + <para>Бүх хэлбэрүүд нь <option>-f</option> сонголтыг хүчээр салгах үед болон <option>-v</option> сонголтыг явцын мэдээллийг харахад хэрэглэдэг. + <option>-f</option> сонголт нь тийм сайн санаа биш гэдгийг анхааруулмаар байна. Хүчээр файл системийг салгах нь файл эсвэл системийн эвдрэлд хүргэж болзошгүй.</para> + + <para><option>-a</option> болон <option>-A</option> сонголтууд нь холбогдсон бүх файл системийг салгахад хэрэглэгддэг. Эсвэл мөн + <option>-t</option> сонголтоор өөрчлөгдсөн файл системүүдийг салгахад хэрэглэнэ. Гэхдээ + <option>-A</option> сонголт нь + root файл системийг салгах гэж оролддоггүй.</para> + </sect2> + </sect1> + + <sect1 id="basics-processes"> + <title>Процес буюу програмын явц</title> + + <para>FreeBSD бол олон үйлдэл зэрэг хийх чадвартай систем. Энэ нь олон програм нэг дор зэрэг ажиллана гэсэн үг. Програмын тухайн үед ажиллаж байгааг нь <firstterm>процес буюу програмын явц</firstterm> гэдэг. + Таны ажиллуулсан тушаал болгон шинэ процес эхлүүлдэг бөгөөд систем дээр + бүхэлдээ тэр чигээрээ процесууд үргэлж ажиллаж системийн ажиллагааг бүрэлдүүлж байдаг.</para> + + <para>Програмын явц бүр + <firstterm>процес ID</firstterm>, эсвэл <firstterm>PID</firstterm> гэсэн дугаар агуулж байдаг бөгөөд файлтай бас ижилхэн өөрийн гэсэн эзэмшигч болон бүлэгт харъяалагдаж байдаг. Эзэмшигч ба бүлгийн +мэдээлэл нь уг процес файлд хандах эрхийг нь хэрэглэж файлтай хэрхэн +хандах вэ гэдгийг тодорхойлж өгдөг. Ихэнх процес нь мөн эцэг процестай байдаг. Эцэг процес нь тэдгээр процесийг эхлүүлж өгдөг. + Жишээлбэл, хэрэв та тушаалуудыг бүрхүүлд бичиж гүйцэтгэвэл, бүрхүүл ч процес, тушаалууд ч процес болдог бөгөөд таны бичсэн тушаал болгон процес болдог. Ийм маягаар ажиллуулаад байвал бүрхүүл нь тэдгээр процесуудын эцэг нь болно. Үүнээс өөр онцгой процес байдаг ба түүнийг + &man.init.8; процес гэж нэрлэдэг. <command>init</command> + бол хамгийн эхний процес байдаг бөгөөд үүний PID дугаар үргэлж + 1 байдаг. FreeBSD эхлэх үед <command>init</command> процес + автоматаар эхэлдэг.</para> + + <para>Системд гүйцэтгэгдэж байгаа процессуудыг хардаг хоёр тушаал бол + &man.ps.1; ба &man.top.1; хоёр юм. <command>ps</command> тушаал нь одоо ажиллаж байгаа процесуудыг PID дугаартай нь харуулж, мөн хичнээн санах ойн хэмжээ хэрэглэж байгаа, ямар тушаалаар гүйцэтгэгдэж байгаа зэргийг нь харуулдаг. <command>top</command> тушаал нь ажиллаж байгаа + бүх процесуудыг харуулдаг бөгөөд хэдэн секунд тутамд шинэчлэгдэж байдаг. Ингэснээр таны компьютер тухайн үед юу хийж байгааг харж болно.</para> + + <para>Анхдагч горимондоо, <command>ps</command> тушаал нь зөвхөн таны эзэмшиж байгаа процессуудыг харуулдаг. Жишээлбэл:</para> + + <screen>&prompt.user; <userinput>ps</userinput> + PID TT STAT TIME COMMAND + 298 p0 Ss 0:01.10 tcsh + 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14) +37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14) +48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi +48730 p0 IW 0:00.00 (dns helper) (navigator-linux-) +72210 p0 R+ 0:00.00 ps + 390 p1 Is 0:01.14 tcsh + 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y + 6688 p3 IWs 0:00.00 tcsh +10735 p4 IWs 0:00.00 tcsh +20256 p5 IWs 0:00.00 tcsh + 262 v0 IWs 0:00.00 -tcsh (tcsh) + 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16 + 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16 + 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc + 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish</screen> + + <para>Дээрх жишээнд харуулсанаар, &man.ps.1; тушаалын гаралт нь + хэд хэдэн баганаар харуулагдаж байна. <literal>PID</literal> бол өмнө ярьсаны дагуу процесийн ID дугаар. PID дугаарууд нь 1 гэж эхлээд 99999 хүртэл дугаарлагддаг бөгөөд хэтрээд ирэхээрээ эхнээсээ эхэлж тоологддог. + <literal>TT</literal> багана нь, уг програмын ажиллаж байгаа tty буюу терминалыг нь харуулдаг бөгөөд одоохондоо хэрэгсэх шаардлага байхгүй. <literal>STAT</literal> нь програмын төлвийг харуулдаг бөгөөд мөн одоохондоо хэрэгсэхгүй байж болно. + <literal>TIME</literal> нь процессор дээр хэр удаан ажиллаж байгааг нь заадаг бөгөөд гэхдээ энэ нь програм эхэлсэнээс хойш тооцож эхэлсэн цаг биш. Ихэнх програм нь процессор дээр гүйцэтгэх гэж хэсэг хугацаа зарцуулж хүлээдэг. + Эцэст нь, <literal>COMMAND</literal> нь тухайн програмыг ажиллуулсан тушаалыг харуулдаг.</para> + + <para>Харуулах мэдээллээ өөрчилж болдог хэд хэдэн нэмэлт сонголт &man.ps.1; тушаалд бий. Байнга хэрэглэгддэг сонголтуудын багц бол + <literal>auxww</literal> юм. <option>a</option> сонголт нь зөвхөн өөрийн эзэмшдэг процес биш харин ажиллаж байгаа бүх процесыг харуулдаг. <option>u</option> + сонголт нь процесыг эзэмшиж байгаа хэрэглэгчийн нэрийг харуулдаг бөгөөд мөн хэрэглэж байгаа санах ойг нь харуулдаг. + <option>x</option> сонголт нь далд ажиллаж байгаа буюу дэмон эсэхийг нь харуулдаг. + <option>ww</option> сонголт нь процесуудыг ажиллуулсан тушаалын бүтэн нэрийг нь харуулдаг. Бусад үед, хэрэв тушаалын нэр нь дэлгэцэнд багтахгүй урт байх тохиолдолд хасаж харуулдаг.</para> + + <para>&man.top.1; тушаалын гаралт нь өмнөх жишээтэй ижилхэн. Жишээ болгож нэг гаралтыг харцгаая:</para> + + <screen>&prompt.user; <userinput>top</userinput> +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 USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND +72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top + 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14 + 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA + 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm +48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu + 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd + 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt +...</screen> + + <para>Тушаалын гаралт хоёр хэсэгт хуваагдсан байна. Толгой хэсэг + (эхний таван мөр) нь сүүлд ажиллаж байгаа PID дугаарыг, системийн ачаалалтын дунджууд + (энэ нь системийг хэр завгүй байгааг илтгэдэг), системийн асаалттай байгаа хугацаа (унтраалгүй хэр удсан эсэхийг) мөн одоогийн цаг зэргийг харуулдаг. Бусад илэрхийллүүд нь, хичнээн процессууд ажиллаж байгаа (энэ тохиолдолд 47 ), хичнээн санах ойн хэмжээ болон swap хэмжээ хэрэглэгдэж байгаа, мөн хичнээн хугацааг процессорын бусад төлөв байдалд зарцуулсан зэргийг илэрхийлж байна.</para> + + <para>Доорх баганууд нь &man.ps.1; тушаалтай ойролцоо мэдэгдлүүдийг харуулж байна. Эхлээд PID дугаар дараа нь хэрэглэгчийн нэр, процессороос хэрэглэсэн хугацаа, ажиллуулсан тушаал гэх мэт. + &man.top.1; тушаал нь анхдагч тохируулгаараа, процесийн хэрэглэж байгаа санах ойн хэмжээг харуулдаг. Тэр хэсэг нь хоёр баганад харуулагддаг бөгөөд эхнийх нь нийт хэмжээ дараагийх нь тухайн үеийнх нь хэмжээ юм. Нийт хэмжээ гэдэг нь програм ажиллахад хэд хэрэгтэйг хэлдэг бөгөөд тухайн үеийнх нь хэмжээ нь одоогоор хэдийг хэрэглэж байгааг заадаг. Энэ жишээн дээр +<application>&netscape;</application> програм бараг 30 МБ хэмжээг RAM санах ойд шаардлагатай гэсэн боловч одоогоор 9 МБ хэмжээ хэрэглэж байна гэж заасан байна.</para> + + <para>&man.top.1; нь энэ харуулалтыг хоёр секунд тутам шинэчлэдэг бөгөөд үүнийг <option>s</option> тохируулгаар өөрчилж болно.</para> + </sect1> + + <sect1 id="basics-daemons"> + <title>Далд чөтгөр буюу дэмонууд, дохионууд, мөн процесуудыг зогсоох нь</title> + + <para>Та хэрэв ямар нэг текст засварлагч дээр ажиллаж байхдаа файл нээх, хаах, хадгалах гэх мэт уг програмыг сайн хянаж чаддаг. Та яагаад тэгж + чадаж байна вэ гэвэл, уг програм нь <firstterm>тэрминал</firstterm> дээр холбогдон ажиллаж танд тийм боломж олгож байгаа билээ. + Зарим програм тэгэхэд үргэлж хүн гарнаас оруулалт хийх шаардлаггүй зориулалтаар бүтээгдсэн байдаг бөгөөд хамгийн эхний боломж гарангуут тэрминалаас салангид ажилладаг. Жишээлбэл вэб серверүүд өдөржин хүмүүсээс ирсэн хүсэлтэнд хариулт өгч байдаг бөгөөд ердийн үед танаас оруулга шаарддаггүй. Ийм төрлийн бас нэг програм бол захиа илгээгч програм юм.</para> + + <para>Бид ийм програмыг <firstterm>далд чөтгөр буюу дэмон</firstterm> гэж нэрлэдэг. Дэмонууд нь грекийн домогт байдаг сайн муугийн аль нь ч биш бөгөөд жижигхэн мөртлөө хүмүүсд хэрэгтэй юм хийж байдаг сүнсийг хэлдэг. +Вэб сервер болон захианы серверүүд үүнтэй ижил хүмүүсд тустай юм хийдэг. Тийм болохоор BSD нь жижигхэн сэрээ барьсан чөтгөрийг дуртайяа олон жилээр билэг тэмдэг болгож байгаа билээ.</para> + + <para>Далд ажиллаж байгаа буюу дэмон болж ажиллаж байгаа програмын нэрний ард <quote>d</quote> үсэг залгаж бичдэг зарчим бий. <application>BIND</application> програмын бүтэн нэр нь + Berkeley Internet Name Daemon (үндсэн далд ажилладаг + програмын нэр нь + <command>named</command> юм), мөн <application>Apache</application> вэб серверийн далд ажилладаг програмын нэр нь <command>httpd</command>, хэвлэх дарааллыг далд ажиллаж зохицуулж байдаг програмын нэр нь <command>lpd</command> гэх мэт нэртэй байдаг. +Энэ нь ерөнхийдөө ингэж зарчим гаргасан болохоос хатуу тогтоосон дүрэм биш; жишээлбэл захиа илгээгч үндсэн програм <application>Sendmail</application>-н далд ажилладаг програмыг та <command>maild</command> гэж төсөөлж байгаа бол эндүүрэх бөгөөд харин + <command>sendmail</command> гэж нэрлэдэг.</para> + + <para>Заримдаа та эдгээр дэмон процесуудтай холбогдож харилцах хэрэг гарна. Ийм хоорондох харилцааг <firstterm>дохио</firstterm> гэдэг + бөгөөд дэмонтой (эсвэл бусад ажиллаж байгаа процестой) харилцахын тулд дохио илгээж биелүүлдэг. Маш олон төрлийн илгээж болох дохионууд байдаг — зарим дохионууд онцгой зориулалттай нийтэд нь хэрэгждэг, зарим нь тухайн програмдаа зориулж өөр өөрөөр хөрвүүлэгддэг бөгөөд програмын заавар дээр ямар дохиог яаж хөрвүүлэн ойлгох вэ гэдгийг заасан байдаг. Та өөрийнхөө эзэшиж байгаа процес уруугаа дохио илгээж болно. Хэрэв та бусдын эзэмшдэг процес уруу &man.kill.1; эсвэл &man.kill.2; гэх зэрэг дохио илгээвэл таны эрх дутаж хэрэгждэггүй. + Гэхдээ ийм эрхээр дутагддаггүй хэрэглэгч бол + <username>root</username> хэрэглэгч бөгөөд хүн болгоны процес уруу дохио илгээж чаддаг.</para> + + <para>Мөн FreeBSD-ээс програм уруу зарим тохиолдолд дохио илгээдэг. Жишээлбэл, хэрэв муу зохиогдсон нэг програм санах ойг зориулсан хэмжээнээсээ илүү хэрэглээд эхлэвэл FreeBSD уг програм уруу <firstterm>Хэсгийн буруу + хэрэглээ</firstterm> дохио илгээдэг (<literal>SIGSEGV</literal>). Мөн хэрэв ямар нэгэн програм нь &man.alarm.3; гэдэг системийн сануулах програмыг ашигласан бол тухайн хугацаа нь хэтрэх үед Сэрүүлэг дохио уг програмд ирэх + (<literal>SIGALRM</literal>) зэрэг олон дохио бий.</para> + + <para>Процесийг зогсоох хоёр дохио байдаг, + <literal>SIGTERM</literal> ба <literal>SIGKILL</literal> хоёр. + <literal>SIGTERM</literal> нь арай эелдэг аргаар процесийг зогсоодог; процес нь эхлээд дохиог <emphasis>хүлээж аваад</emphasis> өөрийг нь хаах гэж байгаад мэдээд нээлттэй байгаа бүртгэл бичлэг файлуудаа хаагаад тэгээд хийж байгаа ерөнхий үйлдлээ зогсоодог. Зарим тохиолдолд уг процес нь таслагдаж болохооргүй үйлдэл хийж байх үедээ +<literal>SIGTERM</literal> дохиог хэрэгсэхгүй байдал үүсдэг.</para> + + <para><literal>SIGKILL</literal> дохиог ямар ч процес хэрэгсэхгүй байж чаддаггүй. Өөрөөр хэлбэл энэ нь + <quote>Чиний юу хийж байх нь надад хамаагүй, одоо шууд зогсоо</quote> + гэсэн дохио юм. Хэрэв та <literal>SIGKILL</literal> дохиог процес уруу илгээвэл + FreeBSD уг процесыг зогсоодог <footnote> + <para>Бас тэр чигээрээ үнэн биш—учир нь зарим таслагдаж болдоггүй нөхцлүүд байдаг. Жишээлбэл, хэрэв сүлжээнд байгаа компьютерийн нэг файлаас унших үйлдэл хийж байгаа процес нь, хэрэв холбогдсон компьютер нь тодорхойгүй шалтгаанаар холбогдохгүй болох үед (цахилгаан тэжээлээс салгагдах, эсвэл сүлжээ эвдрэх), уг процес нь + <quote>тасрахгүй</quote> нөхцөлд байдаг. Магадгүй хэсэг хугацааны дараа хүлээх хугацаа нь дуусна. Ингэж хүлээх хугацаа нь дууссаны дараа л уг процес зогсох болно.</para> + </footnote>.</para> + + <para>Таны хэрэглэж болохоор бусад дохионууд нь + <literal>SIGHUP</literal>, <literal>SIGUSR1</literal>, мөн + <literal>SIGUSR2</literal>. Эдгээр дохио нь ерөнхий зориулалтаар хэрэглэгддэг бөгөөд эдгээр дохиог хүлээж авсан програмууд тус тусдаа өөр өөр хариу үйлдэл хийдэг.</para> + + <para>Жишээлбэл, та вэб серверийнхээ тохируулгын файланд өөрчлөлт хийгээд уг серверийг тохируулгын файлаа дахин шинээр уншуулахыг хүссэн гэж бодъё. Та <command>httpd</command> дэмоноо зогсоогоод дахин шинээр эхлүүлж болох боловч ажиллаж байгаа вэб серверийг зогсоож болохгүй нөхцөл байж болно. Ихэнх дэмонууд нь + <literal>SIGHUP</literal> дохиог хүлээж авбал өөрийнхөө тохируулгынхаа файлыг уншина гэж тохируулагдсан байдаг. Тэгэхээр <command>httpd</command> дэмоноо зогсоогоод шинээр ачаалж байхын оронд + <literal>SIGHUP</literal> дохиог илгээхэд хангалттай. Учир нь энэ дохионд тэгж хариулна гэсэн тогтоосон арга зам байхгүй тул дэмон болгон өөр өөр үйлчлэл үзүүлдгийг ойлгож тухайн дэмоны заавар бичгийг нь судлах хэрэгтэй. </para> + + <para>дохио илгээхдээ &man.kill.1; тушаалыг ашигладаг. </para> + + <procedure> + <title>Процес уруу дохио илгээх</title> + + <para>Энэ жишээ нь &man.inetd.8; уруу хэрхэн дохио илгээхийг харуулах болно. + <command>inetd</command> -н тохируулгын файл + <filename>/etc/inetd.conf</filename> гэж байрласан бөгөөд <command>inetd</command>-ийг тохируулгын файлаа дахин уншуулахын тулд <literal>SIGHUP</literal> дохиог илгээх болно.</para> + + <step> + <para>Илгээх процесийн процес ID дугаарыг мэдэх хэрэгтэй. Ингэхийн тулд &man.ps.1; ба &man.grep.1; тушаалуудыг ашиглана. &man.grep.1; + тушаал нь өмнөх тушаалынхаа гаралтаас хайлт хийхэд хэрэглэгддэг бөгөөд хайх мөрөө зааж өгдөг. Энэ тушаал нь энгийн хэрэглэгчээс гүйцэтгэгдэж болох бөгөөд харин &man.inetd.8; програм нь + <username>root</username> хэрэглэгчээр гүйцэтгэгдсэн тул &man.ps.1; тушаалыг <option>ax</option> сонголттой цуг гүйцэтгэх ёстой.</para> + + <screen>&prompt.user; <userinput>ps -ax | grep inetd</userinput> + 198 ?? IWs 0:00.00 inetd -wW</screen> + + <para>За тэгэхээр, &man.inetd.8;-ийн PID дугаар нь 198 гэж энэ тохиолдолд хэлж байна. Зарим тохиолдолд + <literal>grep inetd</literal> гэсэн тушаал нь өөрөө энэ гаралтад байж байдаг. Учир нь, &man.ps.1; програм нь уг тушаалыг ажиллуулж байгаа процесийг олсон үед тэгж гаргаж харуулдаг.</para> + </step> + + <step> + <para>&man.kill.1; тушаалыг хэрэглэж дохио илгээнэ. &man.inetd.8; нь + <username>root</username> хэрэглэгчээр гүйцэтгэгдэж байгаа болохоор, та эхлээд &man.su.1; тушаалыг ашиглан + <username>root</username> хэрэглэгч болох хэрэгтэй.</para> + + <screen>&prompt.user; <userinput>su</userinput> +<prompt>Password:</prompt> +&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen> + + <para>Ихэнх &unix; системийн тушаалуудын адил, &man.kill.1; тушаал нь хэрэв амжилттай хэрэгжвэл ямар нэгэн төлвийн мэдээлэл харуулдаггүй. Хэрэв та өөрийнхөө эзэмшдэггүй процес уруу дохио илгээвэл <errorname>kill: + <replaceable>PID</replaceable>: Operation not + permitted</errorname> буюу энэ үйлдлийг хийх эрх байхгүй байна гэсэн мэдэгдэл гарч ирнэ. Хэрэв та PID дугаараа буруу бичих, эсвэл буруу процесс уруу дохио илгээвэл, азгүй тохиолдолд уг дохио нь тухайн процес уруу илгээгдэх бөгөөд, уг процес нь азаар байхгүй байгаа тохиолдолд <errorname>kill: + <replaceable>PID</replaceable>: No such process</errorname> буюу тийм процес алга байна гэсэн мэдэгдэл гарч ирнэ.</para> + + <note> + <title>Яагаад <command>/bin/kill</command> тушаалыг хэрэглэх хэрэгтэй вэ?</title> + + <para>Ихэнх shells буюу бүрхүүлүүд <command>kill</command> тушаалыг өөртөө агуулсан байдаг бөгөөд <filename>/bin/kill</filename> тушаалыг бичихийн оронд шууд бүрхүүлд буй тушаалыг нь гүйцэтгэх нь шулуухан байдаг. + Энэ нь амарчилсан ашигтай арга боловч бүрхүүл болгон өөрсдийн илгээх дохионы өөр өөр нэртэй байдгийг мэдэх хэрэгтэй. Тийм болохоор бүрхүүл болгоны дохионы бичлэгийг судлахын оронд шууд + <command>/bin/kill <replaceable>...</replaceable></command> тушаалыг хэрэглэх нь зөв арга юм.</para> + </note> + </step> + </procedure> + + <para>Бусад дохио илгээх үйлдлүүд нь үүнтэй тун ижил бөгөөд + <literal>TERM</literal> эсвэл <literal>KILL</literal> дохионуудын оронд шаардлагатай дохиогоо бичих хэрэгтэй.</para> + + <important> + <para>Санаанд орсон тоотой дохио болгоныг устгана гэдэг бол буруу санаа юм. &man.init.8; процес ялангуяа 1 гэсэн процес ID байх нь онцгой тохиолдол. Тийм болохоор + <command>/bin/kill -s KILL 1</command> гэвэл системийг шууд унтраана. &man.kill.1; тушаалыг гүйцэтгэхээсээ өмнө <keycap>Return</keycap> товч дарахынхаа <emphasis>өмнө</emphasis> <emphasis>үргэлж</emphasis> ямар процес уруу ямар дохио илгээж байгаагаа давхар шалгах хэрэгтэй.</para> + </important> + </sect1> + + <sect1 id="shells"> + <title>Shell буюу бүрхүүл</title> + <indexterm><primary>бүрхүүл</primary></indexterm> + <indexterm><primary>тушаал өгөх орчин</primary></indexterm> + + <para>FreeBSD дээр маш олон ажил тушаал бичиж оруулдаг shell буюу бүрхүүл хэмээх орчинд хийгддэг. Бүрхүүлийн гол үүрэг нь гарнаас оруулсан тушаалыг гүйцэтгэх юм. Өдөр болгон гүйцэтгэхэд шаардагддаг файл зохицуулах, тушаал оруулагч мөрийг засварлах, тушаалын багц, орчны хувьсагч зэрэг туслах тушаалуудыг олон бүрхүүлүүд агуулж байдаг. FreeBSD нь + <command>sh</command> буюу Bourne Shell, мөн <command>tcsh</command> буюу + сайжруулсан C-shell зэрэг багц бүрхүүлүүдтэй хамт ирдэг. <command>zsh</command> болон <command>bash</command> зэрэг маш олон бүрхүүлүүд FreeBSD-ийн портын цуглуулганд ирдэг.</para> + + <para>Та ямар бүрхүүл хэрэглэдэг вэ? Энэ бол тухайн хүний дур сонирхолтой хамаатай. Хэрэв та C програмын хэл дээр програм бичдэг бол C-тэй адилхан бичигддэг <command>tcsh</command> төрлийн бүрхүүлд дуртай болж болох юм. Хэрэв та Linux системээс ирсэн юмуу эсвэл &unix;-ийн тушаалуудтай дөнгөж танилцаж байгаа шинэ хүн бол <command>bash</command> бүрхүүлээр эхлэх нь амар байж болох юм. + Хамгийн гол нь бүрхүүл болгон өөрийн гэсэн онцгой шинж чанартай болохоор өөрийнхөө хүсэл зорилгод тааруулж бүрхүүлээ сонгож дадах нь чухал.</para> + + <para>Бүрхүүлийн хамгийн энгийн чадвар бол файлын нэрийн автомат гүйцэтгэл юм. Тушаал юмуу файлын эхний хэдхэн үсгийг бичээд гарын <keycap>Tab</keycap> товчийг дарахад уг үсгээр эхэлсэн файлын нэрийг танд гүйцээж бичиж өгдөг. Энд нэг жишээ авч үзье. + Танд <filename>foobar</filename> болон <filename>foo.bar</filename> гэсэн хоёр файл байгаа гэж бодъё. Та + <filename>foo.bar</filename> файлыг устгахыг хүсэв. Тэгвэл та компьютерийнхээ гаран дээр ингэж бичих болно: <command>rm fo[<keycap>Tab</keycap>].[<keycap>Tab</keycap>]</command>.</para> + + <para>Бүрхүүл танд ингэж харуулна <command>rm + foo[BEEP].bar</command>.</para> + + <para>[BEEP] гэдэг нь консолоос гаргаж байгаа хонхны дуу бөгөөд ингэж эхэлсэн файлын нэр нэгээс олон байгааг танд мэдэгдэж байгаа юм. <filename>foobar</filename> болон + <filename>foo.bar</filename> хоёр хоёулаа <literal>fo</literal> гэж эхэлж байгаа ч гэсэн + <literal>foo</literal> гэж танд дүүргэж өгдөг. Хэрэв та + <literal>.</literal> гэж бичээд <keycap>Tab</keycap> дахин дарвал бүрхүүл танд уг хүссэн файлын тань нэрийг гүйцээж өгдөг.</para> + <indexterm><primary>орчны хувьсагчид</primary></indexterm> + + <para>Бүрхүүлийн бас нэг шинж чанар бол орчны хувьсагчийн хэрэглээ юм. + Орчны хувьсагч гэдэг нь бүрхүүлийн орчинд хадгалагддаг, нэрэнд утга өгсөн хослол байдаг. Энэ бүрхүүлийн орчин нь уг бүрхүүлээс гүйцэтгэгдэж байгаа бүх програм болон програмын тохируулганд харагдаж байдаг. Байнга хэрэглэгддэг ерөнхий орчны хувьсагчдыг дор жагсааж тайлбарлав:</para> + <indexterm><primary>environment variables</primary></indexterm> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Хувьсагч</entry> + <entry>Тодорхойлолт</entry> + </row> + </thead> + + <tbody> + <row> + <entry><envar>USER</envar></entry> + <entry>Холбогдсон байгаа тухайн хэрэглэгчийн нэр.</entry> + </row> + + <row> + <entry><envar>PATH</envar></entry> + <entry>Ачаалагдаж болдог хоёртын файлуудыг агуулдаг сангуудыг таслалаар тусгаарлаж бичсэн жагсаалт.</entry> + </row> + + <row> + <entry><envar>DISPLAY</envar></entry> + <entry>Хэрэв холбогдох боломжтой бол, X11 дэлгэцийн сүлжээгээр холбогдох цэг.</entry> + </row> + + <row> + <entry><envar>SHELL</envar></entry> + <entry>Хэрэглэж байгаа shell буюу бүрхүүл.</entry> + </row> + + <row> + <entry><envar>TERM</envar></entry> + <entry>Хэрэглэгчийн тэрминалын нэр. Тэрминалын шинж чанарыг тодорхойлоход хэрэглэгддэг.</entry> + </row> + + <row> + <entry><envar>TERMCAP</envar></entry> + <entry>Төрөл бүрийн тэрминалуудад алгасах ёстой кодуудын өгөгдлийн бааз.</entry> + </row> + + <row> + <entry><envar>OSTYPE</envar></entry> + <entry>Үйлдлийн системийн төрөл. жишээ нь, FreeBSD.</entry> + </row> + + <row> + <entry><envar>MACHTYPE</envar></entry> + <entry>Системийн ажиллаж байгаа процессорын архитектур.</entry> + </row> + + <row> + <entry><envar>EDITOR</envar></entry> + <entry>Хэрэглэгчийн эрхэмлэж хэрэглэгдэг текст засварлагч.</entry> + </row> + + <row> + <entry><envar>PAGER</envar></entry> + <entry>Хэрэглэгчийн эрхэмлэж хэрэглэдэг пэйжер.</entry> + </row> + + <row> + <entry><envar>MANPATH</envar></entry> + <entry>Таслалаар тусгаарлаж жагсаасан, гарын авлагын хуудсуудыг агуулсан хайх сангууд.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <indexterm><primary>Bourne shells</primary></indexterm> + <para>Бүрхүүл болгонд орчны хувьсагчаа өөр өөр тохируулдаг. Жишээлбэл, C-маягийн бүрхүүл + <command>tcsh</command> болон <command>csh</command> дээр, та + <command>setenv</command> тушаалыг ашиглаж орчны хувьсагчийг зааж өгдөг. + Bourne төрлийн бүрхүүлүүд болох <command>sh</command> болон + <command>bash</command> дээр, та + <command>export</command> тушаалыг ашиглаж орчны хувьсагчийг зааж өгнө. Жишээ нь, орчны хувьсагч + <envar>EDITOR</envar>-г өөрчлөх юмуу зааж өгөхийн тулд <command>csh</command> юмуу эсвэл + <command>tcsh</command> бүрхүүл дээр + <envar>EDITOR</envar> хувьсагчид + <filename>/usr/local/bin/emacs</filename> утгыг өгөхийн тулд:</para> + + <screen>&prompt.user; <userinput>setenv EDITOR /usr/local/bin/emacs</userinput></screen> + + <para>Bourne бүрхүүлүүд дээр:</para> + + <screen>&prompt.user; <userinput>export EDITOR="/usr/local/bin/emacs"</userinput></screen> + + <para>Ихэнх бүрхүүлийн орчны хувьсагчийн утгыг харахын тулд хувьсагчийн нэрний урд + <literal>$</literal> тэмдгийг хэрэглэж харна. Жишээ нь, <command>echo $TERM</command> гэсэн тушаал нь + <envar>$TERM</envar> хувьсагчид ямар утга байгааг консол дээр харуулна. Учир нь, бүрхүүл + <envar>$TERM</envar> дотор буй утгыг <command>echo</command> тушаалд дамжуулж өгсөнөөр консол дээр харуулагддаг.</para> + + <para>Бүрхүүл маш олон тэмдэгтийг тусгай зориулалтаар өгөгдлийг илэрхийлэхдээ хэрэглэдэг бөгөөд тэдгээр тэмдэгтийг мета-тэмдэгтүүд гэж нэрлэдэг. Байнга хэрэглэгддэг тэмдэгтийн нэг нь + <literal>*</literal> юм. Энэ тэмдэгт нь файлын нэрэнд байгаа тэмдэгтүүдийг хэд ч байсан хамаагүй орохыг илэрхийлдэг. Тэдгээр мета-тэмдэгтүүд нь файлын нэрийг орлуулахад байнга хэрэглэгддэг. Жишээлбэл, + <command>echo *</command> гэсэн тушаал нь + <command>ls</command> тушаалтай ижилхэн үүрэг гүйцэтгэх бөгөөд, яагаад гэвэл бүрхүүл нь <literal>*</literal> тэмдэгтэд тохирох бүх файлуудыг авч + <command>echo</command> тушаал руу дамжуулж харуулдаг.</para> + + <para>Бүрхүүл дээр мета-тэмдэгтүүдийг хэрэв тухайн онцгой тохиолдлоор нь биш харин зүгээр тэмдэгт хэлбэрээр нь хэрэглэхийг хүсвэл, уг тэмдэгтийн урд ташуу зураасыг + (<literal>\</literal>) бичиж өгдөг. <command>echo + $TERM</command> гэсэн тушаал нь ямар тэрминал заагдсан байгааг харуулна. Харин + <command>echo \$TERM</command> тушаал нь ердөө <envar>$TERM</envar> гэж харуулна.</para> + + <sect2 id="changing-shells"> + <title>Өөрийнхөө бүрхүүлийг солих</title> + + <para>Бүрхүүлээ буюу shell-ээ солих хамгийн амархан арга бол + <command>chsh</command> тушаалыг хэрэглэх юм. <command>chsh</command> тушаал нь + таныг <envar>EDITOR</envar> орчны хувьсагчид заагдсан засварлагч уруу оруулдаг бөгөөд + хэрэв энэ хувьсагчид утга заагдаагүй байвал шууд + <command>vi</command> засварлагчийг ажиллуулдаг. Тэгээд та <quote>Shell:</quote> мөрөнд + буй утгыг өөрчилж бүрхүүлээ өөрчилнө.</para> + + <para>Та мөн <command>chsh</command> тушаалыг + <option>-s</option> сонголттой хэрэглэж болох бөгөөд ингэсэн үед + нэмэлт засварлагч нээлгүйгээр шууд бүрхүүлийг өөрчилдөг. + Жишээ нь та өөрийнхөө бүрхүүлийг <command>bash</command> бүрхүүлээр + солихыг хүсвэл дараа тушаалыг өгөх болно:</para> + + <screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen> + + <note> + <para>Таны хэрэглэхийг хүсэж байгаа бүрхүүл тань + <filename>/etc/shells</filename> файл дотор <emphasis>заавал</emphasis> + байх ёстой. Хэрэв та <link linkend="ports">портын цуглуулгаас + </link> бүрхүүл суулгасан бол энэ нь автоматаар хийгдчихдэг. Харин та + гар аргаар ямар нэг бүрхүүл суулгавал энэ файлд өөрөө нэмэх хэрэгтэй.</para> + + <para>Жишээ нь та <command>bash</command> бүрхүүлийг гар аргаар суулгаад + <filename>/usr/local/bin</filename> байршилд байрлуулсан бол дараах тушаалыг + өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>echo "/usr/local/bin/bash" >> /etc/shells</userinput></screen> + + <para>Тэгээд дараа нь <command>chsh</command> тушаалыг хэрэглэх хэрэгтэй.</para> + </note> + </sect2> + </sect1> + + <sect1 id="editors"> + <title>Текст засварлагчид</title> + <indexterm><primary>текст засварлагчид</primary></indexterm> + <indexterm><primary>засварлагчид</primary></indexterm> + + <para>FreeBSD дээр текст файлуудыг засварлаж маш олон тохиргоонуудыг хийдэг. + Тийм болохоор та текст засварлагч дээр гаршиж сурах нь чухал. + FreeBSD нь үндсэн хэдэн засварлагчтай хамт ирдэг бөгөөд портын цуглуулга + дээрээ бол олон зуун засварлагчтай.</para> + + <indexterm> + <primary><command>ee</command></primary> + </indexterm> + <indexterm> + <primary>засварлагчид</primary> + <secondary><command>ee</command></secondary> + </indexterm> + <para>Хамгийн амархан бөгөөд сурахад хялбар засварлагч бол + <application>ee</application> бөгөөд easy editor буюу хялбар засварлагч гэдгийг + товчилсон нэр юм. <application>ee</application>-г эхлүүлэхийн тулд тушаал бичих + мөрөнд <command>ee <replaceable>файлын-нэр</replaceable></command> гэж бичих бөгөөд + <replaceable>файлын-нэр</replaceable> нь засварлагдах файлын нэр. + Жишээ нь, <filename>/etc/rc.conf</filename> файлыг засварлахын тулд + <command>ee /etc/rc.conf</command> гэж бичнэ. + <command>ee</command> засварлагч дотроо дээд хэсэгт нь програмыг хэрэглэх + заавар нь бичээстэй байдаг. <literal>^</literal> гэсэн тэмдэг нь гарын + <keycap>Ctrl</keycap> товчийг илэрхийлдэг бөгөөд <literal>^e</literal> гэдэг нь + <keycombo action="simul"><keycap>Ctrl</keycap><keycap>e</keycap></keycombo> гэсэн + гарын товчлол юм. + <application>ee</application> програмаас гарахын тулд <keycap>Esc</keycap> товч + дараад leave editor буюу засварлагчаас гарна гэдгийг сонгох хэрэгтэй. + Хэрэв файлд өөрчлөлт орсон бол гарахаас өмнө хадгалах эсэхийг лавлаж асуух болно.</para> + + <indexterm> + <primary><command>vi</command></primary> + </indexterm> + <indexterm> + <primary>засварлагчид</primary> + <secondary><command>vi</command></secondary> + </indexterm> + <indexterm> + <primary><command>emacs</command></primary> + </indexterm> + <indexterm> + <primary>editors</primary> + <secondary><command>emacs</command></secondary> + </indexterm> + <para>Мөн FreeBSD нь + <application>vi</application> гэсэн хүчирхэг засварлагчийг системийн + үндсэн хэсэгтэй цуг зөөвөрлөдөг бөгөөд бас + <application>Emacs</application> болон <application>vim</application> зэрэг + зaсварлагчдыг FreeBSD Портын цуглуулгадаа багтаасан байдаг + (<filename role="package">editors/emacs</filename> болон <filename role="package">editors/vim</filename>). + Эдгээр засварлагчид нь ажиллах хүчин чадвараараа илүү боловч сурахад арай илүү төвөгтэй байдаг. + Гэвч та текст файлыг засварлахад маш их хөдөлмөр гаргахаар бол + <application>vim</application> эсвэл <application>Emacs</application> + програмуудыг сурсанаар таны цаг болон хөдөлмөрийг цаашид улам илүү хөнгөвчлөх болно.</para> + </sect1> + + <sect1 id="basics-devices"> + <title>Төхөөрөмж ба төхөөрөмжийн цэгүүд</title> + + <para>Төхөөрөмж гэдэг ойлголт нь голдуу + системд буй төхөөрөмж болох диск, хэвлэгч, график карт, + мөн гар зэрэг ордог. FreeBSD эхэлж ачаалах үедээ, + гол чухал таньсан төхөөрөмжүүдээ харуулдаг. + Ингэж эхлэхдээ харуулсан бичлэгийг та дахин харахыг хүсвэл + <filename>/var/run/dmesg.boot</filename> файлыг хараарай.</para> + + <para>Жишээ нь, <devicename>acd0</devicename> гэдэг нь + эхний IDE CDROM төхөөрөмж байхад, <devicename>kbd0</devicename> + гэдэг нь гарыг илэрхийлж байдаг.</para> + + <para> &unix; үйлдлийн систем нь эдгээр төхөөрөмж уруу хандахдаа + төхөөрөмжийн цэг гэж нэрлэгдэх тусгай файл уруу ханддаг. Эдгээр + төхөөрөмжийн цэгүүд нь + <filename>/dev</filename> санд байдаг.</para> + + <sect2> + <title>Төхөөрөмжийн цэг үүсгэх</title> + <para>Хэрэв системд шинэ төхөөрөмж нэмэгдвэл, эсвэл нэмэлт + төхөөрөмжид зориулсан шаардлага гарвал шинэ төхөөрөмжийн цэг үүсгэх ёстой.</para> + + <sect3> + <title><literal>DEVFS</literal> (DEVice File System буюу төхөөрөмжийн файл систем)</title> + + <para> Төхөөрөмжийн файл систем буюу <literal>DEVFS</literal> нь ерөнхий файлын + системийн нэрийн талбарын цөм дахь төхөөрөмжийн нэрийн талбарт хандах боломжийг өгдөг. + Төхөөрөмжийн цэгийг үүсгэх эсвэл өөрчлөх зэрэг үйлдлийг + <literal>DEVFS</literal> нь бидэнд хийж өгч амар болгож өгдөг.</para> + + <para>&man.devfs.5; гарын авлагаас нэмэлт мэдээллийг харна уу.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="binary-formats"> + <title>Хоёртын хэлбэрүүд</title> + + <para>&os; яагаад &man.elf.5; хэлбэр хэрэглэдгийг ойлгохын тулд, та + ачаалагдаж ажилладаг файлын төрлөөс &unix; дээр <quote>ноёлдог</quote> гурван + хэлбэрийг мэдэх ёстой:</para> + + <itemizedlist> + <listitem> + <para>&man.a.out.5;</para> + + <para>&unix;-н хамгийн хуучин бөгөөд <quote>сонгодог</quote> + ачаалагддаг файлын хэлбэр. Энэ нь эхэн хэсэгтээ өөрийнхөө + хэлбэрийг таниулах зориулалттай шидэт дугаар агуулж байдаг + (&man.a.out.5; хуудаснаас дэлгэрэнгүй мэдээлэл авна уу). + Ачаалагдсан үедээ санах ойд гурван хэсэгт хуваагддаг: + .text, .data, мөн .bss бөгөөд дээрээс нь хэрэглэгдэх + обьектуудыг агуулсан хүснэгт мөн мөрийн хүснэгтийг агуулж байдаг.</para> + </listitem> + + <listitem> + <para><acronym>COFF</acronym></para> + + <para>SVR3 обьект хэлбэр. Толгой хэсэгтээ тодорхой зориулалттай + хүснэгт агуулж байдаг. Тийм болохоор зөвхөн .text, .data, + болон .bss хэсгүүдээс гадна нэмэлт зүйлс агуулж чадна.</para> + </listitem> + + <listitem> + <para>&man.elf.5;</para> + + <para><acronym>COFF</acronym>-н дараагийн үе. Энэ нь + олон хэсэг агуулахаас гадна 32-бит эсвэл 64-битийн утга агуулах + чадвартай. Нэг муу тал бий: <acronym>ELF</acronym> нь тухайн системийн + архитектурд зөвхөн ганцхан ABI байгаа гэж авч үздэг. + SYSV ертөнц (хамгийн багадаа гурван ABI агуулж байдаг: SVR4, Solaris, SCO) + байсаар байхад ингэж авч үзэх нь буруу юм.</para> + + <para> + FreeBSD нь энэ хүндрэлийг, ABI-н мэдээлэл агуулсан + ачаалагддаг <acronym>ELF</acronym> файлуудыг зохицуулдаг + <emphasis>branding</emphasis> хэрэгслийг ашиглаж сайжруулахыг боддог. + Нэмэлт мэдээллийг + &man.brandelf.1; хуудаснаас харна уу.</para> + </listitem> + </itemizedlist> + + <para>FreeBSD нь хуучны <quote>сонгодог</quote> отгоос салбарлаж гарсан тул + &man.a.out.5; хэлбэрийг хэрэглэж байсан бөгөөд энэ хэлбэрээ 3.X салбар + гарах хүртэл маш олон BSD хувилбартаа ашиглаж байжээ. + Хэдийгээр FreeBSD дээр өмнө нь <acronym>ELF</acronym> хоёртын хэлбэрийг + хөрвүүлж мөн ажиллуулж (цөм дээр ч гэсэн) болдог байсан ч, + FreeBSD нь анхнаасаа <acronym>ELF</acronym> хэлбэрийг анхдагч хэлбэрээ + болгохыг <quote>татгалзсан</quote> билээ. Яагаад? Учир нь, + Линукс систем нь хуваалцдаг кодын сан буюу <quote>Shared-Libraries</quote> + -д зориулсан үсэрч ажилладаг хүснэгт, мөн түүнийг + хөгжүүлэгчид болон байгууллагад хүндрэлтэй байдаг шалтгаанаар + <filename>a.out</filename> хэлбэрээс зайлсхийж <acronym>ELF</acronym> + хэлбэр рүү шилжих гэж нүсэр хүнд хөдөлмөр зарсан юм. + <acronym>ELF</acronym> хэлбэр нь хуваалцдаг кодын сан буюу <quote>Shared-Libraries</quote> + хүндрэлийг давах боломж олгосон хэрэгсүүдийг санал болгосон бөгөөд тэгээд ч хөгжлийн + явцад <quote>нэг алхам урд нь</quote> явж байгааг бодож мөн нэг хэлбэрээс + нөгөө хэлбэрт шилжүүлэх үйл явцад гарах хүнд зардал байсан ч шилжүүлэхээр шийдсэн юм. + + FreeBSD-н кодын санг хуваалцах зарчим нь Sun-н + &sunos; загвартай ижил бөгөөд хэрэглэхэд тун хялбар.</para> + + <para>Тэгэхээр, яагаад ийм олон хэлбэр байдаг юм бэ?</para> + + <para>Энэ асуултанд хариулахын тулд хуучны, энгийн ажиллах зарчимтай төхөөрөмж + хэрэглэж байсан бүүдгэр өнгөрсөн цаг уруу буцацгаая. + Энэ энгийн төхөөрөмж нь энгийн жижигхэн систем дээр л ажиллахыг хүснэ. + <filename>a.out</filename> нь (PDP-11) төрлийн иймэрхүү энгийн систем + дээр бүгдийг нь хангаж байлаа. Хүмүүс &unix; системийг ийм энгийн + системээс үүсгэсэн болохоор + хуучны загвар болох Motorola 68k, VAXen зэрэг системтэй зохицохын тулд + <filename>a.out</filename> хэлбэрийг үлдээсэн юм.</para> + + <para>Тэгтэл дараа нь нэг сүрхий инженер хөвүүн, + зохиогдсон төхөөрөмжийн зарим ажиллах сул талыг нөхөж процессорыг илүү хурдан + ажиллуулах хөнгөхөн програм бичжээ. + Энэ програм нь шинэ төрлийн архитектурт (тэр үедээ <acronym>RISC</acronym> гэж + нэрлэгддэг байсан архитектур) зориулан ажиллахаар бичигдсэн болохоор <filename>a.out</filename> + хэлбэр нь энэ төхөөрөмжид тохиромжгүй болон хангахуйц сайн биш болж ирэв. + Тийм болохоор энэ шинэ төхөөрөмжтэй илүү үр дүнтэй ажиллахын тулд + илүү олон хэлбэрүүд шинэ загварт зориулж зохиогдож байсан бөгөөд хуучин төрөлд бол + энгийн <filename>a.out</filename> төрлийг санал болгож болох юм. + <acronym>COFF</acronym>, <acronym>ECOFF</acronym> мөн өөр илүү хэд хэдэн + хэлбэр нь алдаануудаа нөхөн дэс дараалан үүсгэгдсээр + <acronym>ELF</acronym> хүртэл хөгжжээ.</para> + + <para> + Мөн цаашлаад програмын хэмжээ хэдийгээр ихэссэн ч дискийн (мөн + санах ойн) хэмжээ харьцангуй бага байсан болохоор хуваалцаж + болдог кодын сангийн <quote>Shared-Libraries</quote> санаа үүссэн юм. + Мөн VM системүүд сайн + хөгжиж эхлэв. Хэдийгээр эдгээр сайжруулалт болгон + <filename>a.out</filename> хэлбэрийг хэрэглэж байсан ч, шинэ + боломжууд үүсэх тоолонд энэ хэлбэрийг хэрэглэхгүй болж ирэх нь + улам ихэссэн билээ. Мөн түүнчлэн, санах ойг хэмнэх үүднээс + эхлэн ачаалсны дараа өөр тийшээ үсрэх юмуу эсвэл явцын дунд + код нэмэгдэж болох загваруудыг хүмүүс сонирхож эхлэв. + Програмын хэлүүд улам сайжирч хүмүүс програмын үндсэн хэсгийг автоматжуулсан + код хүсэх болжээ. Энэ бүх боломжуудыг биелүүлэх гэж + <filename>a.out</filename> хэлбэрийг маш их олон янзаар яргалсан бөгөөд хэсэгтээ + л энэ нь ажилладаг байв. Нэг мэдэхэд <filename>a.out</filename> + хэлбэр нь ихсэж буй бүх хүндрэлийг зохицуулж чадахааргүй + бичлэгийн төвөгтэй болон хэрэглэхэд хэцүү байдалд хүрсэн байна. + Хэдийгээр энэ хүндрэлүүдийг <acronym>ELF</acronym> хэлбэр нь + давдаг боловч шилжих явц нь маш хүндрэлтэй байдаг. + Тийм болохоор <acronym>ELF</acronym> хэлбэр руу шилжих төвөг нь + <filename>a.out</filename> хэлбэрийг хэрэглэх төвөгөөс их байвал + <acronym>ELF</acronym> хэлбэр нь хүлээгдэхээс өөр аргаггүй болжээ.</para> + + <para> + Гэвч цаг хугацаа өнгөрсөөр, FreeBSD ба түүний уламжилж гарсан системийн + хөрвүүлэх хэрэгсэл нь (ялангуяа асемблер болон дуудагч буюу loader) хоёр замаар + зэрэг хөгжсөөр байв. FreeBSD салаа нь кодын хуваалцдаг санг нэмж мөн зарим алдааг + нь залруулсан байна. Үүнийг анх бичсэн GNU-н ард түмэн уг кодоо шинэчлэж дахин + бичээд янз бүрийн хэлбэрүүдийг нэмж болдог болгоод мөн хөрвүүлэгчээс + хамааралгүй хөрвүүлэгддэг болгох зэрэг цааш нь хөгжүүлжээ. + Хэдийгээр маш олон хүн FreeBSD дээр хөрвүүлэгчээс хамаарахгүй + хөрвүүлэхийг хүссэн боловч FreeBSD-н <application>as</application> болон + <application>ld</application>-д зориулсан хуучин кодноос болоод + азгүйтжээ. GNU-н шинэ хэрэгслүүд нь (<application>binutils</application>) + хөрвүүлэгчээс хамааралгүй, <acronym>ELF</acronym>, + кодын хуваалцдаг сан, C++ өргөтгөл зэргүүдийг хөрвүүлж чаддаг болжээ. + Мөн цаашлаад маш олон байгууллагууд + <acronym>ELF</acronym> хэлбэртэй хоёртын програмуудыг гаргаж эхэлсэн тул + тэдгээрийг хэрэглэхийн тулд FreeBSD уг хэлбэрийг дэмжих нь зөв гэж шийдсэн юм.</para> + + <para><acronym>ELF</acronym> хэлбэр нь <filename>a.out</filename> хэлбэрийг бодвол + илүү өргөн хүрээтэй бөгөөд үндсэн системийг илүү өргөжүүлдэг. + <acronym>ELF</acronym> хэрэгслүүд нь маш сайн зохион байгуулагдсан бөгөөд + хөрвүүлэгчээс хамаардаггүй болохоор хүмүүсийн хүсэлд яг тохирдог. + <acronym>ELF</acronym> нь <filename>a.out</filename> хэлбэрийг бодвол жаахан + удаан байж болох боловч үүнийг хэмжиж тодорхойлно гэдэг нь хэцүү билээ. + Мөн энэ хоёрыг санах ойд хуудас зохицуулах, эхлэн ажиллах зарчим зэргийг нь харьцуулсан + маш олон шинж чанарууд байдаг. Тэдгээр шинж чанарууд нь тийм ч чухал биш бөгөөд + энэ нь зөвхөн ялгаа нь билээ. Одоо бол + <filename>a.out</filename> хэлбэр нь <filename>GENERIC</filename> + цөмөөс хасагдсан бөгөөд <filename>a.out</filename> хэлбэрийг ажиллуулдаг байсан цөм нь + хуучны цөмд тооцогдоно.</para> + </sect1> + + <sect1 id="basics-more-information"> + <title>Нэмэлт мэдээлэл олж авах нь</title> + + <sect2 id="basics-man"> + <title>Гарын авлага</title> + <indexterm><primary>гарын авлага</primary></indexterm> + + <para>Ихэнх дэлгэрэнгүй мэдээллүүд нь FreeBSD дээр гарын авлага хэлбэрээр + оршиж байдаг. Систем дээр ажиллаж байгаа бараг бүх програмууд нь ажиллах болон + авдаг шинж чанараа тодорхойлсон товч заавар буюу гарын авлагатай хамт ирдэг. + Тийм гарын авлагыг <command>man</command> тушаалаар харна. + <command>man</command> тушаалын хэрэглээ нь тун хялбар:</para> + + <screen>&prompt.user; <userinput>man <replaceable>тушаал</replaceable></userinput></screen> + + <para><literal>тушаал</literal> нь судлаж уншихыг хүссэн тушаалын нэр байх ёстой. + Жишээлэлбэл <command>ls</command> тушаалын тухай мэдээлэл харахыг хүсвэл:</para> + + <screen>&prompt.user; <userinput>man ls</userinput></screen> + + <para>Гарын авлага нь дотроо дараах хэсгүүдэд дугаарлагдаж хуваагддаг:</para> + + <orderedlist> + <listitem> + <para>Хэрэглэгчийн тушаал.</para> + </listitem> + + <listitem> + <para>Системийн дуудлага болон алдааны дугаар.</para> + </listitem> + + <listitem> + <para>C програмын хэлний санд байрлах функц нь.</para> + </listitem> + + <listitem> + <para>Төхөөрөмжийн драйвер.</para> + </listitem> + + <listitem> + <para>Файлын хэлбэр.</para> + </listitem> + + <listitem> + <para>Тоглоом болон бусад салбар.</para> + </listitem> + + <listitem> + <para>Төрөл бүрийн бусад мэдээлэл.</para> + </listitem> + + <listitem> + <para>Системээс санаа тавьж үйлдэх тушаал.</para> + </listitem> + + <listitem> + <para>Цөм хөгжүүлэгч.</para> + </listitem> + </orderedlist> + + <para>Зарим тохиолдолд гарын авлагын зарим бүлэг нь саяны хуваасан хэсэгт бүрд + ижил байдэг. Жишээлбэл <command>chmod</command> тушаалыг хэрэглэгч нэг янзаар хэрэглэж + байхад систем бас <function>chmod()</function> тушаалыг өөр зорилгоор хэрэглэдэг. + Энэ тохиролдолд та системд аль сэдвээ сонгож байгаагаа ойлгуулахын + тулд харгалзах дугаарыг нь өгөх ёстой:</para> + + <screen>&prompt.user; <userinput>man 1 chmod</userinput></screen> + + <para>Энэ тохиролдолд <command>chmod</command> тушаалыг хэрэглэгч яаж дуудаж хэрэглэх + тухай харуулна. Гарын авлагын тухайн хэсгийг нь харахын тулд голдуу + хаалт дотор тухайн хэсгийн дугаарыг нь бичиж ханддаг. Тэгэхээр &man.chmod.1; гэвэл + хэрэглэгчид хамаатай хэсэг нь, &man.chmod.2; гэвэл системд хамаатай хэсэг харуулагдана.</para> + + <para>Хэрэв та тушаалынхаа нэрийг мэдэж байвал энэ аргаар маш амархан + хэрэглэх зааврыг уншиж чадахаар боллоо. Гэтэл та тушаалынхаа нэрийг мэдэхгүй + тохиолдолд яах вэ? Энэ үед та <command>man</command> тушаалд тухайн хэрэгтэй + тушаалын зааварт хайх түлхүүр үгийг <option>-k</option> сонголт ашиглан зааж өгч болдог. +:</para> + + <screen>&prompt.user; <userinput>man -k mail</userinput></screen> + + <para>Энэ тохиолдолд, заавартаа <quote>mail</quote> гэдэг үг агуулсан + тушаалуудыг жагсааж танд харуулна. Энэ арга нь үндсэндээ + <command>apropos</command> тушаалын үүрэгтэй ижил болно.</para> + + <para>За тэгэхээр, таны + <filename>/usr/bin</filename> санд маш их олон тушаалууд байгааг та мэддэг мөртлөө + ямар үйлдэл хийдгийг нь сайн мэдэхгүй тохиолдолд яах вэ? Хамгийн амархан арга бол:</para> + + <screen>&prompt.user; <userinput>cd /usr/bin</userinput> +&prompt.user; <userinput>man -f *</userinput></screen> + + <para>эсвэл</para> + + <screen>&prompt.user; <userinput>cd /usr/bin</userinput> +&prompt.user; <userinput>whatis *</userinput></screen> + + <para>энэ хоёр хоёулаа ижилхэн үйлдэл хийдэг.</para> + </sect2> + + <sect2 id="basics-info"> + <title>GNU Info файлууд</title> + <indexterm><primary>Free Software Foundation</primary></indexterm> + + <para>FreeBSD нь Free Software Foundation (FSF) буюу Чөлөөт Програмын Сангаас + бүтээсэн маш олон програмуудыг агуулж байдаг. Гарын авлага хуудаснаас гадна + эдгээр програмууд нь мөн нэмэлт текст загвартай + <literal>info</literal> файл агуулж байдаг бөгөөд уг төрлийн мэдээлэл нь + <command>info</command> тушаалаар харуулагддаг. Хэрэв та + <application>emacs</application>-г суулгасан бол + <application>emacs</application>-н info горимд бас харж болно.</para> + + <para>&man.info.1; тушаалыг хэрэглэхийн тулд ердөө:</para> + + <screen>&prompt.user; <userinput>info тушаал</userinput></screen> + + <para>Товч тайлбарыг нь харахын тулд <literal>h</literal> дарна. Тушаалын + түргэн зааврыг харахын тулд <literal>?</literal> гэж дараарай.</para> + </sect2> + </sect1> +</chapter> +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/basics/example-dir1.dot b/mn_MN.UTF-8/books/handbook/basics/example-dir1.dot new file mode 100644 index 0000000000..e9e812c5fe --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/basics/example-dir1.dot @@ -0,0 +1,8 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/"; + root -> "A2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/basics/example-dir2.dot b/mn_MN.UTF-8/books/handbook/basics/example-dir2.dot new file mode 100644 index 0000000000..4ca5f95a0e --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/basics/example-dir2.dot @@ -0,0 +1,9 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/" -> "B1/"; + "A1/" -> "B2/"; + root -> "A2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/basics/example-dir3.dot b/mn_MN.UTF-8/books/handbook/basics/example-dir3.dot new file mode 100644 index 0000000000..70c1e61def --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/basics/example-dir3.dot @@ -0,0 +1,9 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/"; + root -> "A2/" -> "B1/"; + "A2/" -> "B2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/basics/example-dir4.dot b/mn_MN.UTF-8/books/handbook/basics/example-dir4.dot new file mode 100644 index 0000000000..5bb08ce483 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/basics/example-dir4.dot @@ -0,0 +1,10 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/"; + root -> "A2/" -> "B1/" -> "C1/"; + "B1/" -> "C2/"; + "A2/" -> "B2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/basics/example-dir5.dot b/mn_MN.UTF-8/books/handbook/basics/example-dir5.dot new file mode 100644 index 0000000000..47cb3b3bdf --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/basics/example-dir5.dot @@ -0,0 +1,10 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/" -> "C1/"; + "A1/" -> "C2/"; + root -> "A2/" -> "B1/"; + "A2/" -> "B2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/bibliography/Makefile b/mn_MN.UTF-8/books/handbook/bibliography/Makefile new file mode 100644 index 0000000000..7591443a3e --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/bibliography/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= bibliography/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/bibliography/chapter.sgml b/mn_MN.UTF-8/books/handbook/bibliography/chapter.sgml new file mode 100644 index 0000000000..fa62a2e27b --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/bibliography/chapter.sgml @@ -0,0 +1,655 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.78 + + $FreeBSD$ +--> + +<appendix id="bibliography"> + <title>Ном зүй</title> + + <para>Гарын авлагын хуудаснууд нь FreeBSD үйлдлийн системийн хувь хэсгүүдэд зориулсан + эцсийн лавлагааг өгдөг боловч тэдгээр хэсгүүдийг хэрхэн нийлүүлж бүхэл бүтэн үйлдлийн системийг + тэгш ажиллуулах талаар дүрслэн үзүүлдэггүйгээрээ зартай юм. Ийм учраас &unix;, + системийн удирдлагын талаар бичсэн сайн ном болон хэрэглэгчдийн сайн гарын авлагыг + орлохоор зүйлс байхгүй юм.</para> + + <sect1 id="bibliography-freebsd"> + <title>FreeBSD-ийн талаар тусгайлан бичсэн ном & сэтгүүлүүд</title> + + <para><emphasis>Олон улсад хэвлэгдсэн ном & + сэтгүүлүүд:</emphasis></para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://jdli.tw.FreeBSD.org/publication/book/freebsd2/index.htm">Using FreeBSD</ulink> (Хятад хэл дээр).</para> + </listitem> + + <listitem> + + <para>FreeBSD Unleashed (Хятад орчуулга), хэвлэсэн + <ulink url="http://www.hzbook.com/">China Machine + Press</ulink>. ISBN 7-111-10201-0. + </para> + </listitem> + + <listitem> + <para>FreeBSD From Scratch Эхний хэвлэл (Хятад хэл дээр), + хэвлэсэн China Machine Press. ISBN 7-111-07482-3. + </para> + </listitem> + + <listitem> + <para>FreeBSD From Scratch Хоёр дахь хэвлэл (Хятад хэл дээр), + хэвлэсэн China Machine Press. ISBN 7-111-10286-X. + </para> + </listitem> + + <listitem> + <para>FreeBSD Handbook (Хятад орчуулга), хэвлэсэн + <ulink url="http://www.ptpress.com.cn/">Posts & Telecom + Press</ulink>. ISBN 7-115-10541-3. + </para> + </listitem> + + <listitem> + + <para>FreeBSD 3.x Internet (Хятад хэл дээр), хэвлэсэн + <ulink url="http://www.tup.tsinghua.edu.cn/">Tsinghua + University Press</ulink>. ISBN 7-900625-66-6.</para> + </listitem> + + <listitem> + <para>FreeBSD & Windows (Хятад хэл дээр), ISBN 7-113-03845-X</para> + </listitem> + + <listitem> + <para>FreeBSD Internet Services HOWTO (Хятад хэл дээр), ISBN 7-113-03423-3</para> + </listitem> + + <listitem> + <para>FreeBSD for PC 98'ers (Япон хэл дээр), хэвлэсэн SHUWA System + Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.</para> + </listitem> + + <listitem> + <para>FreeBSD (Япон хэл дээр), хэвлэсэн CUTT. ISBN 4-906391-22-2 + C3055 P2400E.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.shoeisha.com/book/Detail.asp?bid=650">Complete Introduction to FreeBSD</ulink> (Япон хэл дээр), хэвлэсэн <ulink url="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</ulink>. ISBN 4-88135-473-6 P3600E.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Personal UNIX Starter Kit FreeBSD</ulink> (Япон хэл дээр), хэвлэсэн <ulink url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1733-3 P3000E.</para> + </listitem> + + <listitem> + <para>FreeBSD Handbook (Япон орчуулга), хэвлэсэн <ulink + url="http://www.ascii.co.jp/">ASCII</ulink>. ISBN 4-7561-1580-2 + P3800E.</para> + </listitem> + + <listitem> + <para>FreeBSD mit Methode (Герман хэл дээр), хэвлэсэн <ulink url="http://www.cul.de">Computer und + Literatur Verlag</ulink>/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.cul.de/freebsd.html">FreeBSD 4 - Installieren, Konfigurieren, Administrieren</ulink> + (Герман хэл дээр), хэвлэсэн <ulink url="http://www.cul.de">Computer und Literatur Verlag</ulink>, 2001. + ISBN 3-932311-88-4.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.cul.de/freebsd.html">FreeBSD 5 - Installieren, Konfigurieren, Administrieren</ulink> + (Герман хэл дээр), хэвлэсэн <ulink url="http://www.cul.de">Computer und Literatur Verlag</ulink>, 2003. + ISBN 3-936546-06-1.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.mitp.de/vmi/mitp/detail/pWert/1343/"> + FreeBSD de Luxe</ulink> (Герман хэл дээр), хэвлэсэн + <ulink url="http://www.mitp.de">Verlag Modere Industrie</ulink>, + 2003. ISBN 3-8266-1343-0. + </para> + </listitem> + + <listitem> + <para><ulink + url="http://www.pc.mycom.co.jp/FreeBSD/install-manual.html">FreeBSD Install and Utilization Manual</ulink> (Япон хэл дээр), хэвлэсэн <ulink url="http://www.pc.mycom.co.jp/">Mainichi Communications Inc.</ulink>.</para> + </listitem> + + <listitem> + <para>Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo + <emphasis><ulink url="http://maxwell.itb.ac.id/"> + Building Internet Server with + FreeBSD</ulink></emphasis> (Индонез хэл дээр), published + by <ulink url="http://www.elexmedia.co.id/">Elex Media Komputindo</ulink>.</para> + </listitem> + + </itemizedlist> + + <para><emphasis>Англи хэл дээрх ном & сэтгүүлүүд:</emphasis></para> + + <itemizedlist> + <listitem> + <para><ulink url="http://www.AbsoluteBSD.com/">Absolute + BSD: The Ultimate Guide to FreeBSD</ulink>, хэвлэсэн + <ulink url="http://www.nostarch.com/">No Starch Press</ulink>, 2002. + ISBN: 1886411743</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.freebsdmall.com/cgi-bin/fm/bsdcomp"> + The Complete FreeBSD</ulink>, хэвлэсэн + <ulink url="http://www.oreilly.com/">O'Reilly</ulink>, 2003. + ISBN: 0596005164</para> + </listitem> + + <listitem> + <para><ulink url="http://www.freebsd-corp-net-guide.com/">The + FreeBSD Corporate Networker's Guide</ulink>, хэвлэсэн + <ulink url="http://www.awl.com/aw/">Addison-Wesley</ulink>, 2000. + ISBN: 0201704811</para> + </listitem> + + <listitem> + <para><ulink url="http://andrsn.stanford.edu/FreeBSD/introbook/"> + FreeBSD: An Open-Source Operating System for Your Personal + Computer</ulink>, хэвлэсэн The Bit Tree Press, 2001. + ISBN: 0971204500</para> + </listitem> + + <listitem> + <para>Teach Yourself FreeBSD in 24 Hours, хэвлэсэн + <ulink url="http://www.samspublishing.com/">Sams</ulink>, 2002. + ISBN: 0672324245</para> + </listitem> + + <listitem> + <para>FreeBSD 6 Unleashed, хэвлэсэн + <ulink url="http://www.samspublishing.com/">Sams</ulink>, 2006. + ISBN: 0672328755</para> + </listitem> + + <listitem> + <para>FreeBSD: The Complete Reference, хэвлэсэн + <ulink url="http://books.mcgraw-hill.com">McGrawHill</ulink>, 2003. + ISBN: 0072224096 </para> + </listitem> + + </itemizedlist> + </sect1> + + <sect1 id="bibliography-userguides"> + <title>Хэрэглэгчдийн гарын авлагууд</title> + + <itemizedlist> + <listitem> + <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD + User's Reference Manual</emphasis>. O'Reilly & Associates, + Inc., 1994. ISBN 1-56592-075-9</para> + </listitem> + + <listitem> + <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD + User's Supplementary Documents</emphasis>. O'Reilly & + Associates, Inc., 1994. ISBN 1-56592-076-7</para> + </listitem> + + <listitem> + <para><emphasis>UNIX in a Nutshell</emphasis>. O'Reilly & + Associates, Inc., 1990. ISBN 093717520X</para> + </listitem> + + <listitem> + <para>Mui, Linda. <emphasis>What You Need To Know When You Can't Find + Your UNIX System Administrator</emphasis>. O'Reilly & + Associates, Inc., 1995. ISBN 1-56592-104-6</para> + </listitem> + + <listitem> + <para><ulink url="http://www-wks.acs.ohio-state.edu/">Охайогийн Их Сургууль + </ulink> <ulink + url="http://www-wks.acs.ohio-state.edu/unix_course/unix.html">UNIX + Introductory Course</ulink> авлагыг бичсэн бөгөөд энэ нь шууд вебээр үзэх + боломжтойгоор HTML болон PostScript хэлбэрээр байдаг.</para> + + <para>Энэ баримтын Итал <ulink + url="&url.doc.base;/it_IT.ISO8859-15/books/unix-introduction/index.html">орчуулга</ulink> + Италийн FreeBSD-ийн Баримтжуулах Төслийн хэсэг болон авах боломжтойгоор байдаг.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.jp.FreeBSD.org/">Jpman Төсөл, Японы + FreeBSD Хэрэглэгчдийн Бүлэг</ulink>. <ulink + url="http://www.pc.mycom.co.jp/FreeBSD/urm.html">FreeBSD User's + Reference Manual</ulink> (Япон орчуулга). <ulink + url="http://www.pc.mycom.co.jp/">Mainichi Communications + Inc.</ulink>, 1998. ISBN4-8399-0088-4 P3800E.</para> + </listitem> + + <listitem> + <para><ulink url="http://www.ed.ac.uk/">Эдинбургийн Их Сургууль</ulink> + UNIX орчинд шинээр ирж байгаа хүмүүст зориулж <ulink + url="http://unixhelp.ed.ac.uk/">Онлайн заавар</ulink> бичсэн.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="bibliography-adminguides"> + <title>Администраторууд зориулсан зааврууд</title> + + <itemizedlist> + <listitem> + <para>Albitz, Paul and Liu, Cricket. <emphasis>DNS and + BIND</emphasis>, 4th Ed. O'Reilly & Associates, Inc., 2001. + ISBN 1-59600-158-4</para> + </listitem> + + <listitem> + <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD + System Manager's Manual</emphasis>. O'Reilly & Associates, + Inc., 1994. ISBN 1-56592-080-5</para> + </listitem> + + <listitem> + <para>Costales, Brian, et al. <emphasis>Sendmail</emphasis>, 2nd Ed. + O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0</para> + </listitem> + + <listitem> + <para>Frisch, Æleen. <emphasis>Essential System + Administration</emphasis>, 2nd Ed. O'Reilly & Associates, + Inc., 1995. ISBN 1-56592-127-5</para> + </listitem> + + <listitem> + <para>Hunt, Craig. <emphasis>TCP/IP Network + Administration</emphasis>, 2nd Ed. O'Reilly & Associates, Inc., 1997. + ISBN 1-56592-322-7</para> + </listitem> + + <listitem> + <para>Nemeth, Evi. <emphasis>UNIX System Administration + Handbook</emphasis>. 3rd Ed. Prentice Hall, 2000. ISBN + 0-13-020601-6</para> + </listitem> + + <listitem> + <para>Stern, Hal <emphasis>Managing NFS and NIS</emphasis> O'Reilly + & Associates, Inc., 1991. ISBN 0-937175-75-7</para> + </listitem> + + <listitem> + <para><ulink url="http://www.jp.FreeBSD.org/">Jpman Төсөл, Японы + FreeBSD Хэрэглэгчдийн Бүлэг</ulink>. <ulink + url="http://www.pc.mycom.co.jp/FreeBSD/sam.html">FreeBSD System + Administrator's Manual</ulink> (Япон орчуулга). <ulink + url="http://www.pc.mycom.co.jp/">Mainichi Communications + Inc.</ulink>, 1998. ISBN4-8399-0109-0 P3300E.</para> + </listitem> + + <listitem> + <para>Dreyfus, Emmanuel. <ulink + url="http://www.eyrolles.com/Informatique/Livre/9782212114638/">Cahiers + de l'Admin: BSD</ulink> 2nd Ed. (Франц хэл дээр), Eyrolles, 2004. + ISBN 2-212-11463-X</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="bibliography-programmers"> + <title>Програм зохиогчдод зориулсан зааврууд</title> + + <itemizedlist> + <listitem> + <para>Asente, Paul, Converse, Diana, and Swick, Ralph. + <emphasis>X Window System Toolkit</emphasis>. Digital Press, + 1998. ISBN 1-55558-178-1</para> + </listitem> + + <listitem> + <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD + Programmer's Reference Manual</emphasis>. O'Reilly & + Associates, Inc., 1994. ISBN 1-56592-078-3</para> + </listitem> + + <listitem> + <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD + Programmer's Supplementary Documents</emphasis>. O'Reilly & + Associates, Inc., 1994. ISBN 1-56592-079-1</para> + </listitem> + + <listitem> + <para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A + Reference Manual</emphasis>. 4th ed. Prentice Hall, 1995. + ISBN 0-13-326224-3</para> + </listitem> + + <listitem> + <para>Kernighan, Brian and Dennis M. Ritchie. <emphasis>The C + Programming Language</emphasis>. 2nd Ed. PTR Prentice Hall, 1988. + ISBN 0-13-110362-8</para> + </listitem> + + <listitem> + <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>. + O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7</para> + </listitem> + + <listitem> + <para>Plauger, P. J. <emphasis>The Standard C Library</emphasis>. + Prentice Hall, 1992. ISBN 0-13-131509-9</para> + </listitem> + + <listitem> + <para>Spinellis, Diomidis. <ulink + url="http://www.spinellis.gr/codereading/"><emphasis>Code + Reading: The Open Source Perspective</emphasis></ulink>. + Addison-Wesley, 2003. ISBN 0-201-79940-5</para> + </listitem> + + <listitem> + <para>Spinellis, Diomidis. <ulink + url="http://www.spinellis.gr/codequality/"><emphasis>Code + Quality: The Open Source Perspective</emphasis></ulink>. + Addison-Wesley, 2006. ISBN 0-321-16607-8</para> + </listitem> + + <listitem> + <para>Stevens, W. Richard and Stephen A. Rago. + <emphasis>Advanced Programming in the UNIX + Environment</emphasis>. 2nd Ed. + Reading, Mass. : Addison-Wesley, 2005. + ISBN 0-201-43307-9</para> + </listitem> + + <listitem> + <para>Stevens, W. Richard. <emphasis>UNIX Network + Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN + 0-13-490012-X</para> + </listitem> + + <listitem> + <para>Wells, Bill. <quote>Writing Serial Drivers for UNIX</quote>. + <emphasis>Dr. Dobb's Journal</emphasis>. 19(15), December 1994. + pp68-71, 97-99.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="bibliography-osinternals"> + <title>Үйлдлийн системийн дотоод бүрэлдэхүүнүүдийн талаар</title> + + <itemizedlist> + <listitem> + <para>Andleigh, Prabhat K. <emphasis>UNIX System + Architecture</emphasis>. Prentice-Hall, Inc., 1990. ISBN + 0-13-949843-5</para> + </listitem> + + <listitem> + <para>Jolitz, William. <quote>Porting UNIX to the 386</quote>. + <emphasis>Dr. Dobb's Journal</emphasis>. January 1991-July + 1992.</para> + </listitem> + + <listitem> + <para>Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and + John Quarterman <emphasis>The Design and Implementation of the + 4.3BSD UNIX Operating System</emphasis>. Reading, Mass. : + Addison-Wesley, 1989. ISBN 0-201-06196-1</para> + </listitem> + + <listitem> + <para>Leffler, Samuel J., Marshall Kirk McKusick, <emphasis>The Design + and Implementation of the 4.3BSD UNIX Operating System: Answer + Book</emphasis>. Reading, Mass. : Addison-Wesley, 1991. ISBN + 0-201-54629-9</para> + </listitem> + + <listitem> + <para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and + John Quarterman. <emphasis>The Design and Implementation of the + 4.4BSD Operating System</emphasis>. Reading, Mass. : + Addison-Wesley, 1996. ISBN 0-201-54979-4</para> + + <para>(Энэ номын 2-р бүлэг <ulink + url="&url.books.design-44bsd;/book.html">онлайн</ulink>аар FreeBSD + баримтжуулах төслийн хүрээнд байгаа бөгөөд 9-р бүлэг <ulink + url="http://www.netapp.com/tech_library/nfsbook.html"> + энд</ulink> байгаа.)</para> + </listitem> + + <listitem> + <para>Marshall Kirk McKusick, George V. Neville-Neil <emphasis>The Design + and Implementation of the FreeBSD Operating System</emphasis>. + Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2</para> + </listitem> + + <listitem> + <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 1: + The Protocols</emphasis>. Reading, Mass. : Addison-Wesley, + 1996. ISBN 0-201-63346-9</para> + </listitem> + + <listitem> + <para>Schimmel, Curt. <emphasis>Unix Systems for Modern + Architectures</emphasis>. Reading, Mass. : Addison-Wesley, 1994. + ISBN 0-201-63338-8</para> + </listitem> + + <listitem> + <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3: + TCP for Transactions, HTTP, NNTP and the UNIX Domain + Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996. + ISBN 0-201-63495-3</para> + </listitem> + + <listitem> + <para>Vahalia, Uresh. <emphasis>UNIX Internals -- The New + Frontiers</emphasis>. Prentice Hall, 1996. ISBN + 0-13-101908-2</para> + </listitem> + + <listitem> + <para>Wright, Gary R. and W. Richard Stevens. <emphasis>TCP/IP + Illustrated, Volume 2: The Implementation</emphasis>. Reading, + Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="bibliography-security"> + <title>Аюулгүй байдлын талаарх номнууд</title> + + <itemizedlist> + <listitem> + <para>Cheswick, William R. and Steven M. Bellovin. <emphasis>Firewalls + and Internet Security: Repelling the Wily Hacker</emphasis>. + Reading, Mass. : Addison-Wesley, 1995. ISBN + 0-201-63357-4</para> + </listitem> + + <listitem> + <para>Garfinkel, Simson and Gene Spafford. + <emphasis>Practical UNIX & Internet Security</emphasis>. + 2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN + 1-56592-148-8</para> + </listitem> + + <listitem> + <para>Garfinkel, Simson. <emphasis>PGP Pretty Good + Privacy</emphasis> O'Reilly & Associates, Inc., 1995. ISBN + 1-56592-098-8</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="bibliography-hardware"> + <title>Тоног төхөөрөмжийн талаарх номнууд</title> + + <itemizedlist> + <listitem> + <para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor + System Architecture</emphasis>. 2nd Ed. Reading, Mass. : + Addison-Wesley, 1995. ISBN 0-201-40992-5</para> + </listitem> + + <listitem> + <para>Ferraro, Richard F. <emphasis>Programmer's Guide to the EGA, + VGA, and Super VGA Cards</emphasis>. 3rd ed. Reading, Mass. : + Addison-Wesley, 1995. ISBN 0-201-62490-7</para> + </listitem> + + <listitem> + <para>Интел корпорац өөрсдийн CPU-ууд, бичил схемүүд болон стандартуудын талаарх + баримт бичгүүдийг <ulink + url="http://developer.intel.com/">хөгжүүлэгчийн веб хуудсанд</ulink> + ихэвчлэн PDF файл хэлбэрээр байрлуулдаг.</para> + </listitem> + + <listitem> + <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>. + 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN + 0-201-40994-1</para> + </listitem> + + <listitem> + <para>Shanley, Tom. <emphasis>ISA System Architecture</emphasis>. + 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN + 0-201-40996-8</para> + </listitem> + + <listitem> + <para>Shanley, Tom. <emphasis>PCI System Architecture</emphasis>. + 4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN + 0-201-30974-2</para> + </listitem> + + <listitem> + <para>Van Gilluwe, Frank. <emphasis>The Undocumented PC</emphasis>, 2nd Ed. + Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN + 0-201-47950-8</para> + </listitem> + + <listitem> + <para>Messmer, Hans-Peter. <emphasis>The Indispensable PC Hardware Book</emphasis>, 4th Ed. + Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN + 0-201-59616-4</para> + </listitem> + + </itemizedlist> + </sect1> + + <sect1 id="bibliography-history"> + <title>&unix;-ийн түүх</title> + + <itemizedlist> + <listitem> + <para>Lion, John <emphasis>Lion's Commentary on UNIX, 6th Ed. With + Source Code</emphasis>. ITP Media Group, 1996. ISBN + 1573980137</para> + </listitem> + + <listitem> + <para>Raymond, Eric S. <emphasis>The New Hacker's Dictionary, 3rd + edition</emphasis>. MIT Press, 1996. ISBN + 0-262-68092-0. <ulink + url="http://www.catb.org/~esr/jargon/html/index.html">Жаргон + Файл</ulink> гэж бас хэлэгддэг.</para> + </listitem> + + <listitem> + <para>Salus, Peter H. <emphasis>A quarter century of UNIX</emphasis>. + Addison-Wesley Publishing Company, Inc., 1994. ISBN + 0-201-54777-5</para> + </listitem> + + <listitem> + <para>Simon Garfinkel, Daniel Weise, Steven Strassmann. <emphasis>The + UNIX-HATERS Handbook</emphasis>. IDG Books Worldwide, Inc., + 1994. ISBN 1-56884-203-1. Хэвлэгдэхээ болисон, гэхдээ <ulink + url="http://research.microsoft.com/~daniel/unix-haters.html"> + онлайн</ulink> байгаа.</para> + </listitem> + + <listitem> + <para>Don Libes, Sandy Ressler <emphasis>Life with UNIX</emphasis> + — special edition. Prentice-Hall, Inc., 1989. ISBN + 0-13-536657-7</para> + </listitem> + + <listitem> + <para><emphasis>BSD-н ургийн бичиг</emphasis>. + FreeBSD машин дээрх <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree"></ulink> + эсвэл <ulink type="html" url="file://localhost/usr/share/misc/bsd-family-tree"><filename>/usr/share/misc/bsd-family-tree</filename></ulink></para> + </listitem> + + <listitem> + <para><emphasis>BSD-ийн Хувилбарын зарлалуудын цуглуулга</emphasis>. + 1997. <ulink url="http://www.de.FreeBSD.org/de/ftp/releases/"></ulink></para> + </listitem> + + <listitem> + <para><emphasis>Networked Computer Science Technical Reports + Library</emphasis>. <ulink url="http://www.ncstrl.org/"></ulink></para> + </listitem> + + <listitem> + <para><emphasis>Computer Systems Research + group (CSRG) буюу Компьютерийн Системүүдийн Судалгааны Бүлгийн гаргасан + хуучин BSD хувилбарууд</emphasis>. + <ulink url="http://www.mckusick.com/csrg/"></ulink>: + 4 CD бүхий цуглуулга нь 1BSD-ээс авахуулаад 4.4BSD болон 4.4BSD-Lite2 + (харамсалтай нь 2.11BSD-г биш) хүртэлх бүх BSD хувилбаруудыг хамардаг. + Сүүлийн диск нь төгсгөлийн эхүүдээс гадна SCCS файлуудыг бас агуулдаг.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="bibliography-journals"> + <title>Сонин, сэтгүүлүүд</title> + + <itemizedlist> + <listitem> + <para><emphasis>The C/C++ Users Journal</emphasis>. R&D + Publications Inc. ISSN 1075-2838</para> + </listitem> + + <listitem> + <para><emphasis>Sys Admin — The Journal for UNIX System + Administrators</emphasis> Miller Freeman, Inc., ISSN + 1061-2688</para> + </listitem> + + <listitem> + <para><emphasis>freeX — Das Magazin für Linux - BSD - UNIX</emphasis> + (Герман хэл дээр) Computer- und Literaturverlag GmbH, ISSN 1436-7033</para> + </listitem> + + </itemizedlist> + </sect1> +</appendix> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../appendix.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "appendix") + End: +--> + diff --git a/mn_MN.UTF-8/books/handbook/book.sgml b/mn_MN.UTF-8/books/handbook/book.sgml new file mode 100644 index 0000000000..0b6a846bdb --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/book.sgml @@ -0,0 +1,351 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.170 + + $FreeBSD$ +--> + +<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!ENTITY % books.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EN"> +%books.ent; +<!ENTITY % chapters SYSTEM "chapters.ent"> +%chapters; +<!ENTITY % txtfiles SYSTEM "txtfiles.ent"> +%txtfiles; + +<!ENTITY % not.published "INCLUDE"> + +<!ENTITY % chap.introduction "IGNORE"> +<!ENTITY % chap.install "IGNORE"> +<!ENTITY % chap.basics "IGNORE"> +<!ENTITY % chap.ports "IGNORE"> +<!ENTITY % chap.config "IGNORE"> +<!ENTITY % chap.boot "IGNORE"> +<!ENTITY % chap.users "IGNORE"> +<!ENTITY % chap.kernelconfig "IGNORE"> +<!ENTITY % chap.security "IGNORE"> +<!ENTITY % chap.jails "IGNORE"> +<!ENTITY % chap.printing "IGNORE"> +<!ENTITY % chap.disks "IGNORE"> +<!ENTITY % chap.geom "IGNORE"> +<!ENTITY % chap.vinum "IGNORE"> +<!ENTITY % chap.x11 "IGNORE"> +<!ENTITY % chap.l10n "IGNORE"> +<!ENTITY % chap.multimedia "IGNORE"> +<!ENTITY % chap.desktop "IGNORE"> +<!ENTITY % chap.serialcomms "IGNORE"> +<!ENTITY % chap.ppp-and-slip "IGNORE"> +<!ENTITY % chap.advanced-networking "IGNORE"> +<!ENTITY % chap.firewalls "IGNORE"> +<!ENTITY % chap.network-servers "IGNORE"> +<!ENTITY % chap.mail "IGNORE"> +<!ENTITY % chap.cutting-edge "IGNORE"> +<!ENTITY % chap.linuxemu "IGNORE"> +<!ENTITY % chap.mirrors "IGNORE"> +<!ENTITY % chap.bibliography "IGNORE"> +<!ENTITY % chap.eresources "IGNORE"> +<!ENTITY % chap.pgpkeys "IGNORE"> +<!ENTITY % chap.index "IGNORE"> +<!ENTITY % chap.freebsd-glossary "IGNORE"> +<!ENTITY % chap.mac "IGNORE"> +<!ENTITY % chap.audit "IGNORE"> + +<!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> %pgpkeys; +]> +<!-- +<book lang="mn"> +--> +<book> + + <bookinfo> + <title>FreeBSD гарын авлага</title> + + <corpauthor>FreeBSD баримтжуулах төсөл</corpauthor> + + <pubdate>1999 оны хоёрдугаар сар</pubdate> + + <copyright> + <year>1995</year> + <year>1996</year> + <year>1997</year> + <year>1998</year> + <year>1999</year> + <year>2000</year> + <year>2001</year> + <year>2002</year> + <year>2003</year> + <year>2004</year> + <year>2005</year> + <year>2006</year> + <year>2007</year> + <holder>FreeBSD баримтжуулах төсөл</holder> + </copyright> + + <copyright> + <year>2006</year> + <year>2007</year> + <holder>FreeBSD-г Монголоор баримтжуулах төсөл</holder> + </copyright> + + &bookinfo.legalnotice; + + <legalnotice id="trademarks" role="trademarks"> + &tm-attrib.freebsd; + &tm-attrib.3com; + &tm-attrib.3ware; + &tm-attrib.arm; + &tm-attrib.adaptec; + &tm-attrib.adobe; + &tm-attrib.apple; + &tm-attrib.corel; + &tm-attrib.creative; + &tm-attrib.cvsup; + &tm-attrib.heidelberger; + &tm-attrib.ibm; + &tm-attrib.ieee; + &tm-attrib.intel; + &tm-attrib.intuit; + &tm-attrib.linux; + &tm-attrib.lsilogic; + &tm-attrib.m-systems; + &tm-attrib.macromedia; + &tm-attrib.microsoft; + &tm-attrib.netscape; + &tm-attrib.nexthop; + &tm-attrib.opengroup; + &tm-attrib.oracle; + &tm-attrib.powerquest; + &tm-attrib.realnetworks; + &tm-attrib.redhat; + &tm-attrib.sap; + &tm-attrib.sun; + &tm-attrib.symantec; + &tm-attrib.themathworks; + &tm-attrib.thomson; + &tm-attrib.usrobotics; + &tm-attrib.vmware; + &tm-attrib.waterloomaple; + &tm-attrib.wolframresearch; + &tm-attrib.xfree86; + &tm-attrib.xiph; + &tm-attrib.general; + </legalnotice> + + <abstract> + <para>FreeBSD-д тавтай морилно уу! Энэ гарын авлага нь + <emphasis>FreeBSD &rel2.current;-RELEASE</emphasis> + болон <emphasis>FreeBSD &rel.current;-RELEASE</emphasis> зэрэг хувилбаруудын + суулгацаас эхлээд өдөр тутмын хэрэглээг тайлбарласан билээ. + Энэ гарын авлага нь <emphasis>төгс дуусаагүй</emphasis> бөгөөд маш олон + хүний хамтын бүтээл юм. Зарим хэсэг нь хуучирч шинэчлэгдэх шаардлагатай байж болзошгүй. + Хэрэв та энэ төсөлд хамтарч бидэнд туслахыг хүсвэл &a.doc; хаяг руу захиа бичнэ үү. Энэ + гарын авлагын хамгийн сүүлийн хувилбарыг <ulink + url="http://www.FreeBSD.org/">FreeBSD вэб хуудас</ulink>-наас татаж авч болно. + (энэ гарын авлагын өмнөх хувилбаруудыг <ulink + url="http://docs.FreeBSD.org/doc/"></ulink>-с авах боломжтой). + Энэ нь мөн янз бүрийн шахаж бэлтгэсэн хэлбэрээр <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FreeBSD FTP + серверийн</ulink> хэд хэдэн <link + linkend="mirrors-ftp">толин тусгал хуудаснаас</link> татаж авагдаж болно. + Хэрэв та энэ гарын авлагын хэвлэсэн хуулбарыг авахыг хүсвэл + <ulink + url="http://www.freebsdmall.com/">FreeBSD Mall</ulink> хуудсанд зорчино уу. Та мөн + гарын авлага дотор <ulink + url="&url.base;/search/index.html">хайлт хийх</ulink> боломжтой.</para> + </abstract> + </bookinfo> + + &chap.preface; + + <part id="getting-started"> + <title>Эхлэл</title> + + <partintro> + <para>FreeBSD гарын авлагын энэ хэсэг нь FreeBSD уруу шинээр + орж байгаа амдинистратор болон хэрэглэгчдэд зориулагдсан. Энд гарах бүлгүүд нь:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD-н танилцуулга.</para> + </listitem> + + <listitem> + <para>Суулгах явцын хөтөлбөр.</para> + </listitem> + + <listitem> + <para>&unix;-ийн үндсийн тайлбар.</para> + </listitem> + + <listitem> + <para>FreeBSD дээр байдаг өөрт нь хамт ирдэг болон гуравдагч хамтрагчийн нийлүүлсэн програмыг хэрхэн суулгах.</para> + </listitem> + + <listitem> + <para>&unix; цонхон систем X -ийг танилцуулж, танд илүү + үр бүтээлтэй ажиллахын тулд хэрхэн орчноо тохируулах талааар + тайлбарлана.</para> + </listitem> + </itemizedlist> + + <para>Бид аль болох цөөхөн дамжуулах хуудаснууд оруулсан бөгөөд + ингэснээр танд энэ гарын авлагыг эхнээс нь дуустал + хуудаснаас хуудас уруу үсэрч цовхролгүйгээр уншиж дуусгахад + зориулсан билээ.</para> + </partintro> + + <![ %chap.introduction; [ &chap.introduction; ]]> + <![ %chap.install; [ &chap.install; ]]> + <![ %chap.basics; [ &chap.basics; ]]> + <![ %chap.ports; [ &chap.ports; ]]> + <![ %chap.x11; [ &chap.x11; ]]> + </part> + + <part id="common-tasks"> + <title>Нийтлэг асуудлууд</title> + + <partintro> + <para>Үндсэн ойлголтуудыг нэгэнт тайлбарласан болохоор одоо FreeBSD-ийн гарын + авлагын энэ хэсэгт FreeBSD-ийн зарим байнга ашиглагддаг боломжуудыг + хэлэлцэх болно. Эдгээр бүлгүүд нь:</para> + + <itemizedlist> + <listitem> + <para>Алдартай болон ашигтай ширээний програмуудыг танд танилцуулах + болно: хөтөчүүд, бүтээмжийн багажууд, баримт үзэгчид гэх мэт.</para> + </listitem> + + <listitem> + <para>FreeBSD-д байдаг хэд хэдэн мультимедиа багажуудыг танд + танилцуулах болно.</para> + </listitem> + + <listitem> + <para>Таны системд нэмэлт функцүүдийг идэвхжүүлэх өөрчлөн тохируулсан + FreeBSD цөмийг бүтээх процессийг тайлбарлах болно.</para> + </listitem> + + <listitem> + <para>Ширээний болон сүлжээнд холбогдсон хэвлэгчийн тохируулгуудын хувьд + хэвлэх системийг дэлгэрэнгүй тайлбарлах болно.</para> + </listitem> + + <listitem> + <para>Таны FreeBSD систем дээр Линукс програмуудыг хэрхэн ажиллуулахыг + танд үзүүлэх болно.</para> + </listitem> + + </itemizedlist> + + <para>Эдгээр бүлгүүдийн зарим нь таныг урьдаар зарим нэг зүйлсийг уншихыг зөвлөдөг + бөгөөд энэ нь бүлэг бүрийн эхэнд ерөнхий агуулгад дурдсан байгаа болно.</para> + + </partintro> + + <![ %chap.desktop; [ &chap.desktop; ]]> + <![ %chap.multimedia; [ &chap.multimedia; ]]> + <![ %chap.kernelconfig; [ &chap.kernelconfig; ]]> + <![ %chap.printing; [ &chap.printing; ]]> + <![ %chap.linuxemu; [ &chap.linuxemu; ]]> + </part> + + <part id="system-administration"> + <title>Системийн Удирдлага</title> + + <partintro> + <para>FreeBSD гарын авлагын үлдсэн бүлгүүд нь FreeBSD системийн удирдлагын бүх + талуудыг хамрах болно. Бүлэг бүр уг бүлгийг уншсанаар таныг юу сурах талаар тайлбарлаж + эхлэх бөгөөд уг материалтай зууралдахаас өмнө юуг мэдсэн байх ёстойг бас хэлж + өгөх болно.</para> + + <para>Эдгээр бүлгүүд нь танд мэдээлэл хэрэг болох үед уншигдахаар зориулагдсан юм. + Та эдгээрийг ямар нэгэн тодорхой дарааллаар унших хэрэггүй бөгөөд бас + FreeBSD ашиглаж эхлэхээсээ өмнө бүгдийг нь унших шаардлагагүй юм.</para> + </partintro> + + <![ %chap.config; [ &chap.config; ]]> + <![ %chap.boot; [ &chap.boot; ]]> + <![ %chap.users; [ &chap.users; ]]> + <![ %chap.security; [ &chap.security; ]]> + <![ %chap.jails; [ &chap.jails; ]]> + <![ %chap.mac; [ &chap.mac; ]]> + <![ %chap.audit; [ &chap.audit; ]]> + <![ %chap.disks; [ &chap.disks; ]]> + <![ %chap.geom; [ &chap.geom; ]]> + <![ %chap.vinum; [ &chap.vinum; ]]> + <![ %chap.virtualization; [ &chap.virtualization; ]]> + <![ %chap.l10n; [ &chap.l10n; ]]> + <![ %chap.cutting-edge; [ &chap.cutting-edge; ]]> + </part> + + <part id="network-communication"> + <title>Сүлжээний Холболт</title> + + <partintro> + <para>FreeBSD нь өндөр ажиллагаатай сүлжээний серверүүдэд зориулагдсан + хамгийн өргөн ихээр ашигладаг үйлдлийн системүүдийн нэг юм. Энэ хэсгийн бүлгүүд + нь дараах зүйлсийг хамрах болно:</para> + + <itemizedlist> + <listitem> + <para>Сериал холболт</para> + </listitem> + + <listitem> + <para>PPP болон Ethernet дээгүүрх PPP (PPP over Ethernet)</para> + </listitem> + + <listitem> + <para>Цахим захидал</para> + </listitem> + + <listitem> + <para>Сүлжээний серверүүдийг ажиллуулах</para> + </listitem> + + <listitem> + <para>Галт ханууд</para> + </listitem> + + <listitem> + <para>Бусад дэвшилттэй сүлжээний сэдвүүд</para> + </listitem> + </itemizedlist> + + <para>Эдгээр бүлгүүд нь танд мэдээлэл хэрэг болох үед уншигдахаар зориулагдсан юм. + Та эдгээрийг ямар нэгэн тодорхой дарааллаар унших хэрэггүй бөгөөд бас + FreeBSD-г сүлжээний орчинд ашиглаж эхлэхээсээ өмнө бүгдийг нь унших + шаардлагагүй юм.</para> + </partintro> + + <![ %chap.serialcomms; [ &chap.serialcomms; ]]> + <![ %chap.ppp-and-slip; [ &chap.ppp-and-slip; ]]> + <![ %chap.mail; [ &chap.mail; ]]> + <![ %chap.network-servers; [ &chap.network-servers; ]]> + <![ %chap.firewalls; [ &chap.firewalls; ]]> + <![ %chap.advanced-networking; [ &chap.advanced-networking; ]]> + + </part> + + <part id="appendices"> + <title>Хавсралтууд</title> + + <![ %chap.mirrors; [ &chap.mirrors; ]]> + <![ %chap.bibliography; [ &chap.bibliography; ]]> + <![ %chap.eresources; [ &chap.eresources; ]]> + <![ %chap.pgpkeys; [ &chap.pgpkeys; ]]> + </part> + <![ %chap.freebsd-glossary; [ &bookinfo.freebsd-glossary; ]]> + <![ %chap.index; [ &chap.index; ]]> + &chap.colophon; +</book> + +<!-- + Local Variables: + mode: sgml + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/boot/Makefile b/mn_MN.UTF-8/books/handbook/boot/Makefile new file mode 100644 index 0000000000..b745ddd92d --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/boot/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= boot/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/boot/chapter.sgml b/mn_MN.UTF-8/books/handbook/boot/chapter.sgml new file mode 100644 index 0000000000..e3ac637644 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/boot/chapter.sgml @@ -0,0 +1,804 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.65 + + $FreeBSD$ +--> + +<chapter id="boot"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + <title>FreeBSD-ийн Ачаалах процесс</title> + + <sect1 id="boot-synopsis"> + <title>Ерөнхий агуулга</title> + <indexterm><primary>ачаалах</primary></indexterm> + <indexterm><primary>эхлүүлэгч</primary></indexterm> + + <para>Компьютерийг эхлүүлж үйлдлийн системийг ачаалах процесс нь + <quote>эхлүүлэгч процесс (bootstrap process)</quote> буюу + <quote>ачаалах</quote> гэж хэлэгддэг. FreeBSD-ийн ачаалах процесс нь + танд системийг эхлүүлэх үед компьютер дээр суусан өөр үйлдлийн системүүд эсвэл + адил үйлдлийн систем болон суулгагдсан цөмийн өөр хувилбаруудыг сонгохыг + зөвшөөрч юу хийгдэхийг өөрчлөх боломжийг бүрдүүлж нэлээн уян хатан чанарыг + хангаж өгдөг.</para> + + <para>Энэхүү бүлэг нь тохируулж болох тохиргооны тохируулгууд болон FreeBSD-ийн + ачаалах процессийг хэрхэн өөрчилж болох талаар дэлгэрэнгүй дурдсан. Үүнд + FreeBSD цөм эхлэх, төхөөрөмжүүдийг шалгах болон &man.init.8; эхлэх + хүртэлх болж байгаа бүх үйл явдал багтана. Хэрэв та хэзээ энэ болж байгааг + сайн мэдэхгүй байгаа бол энэ нь текстийн өнгө тод цагаанаас саарал уруу + өөрчлөгдөж байх үед болдог.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD-ийн эхлүүлэгч системийн ямар хэсгүүд байдаг болон тэдгээр нь + хэрхэн харилцан үйлдэл хийдэг талаар.</para> + </listitem> + + <listitem> + <para>Ачаалах процессийг хянахын тулд FreeBSD-ийн эхлүүлэгч дэх хэсгүүдэд + өгч болох тохируулгуудын талаар.</para> + </listitem> + + <listitem> + <para>&man.device.hints.5;-ийн үндсүүд.</para> + </listitem> + </itemizedlist> + + <note> + <title>Зөвхөн x86</title> + + <para>Энэ бүлэг нь зөвхөн Интел x86 системүүд дээр ажиллаж байгаа FreeBSD-ийн ачаалах + процессийг тайлбарлана.</para> + </note> + </sect1> + + <sect1 id="boot-introduction"> + <title>Ачаалалтын асуудал</title> + + <para>Компьютерийг асааж үйлдлийн системийг эхлүүлэх нь сонирхолтой мухардалд оруулдаг. + Тодорхойлолтоор бол компьютер нь үйлдлийн систем эхлэх хүртэл юу хийхээ мэддэггүй. + Үүнд програмуудыг дискээс ажиллуулах ордог. Тэгэхээр хэрэв компьютер үйлдлийн + системгүйгээр програмыг дискээс ажиллуулж чаддаггүй тэгээд бас үйлдлийн системийн + програмууд диск дээр байдаг гэхээр үйлдлийн систем хэрхэн эхэлдэг болж таарах вэ?</para> + + <para>Энэ асуудал нь <citetitle>Мянгуужингийн адал явдал (The Adventures of + Baron Munchausen)</citetitle> номонд гардагтай төстэй юм. Гол баатар маань + нүх уруу унаад өөрийнхөө гутлын оосроос барьж өөрийгөө өргөн татаж гаргадаг. + Тооцоололтын эриний эхэн үед <firstterm>bootstrap буюу эхлүүлэгч (эхлүүлэлт)</firstterm> + гэдэг ойлголт нь үйлдлийн системийг ачаалахад ашиглагддаг арга замд хэрэглэгддэг + байсан бөгөөд <quote>booting буюу ачаалах</quote> гэж богиноссон юм.</para> + + <indexterm><primary>BIOS</primary></indexterm> + + <indexterm><primary>Үндсэн Оролт/Гаралтын Систем</primary><see>BIOS</see></indexterm> + + <para>x86 тоног төхөөрөмж дээр Үндсэн Оролт/Гаралтын Систем (BIOS) нь үйлдлийн + системийг ачаалах үүрэгтэй. Үүнийг хийхийн тулд BIOS хатуу диск дээрээс + Master Boot Record (MBR) буюу Мастер Ачаалах Бичлэгийг хайдаг бөгөөд энэ нь + дискийн онцгой газар байрлах ёстой. BIOS нь MBR-г ачаалж ажиллуулах хангалттай + мэдээлэлтэй бөгөөд дараа нь MBR үйлдлийн системийг ачаалахтай холбоотой бусад + үйлдлүүдийг магадгүй BIOS-ийн тусламжтайгаар зохицуулна гэж тооцдог.</para> + + <indexterm><primary>Мастер Ачаалах Бичлэг (MBR)</primary></indexterm> + + <indexterm><primary>Ачаалагч Менежер</primary></indexterm> + + <indexterm><primary>Ачаалагч Дуудагч</primary></indexterm> + + <para>MBR доторх код нь ялангуяа хэрэглэгчтэй ажиллахдаа <emphasis>bootmanager + буюу ачаалагч менежер</emphasis> хэмээгддэг. Энэ тохиолдолд ачаалагч менежер + нь ихэвчлэн дискийн эхний <emphasis>зам</emphasis> эсвэл OS-ийн зарим файлын систем + дээр илүү кодтой байдаг. (Ачаалагч менежер нь заримдаа <emphasis>ачаалагч + дуудагч</emphasis> гэгддэг, гэхдээ FreeBSD энэ нэрийг ачаалалтын сүүлийн шатуудад + хэрэглэдэг.) Алдартай ачаалагч менежерүүдэд <application>boot0</application> + (<application>Boot Easy</application> гэгддэг, &os;-ийн стандарт ачаалагч менежер), + <application>Grub</application>, <application>GAG</application>, болон + <application>LILO</application> ордог. + (Зөвхөн <application>boot0</application> MBR-д багтдаг.)</para> + + <para>Хэрэв таны дискүүд дээр зөвхөн нэг үйлдлийн систем суулгагдсан бол стандарт PC MBR + хангалттай. Энэ MBR нь диск дээрээс эхний ачаалагдах (идэвхтэй гэгддэг) зүсмэлийг + хайгаад дараа нь үйлдлийн системийн үлдсэнийг дуудахын тулд тэр зүсмэл дээрх кодыг + ажиллуулдаг. &man.fdisk.8;-ээр анхдагчаар суулгагддаг MBR нь тийм MBR юм. + Энэ нь <filename>/boot/mbr</filename> дээр тулгуурладаг.</para> + + <para>Хэрэв та дискүүд дээрээ олон үйлдлийн систем суулгасан бол та үйлдлийн системүүдийн + жагсаалтыг харуулж аль нэгээс нь ачаалахыг танд сонгохыг зөвшөөрдөг өөр ачаалагч менежер + суулгаж болно. Эдгээрээс хоёр нь дараагийн дэд хэсэгт ярилцагдана.</para> + + <para>FreeBSD-ийн эхлүүлэгч системийн үлдсэн хэсэг нь гурван шатанд хуваагддаг. Эхний шат нь + компьютерийг тусгай төлөв уруу оруулахыг хангалттай мэдэж хоёр дахь шатыг ажиллуулах + MBR-р ажиллуулагддаг. Хоёр дахь шат нь гурав дахь шатыг ажиллуулахаас өмнө арай илүүг + хийж чаддаг. Гурав дахь шат нь үйлдлийн системийг дуудах үйлдлийг дуусгадаг. + Энэхүү гурван шатанд ажил нь хуваарилагдсан байдаг бөгөөд учир нь PC стандартууд эхний болон + хоёрдугаар шатуудад ажиллуулж болох програмуудын хэмжээнүүдэд хязгаарлалт тавьдаг юм. + Үйлдлүүдийг цугт нь гинжлэн холбох нь FreeBSD-д илүү уян хатан дуудагчийг бий болгодог.</para> + + <indexterm><primary>цөм</primary></indexterm> + <indexterm><primary><command>init</command></primary></indexterm> + + <para>Дараа нь цөм ачаалж төхөөрөмжүүдийг шалгаж эхлэн ашиглахад зориулж эхлүүлдэг. + Цөмийн ачаалах процесс дууссаны дараа цөм хяналтыг &man.init.8; хэрэглэгчийн + процесд дамжуулж дараа нь дискүүд хэрэглэгдэж болох төлөвт байгаа эсэхийг + шалгадаг. &man.init.8; дараа нь файлын системүүдийг холбон сүлжээнд + холбогдох сүлжээний картыг тохируулж ерөнхийдөө FreeBSD систем эхлэх үед + ихэвчлэн ажилладаг бүх процессуудыг эхлүүлэх хэрэглэгчийн түвшний эх үүсвэрийн + тохиргоог эхлүүлдэг.</para> + </sect1> + + <sect1 id="boot-blocks"> + <title>Ачаалагч Менежер болон Ачаалалтын шатууд</title> + + <indexterm><primary>Ачаалагч Менежер</primary></indexterm> + + <sect2 id="boot-boot0"> + <title>Ачаалагч Менежер</title> + <indexterm><primary>Мастер Ачаалах Бичлэг (MBR)</primary></indexterm> + + <para>MBR эсвэл ачаалагч менежер дэх код нь заримдаа ачаалах процессийн + <emphasis>тэг (0) шат</emphasis> гэж нэрлэгддэг. Энэ дэд хэсэг нь + өмнө дурдсан хоёр ачаалагч менежерийг авч үзнэ: + <application>boot0</application> болон <application>LILO</application>.</para> + + <formalpara><title><application>boot0</application> Ачаалагч Менежер:</title> + + <para>FreeBSD-ийн суулгагч эсвэл &man.boot0cfg.8;-р суулгагдсан MBR анхдагчаар + <filename>/boot/boot0</filename> дээр тулгуурладаг. + (<application>boot0</application> програм нь маш энгийн байдаг, + зүсмэлийн хүснэгт болон MBR-ийн төгсгөл дэх <literal>0x55AA</literal> танигчаас болоод + <abbrev>MBR</abbrev> дахь програм нь зөвхөн 446 байт байж болдог.) + Хэрэв та <application>boot0</application> болон олон үйлдлийн системийг + өөрийн хатуу дискүүд дээр суулгасан бол та ачаалах үед дараахтай төсөөтэй дэлгэцийг + харах болно:</para></formalpara> + + <example id="boot-boot0-example"> + <title><filename>boot0</filename> дэлгэцийн агшин</title> + + <screen>F1 DOS +F2 FreeBSD +F3 Linux +F4 ?? +F5 Drive 1 + +Default: F2</screen> + </example> + + <para>Бусад үйлдлийн системүүд ялангуяа &windows; байгаа MBR-ийг өөрийнхөөрөө дарж + бичдэг. Хэрэв энэ танд тохиолдвол эсвэл та байгаа MBR-аа FreeBSD-ийн MBR-аар солихыг + хүсвэл дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen> + + <para>Дээр бичигдсэн <replaceable>device</replaceable> нь эхний IDE дискийн хувьд + <devicename>ad0</devicename>, хоёр дахь IDE хянагч дээрх эхний IDE дискийн хувьд + <devicename>ad2</devicename>, эхний SCSI дискийн хувьд <devicename>da0</devicename> + гэх зэрэг таны ачаалах төхөөрөмж юм. Эсвэл хэрэв та MBR-ийн өөрчлөн тохируулсан тохиргоог + хүсэж байвал &man.boot0cfg.8;-ийг ашигла.</para> + + <formalpara><title>LILO Ачаалагч Менежер:</title> + + <para>FreeBSD-г бас ачаалах энэ ачаалагч менежерийг суулгахын тулд эхлээд + Линукс эхлүүлээд дараах тохиргоог өөрт байгаа <filename>/etc/lilo.conf</filename> + тохиргооны файлд нэмээрэй:</para></formalpara> + + <programlisting>other=/dev/hdXY +table=/dev/hdX +loader=/boot/chain.b +label=FreeBSD</programlisting> + + <para>Энд Линуксийн тодорхойлогчдыг ашиглан <replaceable>X</replaceable>-г + Линуксийн дискийн үсгээр, <replaceable>Y</replaceable>-г Линуксийн анхдагч + хуваалтын дугаараар сольж FreeBSD-ийн анхдагч хуваалт болон дискийг зааж өгнө. + Хэрэв та <acronym>SCSI</acronym> диск ашиглаж байвал та + <replaceable>/dev/hd</replaceable>-г <replaceable>/dev/sd</replaceable>-тэй адил + маягийн болгон уншигдахаар өөрчлөх хэрэгтэй. Хэрэв таны хоёр үйлдлийн систем хоёулаа нэг + диск дээр байвал <option>loader=/boot/chain.b</option> мөр орхигдож болно. Одоо + <command>/sbin/lilo -v</command> тушаалыг ажиллуулж өөрийн шинэ өөрчлөлтийг + системд оруулна; ингэхийн тулд дэлгэц дээр гаргах мэдээллүүдийг хянан шалгах хэрэгтэй.</para> + </sect2> + + <sect2 id="boot-boot1"> + <title>Нэгдүгээр шат <filename>/boot/boot1</filename> болон Хоёрдугаар шат + <filename>/boot/boot2</filename></title> + + <para>Ерөнхий төсөөллөөр бол эхний болон хоёр дахь шатууд нь дискийн нэг талбар дахь + нэг л програмын хэсэг юм. Зайн шахалтуудаас болоод тэдгээрийг хоёр хэсэг болгон + хуваасан, гэхдээ та тэдгээрийг үргэлж цугт нь суулгадаг. Тэдгээр нь нэгдсэн + <filename>/boot/boot</filename> файлаас суулгагчаар эсвэл + <application>bsdlabel</application>-р хуулагддаг (доороос харна уу).</para> + + <para>Тэд файлын системүүдээс гадна ачаалах зүсмэлийн эхний зам дээр эхний сектороос эхлээд + байрладаг. Энд л <link linkend="boot-boot0">boot0</link> эсвэл өөр аль нэг + ачаалагч менежер ачаалах процесийг үргэлжлүүлэх програмыг олно гэдэгт найдаж байдаг. + Ашиглагдах секторуудын тоо <filename>/boot/boot</filename>-ийн хэмжээнээс + амархнаар тодорхойлогдоно.</para> + + <para>Зөвхөн 512 байт хэмжээтэй байдаг болохоор <filename>boot1</filename> нь их энгийн + хялбар бөгөөд <filename>boot2</filename>-ийг олж ажиллуулах, зүсмэлийн талаарх мэдээллийг хадгалах, + FreeBSD-ийн <firstterm>bsdlabel</firstterm>-ийн тухай хангалттай мэдээлэлтэй байдаг.</para> + + <para><filename>boot2</filename> нь арай илүү төвөгтэй бөгөөд файлуудыг олоход хангалттай FreeBSD-ийн + файлын системийг ойлгож цөм эсвэл дуудагчийг ажиллуулахыг сонгох маш энгийн интерфэйсээр хангаж + чаддаг.</para> + + <para><link linkend="boot-loader">Дуудагч</link> нь хамаагүй илүү төвөгтэй бөгөөд + гоё, амархан хэрэглэж болох ачаалалтын тохиргоотой болохоор <filename>boot2</filename> + нь түүнийг ихэвчлэн ажиллуулдаг, гэхдээ өмнө нь дуудагчид цөмийг ажиллуулах даалгавар өгөгдсөн + байдаг.</para> + + <example id="boot-boot2-example"> + <title><filename>boot2</filename> дэлгэцийн агшин</title> + + <screen>>> FreeBSD/i386 BOOT +Default: 0:ad(0,a)/boot/loader +boot:</screen> + </example> + + <para>Хэрэв танд суулгасан <filename>boot1</filename> болон + <filename>boot2</filename> файлуудаа солих хэрэгцээ гарвал + &man.bsdlabel.8;-ийг ашигла:</para> + + <screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen> + + <para>Дээр бичигдсэн <replaceable>diskslice</replaceable> нь эхний IDE диск дээрх + эхний зүсмэлийн хувьд <devicename>ad0s1</devicename> гэх мэтээр таны ачаалах диск болон + зүсмэл юм.</para> + + <warning> + <title>Аюултайгаар Зориулагдсан Горим</title> + + <para>Хэрэв та <devicename>ad0</devicename> гэх мэтээр &man.bsdlabel.8; тушаалд + зөвхөн дискийн нэрийг ашиглавал та зүсмэлүүдгүй аюултайгаар зориулагдсан диск үүсгэх болно. + Энэ нь бараг мэдээж таны хийхийг хүсээгүй зүйл болохоор та &man.bsdlabel.8; тушаалыг + <keycap>Return</keycap> дарахаасаа өмнө дахин шалгаарай.</para> + </warning> + </sect2> + + <sect2 id="boot-loader"> + <title>Гуравдугаар шат <filename>/boot/loader</filename></title> + + <indexterm><primary>boot-loader</primary></indexterm> + <para>Дуудагч нь гурван шаттай эхлүүлэгчийн төгсгөлийн шат бөгөөд файлын + систем дээр гол төлөв <filename>/boot/loader</filename> гэж + байрладаг.</para> + + <para>Дуудагч нь илүү цогц тушаалын цуглуулга бүхий илүү хүчирхэг тайлбарлагчаар + дэмжигдсэн хялбар хэрэглэгдэх тушаалын цуглуулга ашиглан тохиргоо хийхэд + хэрэглэгчийн хувьд ашиглахад хялбар арга байхаар зориулагдсан.</para> + + <sect3 id="boot-loader-flow"> + <title>Дуудагч програмын урсгал</title> + + <para>Эхлүүлэх явцад дуудагч нь консол болон дискүүдийн хувьд шалгаж + аль дискээс ачаалж байгаагаа тогтоодог. Энэ нь хувьсагчуудыг шаардлагын дагуу + тохируулах бөгөөд скрипт эсвэл лавлаж хариулах зарчмаар хэрэглэгчийн + тушаалууд дамждаг тайлбарлагч эхэлдэг.</para> + <indexterm><primary>дуудагч</primary></indexterm> + <indexterm><primary>дуудагчийн тохиргоо</primary></indexterm> + + <para>Үүний дараа дуудагч нь хувьсагчуудын боломжийн анхдагчуудыг тохируулдаг + <filename>/boot/defaults/loader.conf</filename> + доторхийг анхдагчаар уншдаг <filename>/boot/loader.rc</filename> + файлыг унших бөгөөд тэдгээр хувьсагчуудад хийх локал өөрчлөлтүүдэд зориулсан + <filename>/boot/loader.conf</filename> файлыг мөн уншдаг. + Дараа нь <filename>loader.rc</filename> аль модулиуд болон + цөмийг сонгосон тэдгээрийг дуудан эдгээр хувьсагчуудын дагуу ажилладаг.</para> + + <para>Эцэст нь анхдагчаар дуудагч нь 10 секунд гаргаж товч дарахыг хүлээж + тасалдуулаагүй бол цөмийг ачаалдаг. Хэрэв тасалдуулбал хялбар хэрэглэгдэх + тушаалын цуглуулгыг ойлгодог тушаал хүлээх мөрийг хэрэглэгчид өгөх бөгөөд + үүнийг ашиглан хэрэглэгч хувьсагчуудыг тааруулах, бүх модулиудыг буулгаж + болиулах, модулиуд дуудах болон тэгээд төгсгөлд нь ачаалах эсвэл дахин + ачаалж болох юм.</para> + + </sect3> + + <sect3 id="boot-loader-commands"> + <title>Дуудагчид багтсан тушаалууд</title> + + <para>Эдгээр нь хамгийн ихээр ашиглагддаг дуудагчийн тушаалууд юм. Байгаа + бүх тушаалуудын талаарх бүрэн хэлэлцүүлгийг &man.loader.8;-с үзнэ үү.</para> + + <variablelist> + <varlistentry> + <term>autoboot <replaceable>seconds</replaceable></term> + + <listitem> + <para>Секундээр өгөгдсөн хугацаанд тасалдаагүй бол цөмийг ачаалахаар + үргэлжлүүлдэг. Энэ нь тоолуур харуулах бөгөөд анхдагч хугацаа нь + 10 секунд байна.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>boot + <optional><replaceable>-options</replaceable></optional> + <optional><replaceable>kernelname</replaceable></optional></term> + + <listitem> + <para>Хэрэв өгөгдсөн тохируулгууд байгаа болон цөмийн нэр өгөгдсөн бол + тэдгээрийн хамтаар цөмийг нэн даруй ачаалахаар үргэлжлүүлнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>boot-conf</term> + + <listitem> + <para>Хувьсагчууд дээр үндэслэсэн модулиудын автомат тохиргоогоор орох + бөгөөд энэ нь ачаалах үед болдог. Хэрэв та + <command>unload</command>-г эхэлж ашиглаад хамгийн энгийндээ + <envar>kernel</envar>-н зарим хувьсагчуудыг өөрчлөх үед энэ нь + зөвхөн ач холбогдолтой байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>help + <optional><replaceable>topic</replaceable></optional></term> + + <listitem> + <para><filename>/boot/loader.help</filename> файлаас тусламжийн + мэдээллүүдийг үзүүлнэ. Хэрэв өгөгдсөн сэдэв нь <literal>индекс</literal> + бол байгаа сэдвүүдийн жагсаалтыг үзүүлнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>include <replaceable>filename</replaceable> + …</term> + + <listitem> + <para>Өгөгдсөн файлын нэртэй файлыг процесс хийнэ. Файл уншигдаж + мөр мөрөөр тайлбарлагдана. Алдаа гарвал include буюу оруулах + тушаалыг нэн даруй зогсооно.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>load <optional><option>-t</option> + <replaceable>type</replaceable></optional> + <replaceable>filename</replaceable></term> + + <listitem> + <para>Цөм, цөмийн модул, эсвэл өгөгдсөн төрлийн файлыг + нэртэй нь дуудна. Файлын нэрийн дараах дурын нэмэлт өгөгдлүүд нь + файлд дамжуулагдана.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>ls <optional><option>-l</option></optional> + <optional><replaceable>path</replaceable></optional></term> + + <listitem> + <para>Өгөгдсөн зам эсвэл зам өгөгдөөгүй бол root сан дахь файлуудын + жагсаалтыг харуулна. Хэрэв <option>-l</option> өгөгдсөн бол + файлын хэмжээнүүдийг бас харуулдаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>lsdev <optional><option>-v</option></optional></term> + + <listitem> + <para>Модулиуд магадгүй дуудагдаж болох бүх төхөөрөмжүүдийг жагсаана. + Хэрэв <option>-v</option> өгөгдсөн бол илүү дэлгэрэнгүй мэдээлэл + хэвлэгдэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>lsmod <optional><option>-v</option></optional></term> + + <listitem> + <para>Дуудагдсан модулиудыг харуулна. Хэрэв <option>-v</option> + өгөгдсөн бол илүү дэлгэрэнгүй мэдээллийг үзүүлнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>more <replaceable>filename</replaceable></term> + + <listitem> + <para><varname>LINES</varname> болгоныг харуулан түр зогсож + өгөгдсөн файлуудыг үзүүлнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>reboot</term> + + <listitem> + <para>Системийг нэн даруй дахин ачаална.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>set <replaceable>variable</replaceable></term> + <term>set + <replaceable>variable</replaceable>=<replaceable>value</replaceable></term> + + <listitem> + <para>Дуудагчийн орчны хувьсагчуудыг тохируулна.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>unload</term> + + <listitem> + <para>Дуудагдсан модулиудыг арилгана.</para> + </listitem> + </varlistentry> + </variablelist> + </sect3> + + <sect3 id="boot-loader-examples"> + <title>Дуудагчийн жишээнүүд</title> + + <para>Дуудагчийн хэрэглээний практик жишээнүүдийг энд дурдав:</para> + + <itemizedlist> + <indexterm><primary>ганц-хэрэглэгчийн горим</primary></indexterm> + <listitem> + <para>өөрийн ердийн цөмийг ачаалахдаа, гэхдээ ганц-хэрэглэгчийн горимд:</para> + + <screen><userinput>boot -s</userinput></screen> + </listitem> + + <listitem> + <para>Өөрийн ердийн цөм болон модулиудыг буулган болиулж дараа нь өөрийн + хуучин (эсвэл өөр) цөмийг дуудахдаа:</para> + <indexterm> + <primary><filename>kernel.old</filename></primary> + </indexterm> + + <screen><userinput>unload</userinput> +<userinput>load <replaceable>kernel.old</replaceable></userinput></screen> + + <para>Та <filename>kernel.GENERIC</filename>-г суулгацын дисктэй + цуг ирсэн ердийн цөмийг дуудахдаа ашиглаж болох бөгөөд эсвэл + та урьд нь суулгасан цөмөө (жишээ нь та өөрийн цөмийг шинэчилж + эсвэл тохируулахдаа) дуудахдаа <filename>kernel.old</filename>-г + ашиглаж болно.</para> + + <note> + <para>Өөрийн ердийн модулиудыг өөр цөмийн хамт дуудахдаа дараахийг + ашигла:</para> + + <screen><userinput>unload</userinput> +<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput> +<userinput>boot-conf</userinput></screen></note> + </listitem> + + <listitem> + <para>Цөмийн тохиргооны скриптийг дуудахдаа + (цөмийн ачаалах үеийн тохируулагч дээр таны ердийн үед хийдэг зүйлүүдийг + хийдэг автоматчилагдсан скрипт):</para> + + <screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen> + </listitem> + </itemizedlist> + </sect3> + </sect2> + </sect1> + + <sect1 id="boot-kernel"> + <title>Ачаалах үе дэх цөмийн харилцан үйлдэл</title> + <indexterm> + <primary>цөм</primary> + <secondary>ачаалалтын харилцан үйлдэл</secondary> + </indexterm> + + <para>Цөм <link + linkend="boot-loader">дуудагч</link> (ихэнхдээ) эсвэл <link + linkend="boot-boot1">boot2</link>-ийн (дуудагчийг алгасан) + тусламжтай дуудагдсаны дараа өөрийн ачаалалтын тугууд байгаа бол + тэдгээрийг шалгаж өөрийн ажиллагааг шаардлагатай бол тохируулдаг.</para> + + <sect2 id="boot-kernel-bootflags"> + <indexterm> + <primary>цөм</primary> + <secondary>ачаалалтын тугууд</secondary> + </indexterm> + <title>Цөмйн ачаалалтын тугууд</title> + + <para>Энд илүү нийтлэг ачаалалтын тугуудыг дурдав:</para> + + <variablelist id="boot-kernel-bootflags-list"> + <varlistentry> + <term><option>-a</option></term> + + <listitem> + <para>цөмийг эхлүүлэх явцад root файлын систем болгон + холбох төхөөрөмжийг асуух.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-C</option></term> + + <listitem> + <para>CDROM-с ачаалах.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-c</option></term> + + <listitem> + <para>Ачаалалтын үеийн цөмийн тохируулга UserConfig-г + ажиллуулах</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-s</option></term> + + <listitem> + <para>нэг(ганц)-хэрэглэгчийн горим уруу ачаалах</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-v</option></term> + + <listitem> + <para>цөмийн эхлэх үед илүү дэлгэрэнгүй байх</para> + </listitem> + </varlistentry> + </variablelist> + + <note> + <para>Өөр бусад ачаалалтын тугууд байдаг бөгөөд тэдгээрийн талаар + илүү мэдээллийг &man.boot.8;-с уншина уу.</para></note> + </sect2> + +<!-- <sect2 id="boot-kernel-userconfig"> + <title>UserConfig: Ачаалах үеийн цөмийн тохируулагч</title> + + <para> </para> + </sect2> --> + </sect1> + + <sect1 id="device-hints"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + <!-- 18 OCT 2002 --> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + <indexterm> + <primary>device.hints</primary> + </indexterm> + <title>Төхөөрөмжийн Сануулгууд</title> + + <note><para>Энэ нь FreeBSD 5.0 болон түүнээс хойшхи боломж бөгөөд + урдны хувилбаруудад байдаггүй.</para></note> + + <para>Системийн эхний эхлүүлэлтийн үеэр ачаалагч &man.loader.8; нь + &man.device.hints.5; файлыг уншдаг. Энэ файл нь заримдаа + <quote>device hints буюу төхөөрөмжийн сануулгууд</quote> ч гэгддэг + цөмийн ачаалах мэдээлэл хувьсагчуудыг хадгалдаг. Эдгээр + <quote>device hints буюу төхөөрөмжийн сануулгууд</quote> нь төхөөрөмжийг + тохируулах зориулалтаар төхөөрөмжийн драйверуудад ашиглагддаг.</para> + + <para>Төхөөрөмжийн сануулгууд нь бас <link linkend="boot-loader"> + 3 дахь шатны ачаалагч дуудагчид</link> бас заагдаж өгч болдог. + Хувьсагчуудыг <command>set</command> тушаалыг ашиглан нэмж, + <command>unset</command> тушаалаар хасаж <command>show</command> + тушаалаар үзэж болно. <filename>/boot/device.hints</filename> + файлд тохируулагдсан хувьсагчууд энд бас өөрчлөгдөж дарагдан бичигдэж болно. + Ачаалагч дуудагчид оруулж өгсөн төхөөрөмжүүдийн сануулгууд нь тогтмол биш + бөгөөд дараа дахин ачаалах үед мартагддаг.</para> + + <para>Систем ачаалагдсаны дараа &man.kenv.1; тушаалыг ашиглаж бүх хувьсагчуудыг + харуулж болно.</para> + + <para><filename>/boot/device.hints</filename> файлын синтакс нь мөр бүрт нэг хувьсагч байх бөгөөд + стандарт чагт <quote>#</quote>-г тайлбар тэмдэглэгчээр ашигладаг. Мөрүүдийг + дараах байдлаар бүтээдэг:</para> + + <screen><userinput>hint.driver.unit.keyword="<replaceable>value</replaceable>"</userinput></screen> + + <para>3 дахь шатны ачаалагч дуудагчийн синтакс нь:</para> + <screen><userinput>set hint.driver.unit.keyword=<replaceable>value</replaceable></userinput></screen> + + <para><literal>driver</literal> нь төхөөрөмжийн драйверийн нэр, <literal>unit</literal> нь + төхөөрөмжийн драйверийн нэгжийн дугаар, <literal>keyword</literal> нь сануулга түлхүүр үг юм. + Түлхүүр үг нь дараах тохируулгуудаас тогтож болно:</para> + + <itemizedlist> + <listitem> + <para><literal>at</literal>: төхөөрөмж холбогдсон шугамыг заана.</para> + </listitem> + + <listitem> + <para><literal>port</literal>: ашиглагдах <acronym>I/O</acronym>-ны эхлэх хаягийг заана.</para> + </listitem> + + <listitem> + <para><literal>irq</literal>: ашиглагдах тасалдал хүсэлтийн дугаарыг заана.</para> + </listitem> + + <listitem> + <para><literal>drq</literal>: DMA сувгийн дугаарыг заана.</para> + </listitem> + + <listitem> + <para><literal>maddr</literal>: төхөөрөмжийн эзэлж байгаа физик санах ойн хаягийг заана.</para> + </listitem> + + <listitem> + <para><literal>flags</literal>: төхөөрөмжийн хувьд төрөл бүрийн тугийн битүүдийг тохируулна.</para> + </listitem> + + <listitem> + <para><literal>disabled</literal>: хэрэв <literal>1</literal> гэж тохируулагдсан бол төхөөрөмж + хаагдаж идэвхгүй болно.</para> + </listitem> + </itemizedlist> + + <para>Төхөөрөмжийн драйверууд нь энд жагсаагдсанаас илүү сануулгуудыг хүлээн авч (эсвэл шаардаж) + болно, иймд гарын авлагын хуудсыг үзэхийг зөвлөж байна. Дэлгэрэнгүй мэдээллийн талаар + &man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5;, болон &man.loader.8; + гарын авлагуудаас зөвлөгөө авна уу.</para> + </sect1> + + <sect1 id="boot-init"> + <indexterm> + <primary><command>init</command></primary> + </indexterm> + <title>Init: Процесс хяналтын эхлүүлэлт</title> + + <para>Цөм ачаалж дууссаны дараа <filename>/sbin/init</filename> эсвэл + <command>loader</command>-д <envar>init_path</envar> хувьсагчид + заагдсан програмын замд байрлах хэрэглэгчийн процесс &man.init.8;-д хяналтаа + дамжуулдаг.</para> + + <sect2 id="boot-autoreboot"> + <title>Автомат дахин ачаалах дараалал</title> + + <para>Автомат дахин ачаалах дараалал нь систем дэх файлын системүүд + бүрэн бүтэн байгаа эсэхийг шалгадаг. Хэрэв тэдгээр нь тийм биш бөгөөд + &man.fsck.8; нь бүрэн бүтэн бус байдлыг засварлаж чадахгүй байгаа + бол администраторуудад асуудлуудад шууд анхаарлаа хандуулах боломж + олгох <link linkend="boot-singleuser">ганц-хэрэглэгчийн горим</link> + уруу системийг оруулдаг.</para> + </sect2> + + <sect2 id="boot-singleuser"> + <title>Ганц-хэрэглэгчийн горим</title> + <indexterm><primary>ганц-хэрэглэгчийн горим</primary></indexterm> + <indexterm><primary>консол</primary></indexterm> + + <para>Энэ горимд <link + linkend="boot-autoreboot">автомат дахин ачаалах дарааллын</link> + дагуу эсвэл хэрэглэгч <option>-s</option> тохируулга + ашиглан ачаалах эсвэл <command>loader</command>-д + <envar>boot_single</envar> хувьсагчийг тохируулж орж болдог.</para> + + <para>Мөн &man.shutdown.8;-ийг дахин ачаалах (<option>-r</option>) + эсвэл зогсоох (<option>-h</option>) тохируулгуудгүйгээр + <link linkend="boot-multiuser">олон-хэрэглэгчийн горим</link>оос + энэ горим уруу орж бас болно.</para> + + <para>Хэрэв системийн <literal>консол</literal> нь + <literal>insecure буюу аюултай</literal> гэж + <filename>/etc/ttys</filename>-д тохируулагдсан бол систем + ганц-хэрэглэгчийн горимыг эхлүүлэхээсээ өмнө <username>root</username> нууц + үгийг асуудаг.</para> + + <example id="boot-insecure-console"> + <title><filename>/etc/ttys</filename> дахь аюултай консол</title> + + <programlisting># 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</programlisting> + </example> + + <note> + <para><literal>Аюултай</literal> консол гэдэг нь та өөрийн консол дахь физик + аюулгүй байдлыг аюултай гэж авч үзэн зөвхөн <username>root</username> + нууц үгийг мэддэг хэн нэгэнд ганц хэрэглэгчийн горимыг ашиглуулахыг хүсч байгаа гэсэн үг + бөгөөд та консолоо аюултайгаар ажиллуулахыг хүсч байна гэсэн үг биш юм. Тиймээс + хэрэв та аюулгүй байдлыг хүсэж байгаа бол <literal>secure буюу аюулгүй</literal>г + биш <literal>insecure буюу аюултай</literal>г сонгоорой.</para> + </note> + </sect2> + + <sect2 id="boot-multiuser"> + <title>Олон-хэрэглэгчийн горим</title> + <indexterm><primary>олон-хэрэглэгчийн горим</primary></indexterm> + + <para>Хэрэв &man.init.8; таны файлын системийг цэгцтэйг мэдвэл + эсвэл хэрэглэгч <link linkend="boot-singleuser">ганц-хэрэглэгчийн горим</link>д + ажиллаад дууссаны дараа системийн эх үүсвэрийн тохиргоог эхлүүлдэг + олон-хэрэглэгчийн горим уруу систем ордог.</para> + + <sect3 id="boot-rc"> + <indexterm><primary>rc файлууд</primary></indexterm> + <title>Эх үүсвэрийн тохиргоо (rc)</title> + + <para>Эх үүсвэрийн тохиргооны систем нь + <filename>/etc/defaults/rc.conf</filename> файлаас + тохиргооны анхдагчууд болон системийн тусгайлсан нарийн зүйлүүдийг + <filename>/etc/rc.conf</filename> файлаас уншиж дараа нь + <filename>/etc/fstab</filename>-д дурдагдсан системийн + файлын системүүдийг холбон сүлжээний үйлчилгээнүүд, бусад системийн + демонуудыг эхлүүлэн төгсгөлд нь локал суулгагдсан багцуудын эхлүүлэх + скриптүүдийг ажиллуулдаг.</para> + + <para>&man.rc.8; гарын авлагын хуудас нь скриптүүдийг өөрсдийг нь шалгаж + эх үүсвэрийн тохиргооны системийн сайн зөвлөмж болдог.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="boot-shutdown"> + <title>Унтраах дараалал</title> + <indexterm> + <primary><command>shutdown</command></primary> + </indexterm> + + <para>&man.shutdown.8;-р хянагдсан унтраалт хийгдэхэд + &man.init.8; нь <filename>/etc/rc.shutdown</filename> + скриптийг ажиллуулахыг оролдож дараа нь бүх процессууд уруу + <literal>TERM</literal> дохио явуулах бөгөөд дараагаар нь + хугацаандаа дуусаагүй процессууд уруу <literal>KILL</literal> + дохио илгээдэг.</para> + + <para>Тэжээлийн удирдлагыг дэмждэг архитектурууд болон системүүд дээрх + FreeBSD машиныг унтраахдаа тэжээлийг даруй унтраахын тулд + зүгээр л <command>shutdown -p now</command> тушаалыг + ашиглаарай. FreeBSD системийг дахин ачаалахдаа + <command>shutdown -r now</command> тушаалыг ашиглана. + &man.shutdown.8;-г ажиллуулахын тулд та <username>root</username> + эсвэл <groupname>operator</groupname> бүлгийн гишүүн байх хэрэгтэй. + &man.halt.8; болон &man.reboot.8; тушаалууд бас ашиглагдаж болох бөгөөд + дэлгэрэнгүй мэдээллийн талаар тэдгээрийн гарын авлагын хуудсууд болон + &man.shutdown.8;-ы хуудсанд хандана уу.</para> + + <note> + <para>Тэжээлийн удирдлага цөмд &man.acpi.4; дэмжлэг эсвэл тухайн модул + ачаалагдсан байхыг шаарддаг.</para> + </note> + + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + diff --git a/mn_MN.UTF-8/books/handbook/chapter.decl b/mn_MN.UTF-8/books/handbook/chapter.decl new file mode 100644 index 0000000000..87813e792f --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/chapter.decl @@ -0,0 +1,9 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.3 + + $FreeBSD$ +--> + +<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN"> diff --git a/mn_MN.UTF-8/books/handbook/chapters.ent b/mn_MN.UTF-8/books/handbook/chapters.ent new file mode 100644 index 0000000000..ed68fd032f --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/chapters.ent @@ -0,0 +1,67 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.37 + + $FreeBSD$ +--> +<!-- + Creates entities for each chapter in the FreeBSD Handbook. Each entity + is named chap.foo, where foo is the value of the id attribute on that + chapter, and corresponds to the name of the directory in which that + chapter's .sgml file is stored. + + Chapters should be listed in the order in which they are referenced. + +--> + +<!ENTITY chap.preface SYSTEM "preface/preface.sgml"> + +<!-- Part one --> +<!ENTITY chap.introduction SYSTEM "introduction/chapter.sgml"> +<!ENTITY chap.install SYSTEM "install/chapter.sgml"> +<!ENTITY chap.basics SYSTEM "basics/chapter.sgml"> +<!ENTITY chap.ports SYSTEM "ports/chapter.sgml"> +<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> + +<!-- Part two --> +<!ENTITY chap.desktop SYSTEM "desktop/chapter.sgml"> +<!ENTITY chap.multimedia SYSTEM "multimedia/chapter.sgml"> +<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> +<!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> +<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml"> + +<!-- Part three --> +<!ENTITY chap.config SYSTEM "config/chapter.sgml"> +<!ENTITY chap.boot SYSTEM "boot/chapter.sgml"> +<!ENTITY chap.users SYSTEM "users/chapter.sgml"> +<!ENTITY chap.security SYSTEM "security/chapter.sgml"> +<!ENTITY chap.jails SYSTEM "jails/chapter.sgml"> +<!ENTITY chap.mac SYSTEM "mac/chapter.sgml"> +<!ENTITY chap.audit SYSTEM "audit/chapter.sgml"> +<!ENTITY chap.disks SYSTEM "disks/chapter.sgml"> +<!ENTITY chap.geom SYSTEM "geom/chapter.sgml"> +<!ENTITY chap.vinum SYSTEM "vinum/chapter.sgml"> +<!ENTITY chap.virtualization SYSTEM "virtualization/chapter.sgml"> +<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml"> +<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml"> + +<!-- Part four --> +<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml"> +<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml"> +<!ENTITY chap.mail SYSTEM "mail/chapter.sgml"> +<!ENTITY chap.network-servers SYSTEM "network-servers/chapter.sgml"> +<!ENTITY chap.firewalls SYSTEM "firewalls/chapter.sgml"> +<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml"> + +<!-- Part five (appendices) --> +<!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml"> +<!ENTITY chap.mirrors.ftp.inc SYSTEM "mirrors.sgml.ftp.inc"> +<!ENTITY chap.mirrors.cvsup.inc SYSTEM "mirrors.sgml.cvsup.inc"> + +<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml"> +<!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml"> +<!ENTITY chap.eresources.www.inc SYSTEM "eresources.sgml.www.inc"> +<!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml"> +<!ENTITY chap.index SYSTEM "index.sgml"> +<!ENTITY chap.colophon SYSTEM "colophon.sgml"> diff --git a/mn_MN.UTF-8/books/handbook/colophon.sgml b/mn_MN.UTF-8/books/handbook/colophon.sgml new file mode 100644 index 0000000000..01ef3ac3ab --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/colophon.sgml @@ -0,0 +1,33 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.9 + + $FreeBSD$ +--> + +<colophon id='colophon'> + <para>Энэхүү ном нь олон зуун хувь нэмэр оруулагчдын + <quote>FreeBSD-ийн Баримтжуулах Төсөлд</quote> + оруулсан хамтын бүтээл юм. Номын текст нь DocBook DTD-ийн дагуу + SGML дээр хийгдсэн бөгөөд нээлттэй эх DSSSL хөдөлгүүр болох + <application>Jade</application> ашиглан SGML-ээс олон + өөр үзүүлэх хэлбэрт хэлбэржжээ. Ноорм Волшийн DSSSL загварчлах хуудсууд, + нэмэлт өөрчлөлт давхраатай цуг <application>Jade</application>-д + зориулсан үзүүлэх заавруудыг бий болгоход ашиглагдсан. Энэ баримтын + хэвлэсэн хувилбар нь Доналд Кнутын <application>&tex;</application> + тайпсет хэл, Лэсли Лэмпортын <application>LaTeX</application>, + эсвэл Себастьян Ратцын <application>JadeTeX</application> макро + багцгүйгээр бүтэхгүй байсан билээ.</para> +</colophon> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/config/Makefile b/mn_MN.UTF-8/books/handbook/config/Makefile new file mode 100644 index 0000000000..54a19fa91d --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/config/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= config/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/config/chapter.sgml b/mn_MN.UTF-8/books/handbook/config/chapter.sgml new file mode 100644 index 0000000000..eecff96507 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/config/chapter.sgml @@ -0,0 +1,3110 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.226 + + $FreeBSD$ +--> + +<chapter id="config-tuning"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Чэрн</firstname> + <surname>Ли</surname> + <contrib>Хойно дурдсан заавар болон гарын авлага дээр тулгуурлан бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Майк</firstname> + <surname>Смит</surname> + <contrib>Зааврыг бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Мэтт</firstname> + <surname>Диллон</surname> + <contrib>tuning(7)-г бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </chapterinfo> + + <title>Тохиргоо ба Тааруулалт</title> + + <sect1 id="config-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm><primary>системийн тохиргоо</primary></indexterm> + <indexterm><primary>системийн оновчлол</primary></indexterm> + + <para>&os;-ийн хамгийн чухал зүйлүүдийн нэг нь системийн тохиргоо юм. + Зөв системийн тохиргоо нь ирээдүйн шинэчлэлтүүдийн үед толгойн өвчин гаргахгүй + байхад тусална. Энэ бүлэг &os; системийг тааруулахад хэрэглэгддэг зарим нэг + параметрүүд болон тохиргооны процессын талаар илүү тайлбарлах болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Файлын системүүд болон хуваалтуудтай хэрхэн үр ашигтай ажиллах + талаар.</para> + </listitem> + <listitem> + <para><filename>rc.conf</filename> тохиргоо болон + <filename>/usr/local/etc/rc.d</filename> эхлэлийн системүүдийн + үндсүүд.</para> + </listitem> + <listitem> + <para>Сүлжээний картыг хэрхэн тохиргоо болон тест хийх талаар.</para> + </listitem> + <listitem> + <para>Сүлжээний төхөөрөмж дээрээ виртуал хостууд хэрхэн тохируулах талаар.</para> + </listitem> + <listitem> + <para><filename>/etc</filename> дэх төрөл бүрийн тохиргооны файлыг + хэрхэн ашиглах талаар.</para> + </listitem> + <listitem> + <para><command>sysctl</command> хувьсагчуудыг ашиглан &os;-ийг + хэрхэн тааруулах талаар.</para> + </listitem> + <listitem> + <para>Дискийн хурдан ажиллагааг хэрхэн тааруулах болон цөмийн хязгааруудыг + хэрхэн өөрчлөх талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>&unix; болон &os;-ийн үндсийг ойлгох (<xref + linkend="basics">).</para> + </listitem> + <listitem> + <para>Цөмийн тохиргоо/хөрвүүлэлтийн үндсүүдийн талаар ойлголттой байх + (<xref linkend="kernelconfig">).</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="configtuning-initial"> + <title>Эхний Тохиргоо</title> + + <sect2> + <title>Хуваалтын байрлал</title> + + <indexterm><primary>хуваалтын байрлал</primary></indexterm> + <indexterm> + <primary><filename>/etc</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/var</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/usr</filename></primary> + </indexterm> + + <sect3> + <title>Үндсэн Хуваалтууд</title> + + <para>&man.bsdlabel.8; болон &man.sysinstall.8; ашиглан файлын + системүүдийг байрлуулахдаа хатуу хөтлөгчүүд өгөгдлийг дотоод замуудаас + илүү гаднах замуудаас хурдан шилжүүлдгийг санаарай. + Тиймээс жижиг, байнга ханддаг файлын системүүд хөтлөгчийн гадна тал уруу ойрхон + байх ёстой бөгөөд <filename>/usr</filename> зэрэг том хуваалтууд + дотор тал уруу байх хэрэгтэй. Хуваалтуудыг иймэрхүү дарааллаар байрлуулах нь + зөв юм: root, swap, <filename>/var</filename>, + <filename>/usr</filename>.</para> + + <para><filename>/var</filename>-ийн хэмжээ төлөвлөсөн машины хэрэглээг + тусгадаг. + <filename>/var</filename> нь шуудангийн хайрцгууд, бүртгэлийн файлууд, + болон принтерийн spool агуулдаг. Шуудангийн хайрцгууд болон бүртгэлийн + файлууд хичнээн хэрэглэгч байгаа болон ямар хугацаанд бүртгэлийн файлууд байхаас + хамаараад төсөөлөшгүй хэмжээнд хүртэл ихсэж болдог. Ихэнх хэрэглэгчид + гигабайтыг шаардахгүй боловч <filename>/var/tmp</filename> нь + багцуудыг багтаахаар том байх шаардлагатай.</para> + + <para><filename>/usr</filename> хуваалт &man.ports.7; цуглуулга (байлгахыг зөвлөдөг), + болон эх код (заавал биш) зэрэг системийг дэмжихэд шаардлагатай ихэнх файлуудыг агуулдаг. + Эдгээрийг суулгалтын үед сонгох боломжтой. Энэ хуваалтад хамгийн багаар 2 гигабайтыг зөвлөдөг.</para> + + <para>Хуваалтын хэмжээг сонгохдоо зайн шаардлагыг бодох хэрэгтэй. Нэг хуваалт нь + бараг л ашиглагдахгүй байхад нөгөө нь зайгүй болж байх нь асуудал юм.</para> + + <note><para>&man.sysinstall.8;-ийн <literal>Auto-defaults</literal> + хуваалтын хэмжээг өгөгч нь заримдаа <filename>/var</filename> болон + <filename>/</filename> хуваалтуудад боломжоос бага хэмжээг сонгодгийг + зарим хэрэглэгчид олсон байна. Хуваалтыг ухаалгаар харамгүй хийгээрэй.</para></note> + + </sect3> + + <sect3 id="swap-design"> + <title>Swap Хуваалт</title> + + <indexterm><primary>swap хэмжээ нэмэх</primary></indexterm> + <indexterm><primary>swap хуваалт</primary></indexterm> + + <para>Swap хуваалтын хэмжээ системийн санах ойг (RAM) хоёр дахин авсан + хэмжээтэй байх ёстой. Жишээлбэл машин 128 мегабайт санах ойтой + бол swap файл 256 мегабайт байх ёстой. Бага санах ойтой системүүд + их swap-тай бол илүү хурдан ажиллаж болох юм. 256 мегабайтаас бага + swap-ийг хэрэглэхийг зөвлөдөггүй бөгөөд санах ойн өргөтгөл хэрэгтэй. Цөмийн + VM хуудаслах алгоритмууд нь багаар бодоход гол санах ойг хоёр дахин авсантай + тэнцэх swap хуваалттай байх үед хамгийн хурдан ажиллахаар тааруулагдсан + байдаг. Хэтэрхий бага swap тохируулах нь VM хуудас скан хийх кодыг үр + ашиггүйтэлд хүргэж илүү санах ой хожим нэмэхэд асуудал үүсгэж болох юм.</para> + + <para>Олон SCSI дискүүд бүхий (эсвэл олон IDE дискүүд өөр өөр хянагчууд дээр + ажиллаж байгаа) томоохон системүүдэд swap-ийг хөтлөгч болгон дээр (4 хөтлөгч хүртэл) + тохируулахыг зөвлөдөг. Swap хуваалтууд нь ойролцоогоор адилхан хэмжээний + байх шаардлагатай. Цөм дурын хэмжээтэй ажиллаж чадах боловч дотоод өгөгдлийн + бүтцүүд хамгийн том swap хуваалтыг 4 дахин авсантай адил хэмжээгээр + томрох боломжтой. Swap хуваалтуудыг ойролцоогоор адил хэмжээтэй байлгах нь + swap зайг дискүүдийн дагуу оновчтойгоор судал үүсгэх боломжийг цөмд олгодог. + Swap их ашиглагддаггүй байсан ч гэсэн том swap хэмжээ байж болно. + Хүчээр дахин ачаалагдах үед дагаж хаагдсан програмаас өгөгдлийг сэргээх нь + амархан байж болох юм.</para> + </sect3> + + <sect3> + <title>Яагаад Хуваах хэрэгтэй гэж?</title> + + <para>Зарим хэрэглэгчид ганц том хуваалт байхад болно гэж боддог, + гэхдээ энэ нь яагаад буруу болох хэд хэдэн шалтгаан бий. + Нэгдүгээрт хуваалт болгон өөр өөр ажиллагааны шинж чанаруудтай бөгөөд + тэдгээрийг тусгаарласнаар файлын системийг тэдгээрт тааруулах боломжийг + олгодог. Жишээ нь root болон <filename>/usr</filename> + хуваалтууд байнга бичигдэхээсээ илүү ихэвчлэн уншигддаг. + Харин уншилт болон бичилт <filename>/var</filename> болон + <filename>/var/tmp</filename>-д байнга хийгддэг.</para> + + <para>Системийг зөв хувааснаар ачаалалтай хуваалтуудад хийсэн жижиг + бичилтээр гарсан хэсэглэлт илүүдэж байнга уншигддаг хуваалтууд уруу + хальдаггүй. Бичилт-ачаалсан хуваалтуудыг дискийн ирмэг уруу байрлуулах нь + бичилт ихэвчлэн хийгддэг хуваалтууд дахь I/O ажиллагааг хурдасгадаг. + Том хуваалтуудад I/O-н хурдан ажиллагаа хэрэгтэй байж болох ч + тэдгээрийг дискийн ирмэг уруу илүүтэй ойртуулах нь + <filename>/var</filename>-ийг ирмэг уруу шилжүүлснээс илүү + мэдэгдэхүйц хурдан ажиллагаанд хүргэхгүй. Эцэст нь найдвартай байдлыг бодох + ёстой. Ихэвчлэн уншигддаг, жижиг, цэвэрхэн root хуваалт хэцүү сүйрэл + болоход сэргэх боломж нь хамаагүй илүү байна.</para> + </sect3> + </sect2> + + </sect1> + + <sect1 id="configtuning-core-configuration"> + <title>Гол Тохиргоо</title> + + <indexterm> + <primary>rc файлууд</primary> + <secondary><filename>rc.conf</filename></secondary> + </indexterm> + + <para>Системийн тохиргооны мэдээлэл <filename>/etc/rc.conf</filename> + дотор байдаг. Энэ файл нь өргөн хүрээний, зарчмын хувьд системийг эхлэх + үед системийг тохируулахад ашиглагддаг тохиргооны мэдээллүүдээс тогтоно. + Үүний нэр нь шууд утгыг тодорхойлно; энэ нь <filename>rc*</filename> + файлуудад зориулсан тохиргооны мэдээлэл юм.</para> + + <para>Администратор + <filename>/etc/defaults/rc.conf</filename>-ийн анхдагч утгуудыг + <filename>rc.conf</filename> файлд өөрчилж оруулах хэрэгтэй. + Анхдагчуудын файл <filename>/etc</filename> уруу хуулагдах ёсгүй - + энэ нь жишээ биш анхдагч утгуудыг агуулдаг. Бүх системийн холбогдолтой + өөрчлөлтүүд <filename>rc.conf</filename> файлд өөрт нь хийгдэх + ёстой.</para> + + <para>Удирдлагын нэмэлт ачааллыг байнга бага байлгахын тулд сайт дагуух тохиргоог + системийн тусгайлсан тохиргооноос тусгаарлах хэд хэдэн стратеги кластер хийгдсэн + програмуудад байж болох юм. Сайтын дагуух тохиргоог + <filename>/etc/rc.conf.site</filename> зэрэг өөр файлд байрлуулж + дараа нь энэ файлыг зөвхөн системийн тусгайлсан мэдээллийг агуулдаг + <filename>/etc/rc.conf</filename>-д оруулахыг + зөвлөдөг.</para> + + <para><filename>rc.conf</filename> нь &man.sh.1;-ээр уншигддаг болохоор + үүнийг хийхэд амархан байна. Жишээ нь:</para> + + <itemizedlist> + <listitem><para>rc.conf:</para> +<programlisting> . /etc/rc.conf.site + hostname="node15.example.com" + network_interfaces="fxp0 lo0" + ifconfig_fxp0="inet 10.1.1.1"</programlisting></listitem> + <listitem><para>rc.conf.site:</para> +<programlisting> defaultrouter="10.1.1.254" + saver="daemon" + blanktime="100"</programlisting></listitem> + </itemizedlist> + + <para>Дараа нь <filename>rc.conf.site</filename> файл + систем болгонд <command>rsync</command> эсвэл адил + програмаар түгээгдэж болох бөгөөд харин + <filename>rc.conf</filename> файл нь өөр өөр хэвээр байх болно.</para> + + <para>&man.sysinstall.8; эсвэл <command>make world</command> ашиглан + системийг шинэчлэхэд <filename>rc.conf</filename> файлыг + дарж бичихгүй, тэгэхээр системийн тохиргооны мэдээлэл хаягдахгүй.</para> + + </sect1> + + <sect1 id="configtuning-appconfig"> + <title>Програмын Тохиргоо</title> + + <para>Ерөнхийдөө суулгасан програмууд нь өөрийн дүрэм гэх мэт онцлогтой өөр өөрийн + тохиргооны файлуудтай байдаг. Эдгээр файлуудыг багц удирдах хэрэгслүүдээр + амархан олж удирдаж болохоор үндсэн системээс тусад нь байлгах нь чухал юм.</para> + + <indexterm><primary>/usr/local/etc</primary></indexterm> + + <para>Ерөнхийдөө эдгээр файлууд нь <filename>/usr/local/etc</filename> + дотор суулгагддаг. Програм их олон тооны тохиргооны файлуудтай тохиолдолд + тэдгээрийг агуулж дэд сан үүсгэгдэнэ.</para> + + <para>Ихэнхдээ порт эсвэл багц суухад жишээ тохиргооны файлууд бас суудаг. + Эдгээр нь ихэнхдээ <filename>.default</filename> дагавараар + танигддаг. Хэрэв програмын хувьд тохиргооны файлууд байхгүй байвал + тэдгээрийг <filename>.default</filename> файлуудыг хуулж үүсгэнэ.</para> + + <para>Жишээ нь <filename>/usr/local/etc/apache</filename> санд + байгаа файлуудыг үзье:</para> + +<literallayout class="monospaced">-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf +-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default +-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf +-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default +-rw-r--r-- 1 root wheel 12205 May 20 1998 magic +-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default +-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types +-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default +-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf +-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default</literallayout> + + <para>Файлын хэмжээнүүд нь зөвхөн <filename>srm.conf</filename> файл + өөрчлөгдсөнийг харуулж байна. <application>Apache</application> + портын дараагийн шинэчлэл энэ өөрчлөгдсөн файлыг дарж хуулахгүй.</para> + + </sect1> + + <sect1 id="configtuning-starting-services"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + + <title>Үйлчилгээнүүдийг эхлүүлэх нь</title> + + <indexterm><primary>үйлчилгээнүүд</primary></indexterm> + + <para>Олон хэрэглэгчид Портуудын Цуглуулгаас гуравдагч програм хангамжуудыг + &os; дээр суулгахаар сонгодог. Ихэнх тохиолдолд програм хангамжийг + систем ачаалахад эхлүүлэхээр тохируулах шаардлагатай байж болох юм. + <filename role="package">mail/postfix</filename> эсвэл + <filename role="package">www/apache13</filename> + зэрэг үйлчилгээнүүд нь системийг ачаалахад эхлүүлж болох програм + хангамжийн багцуудын зөвхөн хоёрхон жишээ юм. Энэ хэсэгт гуравдагч + програм хангамжийг ажиллуулах процедурын талаар тайлбарлах болно.</para> + + <para>&os; дээр &man.cron.8; зэрэг ихэнх үйлчилгээнүүд системийн эхлүүлэх + скриптүүдийн тусламжтай эхэлдэг. Эдгээр скриптүүд &os; эсвэл + үйлдвэрлэгчийн хувилбараас хамааран өөр өөр байна; гэхдээ хамгийн чухал + авч үзэх зүйл нь тэдгээрийн эхлэх тохиргоог энгийн эхлүүлэх скриптүүдээр хийх + боломжтой явдал юм.</para> + + <para><filename>rc.d</filename>-ээс өмнө програм хангамжууд энгийн эхлүүлэх + скриптээ системийн эхлүүлэх скриптүүдийн уншдаг + <filename class="directory">/usr/local/etc/rc.d</filename> санд + хийдэг байсан. Дараа нь эдгээр скриптүүд нь системийн ачаалалтын сүүлийн шатуудад + ажилладаг.</para> + + <para>Олон хувь хүмүүс хуучин тохиргооны загварыг шинэ систем уруу нийлүүлэх гэж + олон цагийг зарсаар байгаа боловч зарим гуравдагч хэрэгслүүд скриптээ + дээр дурдсан сан уруу хийхийг шаардсан хэвээр байгаа юм. Скриптүүдийн + гол ялгаанууд нь <filename>rc.d</filename> ашиглаж байгаа эсэхээс + хамаарна. &os; 5.1-ээс өмнө хуучин тохиргооны загвар ашиглагдаж + байсан бөгөөд бараг бүх л тохиолдлуудад шинэ загварын скриптүүд ч бас + зүгээр ажиллах юм.</para> + + <para>Скрипт бүр зарим хамгийн бага шаардлагыг хангах ёстой боловч ихэнхдээ + &os;-ийн хувилбараас хамаарна. Скрипт бүр төгсгөлдөө <filename>.sh</filename> + өргөтгөл залгаатай байх шаардлагатай бөгөөд скрипт бүр систем дээр + ажиллах боломжтой байх ёстой. Сүүлийнхийг <command>chmod</command> + тушаал ашиглан ганц <literal>755</literal> эрхийг заан хийж болно. + Мөн хамгийн багаар бодоход програмыг <literal>эхлүүлэх</literal> болон + <literal>зогсоох</literal> тохируулгууд байх ёстой.</para> + + <para>Хамгийн энгийн эхлүүлэх скрипт яг энэн шиг харагдах болов уу:</para> + + <programlisting>#!/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</programlisting> + + <para>Энэ скрипт <literal>utility</literal> хэмээгдсэн програмд + зориулагдсан <literal>зогсоох</literal> болон + <literal>эхлүүлэх</literal> тохируулгатай байна.</para> + + <para>Гараар ингэж эхлүүлж болно:</para> + + <screen>&prompt.root; <userinput><filename>/usr/local/etc/rc.d/utility.sh</filename> start</userinput></screen> + + <para>Бүх гуравдагч програм хангамжууд <filename>rc.conf</filename>-д + мөр байхыг шаарддаггүй боловч бараг л өдөр болгон шинэ порт + энэ тохиргоог авахаар өөрчлөгдөж байна. Тухайн програмын талаар дэлгэрэнгүй + мэдээллийг суулгалтын сүүлийн дэлгэцэд гаргасан үр дүнгээс шалгаарай. + Зарим гуравдагч програм хангамжууд програмыг <filename>rc.d</filename>-тэй + цуг ашиглахыг зөвшөөрдөг эхлүүлэх скриптүүдтэй байдаг; гэхдээ + энэ нь дараагийн хэсэгт хэлэлцэгдэнэ.</para> + + <sect2> + <title>Програмын Өргөтгөсөн Тохиргоо</title> + + <para>Одоогийн &os;-ийн <filename>rc.d</filename>-г агуулдаг нь + програмын эхлүүлэх тохиргоог илүү хялбар, боломжтой болгосон. + <link linkend="configtuning-rcd">rc.d</link> хэсэгт + хэлэлцсэн түлхүүр үгүүдийг ашиглан програмууд жишээ нь + <acronym>DNS</acronym> зэрэг зарим үйлчилгээнүүдийн дараа + ажиллахаар тохируулагдаж болно; эхлүүлэх скриптүүдэд хатуугаар + бичигдсэн тугуудын оронд <filename>rc.conf</filename>-оор + нэмэлт тугуудыг өгөхийг зөвшөөрч болох гэх мэт. + Үндсэн скрипт дараах байдлаар харагдаж болно:</para> + + <programlisting>#!/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-""} +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"</programlisting> + + <para>Энэ скрипт нь өгөгдсөн <application>utility</application>-г + <literal>daemon</literal> үйлчилгээний дараа ажиллуулахаар + тохируулагдсан. Мөн <acronym>PID</acronym>, эсвэл процессийн + <acronym>ID</acronym> файлыг заах болон дагах аргыг бас хангадаг.</para> + + <para>Энэ програм дараах мөрийг <filename>/etc/rc.conf</filename> + файлд оруулж болно:</para> + + <programlisting>utility_enable="YES"</programlisting> + + <para>Энэхүү арга нь тушаалын мөрийн нэмэлт өгөгдлүүдийг илүү хялбараар + удирдах боломжийг зөвшөөрдөг бөгөөд <filename>/etc/rc.subr</filename> + дахь анхдагч функцуудыг оруулах, &man.rcorder.8; хэрэгсэлтэй нийцтэй байх, + болон <filename>rc.conf</filename> файлын тусламжтай хялбараар + тохиргоо хийх боломжийг бас хангадаг.</para> + </sect2> + + <sect2> + <title>Үйлчилгээнүүдийг эхлүүлэхийн тулд үйлчилгээнүүдийг ашиглах нь</title> + + <para><acronym>POP</acronym>3 сервер демонууд, + <acronym>IMAP</acronym> зэрэг бусад үйлчилгээнүүд &man.inetd.8; + ашиглан эхэлж болдог. Энэ нь Портуудын Цуглуулгаас + <filename>/etc/inetd.conf</filename> файлд нэмэгдэх мөр бүхий эсвэл + одоогийн байгаа мөрүүдийн нэгнээс тайлбарыг болиулж идэвхжүүлдэг үйлчилгээний + хэрэгслийг суулгаснаар хэрэгждэг. + <application>inetd</application> болон түүний тохиргоотой ажиллах + талаар <link linkend="network-inetd">inetd</link> хэсэгт гүнзгий + тайлбарласан байгаа болно.</para> + + <para>Зарим тохиолдолд &man.cron.8; ашиглан системийн үйлчилгээнүүдийг + эхлүүлэх нь илүү ашигтай байж болох юм. Энэ арга нь хэд хэдэн давуу талуудтай + бөгөөд учир нь <command>cron</command> эдгээр процессуудыг + <filename>crontab</filename>-н файлын эзэмшигчийн эрхээр ажиллуулдаг. + Энэ нь ердийн хэрэглэгчдэд зарим програмуудыг эхлүүлж ажиллагааг хангах боломжийг + олгодог.</para> + + <para><command>cron</command> хэрэгсэл <literal>@reboot</literal> + гэсэн бусдад байхгүй боломжийг олгодог бөгөөд цаг хугацааг заах хэсэгт ашиглагдах + боломжтой. Энэ нь системийг эхлүүлэх явцад &man.cron.8; эхлэх үед тухайн + ажлыг ажиллуулдаг.</para> + + </sect2> + </sect1> + + <sect1 id="configtuning-cron"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + <!-- 20 May 2003 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + <title><command>cron</command> хэрэгслийг тохируулах нь</title> + + <indexterm><primary>cron</primary> + <secondary>тохиргоо</secondary></indexterm> + + <para>&os;-ийн хамгийн ашигтай хэрэгслүүдийн нэг нь &man.cron.8; юм. + <command>cron</command> хэрэгсэл ард ажилладаг бөгөөд + <filename>/etc/crontab</filename> файлыг байнга шалгаж + байдаг. <command>cron</command> хэрэгсэл + <filename>/var/cron/tabs</filename> сангаас шинэ + <filename>crontab</filename> файлуудыг бас шалгадаг. + Эдгээр <filename>crontab</filename> файлууд нь тусгай функцуудыг + агуулдаг бөгөөд эдгээрийг <command>cron</command> тодорхой хугацаанд + ажиллуулах ёстой байдаг.</para> + + <para><command>cron</command> хэрэгсэл системийн crontab болон хэрэглэгчийн + crontab гэсэн хоёр төрлийн тохиргооны файлыг ашигладаг. Энэ хоёр хэлбэршилтийн + зөвхөн ялгаа нь зургаа дахь талбар юм. Системийн crontab дээрх зургаа дахь + талбар нь тушаалыг ажиллуулах хэрэглэгчийн нэр байдаг. Энэ нь системийн crontab-ийг + ямар ч хэрэглэгчийн эрхээр тушаалуудыг ажиллуулах боломж олгодог. Хэрэглэгчийн + crontab дээрх зургаа дахь талбар нь ажиллуулах тушаал бөгөөд бүх тушаалууд нь + crontab-ийг үүсгэсэн хэрэглэгчийн эрхээр ажилладаг; энэ нь аюулгүй байдлын + нэг чухал боломж юм.</para> + + <note> + <para>Хэрэглэгчийн crontab-ууд нь хэрэглэгчдэд <username>root</username> + эрхийн шаардлагагүйгээр бодлогуудыг цагийн хуваариар ажиллуулах боломж олгодог. + Хэрэглэгчийн crontab дахь тушаалууд нь crontab-ийг эзэмшиж байгаа хэрэглэгчийн + эрхээр ажилладаг.</para> + + <para><username>root</username> хэрэглэгч бас бусад хэрэглэгчийн нэгэн адил + хэрэглэгчийн crontab-тай байж болно. Энэ нь <filename>/etc/crontab</filename>-аас + (системийн crontab) өөр байна. Системийн crontab байдаг учраас + <username>root</username> хэрэглэгчийн хувьд ихэнхдээ хэрэглэгчийн crontab + шаардлагагүй байдаг.</para> + </note> + + <para><filename>/etc/crontab</filename> файлыг (системийн crontab) харцгаая:</para> + + + <programlisting># /etc/crontab - root's crontab for &os; +# +# $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ +# <co id="co-comments"> +# +SHELL=/bin/sh +PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin <co id="co-env"> +HOME=/var/log +# +# +#minute hour mday month wday who command <co id="co-field-descr"> +# +# +*/5 * * * * root /usr/libexec/atrun <co id="co-main"> +</programlisting> + + <calloutlist> + <callout arearefs="co-comments"> + <para>&os;-ийн ихэнх тохиргооны файлуудын адил <literal>#</literal> тэмдэгт + тайлбарыг илэрхийлнэ. Тайлбарыг хүсэж байгаа үйлдэл нь юу болох яагаад хийгдэж + байгааг сануулах зорилгоор файлд тавьж болдог. Тайлбаруудыг тушаал байгаа мөрд + хийж болохгүй бөгөөд ингэсэн тохиолдолд тушаалын хэсэг мэтээр ойлгогдоно; тэдгээр нь + шинэ мөрөнд байх ёстой. Хоосон мөрүүдийг тооцохгүй.</para> + </callout> + + <callout arearefs="co-env"> + <para>Эхлээд орчин тодорхойлогдох шаардлагатай. Тэнцүүгийн (<literal>=</literal>) + тэмдэг орчны тохиргоог тодорхойлоход ашиглагддаг бөгөөд энэ жишээн дээр + <envar>SHELL</envar>,<envar>PATH</envar>, болон <envar>HOME</envar> + тохируулгуудад ашиглагдаж байна. Хэрэв бүрхүүлийн мөрийг орхисон бол + <command>cron</command> анхдагч болох <command>sh</command>-ийг ашигладаг. + Хэрэв <envar>PATH</envar> хувьсагчийг орхисон бол ямар ч анхдагч ашиглагдахгүй бөгөөд + файлын байрлалууд абсолют байх хэрэгтэй. Хэрэв <envar>HOME</envar> мөрийг + орхисон бол <command>cron</command> ажиллуулж байгаа хэрэглэгчийн гэрийн санг + ашигладаг.</para> + </callout> + + <callout arearefs="co-field-descr"> + <para>Энэ мөр нь нийт долоон талбарыг тодорхойлдог. Энд жагсаагдсан утгууд нь + <literal>minute</literal>, <literal>hour</literal>, + <literal>mday</literal>, <literal>month</literal>, + <literal>wday</literal>, + <literal>who</literal>, болон <literal>command</literal> юм. + Эдгээрийг нэрээс нь харахад ойлгомжтой. <literal>minute</literal> нь тушаал + ажиллах минутаар илэрхийлэгдсэн хугацаа. <literal>hour</literal> нь + <literal>minute</literal>-ын адил тохируулга бөгөөд цагаар илэрхийлэгддэг. + <literal>mday</literal> нь сарын өдрийг заана. + <literal>month</literal> нь <literal>hour</literal> болон + <literal>minute</literal>-тай адил бөгөөд сарыг зааж өгнө. + <literal>wday</literal> тохируулга нь долоо хоногийн + өдрийг заана. Эдгээр бүх талбарууд нь тоон утга байх ёстой бөгөөд хорин дөрвөн + цагийг дагадаг. <literal>who</literal> талбар нь тусгай бөгөөд зөвхөн + <filename>/etc/crontab</filename> файлд байдаг. Энэ талбар нь аль + хэрэглэгчийн эрхээр тушаал ажиллахыг заадаг. Хэрэглэгч өөрийн + <filename>crontab</filename> файлыг суулгах үед энэ тохируулга байдаггүй. + Эцэст нь <literal>command</literal> тохируулга жагсаагддаг. Энэ нь + сүүлийн талбар бөгөөд ажиллуулах тушаалд зориулагдсан байх ёстой.</para> + </callout> + + <callout arearefs="co-main"> + <para>Энэ сүүлийн мөр нь дээр дурдсан утгуудыг тодорхойлдог. Энд бид + хэд хэдэн <literal>*</literal> тэмдэгтүүд дараалсан <literal>*/5</literal> + гэсэн жагсаалт байгааг анзаарах хэрэгтэй. Эдгээр <literal>*</literal> + тэмдэгтүүд нь <quote>эхний-эцсийн</quote> гэсэн үг бөгөөд + <emphasis>үргэлж</emphasis> гэж ойлгогдож болно. Тэгвэл энэ мөрөөс + үзэхэд <command>atrun</command> тушаал нь <username>root</username> + эрхээр 5 минут тутам аль өдөр сар байгаагаас үл хамааран ажиллана. + <command>atrun</command> тушаалын талаар дэлгэрэнгүй мэдээллийг + &man.atrun.8; гарын авлагаас үзнэ үү.</para> + + <para>Тушаалууд тэдгээрт өгч болох дурын тооны тугуудтай байж болно; гэхдээ + олон мөр болон уртассан тушаалууд урагшаа ташуу <quote>\</quote> үргэлжлүүлэх + тэмдэгтээр хуваагдсан байх ёстой.</para> + </callout> + </calloutlist> + + <para>Энэ нь <filename>crontab</filename> файл болгоны хувьд үндсэн тохиргоо + байна, гэхдээ нэг зүйл нь үүнээс өөр байна. Хэрэглэгчийг заадаг зургаа дахь талбар + нь зөвхөн системийн <filename>/etc/crontab</filename> файлд байна. + Энэ талбарыг хэрэглэгчийн <filename>crontab</filename> файлуудын хувьд + орхих хэрэгтэй.</para> + + + <sect2 id="configtuning-installcrontab"> + <title>Crontab суулгах нь</title> + + <important> + <para>Та энд тайлбарласан процедурыг ашиглан системийн crontab-ийг засаж/суулгах + шаардлагагүй. Зүгээр л өөрийн дуртай засвларлагчийг ашигла: + <command>cron</command> хэрэгсэл файл өөрчлөгдсөнийг мэдээд тэр даруй + шинэчлэгдсэн хувилбарыг ашиглаж эхэлнэ. Дэлгэрэнгүй мэдээллийг + <ulink url="&url.books.faq;/admin.html#ROOT-NOT-FOUND-CRON-ERRORS"> + Энэ БХА-ын оруулгаас</ulink> үзнэ үү.</para> + </important> + + <para>Хэрэглэгчийн бичсэн шинэ <filename>crontab</filename> файлыг суулгахын тулд + эхлээд өөрийн дуртай засварлагчийг ашиглаад зөв хэлбэршилттэй файл үүсгээд дараа нь + <command>crontab</command> хэрэгслийг ашигла. + Хамгийн их ашиглагддаг тушаал бол:</para> + + <screen>&prompt.user; <userinput>crontab crontab-file</userinput></screen> + + <para>Энэ жишээн дээрх <filename>crontab-file</filename> нь + урд нь үүсгэгдсэн <filename>crontab</filename>-ийн файлын нэр юм.</para> + + <para>Суулгасан <filename>crontab</filename> файлуудыг үзүүлдэг + тохируулга бас байдаг: <option>-l</option> тохируулгыг + <command>crontab</command> уруу өгч ажиллуулаад гарах үр дүнг + хараарай.</para> + + <para>Өөрийн crontab файлыг загвар ашиглалгүйгээр эхнээс нь эхлүүлэхийг хүссэн + хэрэглэгчдэд зориулсан <command>crontab -e</command> тохируулга байдаг. + Энэ нь сонгосон засварлагчийг хоосон файлтай ажиллуулдаг. Файл хадгалагдсаны + дараа автоматаар <command>crontab</command> тушаалаар суулгагддаг. + </para> + + <para>Хэрэв та дараа нь өөрийн хэрэглэгчийн <filename>crontab</filename>-ийг + бүр мөсөн устгахыг хүсвэл <command>crontab</command>-ийг <option>-r</option> + тохируулгатай ашиглаарай. + </para> + + </sect2> + </sect1> + + <sect1 id="configtuning-rcd"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + <!-- 16 May 2003 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + + <title>&os; дээр rc ашиглах нь</title> + + <para>2002 онд &os; системийг эхлүүлэхэд зориулж NetBSD-ийн + <filename>rc.d</filename> системийг оруулсан. Хэрэглэгчид + <filename>/etc/rc.d</filename> сан доторх файлуудыг + анзаарах хэрэгтэй. Эдгээр файлуудын ихэнх нь + <option>start</option>, <option>stop</option>, + болон <option>restart</option> тохируулгуудаар хянагддаг + үндсэн үйлчилгээнүүд байдаг. Жишээ нь &man.sshd.8; нь + дараах тушаалаар дахин эхлэж болно:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/sshd restart</userinput></screen> + + <para>Энэ процедур нь бусад үйлчилгээнүүдийн адил юм. Мэдээж + үйлчилгээнүүд ихэнхдээ автоматаар &man.rc.conf.5;-д зааснаар ачаалах үед + эхэлдэг. Жишээ нь Сүлжээний Хаяг Хөрвүүлэх демонийг эхлэх үед ажиллуулахаар + нээх нь амархан бөгөөд <filename>/etc/rc.conf</filename>-д + дараах мөрийг нэмдэг:</para> + + <programlisting>natd_enable="YES"</programlisting> + + <para>Хэрэв <option>natd_enable="NO"</option> мөр аль хэдийн + байвал <option>NO</option>-ийг <option>YES</option> + болгож өөрчлөөрэй. rc скриптүүд өөр бусад хамааралтай + үйлчилгээнүүдийг дараагийн дахин ачаалалтын үеэр доор + тайлбарласны дагуу автоматаар ачаалдаг.</para> + + <para><filename>rc.d</filename> систем нь үндсэндээ + системийн эхлэх/унтрах үеэр үйлчилгээнүүдийг эхлүүлэх/зогсоох зорилготой + бөгөөд стандарт <option>start</option>, + <option>stop</option> болон <option>restart</option> + тохируулгууд нь зөвхөн <filename>/etc/rc.conf</filename>-ийн харгалзах + хувьсагчууд заагдсан үед өөрийн үйлдлийг гүйцэтгэдэг. + Жишээ нь дээр дурдсан <command>sshd restart</command> тушаал + нь <filename>/etc/rc.conf</filename>-д + <varname>sshd_enable</varname> хувьсагч <option>YES</option> + гэсэн тохиолдолд зөвхөн ажиллана. <filename>/etc/rc.conf</filename>-д + байгаа тохируулгаас үл хамааран үйлчилгээг <option>start</option>, + <option>stop</option> эсвэл <option>restart</option> хийхийн + тулд тушаалууд <quote>one</quote> угтвартай байх шаардлагатай. + Жишээ нь <command>sshd</command>-г <filename>/etc/rc.conf</filename> + дахь тохиргооноос үл хамааран дахин эхлүүлэхдээ дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/sshd onerestart</userinput></screen> + + <para>Тохирох <filename>rc.d</filename> скриптийг <option>rcvar</option> + тохируулгатай ажиллуулж <filename>/etc/rc.conf</filename>-д үйлчилгээ + нээгдсэн эсэхийг амархан шалгадаг. Тиймээс администратор + <command>sshd</command>-г <filename>/etc/rc.conf</filename>-д + нээгдсэн эсэхийг дараах тушаалыг ажиллуулж шалгаж болно:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/sshd rcvar</userinput> +# sshd +$sshd_enable=YES</screen> + + <note> + <para>Хоёр дахь мөр (<literal># sshd</literal>) нь + <username>root</username> консолийнх биш <command>sshd</command> + тушаалын гаргасан үр дүн юм.</para> + </note> + + <para>Үйлчилгээг ажиллах байгаа эсэхийг шалгах <option>status</option> + тохируулга байдаг. Жишээ нь <command>sshd</command> эхэлсэн эсэхийг + шалгахдаа:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/sshd status</userinput> +sshd is running as pid 433.</screen> + + <para>Зарим тохиолдолд үйлчилгээг <option>reload</option> хийх бас боломжтой + байдаг. Энэ нь үйлчилгээг өөрийн тохиргооны файлуудыг дахин уншихыг зааж + үйлчилгээ уруу дохио шидэхийг оролддог. Ихэнх тохиолдолд энэ нь + үйлчилгээ уруу <literal>SIGHUP</literal> дохио шиднэ гэсэн үг юм. + Үйлчилгээ болгонд энэ боломжийн дэмжлэг байдаггүй.</para> + + <para><filename>rc.d</filename> систем нь зөвхөн сүлжээний үйлчилгээнд + ашиглагдаад зогсохгүй мөн системийн эхлүүлэлэлтэд бас ихээхэн хувь нэмэр оруулдаг. + Жишээ нь <filename>bgfsck</filename> файлыг авч үзье. Энэ скрипт + ажиллахад дараах мэдээллийг хэвлэж гаргана:</para> + + <screen>Starting background file system checks in 60 seconds.</screen> + + <para>Тиймээс энэ файлыг зөвхөн системийг эхлүүлэх үед файлын системийн арын + шалгалтыг хийхэд хэрэглэдэг.</para> + + <para>Системийн олон үйлчилгээнүүд зөв ажиллахын тулд бусад үйлчилгээнүүдээс + хамаардаг. Жишээ нь NIS болон бусад RPC дээр тулгуурласан үйлчилгээнүүд + <command>rpcbind</command> (portmapper) үйлчилгээ ажиллахаас нааш + амжилттай ажилладаггүй. Үүнийг шийдэхийн тулд хамаарлуудын талаарх болон бусад + мета-өгөгдлийн талаарх мэдээллийг эхлүүлэх скрипт бүрийн дээд хэсэгт + тайлбараар оруулсан байдаг. &man.rcorder.8; програм хамаарлуудыг + хангаж системийн үйлчилгээнүүдийг ямар дарааллаар ажиллуулах ёстойг + тогтоохын тулд эдгээр тайлбаруудыг уншдаг. Дараах үгнүүдийг эхлүүлэх скрипт + бүрийн дээд хэсэг оруулсан байж болно:</para> + + <itemizedlist> + <listitem> + <para><literal>PROVIDE</literal>: Энэ файлын хангаж байгаа үйлчилгээнүүдийг заана.</para> + </listitem> + + <listitem> + <para><literal>REQUIRE</literal>: Энэ үйлчилгээнд шаардлагатай үйлчилгээнүүдийг жагсаана. + Энэ файл заагдсан үйлчилгээнүүдийн <emphasis>дараа</emphasis> ажиллана.</para> + </listitem> + + <listitem> + <para><literal>BEFORE</literal>: Энэ үйлчилгээнээс хамааралтай үйлчилгээнүүдийг жагсаана. + Энэ файл заагдсан үйлчилгээнүүдийн <emphasis>өмнө</emphasis> ажиллана.</para> + </listitem> + </itemizedlist> + + <para>Энэ аргыг ашигласнаар администратор системийн үйлчилгээнүүдийг бусад зарим &unix; + үйлдлийн системүүд шиг <quote>ажиллах түвшингүүдтэй (runlevels)</quote> + зууралдалгүйгээр амарханаар хянадаг.</para> + + <para><filename>rc.d</filename> системийн талаар нэмэлт мэдээллийг &man.rc.8; + болон &man.rc.subr.8; гарын авлагын хуудаснуудаас олж болно. Хэрэв та өөрийн + rc.d скриптүүд бичих эсвэл байгаагаа сайжруулахыг сонирхож байгаа бол танд бас + <ulink url="&url.articles.rc-scripting">энэ нийтлэл</ulink> хэрэгтэй байж + болох юм.</para> + </sect1> + + <sect1 id="config-network-setup"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + <!-- 6 October 2002 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + + <title>Сүлжээний интерфэйс картууд суулгах нь</title> + + <indexterm> + <primary>сүлжээний картууд</primary> + <secondary>тохиргоо</secondary> + </indexterm> + + <para>Өнөөдөр бид сүлжээний холболтгүй компьютерийн талаар бодох ч аргагүй болсон + билээ. Сүлжээний картыг нэмж тохируулах нь &os;-ийн дурын администраторын + ердийн ажил болдог.</para> + + <sect2> + <title>Тохирох драйверийг олох нь</title> + + <indexterm> + <primary>сүлжээний картууд</primary> + <secondary>драйвер</secondary> + </indexterm> + + <para>Эхлэхээсээ өмнө та өөрт байгаа картынхаа загвар, түүнд ашигласан бичил схем + болон PCI эсвэл ISA картын аль нь эсэхийг мэдэх шаардлагатай. + &os; өргөн төрлийн PCI болон ISA картуудыг дэмждэг. Таны карт таны ашиглах хувилбар + дээр дэмжигдсэн эсэхийг Тоног Төхөөрөмжийн Нийцтэй Байдлын Жагсаалтаас шалгаарай.</para> + + <para>Таны карт дэмжигдсэнийг мэдсэний дараа та өөрийн картанд тохирох драйвераа + тодорхойлох хэрэгтэй. <filename>/usr/src/sys/conf/NOTES</filename> болон + <filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/NOTES</filename> + нь сүлжээний интерфэйс драйверуудын жагсаалтыг дэмжигдсэн бичил схем/картуудын талаарх + зарим мэдээллийн хамтаар танд өгөх болно. Хэрэв та аль драйвер нь зөв эсэхэд эргэлзэж + байгаа бол драйверийн гарын авлагын хуудсыг уншаарай. Гарын авлагын хуудас нь + дэмжигдсэн тоног төхөөрөмж болон бүр учирч болзошгүй асуудлуудын талаарх дэлгэрэнгүй + мэдээллийг өгдөг.</para> + + <para>Хэрэв та ердийн карттай бол ихэнхдээ драйверийг хичээнгүйлэн хайх шаардлагагүй юм. + Ердийн сүлжээний картуудад зориулсан драйверууд нь <filename>GENERIC</filename> + цөмд байдаг, тэгэхээр таны карт ачаалах явцад иймэрхүү харагдах ёстой:</para> + +<screen>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: <Generic IEEE 802.3u media interface> 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: <Generic IEEE 802.3u media interface> on miibus1 +ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto</screen> + + <para>Энэ жишээн дээр систем дээр байгаа хоёр карт &man.dc.4; драйверийг ашиглаж + байгааг бид харж байна.</para> + + <para>Хэрэв таны NIC-д (Network Interface Card буюу Сүлжээний Интерфэйс Карт) + зориулсан драйвер <filename>GENERIC</filename>-д байхгүй бол та өөрийн NIC-г + ашиглахын тулд тохирох драйверийг ачаалах хэрэгтэй. Ингэхийн тулд хоёр аргын аль нэгийг + ашиглана:</para> + + <itemizedlist> + <listitem> + <para>Хамгийн амархан арга нь ердөө л өөрийн сүлжээний картанд зориулсан цөмийн модулийг + &man.kldload.8; ашиглан эсвэл тохирох мөрийг <filename>/boot/loader.conf</filename>-д + нэмж ачаалах үед автоматаар ачаалах юм. Бүх NIC драйверууд модул хэлбэрээр байдаггүй; + модулиуд нь байдаггүй төхөөрөмжүүдийн дурдаж болох жишээнүүд гэвэл ISA картууд юм.</para> + </listitem> + + <listitem> + <para>Өөр нэг арга нь та өөрийн картын дэмжлэгтийг цөмд оруулан статикаар + хөрвүүлж болох юм. Өөрийн цөмийн тохиргооны файлд юу нэмэх ёстойг мэдэхийн тулд + <filename>/usr/src/sys/conf/NOTES</filename>, + <filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/NOTES</filename> + болон драйверийн гарын авлагын хуудсыг шалгаарай. Цөмийг дахин хөрвүүлэх талаар + дэлгэрэнгүй мэдээллийг <xref linkend="kernelconfig">-с үзнэ үү. + Хэрэв таны картыг таны цөм (<filename>GENERIC</filename>) ачаалах явцад илрүүлсэн бол + та шинэ цөм бүтээх шаардлагагүй.</para> + </listitem> + </itemizedlist> + + <sect3 id="config-network-ndis"> + <title>&windows;-ийн NDIS драйверуудыг ашиглах нь</title> + + <indexterm><primary>NDIS</primary></indexterm> + <indexterm><primary>NDISulator</primary></indexterm> + <indexterm><primary>&windows; драйверууд</primary></indexterm> + <indexterm><primary>Microsoft Windows</primary></indexterm> + <indexterm><primary>Microsoft Windows</primary> + <secondary>төхөөрөмжийн драйверууд</secondary></indexterm> + <indexterm><primary>KLD (kernel loadable + object буюу цөмийн ачаалж болох обьект)</primary></indexterm> +<!-- We should probably omit the expanded name, and add a <see> entry +for it. Whatever is done must also be done to the same indexterm in +linuxemu/chapter.sgml --> + + <para>Харамсалтай нь өөрийн драйверуудад зориулсан схемүүдийг нээлттэй + эхийн хүрээнийхэнд өгдөггүй, тийм мэдээллийг худалдааны нууц гэж үздэг + олон үйлдвэрлэгчид байсаар байна. Ингэснээр &os; болон өөр үйлдлийн системүүдийн + хөгжүүлэгчдэд хоёр сонголт үлдсэн: буцаах инженерчлэлийн хүнд хэцүү, урт хугацааны + процессыг туулж драйверуудыг хөгжүүлэх эсвэл µsoft.windows; тавцангуудад + байдаг хоёртын хэлбэрийн драйверуудыг ашиглах арга замууд юм. &os;-тэй + холбогдсон зэрэг ихэнх хөгжүүлэгчид сүүлийн хандлагыг авч ашигладаг.</para> + + <para>Билл Полын (wpaul) оруулсан хувь нэмрийн ачаар &os; 5.3-RELEASE-с + эхлээд Сүлжээний Драйверийн Интерфэйсийн Тодорхойлолтын (NDIS) + <quote>эх (native)</quote> дэмжлэг ордог болсон. + &os; NDISulator (өөрөөр Чөтгөр Төсөл) &windows; хоёртын драйверыг + аваад ерөнхийдөө түүнийг &windows; дээр ажиллаж байгаа мэтээр хуурдаг. + &man.ndis.4; драйвер нь &windows; хоёртын файл ашиглаж байгаа учраас + энэ нь зөвхөн &i386; болон amd64 системүүд дээр хэрэглэгдэх боломжтой.</para> + + <note> + <para>&man.ndis.4; драйвер голчлон PCI, CardBus болон PCMCIA + төхөөрөмжүүдийг дэмжихээр хийгдсэн бөгөөд одоогоор USB төхөөрөмжүүдийн дэмжлэг + хийгдээгүй.</para> + </note> + + <para>NDISulator ашиглахын тулд танд 3 зүйл хэрэгтэй:</para> + + <orderedlist> + <listitem> + <para>Цөмийн эхүүд</para> + </listitem> + <listitem> + <para>&windowsxp; драйверийн хоёртын файл + (<filename>.SYS</filename> өргөтгөл)</para> + </listitem> + <listitem> + <para>&windowsxp; драйверийн тохиргооны файл + (<filename>.INF</filename> өргөтгөл)</para> + </listitem> + </orderedlist> + + <para>Та өөрийн картад зориулсан файлуудыг олоорой. Ерөнхийдөө + тэдгээрийг хавсаргасан CD-үүд эсвэл үйлвэрлэгчүүдийн вэб хуудаснаас + олж болно. Дараах жишээнүүдэд бид <filename>W32DRIVER.SYS</filename> + болон <filename>W32DRIVER.INF</filename> файлуудыг ашиглах + болно.</para> + + <note> + <para>Та &windows;/i386 драйверийг &os;/amd64 дээр ашиглаж + чадахгүй, зөв ажиллуулахын тулд &windows;/amd64 драйвер заавал олох + шаардлагатай.</para> + </note> + + <para>Дараагийн алхамд драйверийн хоёртын файлыг цөмийн ачаалж болох + модул болгон хөрвүүлнэ. Үүнийг хийхийн тулд <username>root</username> + эрхээр &man.ndisgen.8;-г хэрэглэнэ:</para> + + <screen>&prompt.root; <userinput>ndisgen <replaceable>/path/to/W32DRIVER.INF</replaceable> <replaceable>/path/to/W32DRIVER.SYS</replaceable></userinput></screen> + + <para>&man.ndisgen.8; хэрэгсэл нь интерактив бөгөөд шаардлагатай + нэмэлт мэдээллийг асуудаг; энэ нь одоо байгаа санд цөмийн модул үүсгэх + бөгөөд дараах маягаар ачаалж болно:</para> + + <screen>&prompt.root; <userinput>kldload <replaceable>./W32DRIVER.ko</replaceable></userinput></screen> + + <para>Үүсгэгдсэн цөмийн модулиас гадна та <filename>ndis.ko</filename> болон + <filename>if_ndis.ko</filename> модулиудыг ачаалах хэрэгтэй. Энэ нь + таныг &man.ndis.4;-ээс хамаарсан дурын модулийг ачаалах үед автоматаар + хийгдэх ёстой. Хэрэв та тэдгээрийг гараар ачаалахыг хүсвэл дараах тушаалыг + ашиглаарай:</para> + + <screen>&prompt.root; <userinput>kldload ndis</userinput> +&prompt.root; <userinput>kldload if_ndis</userinput></screen> + + <para>Эхний тушаал нь NDIS минипорт драйвер дугтуйлагчийг ачаалах бөгөөд + хоёр дахь нь яг сүлжээний интерфэйсийг ачаална.</para> + + <para>Одоо &man.dmesg.8;-ийг шалгаж ачаалахад алдаа байгаа эсэхийг + үзэх хэрэгтэй. Бүгд сайн болж өнгөрсөн бол та дараах үр дүнг харах ёстой:</para> + + <screen>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 +ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps +ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps</screen> + + <para>Эндээс эхлээд та <devicename>ndis0</devicename> төхөөрөмжид + өөр бусад сүлжээний интерфэйсийн (өөрөөр хэлбэл <devicename>dc0</devicename>) + нэгэн адилаар хандах боломжтой болох юм.</para> + + <para>Та бусад модулиудтай адилаар NDIS модулиудыг ачаалах явцад ачаалахаар + системийг тохируулж болно. Эхлээд үүсгэгдсэн модул <filename>W32DRIVER.ko</filename>-г + <filename class="directory">/boot/modules</filename> уруу хуулах хэрэгтэй. + Тэгээд дараах мөрийг <filename>/boot/loader.conf</filename>-д нэмнэ:</para> + + <programlisting>W32DRIVER_load="YES"</programlisting> + </sect3> + </sect2> + + <sect2> + <title>Сүлжээний карт тохируулах нь</title> + + <indexterm> + <primary>сүлжээний картууд</primary> + <secondary>тохиргоо</secondary> + </indexterm> + + <para>Сүлжээний картанд зориулсан зөв драйвер ачаалагдсаны дараа + картыг тохируулах шаардлагатай. Бусад олон зүйлсийн адил сүлжээний + карт нь <application>sysinstall</application> програмаар + суулгах явцад тохируулагдаж болно.</para> + + <para>Таны системийн сүлжээний интерфэйсүүдэд зориулсан тохиргоог + харуулахын тулд дараах тушаалыг ажиллуулна:</para> + +<screen>&prompt.user; <userinput>ifconfig</userinput> +dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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 <full-duplex>) + status: active +dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 +lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 + inet 127.0.0.1 netmask 0xff000000 +tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> + + <note> + <para>&os;-ийн хуучин хувилбарууд <option>-a</option> тохируулгыг + &man.ifconfig.8;-ийн араас залгахыг шаардаж болох бөгөөд + &man.ifconfig.8;-ийн зөв синтаксийн дэлгэрэнгүй мэдээллийн талаар гарын + авлагын хуудсанд хандана уу. Энэ жишээн дээр IPv6-тай (<literal>inet6</literal> гэх мэт.) + холбоотой оруулгууд орхигдсон болохыг анхаарна уу.</para> + </note> + + <para>Энэ жишээн дээр дараах төхөөрөмжүүдийг харуулсан:</para> + + <itemizedlist> + <listitem> + <para><devicename>dc0</devicename>: Эхний Ethernet интерфэйс</para> + </listitem> + + <listitem> + <para><devicename>dc1</devicename>: Хоёрдугаар Ethernet интерфэйс</para> + </listitem> + + <listitem> + <para><devicename>lp0</devicename>: Параллел порт интерфэйс</para> + </listitem> + + <listitem> + <para><devicename>lo0</devicename>: Буцаж эргэх төхөөрөмж</para> + </listitem> + + <listitem> + <para><devicename>tun0</devicename>: Туннел төхөөрөмж нь + <application>ppp</application>-д ашиглагдана.</para> + </listitem> + </itemizedlist> + + <para>&os; нь драйверийн нэр дээр цөмийн ачаалах явцад картууд ямар дарааллаар илрүүлэгдсэн + тэр дарааллын тоог нэмж сүлжээний картыг нэрлэдэг. Жишээ нь <devicename>sis2</devicename> + нь систем дээрх &man.sis.4; драйвер ашиглаж байгаа 3 дахь сүлжээний карт байж болох юм.</para> + + <para>Энэ жишээн дээр <devicename>dc0</devicename> төхөөрөмж босон ажиллаж байна. + Түлхүүр индикаторууд нь:</para> + + <orderedlist> + <listitem> + <para><literal>UP</literal> нь картын тохиргоо хийгдэж бэлэн болсныг илэрхийлнэ.</para> + </listitem> + + <listitem> + <para>Карт нь Интернет (<literal>inet</literal>) хаягтай + (энэ тохиолдолд <hostid role="ipaddr">192.168.1.3</hostid>).</para> + </listitem> + + <listitem> + <para>Энэ нь зөв дэд сүлжээний багтай (<literal>netmask</literal>; + <hostid role="netmask">0xffffff00</hostid> нь + <hostid role="netmask">255.255.255.0</hostid> адил).</para> + </listitem> + + <listitem> + <para>Энэ нь зөв нийтэд цацах хаягтай (энэ тохиолдолд + <hostid role="ipaddr">192.168.1.255</hostid>).</para> + </listitem> + + <listitem> + <para>Картны MAC (<literal>ether</literal>) хаяг нь + <hostid role="mac">00:a0:cc:da:da:da</hostid> байна.</para> + </listitem> + + <listitem> + <para>Физик зөөгчийн сонголт нь автомат сонголтын + горим дээр байна (<literal>media: Ethernet autoselect (100baseTX + <full-duplex>)</literal>). + <devicename>dc1</devicename> нь <literal>10baseT/UTP</literal> + зөөгчтэй ажиллахаар тохируулагдсан байгааг бид харж болно. Байж болох + зөөгчийн төрлүүдийн тухай дэлгэрэнгүй мэдээллийн талаар өөрийнх нь гарын авлагын + хуудсанд хандаж үзнэ үү.</para> + </listitem> + + <listitem> + <para>Холболтын (<literal>status</literal>) төлөв нь + <literal>active</literal> буюу идэвхтэй байна, өөрөөр хэлбэл + дамжуулагч илэрсэн байна. <devicename>dc1</devicename>-ийн + хувьд бид <literal>status: no carrier</literal> буюу дамжуулагч + байхгүйг харж болно. Энэ нь Ethernet кабель картанд залгагдаагүй байх үед + хэвийн байна.</para> + </listitem> + </orderedlist> + + <para>Хэрэв &man.ifconfig.8;-ийн үр дүн дараах маягтай төстэй байвал:</para> + +<screen>dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 + ether 00:a0:cc:da:da:da</screen> + + <para>Энэ нь карт тохируулагдаагүйг илэрхийлнэ.</para> + + <para>Картаа тохируулахын тулд танд <username>root</username> зөвшөөрлүүд + хэрэгтэй. Сүлжээний картын тохируулгууд тушаалын мөрөөс &man.ifconfig.8;-р + хийгдэх боломжтой, гэхдээ та системийг дахин ачаалсан болгоныхоо дараа үүнийг хийх хэрэгтэй болно. + <filename>/etc/rc.conf</filename> файл нь сүлжээний картын тохиргоог нэмэх + газар юм.</para> + + <para><filename>/etc/rc.conf</filename>-ийг өөрийн дуртай засварлагч дээр + нээгээрэй. Систем дээрх сүлжээний карт бүрийн хувьд мөр нэмэх хэрэгтэй, манай + жишээн дээр бид эдгээр мөрүүдийг нэмсэн:</para> + +<programlisting>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"</programlisting> + + <para>Та <devicename>dc0</devicename>, + <devicename>dc1</devicename> болон бусдуудыг өөрийн картуудад зориулсан + төхөөрөмжөөр өөрчлөх болон хаягуудыг зөвөөр солих хэрэгтэй. Зөвшөөрөгдсөн тохируулгуудын + талаар дэлгэрэнгүйг картын драйвер болон &man.ifconfig.8;-ийн гарын авлагын хуудсуудаас, + бас &man.rc.conf.5; гарын авлагын хуудсаас <filename>/etc/rc.conf</filename>-ийн + синтаксийн талаарх дэлгэрэнгүй мэдээллийг унших хэрэгтэй.</para> + + <para>Хэрэв та суулгах явцад сүлжээг тохируулсан бол сүлжээний карт(ууд)ын талаар зарим + мөрүүд аль хэдийн байж болох юм. Мөрүүд нэмэхээсээ өмнө <filename>/etc/rc.conf</filename>-ийг + дахин шалгаарай.</para> + + <para>Мөн та LAN дахь төрөл бүрийн машинуудын нэрүүд болон IP хаягууд + <filename>/etc/hosts</filename> файлд байхгүй бол тэдгээрийг нэмж засварлах + шаардлагатай. Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; болон + <filename>/usr/share/examples/etc/hosts</filename> файлд хандана уу.</para> + </sect2> + + <sect2> + <title>Тест хийх болон алдааг олж засварлах нь</title> + + <para><filename>/etc/rc.conf</filename>-д хэрэгцээтэй өөрчлөлтүүдийг + хийснийхээ дараа та системээ дахин ачаалах шаардлагатай. Ингэснээр + интерфэйс(үүд)эд хийгдэх өөрчлөлт(үүд)ийг зөвшөөрөх бөгөөд ямар нэг тохиргооны + алдаагүйгээр систем ачаалж байгаа эсэхийг шалгадаг.</para> + + <para>Систем дахин ачаалагдсаны дараа та сүлжээний интерфэйсүүдээ тест + хийх хэрэгтэй.</para> + + <sect3> + <title>Ethernet карт тест хийх нь</title> + + <indexterm> + <primary>сүлжээний картууд</primary> + <secondary>тест хийх нь</secondary> + </indexterm> + + <para>Ethernet карт зөв тохируулагдсаныг шалгахдаа та 2 зүйлийг оролдох + хэрэгтэй. Эхлээд интерфэйс уруу өөр уруу нь ping хийгээд дараа нь LAN дахь өөр + машин уруу ping хийх хэрэгтэй.</para> + + <para>Эхлээд локал интерфэйсийг тест хийнэ:</para> + +<screen>&prompt.user; <userinput>ping -c5 192.168.1.3</userinput> +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 ms +64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms +64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms +64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms +64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 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</screen> + + <para>Одоо бид LAN дахь өөр машин уруу ping хийх хэрэгтэй:</para> + +<screen>&prompt.user; <userinput>ping -c5 192.168.1.2</userinput> +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 ms +64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms +64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms +64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms +64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 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</screen> + + <para>Хэрэв та + <filename>/etc/hosts</filename> файлыг тохируулсан бол + <hostid role="ipaddr">192.168.1.2</hostid>-ийн оронд + машины нэрийг бас ашиглаж болох болох юм.</para> + </sect3> + + <sect3> + <title>Алдааг олж засварлах нь</title> + + <indexterm> + <primary>сүлжээний картууд</primary> + <secondary>алдааг олж засварлах нь</secondary> + </indexterm> + + <para>Тоног төхөөрөмж болон програм хангамжийн тохиргоонуудын алдааг олж + засварлах нь үргэлж зовлон байдаг бөгөөд зовлонг энгийн зүйлүүдийг эхлээд шалгаснаар + багасгах боломжтой. Таны сүлжээний кабель холбогдсон уу? Сүлжээний үйлчилгээнүүдээ + зөв тохируулсан уу? Галт ханаа зөв тохируулсан уу? Таны хэрэглэж байгаа картыг + &os; дэмждэг үү? Алдааны тайланг явуулахаасаа өмнө тоног төхөөрөмжийн + тэмдэглэлийг заавал шалгах хэрэгтэй. Өөрийн &os;-ийн хувилбарыг хамгийн сүүлийн STABLE + хувилбар уруу шинэчлээрэй. Захидлын жагсаалтын архивууд шалгах буюу эсвэл Интернетээс + хайгаарай.</para> + + <para>Хэрэв карт ажилласан мөртлөө ажиллагаа муу бол &man.tuning.7; гарын авлагын хуудсыг + унших нь зүйтэй юм. Мөн буруу сүлжээний тохиргоонууд удаан холболтын шалтгаан болдог учир + та сүлжээний тохиргоог бас шалгаж болох юм.</para> + + <para>Зарим хэрэглэгчид ганц хоёр <errorname>device + timeout</errorname> мэдээлэлтэй тулгарч болох бөгөөд энэ нь зарим картуудын + хувьд хэвийн юм. Хэрэв энэ нь үргэлжлээд эсвэл шаналгаатай болоод эхэлбэл + уг төхөөрөмж өөр бусад төхөөрөмжтэй зөрчилдөж байгаа эсэхийг та магадгүй + шалгахыг хүсэх байх. Кабелийн холболтуудыг дахин шалгаарай. Магадгүй танд + өөр нэг карт хэрэгтэй байж болох юм.</para> + + <para>Хэрэглэгчид зарим үед цөөн <errorname>watchdog timeout</errorname> + гэсэн алдаанууд хардаг. Ийм үед эхлээд хийх юм нь сүлжээний кабелийг шалгана. + Олон картууд Bus Mastering дэмждэг PCI оролтыг шаарддаг. Зарим нэг эх хавтангуудад + үүнийг зөвхөн нэг PCI оролт зөвшөөрдөг (ихэнхдээ 0-р оролт). Энэ нь асуудал + байж болох эсэхийг сүлжээний карт болон эх хавтангийн баримтаас шалгаарай.</para> + + <para>Систем пакетийг зорьсон газар нь чиглүүлж чадахгүй тохиолдолд + <errorname>No route to host</errorname> мэдээллүүд гардаг. + Энэ нь анхдагч чиглүүлэлт заагаагүй тохиолдолд эсвэл кабел салгагдсан бол + гардаг. <command>netstat -rn</command> тушаалын үр дүнг + үзээд таны хүрэхийг оролдож байгаа тэр хост уруу чинь зөв чиглүүлэлт байгаа + эсэхийг шалгаарай. Хэрэв байхгүй бол + <xref linkend="advanced-networking">-г уншаарай.</para> + + <para><errorname>ping: sendto: Permission denied</errorname> + алдааны мэдээллүүд нь буруу тохируулсан галт ханаас ихэвчлэн болдог. + Хэрэв <command>ipfw</command> нь цөмд идэвхжсэн бөгөөд + ямар ч дүрэм тодорхойлогдоогүй бол анхдагч бодлого нь бүх трафикийг бүр + ping хүсэлтийг хүртэл татгалзан хаадаг! Дэлгэрэнгүйг <xref + linkend="firewalls">-с уншина уу.</para> + + <para>Заримдаа картын ажиллагаа муу эсвэл дунджаас доогуур байдаг. + Эдгээр тохиолдолд зөөгч сонголтын горимыг + <literal>autoselect</literal> горимоос зөв зөөгчийн сонголт + уруу болгож тааруулах нь шилдэг арга юм. Энэ нь ихэнх тоног төхөөрөмжийн + хувьд ихэвчлэн ажиллах боловч хүн болгоны хувьд байгаа ийм асуудлыг шийдэхгүй ч + байж болох юм. Дахин хэлэхэд бүх сүлжээний тохиргоонуудыг шалгаж + &man.tuning.7; гарын авлагын хуудсыг уншаарай.</para> + + </sect3> + </sect2> + </sect1> + + <sect1 id="configtuning-virtual-hosts"> + <title>Виртуал Хостууд</title> + + <indexterm><primary>виртуал хостууд</primary></indexterm> + <indexterm><primary>өөр IP хаягууд (alias)</primary></indexterm> + + <para>&os;-ийн хамгийн түгээмэл хэрэглээ бол нэг сервер сүлжээн дээр олон сервер мэтээр + ажиллах виртуал сайт хост хийх боломж юм. Үүнийг нэг интерфэйс дээр олон сүлжээний хаягууд + тавьж хийдэг.</para> + + <para>Өгөгдсөн сүлжээний интерфэйс нь нэг <quote>жинхэнэ</quote> хаягтай бөгөөд + дурын тооны <quote>өөр(alias)</quote> хаягуудтай байж болох юм. + Эдгээр өөр хаягуудыг ихэнхдээ <filename>/etc/rc.conf</filename>-д + тохирох хаягийн оруулгуудыг оруулан нэмж өгдөг.</para> + + <para><devicename>fxp0</devicename> интерфэйсд зориулсан өөр хаягийн оруулга нь иймэрхүү байна:</para> + +<programlisting>ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"</programlisting> + + <para>Өөр хаягийн оруулгууд нь <literal>alias0</literal> гэж эхлэх ёстой бөгөөд дээш өгсөх дарааллаар + явдаг (жишээ нь <literal>_alias1</literal>, <literal>_alias2</literal>, гэх мэт). + Тохиргооны үйл явц эхний байхгүй дугаар дээр хүрч зогсдог. + </para> + + <para>Өөр хаягийн сүлжээний багуудыг тооцоолох нь чухал байдаг, гэхдээ азаар энэ нь + маш амархан. Өгөгдсөн интерфэйсийн хувьд сүлжээний багийг зөвөөр үзүүлдэг нэг хаяг + байх ёстой. Энэ сүлжээн дэх өөр бусад хаягууд бүгд <literal>1</literal>-ээс + (энэ нь <hostid role="netmask">255.255.255.255</hostid> гэх буюу эсвэл + <hostid role="netmask">0xffffffff</hostid> гэж илэрхийлэгддэг) + тогтсон сүлжээний багтай байх ёстой. + </para> + + <para>Жишээ нь <devicename>fxp0</devicename> интерфэйс нь + <hostid role="ipaddr">10.1.1.0</hostid> + сүлжээнд <hostid role="netmask">255.255.255.0</hostid> болон + <hostid role="ipaddr">202.0.75.16</hostid> сүлжээнд <hostid role="netmask">255.255.255.240</hostid> + багуудыг ашиглаж хоёр сүлжээнд холбогдсон гэж бодъё. + Бид системийг <hostid role="ipaddr">10.1.1.1</hostid>-ээс + <hostid role="ipaddr">10.1.1.5</hostid> хүртэл болон + <hostid role="ipaddr">202.0.75.17</hostid>-ээс эхлээд + <hostid role="ipaddr">202.0.75.20</hostid> хүртэлх хаягууд дээр + байлгахыг хүсэж байна. Дээр тэмдэглэсний дагуу өгөгдсөн сүлжээний хүрээн дэх + зөвхөн эхний хаяг (энэ тохиолдолд <hostid role="ipaddr">10.0.1.1</hostid> болон + <hostid role="ipaddr">202.0.75.17</hostid>) жинхэнэ сүлжээний багтай байх + ёстой; бусад үлдсэн бүгд (<hostid role="ipaddr">10.1.1.2</hostid>-ээс + <hostid role="ipaddr">10.1.1.5</hostid> хүртэл болон + <hostid role="ipaddr">202.0.75.18</hostid>-ээс эхлээд + <hostid role="ipaddr">202.0.75.20</hostid> хүртэл) + <hostid role="netmask">255.255.255.255</hostid> сүлжээний багтай байхаар + тохируулагдах хэрэгтэй.</para> + + <para>Дараах <filename>/etc/rc.conf</filename> оруулгууд нь энэ зорилгоор адаптерийг зөв + тохируулж байна:</para> + + <programlisting>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"</programlisting> + + </sect1> + + <sect1 id="configtuning-configfiles"> + <title>Тохиргооны Файлууд</title> + + <sect2> + <title><filename>/etc</filename>-н бүтэц</title> + <para>Тохиргооны мэдээллийг хадгалдаг хэд хэдэн сангууд байдаг. + Эдгээр нь:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="2*"> + + <tbody> + <row> + <entry><filename>/etc</filename></entry> + <entry>Системийн ерөнхий тохиргооны мэдээлэл; энд байгаа өгөгдөл нь системийн хувьд өөр өөр.</entry> + </row> + <row> + <entry><filename>/etc/defaults</filename></entry> + <entry>Системийн тохиргооны файлуудын анхдагч хувилбарууд.</entry> + </row> + <row> + <entry><filename>/etc/mail</filename></entry> + <entry>&man.sendmail.8;-ийн нэмэлт тохиргоо, бусад MTA тохиргооны файлууд. + </entry> + </row> + <row> + <entry><filename>/etc/ppp</filename></entry> + <entry>Хэрэглэгч- болон цөмийн-ppp програмуудад зориулсан тохиргоо. + </entry> + </row> + <row> + <entry><filename>/etc/namedb</filename></entry> + <entry>&man.named.8; өгөгдөлд зориулсан анхдагч байрлал. Ихэнхдээ + <filename>named.conf</filename> болон бүсийн файлууд энд + хадгалагддаг.</entry> + </row> + <row> + <entry><filename>/usr/local/etc</filename></entry> + <entry>Суулгагдсан програмуудад зориулсан тохиргооны файлууд. + Програм болгоны дэд сангуудыг агуулж болно.</entry> + </row> + <row> + <entry><filename>/usr/local/etc/rc.d</filename></entry> + <entry>Суулгагдсан програмуудад зориулсан эхлүүлэх/зогсоох скриптүүд.</entry> + </row> + <row> + <entry><filename>/var/db</filename></entry> + <entry>Багцын өгөгдлийн бааз, байршил олох өгөгдлийн бааз, гэх зэрэг + систем болгоны хувьд автоматаар үүсгэгдсэн өгөгдлийн баазын файлууд.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2> + <title>Хостын нэрс</title> + + <indexterm><primary>хостын нэр</primary></indexterm> + <indexterm><primary>DNS</primary></indexterm> + + <sect3> + <title><filename>/etc/resolv.conf</filename></title> + + <indexterm> + <primary><filename>resolv.conf</filename></primary> + </indexterm> + + <para><filename>/etc/resolv.conf</filename> нь &os;-ийн + тодорхойлогч Интернэт Домен Нэрийн Системд (DNS) хэрхэн хандахыг заадаг.</para> + + <para><filename>resolv.conf</filename> дахь хамгийн түгээмэл оруулгууд нь: + </para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="2*"> + + <tbody> + <row> + <entry><literal>nameserver</literal></entry> + <entry>Тодорхойлогчийн асуух нэрийн серверийн IP хаяг. Серверүүд + нь хамгийн ихдээ гурав байх жагсаасан дарааллаар асуугддаг.</entry> + </row> + <row> + <entry><literal>search</literal></entry> + <entry>Хостын нэрийн хайлтад зориулж жагсаалтаас хайх. Энэ нь + ихэнхдээ локал хостын нэрийн доменоор тодорхойлогддог.</entry> + </row> + <row> + <entry><literal>domain</literal></entry> + <entry>Локал домен нэр.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Ердийн <filename>resolv.conf</filename>:</para> + + <programlisting>search example.com +nameserver 147.11.1.11 +nameserver 147.11.100.30</programlisting> + + <note><para><literal>search</literal> болон + <literal>domain</literal> тохируулгуудын зөвхөн нэг нь хэрэглэгдэх + ёстой.</para></note> + + <para>Хэрэв та DHCP ашиглаж байгаа бол &man.dhclient.8; нь DHCP серверээс + хүлээн авсан мэдээллээр <filename>resolv.conf</filename>-г дарж бичдэг.</para> + </sect3> + + <sect3> + <title><filename>/etc/hosts</filename></title> + + <indexterm><primary>хостууд</primary></indexterm> + + <para><filename>/etc/hosts</filename> нь хуучин Интернетийн үлдэгдэл + энгийн текст өгөгдлийн бааз юм. Энэ нь DNS болон NIS-тэй цуг нэрийг IP хаяг уруу + болгож тааруулах боломжийг ханган ажилладаг. LAN-аар холбогдсон локал компьютерүүдийг + амархан нэрлэх зориулалтаар &man.named.8; сервер суулгаж тохируулахын оронд энд + байрлуулж болдог. Мөн <filename>/etc/hosts</filename> нь түгээмэл ханддаг + нэрсэд зориулагдсан гадагшаа хандах хүсэлтийг багасгаж Интернетийн нэрсийн локал + бичлэгийг хангадаг байж болно.</para> + + <programlisting># $&os;$ +# +# Host Database +# This file should contain the addresses and aliases +# for local hosts that share this file. +# 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 myname.my.domain +127.0.0.1 localhost localhost.my.domain myname.my.domain + +# +# Imaginary network. +#10.0.0.2 myname.my.domain myname +#10.0.0.3 myfriend.my.domain myfriend +# +# 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. PLEASE PLEASE PLEASE do not try +# to invent your own network numbers but instead get one from your +# network provider (if any) or from the Internet Registry (ftp to +# rs.internic.net, directory `/templates'). +#</programlisting> + + <para><filename>/etc/hosts</filename> нь энгийн хэлбэрийг агуулдаг:</para> + + <programlisting>[Internet address] [official hostname] [alias1] [alias2] ...</programlisting> + + <para>Жишээ нь:</para> + + <programlisting>10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2</programlisting> + + <para>Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; хуудсаас зөвлөгөө авна уу.</para> + </sect3> + </sect2> + + <sect2> + <title>Бүртгэлийн файлын тохиргоо</title> + + <indexterm><primary>бүртгэлийн файлууд</primary></indexterm> + + <sect3> + <title><filename>syslog.conf</filename></title> + + <indexterm><primary>syslog.conf</primary></indexterm> + + <para><filename>syslog.conf</filename> нь &man.syslogd.8; + програмын тохиргооны файл юм. Энэ нь ямар төрлийн <command>syslog</command> + мэдээллүүд яг аль бүртгэлийн файлд бүртгэгдэхийг заадаг.</para> + + <programlisting># $&os;$ +# +# 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. +*.err;kern.debug;auth.notice;mail.crit /dev/console +*.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 +*.err root +*.notice;news.err root +*.alert root +*.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 +# 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</programlisting> + + <para>Дэлгэрэнгүй мэдээллийн талаар &man.syslog.conf.5; гарын авлагын хуудсаас + зөвлөгөө авна уу.</para> + </sect3> + + <sect3> + <title><filename>newsyslog.conf</filename></title> + + <indexterm><primary>newsyslog.conf</primary></indexterm> + + <para><filename>newsyslog.conf</filename> нь ихэнхдээ &man.cron.8; хуваарилан + цагаар ажиллуулдаг &man.newsyslog.8;-д зориулагдсан тохиргоо юм. &man.newsyslog.8; + нь хэзээ бүртгэлийн файлууд архивлагдах эсвэл дахин зохицуулагдахыг тодорхойлдог. + <filename>logfile</filename> нь <filename>logfile.0</filename> уруу, + <filename>logfile.0</filename> нь <filename>logfile.1</filename> + шилжих гэх зэргээр зохицуулагддаг. Бүртгэлийн файлууд өөрөөр &man.gzip.1; + хэлбэрээр <filename>logfile.0.gz</filename>, <filename>logfile.1.gz</filename> + гэх зэргээр нэрлэгдэн архивлагдаж болно.</para> + + <para><filename>newsyslog.conf</filename> нь аль бүртгэлийн файлууд удирдагдах, + хичнээн нь хадгалагдах болон хэзээ тэдгээрт хүрэхийг зааж өгдөг. Бүртгэлийн файлууд нь + тодорхой хэмжээнд хүрэх үед болон эсвэл тодорхой цаг/огнооны давтамжтайгаар зохицуулагддаг ба/эсвэл + архивлагддаг.</para> + + <programlisting># configuration file for newsyslog +# $&os;$ +# +# filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num] +/var/log/cron 600 3 100 * Z +/var/log/amd.log 644 7 100 * Z +/var/log/kerberos.log 644 7 100 * Z +/var/log/lpd-errs 644 7 100 * Z +/var/log/maillog 644 7 * @T00 Z +/var/log/sendmail.st 644 10 * 168 B +/var/log/messages 644 5 100 * Z +/var/log/all.log 600 7 * @T00 Z +/var/log/slip.log 600 3 100 * Z +/var/log/ppp.log 600 3 100 * Z +/var/log/security 600 10 100 * Z +/var/log/wtmp 644 3 * @01T05 B +/var/log/daily.log 640 7 * @T00 Z +/var/log/weekly.log 640 5 1 $W6D0 Z +/var/log/monthly.log 640 12 * $M1D0 Z +/var/log/console.log 640 5 100 * Z</programlisting> + + <para>Дэлгэрэнгүй мэдээллийн талаар &man.newsyslog.8; гарын авлагын хуудсаас + зөвлөгөө авна уу.</para> + </sect3> + </sect2> + + <sect2 id="configtuning-sysctlconf"> + <title><filename>sysctl.conf</filename></title> + + <indexterm><primary>sysctl.conf</primary></indexterm> + <indexterm><primary>sysctl</primary></indexterm> + + <para><filename>sysctl.conf</filename> нь <filename>rc.conf</filename>-той + бараг л адил харагддаг. Утгууд нь <literal>хувьсагч=утга</literal> + хэлбэрээр заагддаг. Тодорхойлсон утгууд нь систем олон-хэрэглэгчийн горимд шилжсэнийн + дараа тохируулагддаг. Энэ горимд бүх хувьсагчууд тохируулагдах боломжгүй.</para> + + <para>Сүйрлийн дохионы гаралтуудын бүртгэлийг хааж бусад хэрэглэгчдийн эхлүүлсэн + процессуудыг өөр хэрэглэгчдэд харуулахгүй байлгахын тулд дараах тохируулгуудыг + <filename>sysctl.conf</filename> файлд тохируулж өгч болно:</para> + + <programlisting># 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</programlisting> + + </sect2> + </sect1> + + <sect1 id="configtuning-sysctl"> + <title>sysctl ашиглан тааруулах нь</title> + + <indexterm><primary>sysctl</primary></indexterm> + <indexterm> + <primary>тааруулах нь</primary> + <secondary>sysctl ашиглан</secondary> + </indexterm> + + <para>&man.sysctl.8; нь ажиллаж байгаа &os; системд өөрчлөлтүүдийг хийхийг + танд зөвшөөрдөг интерфэйс юм. Энэ нь туршлагатай системийн администраторын хувьд + ажиллагааг мэдэгдэхүйц сайжруулж чадах TCP/IP болон виртуал санах ойн системийн + олон нарийн тохируулгуудыг агуулдаг. Таван зуу гаруй системийн хувьсагчуудыг + &man.sysctl.8; ашиглан унших болон тохируулж болдог.</para> + + <para>&man.sysctl.8; нь голдоо хоёр үүргийг гүйцэтгэдэг: системийн тохиргоонуудыг + унших болон өөрчлөх.</para> + + <para>Уншигдаж болох бүх хувьсагчуудыг харахдаа:</para> + + <screen>&prompt.user; <userinput>sysctl -a</userinput></screen> + + <para>Тухайн хувьсагчийг уншихдаа, жишээ нь, + <varname>kern.maxproc</varname>:</para> + + <screen>&prompt.user; <userinput>sysctl kern.maxproc</userinput> +kern.maxproc: 1044</screen> + + <para>Тухайн хувьсагчийг заахдаа хялбар + <replaceable>хувьсагч</replaceable>=<replaceable>утга</replaceable> + синтаксийг ашиглаарай:</para> + + <screen>&prompt.root; <userinput>sysctl kern.maxfiles=5000</userinput> +kern.maxfiles: 2088 -> 5000</screen> + + <para>sysctl хувьсагчуудын тохиргоонууд нь ихэвчлэн тэмдэгтүүд (strings), + тоонууд эсвэл boolean (boolean <literal>1</literal> нь тийм эсвэл + <literal>0</literal> нь үгүй байна) утгууд байна.</para> + + <para>Хэрэв та машин ачаалах болгонд автоматаар зарим хувьсагчуудыг тохируулахыг + хүсвэл <filename>/etc/sysctl.conf</filename> файлд тэдгээрийг + нэмээрэй. Дэлгэрэнгүй мэдээллийн талаар &man.sysctl.conf.5; гарын авлагын + хуудас болон <xref linkend="configtuning-sysctlconf">-с үзнэ үү.</para> + + <sect2 id="sysctl-readonly"> + <sect2info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + <!-- 31 January 2003 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect2info> + <title>Зөвхөн-унших &man.sysctl.8;</title> + + <para>Зарим тохиолдолд зөвхөн-унших &man.sysctl.8; утгуудыг өөрчлөх шаардлагатай + байж болох юм. Энэ нь заримдаа хийхээс өөр аргагүй байдаг боловч зөвхөн + (дахин) ачаалахад хийгдэх боломжтой.</para> + + <para>Жишээ нь зарим зөөврийн компьютерийн загваруудад &man.cardbus.4; төхөөрөмж нь + санах ойн хүрээг шалгадаггүй бөгөөд дараахтай төстэй алдаанууд гарган амжилтгүй болдог:</para> + + <screen>cbb0: Could not map register memory +device_probe_and_attach: cbb0 attach returned 12</screen> + + <para>Дээрх шиг тохиолдлууд нь ихэвчлэн зөвхөн уншихаар тохируулагдсан + зарим анхдагч &man.sysctl.8; тохиргоонуудыг өөрчлөхийг шаарддаг. Эдгээр + нөхцөлүүдийг давж гарахын тулд хэрэглэгч + &man.sysctl.8; <quote>OID</quote>-уудыг тэдгээрийн + <filename>/boot/loader.conf</filename> файлд хийж өгч болно. + Анхдагч тохиргоонууд <filename>/boot/defaults/loader.conf</filename> + файлд байрладаг.</para> + + <para>Дээр дурдсан асуудлыг шийдэхийн тулд хэрэглэгч урьд нь дурдсан файлд + <option>hw.pci.allow_unsupported_io_range=1</option> гэж + тохируулах шаардлагатай. Ингэснээр &man.cardbus.4; зөв ажиллах болно.</para> + + </sect2> + </sect1> + + <sect1 id="configtuning-disk"> + <title>Дискүүдийг тааруулах нь</title> + + <sect2> + <title>Sysctl хувьсагчууд</title> + + <sect3> + <title><varname>vfs.vmiodirenable</varname></title> + + <indexterm> + <primary><varname>vfs.vmiodirenable</varname></primary> + </indexterm> + + <para><varname>vfs.vmiodirenable</varname> sysctl хувьсагч нь + 0 (идэвхгүй) эсвэл 1 (идэвхтэй) гэж тохируулагдаж болно; анхдагчаар 1 байна. + Энэ хувьсагч нь систем сангуудыг хэрхэн кэш (шуурхай санамж) хийхийг хянадаг. + Ихэнх сангууд зөвхөн ганц фрагментийг (ихэвчлэн 1 K) файлын системд + болон түүнээс багыг буффер кэшд хэрэглэн жижиг хэмжээтэй байдаг. + Энэ хувьсагчийг хааснаар (0 болгосноор) буффер кэш нь таныг асар их хэмжээний + санах ойтой байсан ч гэсэн зөвхөн тодорхой тооны сангуудыг кэш хийдэг. + Нээгдсэн (1 болгосон) үед энэ sysctl нь бүх санах ойг кэш хийхэд бэлэн болгож + буффер кэшд VM Хуудсын Кэшийг хэрэглэн сангуудыг кэш хийх боломжийг олгодог. + Гэхдээ сангуудыг кэш хийх хамгийн бага гол дахь санах ой нь 512 байт биш + харин физик хуудсын хэмжээ (ихэвчлэн 4 K) байдаг. Хэрэв та их олон тооны + файлуудтай ажилладаг үйлчилгээ ажиллуулж байгаа бол бид энэ тохируулгыг идэвхтэй + байлгахыг зөвлөж байна. Тийм үйлчилгээнүүдэд вэб кэшүүд, том захидлын системүүд, + болон мэдээний системүүд орж болно. Энэ тохируулгыг идэвхтэй байлгах нь хайр + гамгүй зарцуулсан санах ойтой байхад ч гэсэн ерөнхийдөө ажиллагааг удаашруулдаггүй, + гэхдээ та түүнийг мэдэхийн тулд туршиж үзэж болно.</para> + </sect3> + + <sect3> + <title><varname>vfs.write_behind</varname></title> + + <indexterm> + <primary><varname>vfs.write_behind</varname></primary> + </indexterm> + + <para><varname>vfs.write_behind</varname> sysctl хувьсагчийн + анхдагч утга нь <literal>1</literal> (идэвхтэй) байна. Энэ нь том + дараалсан файлуудыг бичих үед ихэвчлэн гардаг бүх кластеруудыг цуглуулсан + үед зөөгчийн бичилтүүдийг хийхийг файлын системд хэлж өгдөг. Санаа нь бол + I/O ажиллагааны хувьд ашиггүй байхад бохир буфферууд бүхий буфферийн кэшийг + замхруулахаас зайлсхийхэд оршдог. Гэхдээ энэ нь процессуудыг зогсоож магадгүй + бөгөөд зарим нөхцөл байдалд та магадгүй үүнийг идэвхгүй болгохыг хүсэж болох юм.</para> + </sect3> + + <sect3> + <title><varname>vfs.hirunningspace</varname></title> + + <indexterm> + <primary><varname>vfs.hirunningspace</varname></primary> + </indexterm> + + <para><varname>vfs.hirunningspace</varname> sysctl хувьсагч + өгөгдсөн дурын хоромд системийн хувьд бүхэлд нь хэдий хэмжээний хүлээгдэж байгаа + бичих I/O-г дискийн хянагчуудад өгөх дараалалд оруулж болохыг тодорхойлдог. + Анхдагч утга нь ихэвчлэн хангалттай гэхдээ олон дисктэй машинууд дээр та + үүнийг дөрөв эсвэл таван <emphasis>мегабайт</emphasis> хүртэл + ихэсгэхийг хүсэж болох юм. Утгыг хэтэрхий өндөр тавих нь (буффер кэшийн бичих + тогтоосон хэмжээг давах нь) туйлын муу кластерлах ажиллагаанд хүргэж болно. + Энэ утгыг хэтэрхий өндөр бүү тавь! Өндөр бичих утгууд нь яг тэр үед хийгдэж байгаа + уншилтуудад хоцрогдол нэмж магадгүй юм. + </para> + + <para>Бусад төрөл бүрийн буффер-кэш болон VM хуудсын кэштэй холбоотой sysctl-ууд + байдаг. Бид эдгээр утгуудыг өөрчлөхийг зөвлөдөггүй, VM систем нь өөрийгөө автоматаар + тааруулж туйлын сайн ажилладаг.</para> + </sect3> + + <sect3> + <title><varname>vm.swap_idle_enabled</varname></title> + + <indexterm> + <primary><varname>vm.swap_idle_enabled</varname></primary> + </indexterm> + + <para><varname>vm.swap_idle_enabled</varname> sysctl хувьсагч нь + маш олон хэрэглэгчид таны системд орж гарч байдаг, сул зогссон олон процессуудтай, + том, олон-хэрэглэгчийн системүүд дээр ашигтай байдаг. Ийм системүүд нь + чөлөөт санах ойн хадгалалтад ихээхэн хэмжээний байнгын дарамтыг үүсгэж байдаг. + Энэ боломжийг идэвхтэй болгож ар араас нь swap хийн гаргахыг (зогссон секундаар) + <varname>vm.swap_idle_threshold1</varname> болон + <varname>vm.swap_idle_threshold2</varname> хувьсагчуудын тусламжтай + тохируулснаар зогссон процессуудтай холбоотой санах ойн хуудсуудын дарааллыг ердийн + хуудаслаж гаргах алгоритмаас илүү хурднаар багасгах боломжийг олгодог. + Энэ нь хуудаслаж гаргах демонд тусламжийн гарыг өгөх болно. Энэ тохируулгыг + танд хэрэгтэй л биш бол идэвхтэй болгож болохгүй, учир нь үүнийг та хийснээр үндсэндээ + санах ойг илүү түргэн урьдчилан-хуудаслаж ингэснээр swap болон дискийн багтаамжийг + илүүтэйгээр идэхэд хүргэх юм. Жижиг систем дээр энэ тохируулга нь тодорхойлогдож + болохуйц нөлөөлөлтэй байх ба харин боломжийн хуудаслалт аль хэдийн хийгээд байгаа + том системүүдэд энэ тохируулга нь VM системд бүх процессуудыг санах ой уруу болон + санах ойгоос хялбараар гаргах боломжийг бүрдүүлдэг.</para> + </sect3> + + <sect3> + <title><varname>hw.ata.wc</varname></title> + + <indexterm> + <primary><varname>hw.ata.wc</varname></primary> + </indexterm> + + <para>&os; 4.3-д IDE бичих кэш хийлтийг хаасан байдаг. Энэ нь + IDE дискэнд бичих багтаамжийг багасгасан боловч хатуу диск үйлдвэрлэгчдийн гаргасан + өгөгдлийн бүрэн бүтэн байдлын ноцтой асуудлуудаас болоод шаардлагатай болсон. + Тэр асуудал нь IDE хөтлөгчүүд бичилт дуусах үед худлаа мэдээлдэг явдал юм. + IDE бичих кэшийг идэвхтэй болгосноор IDE хатуу дискүүд ямар нэг дараалалгүйгээр + бичихээс гадна диск их ачаалалтай үед зарим блокуудыг бичихэд заримдаа + тодорхойгүй саатдаг. Сүйрэл болон тэжээлийн уналт файлын системийн ноцтой + эвдрэлд хүргэж болзошгүй байдаг. &os;-ийн анхдагч нь аюулгүй байхаар өөрчлөгдсөн. + Харамсалтай нь үүний үр дүнд ажиллагааны асар том алдагдалд хүргэсэн бөгөөд + хувилбар гарсны дараа бид бичих кэш хийлтийг анхдагчаар идэвхтэй байхаар буцаан + өөрчилсөн юм. Та өөрийн систем дээрээ <varname>hw.ata.wc</varname> sysctl + хувьсагчийг ажиглан анхдагч утгыг шалгах хэрэгтэй. Хэрэв IDE бичих кэш хийлт + хаалттай бол та цөмийн хувьсагчийн утгыг 1 болгон түүнийг идэвхжүүлж болно. + Үүнийг ачаалах үед ачаалагчаас хийх шаардлагатай. Цөм ачаалсны дараа хийхийг + оролдвол ямар ч нөлөө үзүүлэхгүй.</para> + + <para>Дэлгэрэнгүй мэдээллийн талаар &man.ata.4;-с үзнэ үү.</para> + </sect3> + + <sect3> + <title><literal>SCSI_DELAY</literal> + (<varname>kern.cam.scsi_delay</varname>)</title> + + <indexterm> + <primary><varname>kern.cam.scsi_delay</varname></primary> + </indexterm> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary><literal>SCSI_DELAY</literal></secondary> + </indexterm> + + <para><literal>SCSI_DELAY</literal> цөмийн тохиргоо нь системийн ачаалах + хугацааг багасгахад хэрэглэгддэг. Анхдагч утга нь нэлээн өндөр бөгөөд + <literal>15</literal> секундын саатлыг ачаалах процессийн үед өгөхийг хариуцдаг. + <literal>5</literal> секунд хүртэл багасгахад ихэвчлэн ажилладаг (ялангуяа + орчин үеийн хөтлөгчүүдийн хувьд). &os;-ийн шинэ хувилбарууд (5.0 болон түүнээс дээш) + ачаалах үеийн тохируулга болох <varname>kern.cam.scsi_delay</varname> + хувьсагчийг ашиглах хэрэгтэй. Энэ тохиргуулга болон цөмийн тохиргооны тохируулга нь + <emphasis>секундээр</emphasis> <emphasis>биш</emphasis> + <emphasis>миллисекундээр</emphasis> утгыг хүлээн авдаг.</para> + </sect3> + </sect2> + + <sect2 id="soft-updates"> + <title>Зөөлөн Шинэчлэлтүүд</title> + + <indexterm><primary>Зөөлөн Шинэчлэлтүүд</primary></indexterm> + <indexterm><primary>tunefs</primary></indexterm> + + <para>&man.tunefs.8; програм файлын системийг нарийн тааруулахад + ашиглагдаж болно. Энэ програм нь олон янзын тохируулгуудтай гэхдээ + одоохондоо бид зөвхөн Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэх ба хаах дээр + анхаарах бөгөөд үүнийг дараах аргаар хийнэ:</para> + + <screen>&prompt.root; <userinput>tunefs -n enable /filesystem</userinput> +&prompt.root; <userinput>tunefs -n disable /filesystem</userinput></screen> + + <para>Файлын систем нь холбогдсон байхдаа &man.tunefs.8;-ээр өөрчлөгдөх + боломжгүй. Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэхэд тохирох үе нь аль ч + хуваалтууд холболт хийгдээгүй байгаа ганц хэрэглэгчийн горим юм.</para> + + <para>Зөөлөн Шинэчлэлтүүд нь мета-өгөгдлийн ажиллагааг мэдэгдэхүйц сайжруулдаг бөгөөд + санах ойн кэшийг ашиглан голчлон файлын үүсгэлт болон устгалтыг хурдасгадаг. + Бид Зөөлөн Шинэчлэлтүүдийг өөрийн бүх файлын системүүдэд ашиглахыг зөвлөж байна. + Зөөлөн Шинэчлэлтүүдийн хоёр дутагдалтай талыг та мэдэж байх ёстой: Нэгдүгээрт, + Зөөлөн Шинэчлэлтүүд нь сүйрэл болсон тохиолдолд файлын системийн бүрэн бүтэн + байдалд баталгаа өгдөг боловч физик дискийг шинэчлэхэд хэдэн секундын (минут ч байж болно!) + хоцрогдолтой байж болно. Хэрэв таны систем сүйрэхэд бусад тохиолдлоос илүүтэйгээр + та хйисэн ажлаа алдаж болзошгүй юм. Хоёрдугаарт, Зөөлөн Шинэчлэлтүүд нь + файлын системийн блокуудыг чөлөөлөхийг саатуулдаг. Хэрэв та бараг дүүрсэн + файлын системтэй (root файл систем гэх зэрэг) байгаа бол + <command>make installworld</command> зэрэг гол шинэчлэлтийг + хийх нь файлын системийг зайгүй болгож шинэчлэлт амжилтгүй болох шалтгаанд хүргэж + болох юм.</para> + + <sect3> + <title>Зөөлөн Шинэчлэлтүүдийн талаар дэлгэрэнгүй</title> + + <indexterm> + <primary>Зөөлөн Шинэчлэлтүүд</primary> + <secondary>дэлгэрэнгүй</secondary> + </indexterm> + + <para>Файлын системийн мета-өгөгдлийг диск уруу бичих уламжлалт хоёр хандлага + байдаг. (Мета-өгөгдлийн шинэчлэлтүүд нь inode эсвэл сангууд зэрэг агуулгын бус + өгөгдөлд хийх шинэчлэлтүүд юм)</para> + + <para>Түүхээс авч үзэхэд анхдагч ажиллах горим нь мета-өгөгдлийн шинэчлэлтүүдийг + синхроноор буюу зэрэг бичдэг байсан явдал юм. Хэрэв сан өөрчлөгдсөн бол + систем өөрчлөлтийг диск уруу бичигдэхийг хүлээдэг. Файлын өгөгдлийн буфферууд + (файлын агуулгууд) буффер кэшээр дамжин диск уруу сүүлд нь асинхроноор хадгалагддаг. + Энэ шийдлийн давуу тал нь аюулгүй ажилладаг. Хэрэв шинэчлэлтийн үед амжилтгүй + болбол мета-өгөгдөл нь үргэлж бүрэн бүтэн байдаг. Файл эсвэл бүрэн үүсч эсвэл + бүр ерөөсөө үүсдэггүй. Хэрэв файлын өгөгдлийн блокууд сүйрэл болох үед + буфферийн кэшээс диск уруу өөрсдийн гарах замаа олохгүй байгаа бол + &man.fsck.8; нь үүнийг таньж файлын уртыг 0 болгон файлын системийг + засварладаг. Нэмж хэлэхэд энэ шийдэл нь цэвэрхэн ба хялбар юм. + Сул тал нь мета-өгөгдлийн өөрчлөлтүүд нь удаан байдаг. + <command>rm -r</command> тушаал жишээ нь сан дахь бүх файлуудад дараалан + хандах бөгөөд гэхдээ сан болгоны өөрчлөлт (файлын устгалт) синхроноор зэрэг + диск уруу бичигддэг. Үүнд сан уруу өөрт нь хийгдэх шинэчлэлтүүд, inode хүснэгт + болон магадгүй файлын гаргасан шууд бус блокуудад хийх шинэчлэлтүүд ордог. + Том иерархуудыг задлахад (<command>tar -x</command>) үүний нэгэн адилаар + авч үздэг.</para> + + <para>Хоёр дахь нь асинхрон мета-өгөгдлийн шинэчлэлтүүд юм. Энэ нь + Линукс/ext2fs-ийн хувьд анхдагч байх бөгөөд + *BSD ufs-ийн хувьд + <command>mount -o async</command> байх юм. + Бүх мета-өгөгдлийн шинэчлэлтүүд + нь буффер кэшээр бас дамждаг, тэгэхээр тэдгээр нь файлын агуулгын өгөгдлийн + шинэчлэлтүүдтэй харилцан холилдох болно. Энэ шийдлийн давуу тал нь + мета-өгөгдөл бүрийн шинэчлэлт диск уруу бичигдэхийг хүлээдэггүй бөгөөд + ингэснээр ихээхэн хэмжээний мета-өгөгдлийн шинэчлэлтүүдийг хийдэг бүх + үйлдлүүд синхрон хийгдэхээс хамаагүй хурдан ажилладаг. Мөн энэ шийдэл нь + цэвэрхэн бас энгийн бөгөөд ингэснээр хорхойнууд (алдаа) код уруу мөлхөн + орох эрсдэл бага юм. Сул тал нь файлын системийн бүрэн бүтэн төлөвийн + ямар нэг баталгаа ерөөсөө байдаггүй. Хэрэв их хэмжээний мета-өгөгдөл + шинэчлэх үйлдлийн явцад амжилтгүй болсон бол (тэжээлийн тасалдал, эсвэл хэн + нэг нь дахин эхлүүлэх товч дарсан зэрэгт) файлын систем тааж болшгүй + төлөвт үлдэх болно. Систем дахин ачаалаад дуусахад файлын системийн + төлөвийг мэдэх боломжгүй байдаг; inode хүснэгт эсвэл холбоотой сангийн + шинэчлэлтүүд бичигдээгүй байхад файлын өгөгдлийн блокууд диск уруу аль хэдийн + бичигдчихсэн байж болох юм. Ер нь гаргасан замбараагүйтлийг (учир нь хэрэгцээтэй + мэдээлэл диск дээр байхгүй) цэвэрлэж чаддаг <command>fsck</command> + тушаалын шийдлийг хийх боломжгүй. Хэрэв файлын систем засвар хийж чадахааргүй + эвдэрсэн бол түүнд дээр &man.newfs.8;-ийг хэрэглэж нөөцөөс сэргээхээс өөр + аргагүй юм. + </para> + + <para>Энэ асуудлын шийдэл нь + <emphasis>бохир бүсийн бүртгэл</emphasis> буюу бас + <emphasis>журналчлалт</emphasis> гэгддэг шийдлийг гаргах явдал бөгөөд + энэ ухагдахуун нь тогтвортой хэрэглэгддэггүй ба шилжүүлэлтийн бүртгэлийн бусад + хэлбэрүүдэд бас заримдаа ашиглагддаг. Мета-өгөгдлийн шинэчлэлтүүд нь + синхроноор бичигдсэн хэвээр байх бөгөөд гэхдээ зөвхөн дискийн жижиг бүсэд + бичигдэнэ. Дараа нь тэдгээрийг тэдний зөв байрлал уруу зөөдөг. Бүртгэлийн + талбар нь диск дээр бага, үргэлжилсэн бүс байдаг учраас бүр хүнд үйлдлүүдийн үед + ч гэсэн дискийн толгойнууд шилжихэд хол зайтай биш байдаг болохоор эдгээр + үйлдлүүд нь синхрон шинэчлэлтүүдээс илүү хурдан байдаг. + Мөн энэ шийдлийн төвөгтэй байдал нь маш хязгаарлагдмал болохоор алдаанууд + байх эрсдэл нь бага байдаг. Сул тал нь бүх мета-өгөгдөл нь хоёр удаа бичигддэг + (бүртгэлийн бүсэд нэг удаа болон зөв байрлал уруу бас нэг удаа) болохоор + энгийн ажлын хувьд ажиллагааны <quote>өөдрөг бус үзэгдэл</quote> + гарч болзошгүй юм. Нөгөө талаас сүйрэл болоод систем дахин ачаалаад дуусахад + хүлээгдэж байгаа бүх мета-өгөгдлийн үйлдлүүд бүртгэлийн талбараас хурдан + буцаагдаж эсвэл гүйцэд хийгдэн дуусч болох бөгөөд энэ нь файлын системийг + хурдан эхлүүлэхэд хүргэдэг.</para> + + <para>Беркли FFS-ийн хөгжүүлэгч Кирк Маккюсик энэ асуудлыг Soft Updates + буюу Зөөлөн Шинэчлэлтүүдээр шийдсэн: хүлээгдэж байгаа бүх мета-өгөгдлийн + шинэчлэлтүүд нь санах ойд хадгалагдах бөгөөд диск уруу эрэмблэгдсэн дарааллаар + бичигддэг (<quote>дараалуулсан мета-өгөгдлийн шинэчлэлтүүд</quote>). + Энэ нь мета-өгөгдлийн хүнд үйлдлүүдийн үед хэрэв эрт хийгдсэн шинэчлэлтүүд диск + уруу бичигдээгүй санах ойд байж байхад нь сүүлд хийгдэх шинэчлэлтүүд тэдгээрийг + <quote>барьж</quote> авдаг. Тэгэхээр сангийн хувьд хэлбэл түүнд хийгдэх + бүх үйлдлүүд нь санах ойд шинэчлэлт диск уруу бичигдэхээс өмнө хийгддэг + (өгөгдлийн блокууд нь мета-өгөгдлөөсөө түрүүлээд диск дээр байж байхгүйгээр + өөрсдийн байрлалынхаа дагуу эрэмблэгддэг ). + Хэрэв систем сүйрвэл энэ нь <quote>бүртгэл урагшлуулахад</quote> хүргэдэг: + диск уруу гарах замаа олохгүй байгаа бүх үйлдлүүд хэзээ ч хийгдээгүй юм шиг + байдаг. Файлын системийн бүрэн бүтэн төлөв хадгалагдаж 30-аас 60 секундын + өмнөх төлөвт ордог. Хэрэглэгдэж байгаа эх үүсвэрүүдийг тэдгээрийн өөрсдийнх + харгалзах битмапуудад: блокууд болон inode-уудад байдаг шигээр тэмдэглэхийг + үүнд ашигласан алгоритм нь баталгаатай хангадаг. Сүйрэл болсны дараа + зөвхөн гарсан эх үүсвэр суллан гаргалтын алдаа нь яг үнэндээ <quote>чөлөөтэй</quote> + мөртлөө <quote>ашиглагдаж байгаа</quote> гэж тэмдэглэгдсэн эх үүсвэрүүд + байдаг. &man.fsck.8; энэ байдлыг таних бөгөөд ашиглагдаагүй байгаа эх + үүсвэрүүдийг чөлөөлдөг. Сүйрлийн дараа файлын системийн бохир төлвийг авч үзэлгүйгээр + хүчээр <command>mount -f</command> тушаалаар холбох нь аюулгүй юм. + Ашиглагдаагүй байж болзошгүй эх үүсвэрүүдийг чөлөөлөхдөө &man.fsck.8;-г + сүүлд нь ажиллуулах хэрэгтэй. Энэ нь <emphasis>ард ажиллах fsck</emphasis>-ийн + цаана байгаа санаа юм: системийг эхлүүлэх үед зөвхөн файлын системийн + <emphasis>хормын зураг</emphasis> бичигддэг. + <command>fsck</command>-г сүүлд нь ажиллуулж болно. Дараа нь бүх файлын + системүүд <quote>бохир</quote> холбогдож системийн эхлэлт олон хэрэглэгчийн + горимд үргэлжилдэг. Дараа нь ард ажиллах <command>fsck</command>-үүд + ашиглагдаагүй байгаа эх үүсвэрүүдийг чөлөөлөхөөр шаардлагатай байгаа бүх файлын + системийн хувьд ажиллахаар төлөвлөгддөг. (Зөөлөн Шинэчлэлтүүд ашигладаггүй + файлын системүүдэд ердийн нүүрэн дээр ажиллах <command>fsck</command> + хэрэгтэй хэвээр байна)</para> + + <para>Давуу тал нь мета-өгөгдлийн үйлдлүүд нь асинхрон шинэчлэлтүүдтэй + бараг л адил хурдан байдаг (өөрөөр хэлбэл мета-өгөгдлийг хоёр дахин бичдэг + <emphasis>бүртгэл хийлтээс</emphasis> хурдан байдаг). Сул талууд нь + төвөгтэй код (хэрэглэгчийн өгөгдлийн алдагдлын хувьд их мэдрэмтгий талбар дахь + байж болох алдаануудын тэр өндөр эрсдэлийг хэлж байна) болон санах ойн илүү + хэрэглээ юм. Мөн хэн нэгний хэрэглэж байсан хувийн тохиргоонууд ч бас байдаг. + Сүйрэл болсны дараа файлын системийн төлөв <quote>хуучин</quote> + юм шиг харагддаг. Стандарт синхрон хандлага нь + <command>fsck</command>-ийн дараа зарим нэг тэг-урттай файлуудыг + үлдээхэд хүргэсэн нөхцөлд тэдгээр файлууд нь Зөөлөн Шинэчлэлтүүдтэй файлын + системийн үед огт байдаггүй бөгөөд учир нь мета-өгөгдөл болон файлын агуулгууд + хэзээ ч диск уруу бичигдээгүй байдаг. Дискийн зай нь магадгүй + <command>rm</command> ажиллуулснаас хэсэг хугацааны дараа диск уруу + шинэчлэлтүүд бичигдэх хүртэл сулардаггүй. Энэ нь бүх файлуудыг хоёр дахин + хадгалахад хангалттай хүрэлцэхүйц хэмжээний чөлөөтэй зай байхгүй файлын систем + дээр их хэмжээний өгөгдлийг суулгаж байх үед асуудлууд гарахад хүргэж болох юм.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="configtuning-kernel-limits"> + <title>Цөмийн хязгаарууд тохируулах нь</title> + + <indexterm> + <primary>тохируулах нь</primary> + <secondary>цөмийн хязгаарууд</secondary> + </indexterm> + + <sect2 id="file-process-limits"> + <title>Файл/Процессийн хязгаарууд</title> + + <sect3 id="kern-maxfiles"> + <title><varname>kern.maxfiles</varname></title> + + <indexterm> + <primary><varname>kern.maxfiles</varname></primary> + </indexterm> + + <para><varname>kern.maxfiles</varname> нь таны системийн шаардлагуудаас + хамаараад дээшилж эсвэл доошилж болно. Энэ хувьсагч нь таны систем дээрх файлын + тодорхойлогчуудын (descriptor) хамгийн их тоог илэрхийлдэг. Файлын тодорхойлогчийн + хүснэгт дүүрсэн тохиолдолд <errorname>file: table is full</errorname> + буюу файл: хүснэгт дүүрсэн гэсэн мэдээлэл давтагдан системийн богино мэдээллийн буфферт + үзэгдэх бөгөөд үүнийг <command>dmesg</command> тушаал ашиглан үзэж болдог.</para> + + <para>Нээлттэй файл, сокет эсвэл fifo болгон нэг файлын тодорхойлогч хэрэглэдэг. + Ажиллаж байгаа том-хэмжээний сервер зэрэгцээ ажиллаж байгаа үйлчилгээнүүдийн тоо болон + төрлөөс хамааран олон мянган файлын тодорхойлогчуудыг өлхөн шаардаж болох юм.</para> + + <para>Хуучин FreeBSD хувилбаруудад <varname>kern.maxfiles</varname>-ийн + анхдагч утга нь таны цөмийн тохиргооны файлын <option>maxusers</option> тохируулгаас + гарсан байдаг. <varname>kern.maxfiles</varname> нь + <option>maxusers</option> утгатай пропорционалаар өсдөг. Өөрчлөн тохируулсан цөмийг + бүтээхдээ энэ цөмийн тохиргооны тохируулгыг өөрийн системийн хэрэглээний дагуу зааж өгөх нь + зүйтэй байдаг. Энэ тооноос хамаарч цөм өөрийн ихэнх урьдчилан-тодорхойлсон хязгааруудыг + өгдөг. Ажиллагаанд байгаа машин яг үнэндээ нэг удаа 256 хэрэглэгч зэрэг холбогдоогүй + байж болох боловч өндөр-хэмжээний веб серверийнхтэй адил эх үүсвэрүүд хэрэгтэй байж болох + юм.</para> + + <para>FreeBSD 4.5-аас эхлэн <varname>kern.maxusers</varname> нь системд байгаа санах ойн + дээр үндэслэн ачаалах үед автоматаар тавигддаг бөгөөд ажиллаж байх явцад зөвхөн уншигдах + <varname>kern.maxusers</varname> sysctl хувьсагчийн утгыг шалгаж тогтоогдож + болох юм. Зарим сайтууд <varname>kern.maxusers</varname>-ийн илүү их эсвэл бага + утгуудыг шаардаж үүнийг ачаалагчаар тааруулагдахаар тохируулж болох юм; 64, 128, болон 256 + утгууд нь ховор байдаг. Танд асар их тооны файлын тодорхойлогчууд хэрэгтэй л биш бол бид + 256-аас дээш байлгахыг зөвлөдөггүй; өөрсдийн анхдагч утгуудад + <varname>kern.maxusers</varname>-р заагддаг, тааруулагдах боломжтой утгуудын + олонх нь тус тусдаа ачаалалтын үед эсвэл ажиллах явцад <filename>/boot/loader.conf</filename>-оор + эсвэл энэ баримтын хаа нэгтээ тайлбарласнаар өөрчлөгдөж болдог + (&man.loader.conf.5; гарын авлага эсвэл <filename>/boot/defaults/loader.conf</filename> + файлыг санаа авахын тулд үзнэ үү). FreeBSD 4.4-өөс хуучин системүүд энэ утгыг + цөмийн &man.config.8; тохируулга <option>maxusers</option>-ээр зааж өгөх хэрэгтэй.</para> + + <para>Хуучин хувилбаруудад хэрэв та <literal>maxusers</literal>-ийг + <literal>0</literal> гэж шууд зааж өгсөн бол систем автоматаар тааруулж өгдөг + <footnote><para>Автоматаар тааруулах алгоритм <literal>maxusers</literal>-ийг + систем дэх санах ойн хэмжээтэй адилаар хамгийн багадаа 32 ба хамгийн ихдээ 384 гэж зааж + өгдөг.</para></footnote>. Энэ тохируулгыг заахдаа ялангуяа та хэрэв X Цонхны Систем + ашиглаж байгаа эсвэл програм хангамж хөрвүүлж байгаа бол <literal>maxusers</literal>-ийг + хамгийн багадаа 4 гэж заахыг хүсэх болно. Шалтгаан нь гэвэл <literal>maxusers</literal>-ээр + заагдсан хамгийн чухал хүснэгт бол <literal>20 + 16 * maxusers</literal> гэж заагдсан + процессуудын хамгийн их тоо бөгөөд хэрэв та <literal>maxusers</literal>-ийг 1 гэж + заасан бол та 18 орчмыг нь ачаалах үед системийг эхлүүлэхэд болон 15 орчмыг нь таныг X Цонхны + Системийг эхлүүлэхэд магадгүй үүсэж та нийт зөвхөн 36 зэрэг процесстой байж болох юм. + Гарын авлагыг унших зэрэг хялбар бодлого хүртэл шүүх, шахсаныг задлах, болон + үзэхэд зориулж есөн процессийг эхлүүлдэг. <literal>maxusers</literal>-ийг 64 гэж заах нь + бараг л бүх хэрэгцээнд хангалттай байх 1044 зэрэг процесстой байж болохыг танд зөвшөөрнө. + Гэхдээ өөр програм эхлүүлэхээр оролдож байх үед эсвэл их олон тооны зэрэгцээ хэрэглэгчидтэй + сервер (<hostid role="fqdn">ftp.FreeBSD.org</hostid>-той адил) ажиллуулж + байхад айдас төрүүлэм <errortype>proc table full</errortype> буюу proc хүснэгт + дүүрсэн гэсэн алдаа хэрэв та харах юм бол үргэлж энэ тоог ихэсгэн цөмийг дахин бүтээж + болох юм.</para> + + <note> + <para><literal>maxusers</literal> нь таны машин уруу нэвтрэх хэрэглэгчдийн + тоог <emphasis>хязгаарладаггүй</emphasis>. Энэ нь ердөө л таны систем дээр байж + болох хамгийн их хэрэглэгчийн тоо болон тэдгээр тус бүрийн ажиллуулах процессын тооноос + хамааран төрөл бүрийн хүснэгтийн хэмжээнүүдийг боломжийн утгуудаар зааж өгдөг. + Алсаас хандах зэрэгцээ нэвтрэлтүүдийн тоо болон X терминал цонхнуудыг + <emphasis>хязгаарладаг</emphasis> нэг түлхүүр нь <link linkend="kernelconfig-ptys"> + <literal>псевдо-төхөөрөмж pty 16</literal></link> юм. &os; 5.X дээр + &man.pty.4; драйвер <quote>aвто-клон</quote> хийх боломжтой болохоор та энэ тоон + дээр санаа зовохгүй байж болно; та тохиргооны файлдаа <literal>device pty</literal> + гэсэн мөрийг л ашилах юм.</para> + </note> + + </sect3> + + <sect3> + <title><varname>kern.ipc.somaxconn</varname></title> + + <indexterm> + <primary><varname>kern.ipc.somaxconn</varname></primary> + </indexterm> + + <para><varname>kern.ipc.somaxconn</varname> sysctl хувьсагч нь + шинэ TCP холболтуудыг хүлээн авахад зориулсан сонсох дарааллын хэмжээг + хязгаарладаг. Анхдагч утга <literal>128</literal> нь ачаалал ихтэй вэб + серверийн орчин дахь шинэ холболтуудыг хүлээж авахад ерөнхийдөө хэтэрхий бага + юм. Тийм орчны хувьд энэ утгыг <literal>1024</literal> эсвэл түүнээс их + болгохыг зөвлөдөг. Үйлчилгээний демон нь өөрөө сонсох дарааллын хэмжээгээ + (өөрөөр хэлбэл &man.sendmail.8;, эсвэл <application>Apache</application>) + хязгаарлаж болох боловч ихэвчлэн өөрийн тохиргооны файлдаа дарааллын хэмжээг + тааруулах тохиргооны мөртэй байдаг. Их хэмжээний сонсох дарааллууд нь бас + Үйлчилгээг Зогсоох халдлагуудаас (<abbrev>DoS</abbrev>) илүү сайн зайлсхийж + ажилладаг.</para> + </sect3> + + </sect2> + <sect2 id="nmbclusters"> + <title>Сүлжээний хязгаарууд</title> + + <para><literal>NMBCLUSTERS</literal> цөмийн тохиргооны тохируулга нь + системд байгаа сүлжээний Mbuf-уудын тоог зааж өгдөг. Бага тооны Mbuf-уудтай + трафикийн ачаалал ихтэй сервер &os;-ийн чадварт саад болдог. Кластер бүр + ойролцоогоор 2 K санах ойг илэрхийлдэг, тийм болохоор 1024 гэсэн + утга нь сүлжээний буфферуудад зориулж хадгалсан 2 мегабайт цөмийн санах ойг + илэрхийлнэ. Хичнээн хэрэгтэйг олохын тулд хялбар тооцоо хийж болно. + Хэрэв та хамгийн ихдээ 1000 зэрэгцээ холболтуудтай, холболт бүр нь 16 K + хүлээн авах болон 16 K илгээх буфферийг иддэг вэб сервертэй бол + танд ойролцоогоор вэб серверийг хангахын тулд 32 MB хэмжээтэй тэнцэх + сүлжээний буфферууд хэрэгтэй болно. Практикаар ер нь 2-оор үржүүлдэг, + тэгэхээр 2x32 MB / 2 KB = + 64 MB / 2 kB = 32768 болох юм. + Бид их санах ойтой машинуудын хувьд утгуудыг 4096-аас 32768-ын хооронд байлгахыг + зөвлөдөг. Энэ параметрийн хувьд өндөр утгыг ямар ч нөхцөлд тавьж болохгүй, учир нь + энэ нь ачаалах үеийн сүйрэлд хүргэж болно. &man.netstat.1;-д + <option>-m</option> тохируулгыг ашиглаж сүлжээний кластерийн ашиглалтыг + ажиглаж болох юм.</para> + + <para><varname>kern.ipc.nmbclusters</varname> ачаалалтын тааруулах + боломжтой тохируулга нь ачаалах үед үүнийг тааруулахад хэрэглэгдэх ёстой. + Зөвхөн &os;-ийн хуучин хувилбарууд <literal>NMBCLUSTERS</literal> + цөмийн &man.config.8; тохируулгыг ашиглахыг танаас шаарддаг.</para> + + <para>&man.sendfile.2; системийн дуудлагыг өргөнөөр ашигладаг завгүй + серверүүдийн хувьд <literal>NSFBUFS</literal> цөмийн тохиргооны тохируулгын + тусламжтай эсвэл түүний утгыг <filename>/boot/loader.conf</filename>-д зааж + &man.sendfile.2; буфферуудын тоог ихэсгэх шаардлагатай байж болох юм + (дэлгэрэнгүйг &man.loader.8;-с үзнэ үү). Процессууд <literal>sfbufa</literal> + төлөвт харагдах нь энэ параметрийг тааруулах хэрэгтэйг ихэвчлэн заадаг. + <varname>kern.ipc.nsfbufs</varname> sysctl хувьсагч нь цөмөөр + тохируулагдсан хувьсагч дахь зөвхөн уншигддаг гялбаа юм. Энэ параметр нь + <varname>kern.maxusers</varname>-ийн хэмжээгээр тааруулагддаг, + гэхдээ үүнийг түүний дагуу тохируурах шаардлагатай байж болох юм.</para> + + <important> + <para>Сокет блок-хийгддэггүй гэж тэмдэглэгдсэн ч гэсэн блок-хийгддэггүй + сокет дээр &man.sendfile.2;-ийг дуудах нь хангалттай хэмжээний + <literal>struct sf_buf</literal>-уудыг бий болготол + &man.sendfile.2; дуудлага блок хийгдэхэд хүргэж болох юм.</para> + </important> + + <sect3> + <title><varname>net.inet.ip.portrange.*</varname></title> + + <indexterm> + <primary>net.inet.ip.portrange.*</primary> + </indexterm> + + <para><varname>net.inet.ip.portrange.*</varname> sysctl хувьсагчууд нь + TCP болон UDP сокетуудад автоматаар уягдах портын дугаарын хүрээнүүдийг хянадаг. + Гурван хүрээ байдаг: доод хүрээ, анхдагч хүрээ, болон өндөр хүрээ. Ихэнх сүлжээний + програмууд нь анхдагчаар 1024 болон 5000 байдаг + <varname>net.inet.ip.portrange.first</varname> болон + <varname>net.inet.ip.portrange.last</varname> хувьсагчуудаар хянагддаг + анхдагч хүрээг ашигладаг. Уягдах портын хүрээнүүд гарах холболтуудад ашиглагддаг + бөгөөд зарим тохиолдолд систем дэх портууд дуусч болох юм. Энэ нь ихэвчлэн + таныг ачаалал ихтэй вэб прокси ашиглаж байхад гардаг. Ихэвчлэн ирж байгаа холболтуудыг + хүлээн авдаг ердийн вэб сервер эсвэл захидал дамжуулагч зэрэг хязгаарлагдмал тооны гарах + холболтуудтай серверүүдийг ажиллуулж байхад портын хүрээ нь асуудал биш юм. + Таны порт дуусаж болох тийм тохиолдлуудад + <varname>net.inet.ip.portrange.last</varname> хувьсагчийг даруухнаар + ихэсгэхийг зөвлөдөг. <literal>10000</literal>, <literal>20000</literal> эсвэл + <literal>30000</literal> нь боломжийн утгууд юм. Портын хүрээг өөрчилж + байхдаа галт ханын нөлөөллүүдийг бас бодолцох хэрэгтэй. Зарим галт ханууд + их хэмжээний портуудыг хааж болох бөгөөд (ихэнхдээ бага дугаарын портууд) + систем өндөр дугаарын портуудыг гарах холболтууддаа ашигладгийг бодолцох ёстой — + ийм учраас <varname>net.inet.ip.portrange.first</varname>-ийг + багасгахыг зөвлөдөггүй.</para> + </sect3> + + <sect3> + <title>TCP хурд сааруулагч бүтээгдэхүүнүүд</title> + + <indexterm> + <primary>TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт</primary> + <secondary><varname>net.inet.tcp.inflight.enable</varname></secondary> + </indexterm> + + <para>TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт нь NetBSD дэх + TCP/Vegas-тай адилхан юм. <varname>net.inet.tcp.inflight.enable</varname> + sysctl хувьсагчийг <literal>1</literal> болгон тохируулж үүнийг идэвхжүүлдэг. + Систем холболт бүрийн хувьд хурд саарууулагч бүтээгдэхүүнийг тооцоолохыг оролддог + бөгөөд сүлжээн дэх дараалалд оруулах өгөгдлийн хэмжээг хамгийн боломжийн нэвтрүүлэх + чадамжийг байнга барьж байх тэр хэмжээнд хүргэж хязгаарладаг.</para> + + <para>Хэрэв та өгөгдлийг модемууд, Гигабит Ethernet, эсвэл бүр өндөр + хурдны WAN холболтуудаар (эсвэл дурын өндөр хурд сааруулагч бүтээгдэхүүнтэй холболт) + дамжуулж байгаа бол ялангуяа та бас цонх өсгөлтийг ашиглаж байгаа эсвэл том илгээх цонх + тохируулсан бол энэ боломж нь ашигтай юм. Хэрэв та энэ тохируулгыг идэвхжүүлэх бол + бас <varname>net.inet.tcp.inflight.debug</varname>-ийг + <literal>0</literal> (дибаг хийхийг болиулах) болгож тохируулах хэрэгтэй бөгөөд + үйлдвэрлэлийн ашиглалтад <varname>net.inet.tcp.inflight.min</varname>-ийг + хамгийн багаар бодоход <literal>6144</literal> болгох нь ашигтай байж болох юм. + Гэхдээ хамгийн бага тоог өндөр болгох нь холболтоос хамааран хурд хязгаарлалтыг + идэвхтэйгээр болиулж болохыг санах хэрэгтэй. Хязгаарлах боломж нь дундын чиглүүлэлтийн + үед бүтээгдсэн өгөгдлийн хэмжээг багасгах бөгөөд пакетын дарааллуудыг сольж локал + хостын интерфэйс дэх дараалал дээр бүтээгдсэн өгөгдийн хэмжээг мөн багасгадаг. + Дараалалд орсон цөөн тооны пакетуудтай, ялангуяа удаан модемоор дамжсан интерактив + холболтууд нь бага <emphasis>Round Trip Times буюу Эргэн Аялах Хугацаатайгаар</emphasis> + ажиллаж бас чаддаг. Гэхдээ энэ боломж нь зөвхөн өгөгдөл дамжуулалтад (илгээх / сервер талын) + нөлөөлдгийг санах хэрэгтэй. Энэ нь өгөгдөл хүлээн авахад нөлөө үзүүлэхгүй (татаж авах). + </para> + + <para><varname>net.inet.tcp.inflight.stab</varname>-ийг тааруулахыг + <emphasis>зөвлөдөггүй</emphasis>. Энэ параметр нь хурд сааруулах бүтээгдэхүүний + цонхны тооцоололд нэмсэн 2 хамгийн их пакетийг илэрхийлж анхдагчаар 20 байдаг. + Энэ алгоритмийг тогтворжуулах болон өөрчлөгдөж байгаа нөхцөлүүдэд хариу өгөх боломжийг + сайжруулахад нэмэлт цонх шаардлагатай боловч энэ нь бас удаан холболт дээр + ping хийх хугацаа ихэсгэхэд хүргэдэг (гэхдээ таныг энэ (inflight) алгоритмийг + ашиглаагүй байхад гарсан үр дүнгээс хамаагүй бага хэвээр л байна). + Ийм тохиолдолд энэ параметрийг 15, 10, эсвэл 5 болгон багасгахыг хүсэж болох юм; + мөн хүссэн үр дүндээ хүрэхийн тулд + <varname>net.inet.tcp.inflight.min</varname> хувьсагчийг + (жишээ нь 3500 болгож) бас багасгаж болох юм. Эдгээр параметрүүдийг багасгах нь + хамгийн сүүлд авах арга хэмжээ байх ёстой юм.</para> + </sect3> + </sect2> + + <sect2> + <title>Виртуал санах ой</title> + + <sect3> + <title><varname>kern.maxvnodes</varname></title> + + <para>vnode нь файл эсвэл сангийн дотоод дүрслэл юм. Тэгэхээр үйлдлийн + системд байх vnode-ийн тоог ихэсгэх нь диск I/O-г багасгадаг. Энэ нь ихэвчлэн + үйлдлийн системээр зохицуулагддаг бөгөөд өөрчлөх хэрэггүй байдаг. + Зарим тохиолдолд диск I/O нь гол асуудал учруулж системд vnode байхгүй болж + байвал энэ тохируулгыг ихэсгэх хэрэгтэй болно. Идэвхгүй болон чөлөөтэй RAM-ийн + хэмжээг бодолцох шаардлагатай.</para> + + <para>Тухайн үед ашиглагдаж байгаа vnode-уудыг үзэхдээ:</para> + + <programlisting>&prompt.root; sysctl vfs.numvnodes +vfs.numvnodes: 91349</programlisting> + + <para>Хамгийн их vnode-уудыг үзэхдээ:</para> + + <programlisting>&prompt.root; sysctl kern.maxvnodes +kern.maxvnodes: 100000</programlisting> + + <para>Хэрэв тухайн үеийн vnode ашиглалт хамгийн их хэмжээ уруу бараг дөхөж + байвал <varname>kern.maxvnodes</varname>-ийг 1,000-аар ихэсгэх нь + зүйтэй байж болох юм. <varname>vfs.numvnodes</varname>-ийн тоон + дээр бас анхаарлаа хандуулаарай. Хэрэв энэ нь дахин хамгийн их уруугаа дээшилбэл + <varname>kern.maxvnodes</varname>-ийг цааш ихэсгэх шаардлагатай болно. + &man.top.1;-ийн гаргасан дүнгээс таны санах ойн өөрчлөлт харагдах ёстой. + Түрүүнийхээс илүү санах ой идэвхтэй байх ёстой.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="adding-swap-space"> + <title>Swap зай нэмэх нь</title> + + <para>Та яаж ч сайн төлөвлөсөн байлаа гэсэн заримдаа систем таны бодсоноор + ажилладагүй. Хэрэв танд swap зай илүү хэрэгцээтэйг мэдвэл та үүнийг + амархнаар нэмж болно. Та гурван аргаар swap зайг ихэсгэж болно: + шинэ хатуу диск нэмэх, NFS-ийн тусламжтай swap идэвхжүүлэх болон + байгаа хуваалт дээр swap файл үүсгэж ихэсгэж болно.</para> + + <para>Swap зайг хэрхэн шифрлэх, ямар тохируулгууд байгаа болон яагаад + хийх ёстой талаар гарын авлагын <xref linkend="swap-encrypting"> + хуудсанд хандана уу.</para> + + <sect2 id="new-drive-swap"> + <title>Шинэ диск дээрх swap</title> + + <para>Мэдээж swap нэмэх хамгийн шилдэг арга нь энэ боломжийг шалтаг болгон + ашиглаж өөр хатуу диск нэмэх явдал юм. Ер нь та үргэлж өөр хатуу диск ашиглаж + болно л доо. Хэрэв та ингэх бол өөрийн swap-аа хэрхэн хамгийн шилдгээр + зохион байгуулж болох талаар дурдсан зарим зөвлөгөөнүүдийн тухай Гарын авлагын + <xref linkend="configtuning-initial"> дахь swap зайн хэлэлцүүлгээс + дахин уншаарай.</para> + </sect2> + + <sect2 id="nfs-swap"> + <title>NFS-ийн тусламжтай swap хийх нь</title> + + <para>NFS-ийн тусламжтай swap хийхийг зөвхөн swap хийх локал хатуу диск + танд байхгүй үед л зөвлөдөг; NFS swap хийх нь байгаа сүлжээний хурдаар + хязгаарлагддаг бөгөөд NFS серверт нэмэлт ачаалал үзүүлдэг.</para> + </sect2> + + <sect2 id="create-swapfile"> + <title>Swap файлууд</title> + + <para>Та swap файл болгон ашиглахаар заасан хэмжээтэй файлыг үүсгэж болно. + Энд байгаа жишээн дээр бид <filename>/usr/swap0</filename> гэсэн + нэртэй 64MB файлыг ашиглана. Мэдээж та хүссэн ямар ч нэрээ ашиглаж + болно.</para> + + <example> + <title>Swap файл &os; дээр үүсгэх нь</title> + + <orderedlist> + <listitem> + <para>Таны цөмийн тохиргоонд санах ойн дискийн драйвер (&man.md.4;) + орсон эсэхийг шалгаарай. Энэ нь <filename>GENERIC</filename> + цөмд анхдагчаар орсон байдаг.</para> + + <programlisting>device md # Memory "disks"</programlisting> + </listitem> + + <listitem> + <para>Swap файл (<filename>/usr/swap0</filename>) үүсгэнэ:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/usr/swap0 bs=1024k count=64</userinput></screen> + </listitem> + + <listitem> + <para>Зөв зөвшөөрлүүдийг (<filename>/usr/swap0</filename>-д) нээж тохируулна:</para> + + <screen>&prompt.root; <userinput>chmod 0600 /usr/swap0</userinput></screen> + </listitem> + + <listitem> + <para><filename>/etc/rc.conf</filename>-д swap файлыг идэвхжүүлнэ:</para> + + <programlisting>swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.</programlisting> + </listitem> + + <listitem> + + <para>Машиныг дахин эхлүүлнэ эсвэл swap файлыг шууд идэвхжүүлэхийн тулд дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0</userinput></screen> + </listitem> + </orderedlist> + + </example> + </sect2> + </sect1> + + <sect1 id="acpi-overview"> + <sect1info> + <authorgroup> + <author> + <firstname>Хитэн</firstname> + <surname>Пандиа</surname> + <contrib>Бичсэн </contrib> + </author> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + + <title>Тэжээл болон Эх үүсвэрийн Удирдлага</title> + + <para>Тоног төхөөрөмжийн эх үүсвэрүүдийг үр ашигтай ашиглах нь чухал юм. + <acronym>ACPI</acronym> танилцуулагдахаас өмнө системийн тэжээлийн + ашиглалт болон дулааны шинж чанаруудыг удирдахад үйлдлийн системүүдийн хувьд + хэцүү, уян хатан биш байсан. Тоног төхөөрөмж нь <acronym>BIOS</acronym>-оор + удирдагддаг байсан болохоор тэжээлийн удирдлагын тохиргоонуудын харагдац бага бөгөөд + хэрэглэгчид хянах боломж бага байсан юм.Зарим нэгэн хязгаарлагдмал тохиргооны + боломж <emphasis>Advanced Power Management буюу Тэжээлийн Дэвшилттэй Удирдлага (APM)</emphasis> + интерфэйсээр хийгдэх боломжтой байсан. + Тэжээл болон Эх үүсвэрийн Удирдлага нь орчин үеийн үйлдлийн + системийн түлхүүр хэсгүүдийн нэг юм. Жишээ нь таны системийн хэм гэнэт нэмэгдэх тохиолдолд + системийн хязгааруудыг үйлдлийн систем монитор хийхийг (магадгүй танд мэдээлэхийг) + хүсэж болох юм.</para> + + <para>&os; Гарын авлагын энэ хэсэгт бид <acronym>ACPI</acronym>-ийн талаар + нэвтэрхий мэдээллээр хангах болно. Цааш нэмж уншихад зориулсан мэдээллүүдийг + төгсгөл хэсэгт оруулсан байгаа.</para> + + <sect2 id="acpi-intro"> + <title>ACPI гэж юу вэ?</title> + + <indexterm> + <primary>ACPI</primary> + </indexterm> + + <indexterm> + <primary>APM</primary> + </indexterm> + + <para>Advanced Configuration and Power Interface буюу Дэвшилттэй Тохиргоо + ба Тэжээлийн Интерфэйс (<acronym>ACPI</acronym>) нь тоног төхөөрөмжийн эх үүсвэрүүд + болон тэжээлийн удирдлагад (эндээс нэр гарсан) зориулсан стандарт интерфэйсийг хангах зорилгоор + үйлдвэрлэгчдийн холбооноос бичин гаргасан стандарт юм. + Энэ нь <emphasis>Үйлдлийн Системээр заалгасан тохиргоо ба Тэжээлийн Удирдлагын</emphasis> + түлхүүр элемент юм, өөрөөр хэлбэл: энэ нь илүү хяналт болон уян хатан байдлыг үйлдлийн системд + (<acronym>OS</acronym>) хангадаг. <acronym>ACPI</acronym>-г танилцуулахаас + өмнө одоогийн Залгаад Тоглуулах интерфэйсүүдийн хязгааруудыг орчин үеийн системүүд + <quote>сунгасан</quote> юм. <acronym>ACPI</acronym> нь <acronym>APM</acronym>-ийн + (Advanced Power Management буюу Тэжээлийн Дэвшилтэт Удирдлага) шууд залгамжлагч + юм.</para> + </sect2> + + <sect2 id="acpi-old-spec"> + <title>Тэжээлийн Дэвшилтэт Удирдлагын (APM) сул талууд</title> + + <para><emphasis>Тэжээлийн Дэвшилтэт Удирдлага (APM)</emphasis> боломж нь + системийн тэжээлийн ашиглалтыг түүний ажиллагаан дээр үндэслэн хянадаг. + APM BIOS нь (систем) үйлдвэрлэгчээс хангагддаг бөгөөд тоног төхөөрөмжийн тавцан + бүрийн хувьд онцлог байдаг. OS дахь APM драйвер нь тэжээлийн түвшингүүдийн + удирдлагыг зөвшөөрдөг <emphasis>APM Програм хангамжийн Интерфэйс</emphasis> + уруу хандах хандалтыг зуучилж өгдөг. APM-ийг 2000 онд болон тэрнээс өмнө үйлвэрлэсэн + системүүдэд ашиглах ёстой хэвээр байдаг.</para> + + <para>APM-д дөрвөн үндсэн асуудал байдаг. Нэгдүгээрт, тэжээлийн удирдлага + (үйлдвэрлэгчийн онцлогтой) BIOS-оор хийгддэг бөгөөд OS нь энэ талын ямар ч + мэдлэг байдаггүй. Үүний нэг жишээ нь хэрэглэгч хатуу дискийн сул зогсох хугацааг + APM BIOS дээр зааж өгөөд тэр нь зааснаас илүү гарвал BIOS хатуу дискийг OS-ийн + зөвшөөрөлгүйгээр эргүүлдэг. Хоёрдугаарт, APM-ийн логик BIOS-д суулгагдсан байдаг + бөгөөд OS-ийн эрх хэмжээнээс гадна ажилладаг. Энэ нь хэрэглэгчид өөрсдийн + APM BIOS-ийг зөвхөн шинэ хувилбараар нь ROM уруу нь шарж асуудлуудыг + засварлах боломжтой гэсэн үг юм; энэ нь амжилтгүй болбол системийг дахин + сэргээгдэхгүй төлөвт орхиж болох боломжтой маш аюултай процедур юм. + Гуравдугаарт, APM нь үйлдвэрлэгчийн онцлогтой технолог бөгөөд энэ нь + маш олон адил төсөөтэй байдал (чармайлтуудын хуулбар) болон нэг үйлдвэрлэгчийн + BIOS-д олдсон алдаанууд бусад үйлдвэрлэгчдийн хувьд шийдэгдээгүй байж болно гэсэн үг + юм. Хамгийн сүүлд гэхдээ төгсгөлийнх биш, APM BIOS нь тэжээлийн маш нарийн + бодлого эсвэл машины зориулалтад зориулагдан маш сайн тохируулагдах тийм шийдлийг + хийхэд хангалттай зайгүй байдаг.</para> + + <para><emphasis>Залгаад Тоглуулах BIOS (PNPBIOS)</emphasis> нь + олон тохиолдолд найдвартай биш байсан юм. PNPBIOS нь 16-битийн технолог, + тийм болохоор OS нь PNPBIOS аргуудтай холбогдохдоо 16-битийн эмуляц + хэрэглэх шаардлагатай болдог.</para> + + <para>&os;-ийн <acronym>APM</acronym> драйвер &man.apm.4; гарын авлагын + хуудсанд баримтжуулагдсан байдаг.</para> + </sect2> + + <sect2 id="acpi-config"> + <title><acronym>ACPI</acronym>-г тохируулах нь</title> + + <para><filename>acpi.ko</filename> драйвер нь системийг эхлүүлэх үед + &man.loader.8;-оор анхдагчаар ачаалагддаг бөгөөд цөмд оруулж + <emphasis>хөрвүүлэгдэх</emphasis> ёсгүй. Үүний цаадах шалтгаан нь + модулиудтай ажиллах хялбар байдаг, өөрөөр хэлбэл цөмийг дахин хөрвүүлэлгүйгээр + өөр <filename>acpi.ko</filename> уруу шилждэг. Энэ нь тест хийлтийг + илүү амархан болгодог давуу талтай юм. Нөгөө нэг шалтгаан нь + системийг ажиллуулж дууссаны дараа <acronym>ACPI</acronym>-г ажиллуулахад + ихэвчлэн сайн ажилладаггүй. + Хэрэв та асуудлуудтай учирч байгаа бол <acronym>ACPI</acronym>-г бүхэлд нь хаах хэрэгтэй. + Энэ драйверийг ачаалсны дараа буулгаж болиулж чаддаггүй, болдоггүй, учир нь + системийн шугам үүнийг төрөл бүрийн тоног төхөөрөмжүүдийн харилцан үйлдлүүдэд + хэрэглэдэг. <acronym>ACPI</acronym>-г <filename>/boot/loader.conf</filename> файлд юм уу + эсвэл &man.loader.8; хүлээх мөрөнд <literal>hint.acpi.0.disabled="1"</literal> гэж тохируулан + хааж болдог.</para> + + <note><para><acronym>ACPI</acronym> болон <acronym>APM</acronym> нь цуг байж болохгүй + бөгөөд салангид хэрэглэгдэх ёстой. Сүүлд ачаалагдах драйвер нь хэрэв нөгөө нэгийг ажиллаж байгааг + мэдвэл ажиллагаагаа дуусгавар болгодог.</para></note> + + <para><acronym>ACPI</acronym> нь &man.acpiconf.8;-ийн + <option>-s</option> туг болон <literal>1-5</literal> тохируулгын тусламжтайгаар + системийг унтах горим шилжүүлэхэд хэрэглэгдэж болно. Ихэнх хэрэглэгчдэд зөвхөн + <literal>1</literal> эсвэл <literal>3</literal> (RAM руу түр зогсоох) + хэрэгтэй байдаг. <literal>5</literal> тохируулга нь + дараах тушаалтай нэг ёсондоо адилыг гүйцэтгэнэ:</para> + + <screen>&prompt.root; <userinput>halt -p</userinput></screen> + + <para>Бусад тохируулгууд &man.sysctl.8;-ийн тусламжтай байдаг. Дэлгэрэнгүй мэдээлийн талаар &man.acpi.4; болон + &man.acpiconf.8; гарын авлагын хуудсуудаас шалгана уу.</para> + </sect2> + </sect1> + + <sect1 id="ACPI-debug"> + <sect1info> + <authorgroup> + <author> + <firstname>Нэйт</firstname> + <surname>Лоосон</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Питер</firstname> + <surname>Шульц</surname> + <contrib>Хувь нэмэрлэцгээсэн </contrib> + </author> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + + <title>&os;-ийн <acronym>ACPI</acronym>-г ашиглах нь ба дибаг хийх нь</title> + + <indexterm> + <primary>ACPI</primary> + <secondary>асуудлууд</secondary> + </indexterm> + + <para><acronym>ACPI</acronym> нь төхөөрөмжүүдийг илрүүлэх, тэжээлийн ашиглалтыг + удирдах болон урьд нь <acronym>BIOS</acronym>-оор удирдагддаг байсан төрөл + бүрийн тоног төхөөрөмжид хандах стандартчилагдсан хандалтыг хангадаг цоо шинэ арга + юм. Бүх системүүд дээр <acronym>ACPI</acronym>-г ажиллуулах тал дээр + дэвшил хийгдсэн бөгөөд гэхдээ зарим эх хавтангуудын + <firstterm><acronym>ACPI</acronym> Машины Хэл</firstterm>ний + (<acronym>AML</acronym>) байткод дахь алдаанууд, &os;-ийн цөмийн дэд + системүүдийн бүрэн бүтэн бус байдал болон &intel; <acronym>ACPI-CA</acronym> + тайлбарлагч дахь алдаанууд илэрсээр байна.</para> + + <para>Энэ баримт нь таныг &os;-ийн <acronym>ACPI</acronym> дэмжигчдэд тусалж + таны ажигласан асуудлуудын үндсэн учир шалтгааныг таних, дибаг хийх болон шийдлийг + хөгжүүлэхэд туслах зорилготой юм. Үүнийг уншиж байгаад талархлаа илэрхийлэхийн + ялдамд бид таны системийн асуудлуудыг шийдэж чадна гэдэгт найдаж байна.</para> + + <sect2 id="ACPI-submitdebug"> + <title>Дибаг мэдээллийг илгээх нь</title> + + <note> + <para>Асуудлыг илгээхээсээ өмнө та хамгийн сүүлийн үеийн <acronym>BIOS</acronym>-ийн + хувилбар болон хэрэв байх юм бол суулгагдсан хянагчийн хамгийн сүүлийн firmware хувилбар + ажиллуулж байгаа эсэхээ шалгаарай.</para> + </note> + + <para>Асуудлыг шууд илгээхийг хүсэж байгаачууд дараах мэдээллийг + <ulink url="mailto:freebsd-acpi@FreeBSD.org"> + freebsd-acpi@FreeBSD.org</ulink> уруу илгээнэ үү:</para> + + <itemizedlist> + <listitem> + <para>Системийн төрөл болон загварыг оролцуулан алдааг гаргаж байгаа зүйлийн хамтаар + алдаатай ажиллагааг тайлбарласан мэдээлэл. Мөн хэрэв алдаа таны хувьд шинэ бол + яг хэзээ гарч эхэлснийг аль болох тодорхой гаргаарай.</para> + </listitem> + + <listitem> + <para><command>boot -v</command> ажилласны дараах &man.dmesg.8;-ийн + гаралтыг алдааг шалгаж байхад таны үүсгэсэн алдааны мэдээллүүдийн + хамтаар.</para> + </listitem> + + <listitem> + <para>Хэрэв <acronym>ACPI</acronym>-г хаасан байхад асуудлыг шийдэж байвал + тийм байх үе дэх <command>boot -v</command>-ийн гаралт.</para> + </listitem> + + <listitem> + <para><command>sysctl hw.acpi</command>-ийн гаралт. Энэ нь таны + систем ямар ямар боломжуудыг санал болгож байгааг мэдэх бас нэг сайн + арга юм.</para> + </listitem> + + <listitem> + <para>Таны <firstterm><acronym>ACPI</acronym> Эх Хэл</firstterm> + (<acronym>ASL</acronym>) байх <acronym>URL</acronym> хаяг. + <acronym>ASL</acronym> нь маш том байж болох учир шууд + <emphasis>битгий</emphasis> жагсаалт уруу илгээгээрэй. + Өөрийн <acronym>ASL</acronym>-ийн хуулбарыг энэ тушаалыг + ашиглаж үүсгээрэй:</para> + +<screen>&prompt.root; <userinput>acpidump -dt > <replaceable>name</replaceable>-<replaceable>system</replaceable>.asl</userinput></screen> + + <para>(Өөрийн нэвтрэх нэрийг + <replaceable>name</replaceable>-ийн оронд болон + үйлдвэрлэгч/загварыг <replaceable>system</replaceable>-ийн + оронд солиорой. Жишээ нь: + <filename>njl-FooCo6000.asl</filename>)</para> + </listitem> + </itemizedlist> + + <para>Ихэнх хөгжүүлэгчид &a.current; үзэж байдаг, гэхдээ асуудлуудаа + харагдуулахын тулд &a.acpi.name; уруу илгээгээрэй. Бид бүгд хаа нэгтээ + өөр өөрийн үндсэн ажилтай учир тэвчээртэй байна уу. Хэрэв таны алдаа + шууд илэрхий биш байх юм бол магадгүй бид таныг &man.send-pr.1;-ийн + тусламжтай <acronym>PR</acronym> илгээхийг асуух байх. + <acronym>PR</acronym> оруулахдаа дээр хүссэний адил мэдээллээ + оруулна уу. Энэ нь асуудлыг мөшгөж шийдвэрлэхэд бидэнд туслах юм. + Бид <acronym>PR</acronym>-уудыг мэдээлэх механизмийн зорилгоор биш + байгаа асуудлуудыг санаж байх зорилгоор ашигладаг болохоор эхлээд + &a.acpi.name; уруу захидал илгээлгүйгээр <acronym>PR</acronym> + битгий илгээгээрэй. Магадгүй таны асуудлыг урд нь өөр хэн нэгэн мэдээлсэн + байж болох юм.</para> + </sect2> + + <sect2 id="ACPI-background"> + <title>Оршил</title> + + <indexterm> + <primary>ACPI</primary> + </indexterm> + + <para><acronym>ACPI</acronym> нь ia32 (x86), ia64 (Itanium) болон + amd64 (AMD) архитектуруудтай нийцтэй орчин үеийн бүх компьютерт байдаг. + Бүрэн стандарт нь <acronym>CPU</acronym>-ны ажиллагааны удирдлага, + тэжээлийн онгоцуудын хяналт, дулааны бүсүүд, төрөл бүрийн батарейны системүүд, + суулгагдсан хянагчууд болон шугамын жагсаалт зэрэг олон боломжуудтай. + Ихэнх системүүд нь бүрэн стандартыг бүгдийг хангасан шийдэлтэй байдаггүй. + Жишээ нь зөөврийн компьютер хөргөх болон бас батарейны удирдлагын дэмжлэгтэй + байхад ширээний систем зөвхөн шугамын жагсаалтын хэсгийн шийдлийг агуулсан байдаг. + Зөөврийн компьютерууд нь бас өөр өөрийн ярвигтай асуудлуудыг агуулсан түр зогсоох болон + үргэлжлүүлэх боломжуудыг агуулдаг.</para> + + <para><acronym>ACPI</acronym>-нийцтэй систем нь төрөл бүрийн хэсгүүдтэй байдаг. + <acronym>BIOS</acronym> болон бичил схемийн үйлдвэрлэгчид + <acronym>APIC</acronym> зураг (<acronym>SMP</acronym>-д ашиглагддаг), + тохиргооны регистрүүд болон хялбар тохиргооны утгууд зэрэг зүйлсүүдийг заадаг + төрөл бүрийн тогтмол хүснэгтүүдийг (өөрөөр хэлбэл + <acronym>FADT</acronym>) санах ойд хангаж өгдөг. Мөн төхөөрөмжүүд болон + аргуудын мод хэлбэрийн нэрийн талбарыг заадаг байткодын хүснэгтээр + (<firstterm>Differentiated System Description Table буюу Системийн + Ялгаварласан Тайлбарын Хүснэгт </firstterm><acronym>DSDT</acronym>) + бас хангадаг.</para> + + <para><acronym>ACPI</acronym> драйвер нь тогтмол хүснэгтүүдийг задлан ялгал + хийх, байткодийн тайлбарлагчийг шийдэх болон <acronym>ACPI</acronym> дэд + системийн мэдээллийг хүлээн авахаар төхөөрөмжүүдийн драйверууд болон цөмийг + өөрчлөх ёстой. &os;-ийн хувьд &intel; нь Линукс болон NetBSD-тэй хуваалцан + хэрэглэгддэг тайлбарлагчаар хангадаг. <acronym>ACPI-CA</acronym> эх кодын + зам нь + <filename class="directory">src/sys/contrib/dev/acpica</filename>. + <acronym>ACPI-CA</acronym>-г &os; дээр ажиллуулах тэр цавуу код нь + <filename>src/sys/dev/acpica/Osd</filename> байршилд байдаг. + Эцэст нь төрөл бүрийн <acronym>ACPI</acronym> төхөөрөмжүүдийн драйверууд + <filename class="directory">src/sys/dev/acpica</filename> байршлаас + олддог.</para> + </sect2> + + <sect2 id="ACPI-comprob"> + <title>Нийтлэг асуудлууд</title> + + <indexterm> + <primary>ACPI</primary> + <secondary>асуудлууд</secondary> + </indexterm> + + <para><acronym>ACPI</acronym> зөв ажиллахын тулд бүх хэсгүүд бас + зөв ажилласан байх ёстой. Энд зарим нэг нийтлэг асуудлуудыг илэрч байгаа + давтамжийн дарааллаар зарим нэг тойрон гарах замууд болон засваруудтайгаар + нь дурдъя.</para> + + <sect3> + <title>Хулганы асуудлууд</title> + + <para>Зарим тохиолдолд түр зогсоох үйлдэл хийгдсэний дараа үргэлжлүүлэхэд + хулганыг ажиллахгүй болгодог. Мэдэгдэж байгаа тойрон гарах арга зам нь + <literal>hint.psm.0.flags="0x3000"</literal> мөрийг + <filename>/boot/loader.conf</filename> файлд нэмэх явдал + юм. Хэрэв энэ нь ажиллахгүй бол дээр тайлбарласны дагуу алдааны + тайлан илгээхийг бодно уу.</para> + </sect3> + + <sect3> + <title>Suspend/Resume буюу Түр зогсоох/Үргэлжлүүлэх</title> + + <para><acronym>ACPI</acronym> нь <acronym>RAM</acronym> уруу + түр зогсоох <literal>S1</literal>-<literal>S3</literal> гэсэн + гурван төлөвтэй (<acronym>STR</acronym>) бөгөөд диск уруу түр + зогсоох <literal>S4</literal> гэгддэг нэг төлөвтэй + (<literal>STD</literal>). <literal>S5</literal> нь + <quote>soft off буюу зөөлөн зогсоолт</quote> бөгөөд тэжээлд залгагдсан + боловч асаагдаагүй байх үеийн таны системийн жирийн төлөв юм. + <literal>S4</literal> нь хоёр тусдаа аргаар хийгдэх боломжтой. + <literal>S4</literal><acronym>BIOS</acronym> нь + <acronym>BIOS</acronym>-ийн тусламжтайгаар диск уруу хийгдэх + түр зогсоолт юм. <literal>S4</literal><acronym>OS</acronym> нь + бүхэлдээ үйлдлийн системээр хийгддэг.</para> + + <para>Түр зогсоолттой холбоотой зүйлүүдийг <command>sysctl hw.acpi</command> + тушаалаар шалгаж эхлээрэй. Энд Thinkpad-тай холбоотой үр дүнгүүд байна:</para> + + <screen>hw.acpi.supported_sleep_state: S3 S4 S5 +hw.acpi.s4bios: 0</screen> + + <para>Энэ нь бид <literal>S3</literal>, + <literal>S4</literal><acronym>OS</acronym> болон + <literal>S5</literal>-ийг шалгахад + <command>acpiconf -s</command> тушаалыг ашиглаж болно гэсэн үг юм. + Хэрэв <option>s4bios</option> нь нэг (<literal>1</literal>) байх + юм бол бид <literal>S4</literal><acronym>OS</acronym>-ийн оронд + <literal>S4</literal><acronym>BIOS</acronym> дэмжлэгтэй байх юм.</para> + + <para>Түр зогсоолт/үргэлжлүүлэлтийг тест хийхдээ хэрэв дэмжигдсэн бол + <literal>S1</literal>-ээс эхлээрэй. Энэ төлөв нь драйверийн дэмжлэг барагтаа л + шаарддаггүй болохоор бараг л ажиллах болно. Хэн ч <literal>S2</literal>-ийг + хийгээгүй байдаг бөгөөд танд энэ хэрэв байгаа бол энэ нь <literal>S1</literal>-тэй + адил байна. Дараагийн оролдох зүйл нь <literal>S3</literal> юм. Энэ нь + хамгийн гүнзгий <acronym>STR</acronym> төлөв бөгөөд таны тоног төхөөрөмжийг + дахин зөв эхлүүлэхийн тулд драйверийн ихээхэн дэмжлэг шаарддаг. Хэрэв + үргэлжлүүлэх үед танд асуудлууд гарч байгаа бол &a.acpi.name; жагсаалт уруу + цахим захидал чөлөөтэй илгээгээрэй, гэхдээ илүү их тест хийлт, ажил шаардсан маш + олон драйверууд/тоног төхөөрөмжүүд байдаг учир асуудал шийдэгдэхийг хүлээх хэрэггүй юм.</para> + + <para>Асуудлыг тусгаарлахад туслахын тулд өөрийн цөмөөс аль болох олон драйверуудыг + арилгаарай. Хэрэв энэ нь ажиллаж байвал та яг аль драйвер асуудалтай байгааг + драйверуудыг амжилтгүй ажиллах хүртэл ачаалан тодорхойлж болох юм. + <filename>nvidia.ko</filename>, X11 дэлгэцийн драйверууд болон + <acronym>USB</acronym> зэрэг хоёртын драйверууд нь ерөнхийдөө хамгийн их + асуудлуудтай байдаг байхад Ethernet интерфэйсүүд ихэвчлэн зүгээр ажилладаг. + Хэрэв та драйверуудыг зөв ачаалж/буулгаж чадаж байвал та тохирох тушаалуудыг + <filename>/etc/rc.suspend</filename> болон + <filename>/etc/rc.resume</filename> файлуудад хийж үүнийг + автоматжуулж болно. Драйверийг буулгах болон ачаалахад зориулсан тайлбар + болгосон жишээ байдаг. Хэрэв таны дэлгэц үргэлжлүүлэлт хийгдсэний дараа заваарсан + бол <option>hw.acpi.reset_video</option>-г тэг (<literal>0</literal>) + болгож үзээрэй. Хэрэв тусламж болохоор бол + <option>hw.acpi.sleep_delay</option>-г арай урт эсвэл арай богино утгуудаар + тохируулж үзээрэй.</para> + + <para>Өөр нэг турших зүйл нь <acronym>ACPI</acronym> дэмжлэгтэй сүүлийн үеийн + Линуксийн түгээлтийг ачаалан тэдний түр зогсоолт/үргэлжлүүлэлтийн дэмжлэгийг адил + тоног төхөөрөмж дээр турших явдал юм. Хэрэв Линукс дээр ажиллаж байвал + энэ нь &os;-ийн драйверийн асуудал гэсэн үг бөгөөд яг аль драйвер асуудлыг үүсгэж + байгааг олсноор асуудлыг засварлахад бидэнд тус болох болно. + <acronym>ACPI</acronym>-ийг дэмжиж байдаг дэмжигчид нь өөр бусад + драйверуудыг (өөрөөр хэлбэл дуу, <acronym>ATA</acronym> гэх мэт) + ихэвчлэн дэмжин ажилладаггүй болохоор драйверийн асуудлыг мөшгөж хийгдсэн ажил бүр + магадгүй эцсийн эцэст &a.current.name; жагсаалт болон драйверийг дэмжигч + уруу илгээгдэх хэрэгтэйг санаарай. Хэрэв та адал явдлыг эрж байгаа бол + драйверийн үргэлжлүүлэлтийн функцийн аль хэсэгт өлгөгдөж байгааг мөшгөхийн тулд + зарим дибаг хийх &man.printf.3;-үүдийг асуудалтай драйверт хийж эхлээрэй.</para> + + <para>Эцэст нь <acronym>ACPI</acronym>-г хааж оронд нь + <acronym>APM</acronym>-г нээж оролдоорой. Хэрэв түр зогсоолт/үргэлжлүүлэлт + <acronym>APM</acronym>-тэй байхад ажиллаж байвал та + <acronym>APM</acronym>-тэйгээ үлдэх нь ялангуяа хуучин тоног төхөөрөмжийн + (2000 оноос өмнөх) хувьд бараг дээр байх бизээ. <acronym>ACPI</acronym> + дэмжлэгийг зөв болгоход үйлдвэрлэгчдэд цаг хугацаа шаардах бөгөөд магадгүй хуучин + тоног төхөөрөмжүүд нь <acronym>ACPI</acronym>-ийн хувьд + <acronym>BIOS</acronym>-ийн асуудлуудтай ихэвчлэн байдаг.</para> + </sect3> + + <sect3> + <title>Систем өлгөгдөх (түр хугацаагаар эсвэл бүрмөсөн)</title> + + <para>Ихэнх системийн өлгөгдөлүүд нь гээгдсэн тасалдлууд эсвэл тасалдалын + шуургын үр дүн юм. Бичил схемүүд нь ачаалахаас өмнө тасалдлуудыг <acronym>BIOS</acronym> + хэрхэн тохируулдагаас болсон асуудлууд, <acronym>APIC</acronym> + (<acronym>MADT</acronym>) хүснэгтийн зөв байдал болон + <firstterm>System Control Interrupt буюу Системийн Хянагч + Тасалдлын</firstterm> (<acronym>SCI</acronym>) чиглүүлэлт дээр + тулгуурласан олон асуудлуудтай байдаг.</para> + + <indexterm> + <primary>тасалдлын шуургууд</primary> + </indexterm> + + <para>Тасалдлын шуургууд нь <command>vmstat -i</command> тушаалын + гаралтаас <literal>acpi0</literal> бүхий мөрийг шалгаж гээгдсэн + тасалдлуудаас ялгаж болно. Хэрэв тоологч секунд тутам хоёроор нэмэгдэж + байвал та тасалдлын шуургатай байна. Хэрэв систем өлгөгдсөн юм шиг байвал + <acronym>DDB</acronym> + (консол дээр <keycombo action="simul"><keycap>CTRL</keycap> + <keycap>ALT</keycap><keycap>ESC</keycap></keycombo>) + уруу орж <literal>show interrupts</literal> гэж бичих хэрэгтэй.</para> + + <indexterm> + <primary>APIC</primary> + <secondary>хаах нь</secondary> + </indexterm> + + <para>Тасалдлын асуудлуудтай ажиллаж байхад таны хамгийн шилдэг итгэл найдвар + бол <filename>loader.conf</filename>-д <literal>hint.apic.0.disabled="1"</literal> + хэмээн зааж <acronym>APIC</acronym> дэмжлэгийг хаах явдал юм.</para> + </sect3> + + <sect3> + <title>Үймээнүүд</title> + + <para>Үймээнүүд нь <acronym>ACPI</acronym>-ийн хувьд харьцангуй ховор + байдаг бөгөөд засварлах нэн тэргүүн ээлжийн асуудал байдаг. Эхний алхам бол + үймээнийг дахин гаргах (хэрэв боломжтой бол) алхмуудыг тусгаарлаж + буцах мөрийг (backtrace) авах явдал юм. <literal>options DDB</literal> + мөрийг нээж сериал консол (<xref linkend="serialconsole-ddb">-г үзнэ үү) + тохируулах эсвэл &man.dump.8; хуваалтыг тохируулах зөвлөгөөг дагаарай. + Та буцах мөрийг <acronym>DDB</acronym> дээр <literal>tr</literal>-р + авч болно. Хэрэв та буцах мөрийг гараар бичих болбол мөр дэх хамгийн доодох тав (5) + болон хамгийн дээдэх таван (5) мөрийг хамгийн багадаа бодоход аваарай.</para> + + <para>Дараа нь асуудлыг тусгаарлахыг оролдож <acronym>ACPI</acronym>-г + хааж ачаалж үзээрэй. Хэрэв энэ нь ажиллаж байвал + <option>debug.acpi.disable</option>-ийн төрөл бүрийн утгуудыг хэрэглэж + та <acronym>ACPI</acronym> дэд системийг тусгаарлаж болно. Зарим жишээнүүдийг + &man.acpi.4; гарын авлагын хуудаснаас үзнэ үү.</para> + </sect3> + + <sect3> + <title>Түр зогссоны дараа эсвэл унтраасны дараа систем дахин эхлэх</title> + <para>Эхлээд &man.loader.conf.5; дээр + <literal>hw.acpi.disable_on_poweroff="0"</literal> гэж тохируулаад + үз. Энэ нь унтраах процессийн үед төрөл бүрийн үйл явцуудыг + <acronym>ACPI</acronym> хаахыг болиулдаг. Энэ зорилгын нэгэн адил зарим + системүүд энэ утгыг <literal>1</literal> (анхдагч) болгож тохируулахыг + шаарддаг. Энэ нь түр зогсоолт эсвэл унтраалт хийгдсэний дараа аяндаа гарсан + систем асаж эхлэх асуудлыг ихэвчлэн засварладаг.</para> + </sect3> + + <sect3> + <title>Бусад асуудлууд</title> + + <para>Хэрэв танд <acronym>ACPI</acronym>-тай холбоотой бусад асуудлууд + (суулгах станцтай ажиллах, төхөөрөмжүүд илрүүлэгдэхгүй гэх мэт) байвал + тайлбарыг захидлын жагсаалт уруу бас илгээнэ үү; гэхдээ эдгээр асуудлуудын + зарим нь <acronym>ACPI</acronym> дэд системийн дуусаагүй хэсгүүдтэй + холбоотой байж болох бөгөөд тэдгээрийг шийдэж хийхэд нэлээн хугацаа зарцуулж + болох юм. Тэвчээртэй байж бидний илгээж болох засваруудыг тест хийхэд + бэлэн байгаарай.</para> + </sect3> + </sect2> + + <sect2 id="ACPI-aslanddump"> + <title><acronym>ASL</acronym>, <command>acpidump</command>, болон + <acronym>IASL</acronym></title> + + <indexterm> + <primary>ACPI</primary> + <secondary>ASL</secondary> + </indexterm> + + <para>Хамгийн нийтлэг асуудал бол <acronym>BIOS</acronym> үйлдвэрлэгчдийн + гаргасан буруу (эсвэл алдаатай!) байткод юм. Энэ нь ихэвчлэн дараах шиг цөмийн + консол мэдээллүүдээр ил тод болдог:</para> + + <screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\ +(Node 0xc3f6d160), AE_NOT_FOUND</screen> + + <para>Ихэвчлэн та эдгээр асуудлуудыг өөрийн <acronym>BIOS</acronym>-ийг + хамгийн сүүлийн хувилбар уруу шинэчилснээр шийдэж болно. Ихэнх консолийн + мэдээллүүд нь аюулгүй гэхдээ хэрэв танд батарейны төлөв ажиллахгүй гэх мэт + өөр бусад асуудлууд байгаа бол тэдгээр мэдээллүүд нь <acronym>AML</acronym>-д + байгаа асуудлуудыг хайж болох боломжийн газар нь юм. + <acronym>AML</acronym> гэгддэг байткод нь <acronym>ASL</acronym> + хэмээгддэг эх хэлээс хөрвүүлэгддэг. <acronym>AML</acronym> нь + <acronym>DSDT</acronym> гэгддэг хүснэгтэд байдаг. Өөрийн + <acronym>ASL</acronym>-ийн хуулбарыг авахын тулд &man.acpidump.8;-ийг + ашиглана. Та <option>-t</option> (тогтмол хүснэгтүүдийн агуулгуудыг үзүүлэх) + болон <option>-d</option> (<acronym>AML</acronym>-ийг + <acronym>ASL</acronym> уруу дизассембл хийх) тохируулгыг хоюуланг нь + ашиглах хэрэгтэй. Синтаксийн жишээг + <link linkend="ACPI-submitdebug">Дибаг Мэдээллийг Илгээх нь</link> + хэсгээс үзнэ үү.</para> + + <para>Таны хийж болох хамгийн хялбар анхны шалгалт нь алдаануудыг шалгахын тулд өөрийн + <acronym>ASL</acronym>-ийг хөрвүүлэх явдал юм. Анхааруулгуудыг ихэвчлэн орхиж + болох боловч алдаанууд нь <acronym>ACPI</acronym>-г зөв ажиллуулахад гол төлөв саад + болдог хорхойнууд байдаг. Өөрийн <acronym>ASL</acronym>-ийг дахин хөрвүүлэхдээ + дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>iasl your.asl</userinput></screen> + </sect2> + + <sect2 id="ACPI-fixasl"> + <title>Өөрийн <acronym>ASL</acronym>-г засварлах нь</title> + + <indexterm> + <primary>ACPI</primary> + <secondary>ASL</secondary> + </indexterm> + + <para>Бидний эцсийн зорилго бол бараг хүн болгоны хувьд хэрэглэгчийн ямар ч оролцоогүйгээр + <acronym>ACPI</acronym>-г ажиллуулах явдал юм. Гэхдээ өнөөг хүртэл бид + <acronym>BIOS</acronym> үйлдвэрлэгчдийн гаргасан нийтлэг алдаануудад + зориулан тойрон гарах арга замуудыг хөгжүүлсээр байгаа билээ. + µsoft;-ийн тайлбарлагч (<filename>acpi.sys</filename> болон + <filename>acpiec.sys</filename>) нь стандартыг баримталж байгааг чанд + шалгадаггүй бөгөөд <acronym>BIOS</acronym>-ийн олон үйлдвэрлэгчид + <acronym>ACPI</acronym>-г зөвхөн &windows; дээр тест хийж өөрсдийн + <acronym>ASL</acronym>-ийг хэзээ ч засдаггүй. Бид µsoft;-ийн + тайлбарлагчид зөвшөөрөгдсөн ямар стандартын бус ажиллагаа байгааг үргэлжлүүлэн + нарийн таньж баримтжуулан хэрэглэгчдээр <acronym>ASL</acronym>-ийг хүчлэн + засуулалгүйгээр &os; ажиллаж чадахаар түүнийг хуулбарлах болно гэж найдаж байна. + Тойрон гарах арга зам болгон биднийг энэ ажиллагааг танихад тусалж та + <acronym>ASL</acronym>-ийг гараар засварлаж болно. Хэрэв таны хувьд энэ нь + ажиллавал хуучин болон шинэ <acronym>ASL</acronym>-ийнхээ &man.diff.1;-ийг + илгээнэ үү, бид бололцоогоороо <acronym>ACPI-CA</acronym> дахь алдаатай + ажиллагааг тойрон гарч ингэснээр хойшид таны засвар байнга хийгдэх шаардлагагүй + болох юм.</para> + + <indexterm> + <primary>ACPI</primary> + <secondary>алдааны мэдээллүүд</secondary> + </indexterm> + + <para>Энд нийтлэг алдааны мэдээллүүд, тэдгээрийн шалтгаан болон хэрхэн засаж болох + жагсаалтыг үзүүлэв:</para> + + <sect3> + <title>_OS хамаарлууд</title> + + <para>Зарим <acronym>AML</acronym> нь ертөнц төрөл бүрийн &windows; + хувилбаруудаас тогтдог гэж үздэг. Хэрэв танд байгаа асуудлыг засаж чадаж байвал + та &os;-г ямар нэг <acronym>OS</acronym> гэж харагдуулахаар хэлж өгч болно. + Үүнийг хялбар аргаар дарж бичихийн тулд <filename>/boot/loader.conf</filename>-д + <literal>hw.acpi.osname="Windows 2001"</literal> гэж эсвэл + <acronym>ASL</acronym> дахь өөр бусад адил мөрүүдийг тохируулж өгнө.</para> + </sect3> + + <sect3> + <title>Буцах мэдээллүүд байхгүй бол</title> + + <para>Зарим аргууд нь стандартын дагуу шууд утга буцаадаггүй. + <acronym>ACPI-CA</acronym> нь үүнтэй ажиллаж чадахгүй байхад + &os; үүнийг далдаар утга буцаалгах боломжийг олгодог тойрон гарах арга замтай байдаг. + Хэрэв та утга буцаагдах ёстойг мэдэж байвал шаардлагатай газар нь Return буюу Буцах + мэдээллүүдийг шууд нэмж болно. <acronym>ASL</acronym>-ийг + <command>iasl</command> тушаалаар хүчээр хөрвүүлэхдээ <option>-f</option> + тугийг ашиглана.</para> + </sect3> + + <sect3> + <title>Анхдагч <acronym>AML</acronym>-ийг дарж өөрчлөх нь</title> + + <para><filename>your.asl</filename>-ийг өөрчилсний дараа үүнийг + та хөрвүүлэхдээ:</para> + + <screen>&prompt.root; <userinput>iasl your.asl</userinput></screen> + + <para>Хөрвүүлэх явцад алдаанууд байсан ч гэсэн та <option>-f</option> тугийг + нэмж <acronym>AML</acronym>-ийг хүчээр үүсгэж болно. Зарим алдаануудыг + (өөрөөр хэлбэл Буцах мэдээллүүд байхгүй гэх мэт) тайлбарлагчийн тусламжтайгаар + автоматаар тойрон гардгийг санаарай.</para> + + <para><filename>DSDT.aml</filename> нь <command>iasl</command>-ийн + анхдагч гаралт файлын нэр юм. Та өөрийн <acronym>BIOS</acronym>-ийн + алдаатай хуулбарын (флэш санах ойд байсаар байгаа) оронд + <filename>/boot/loader.conf</filename>-ийг дараах байдлаар засварлан + үүнийг ачаалж болно:</para> + + <programlisting>acpi_dsdt_load="YES" +acpi_dsdt_name="/boot/DSDT.aml"</programlisting> + + <para>Өөрийн <filename>DSDT.aml</filename> файлын хуулбарыг + <filename class="directory">/boot</filename> сан уруу хуулах хэрэгтэй.</para> + </sect3> + </sect2> + + <sect2 id="ACPI-debugoutput"> + <title><acronym>ACPI</acronym>-аас дибаг мэдээлэл гаргаж авах нь</title> + + <indexterm> + <primary>ACPI</primary> + <secondary>асуудлууд</secondary> + </indexterm> + + <indexterm> + <primary>ACPI</primary> + <secondary>дибаг</secondary> + </indexterm> + + <para><acronym>ACPI</acronym> драйвер нь маш уян хатан дибаг хийх боломжтой. + Энэ нь дэд системүүдийн олонлог болон харуулах түвшинг зааж өгөхийг танд зөвшөөрдөг. + Таны дибаг хийхийг хүсэж байгаа дэд системүүд нь <quote>давхаргууд</quote> + болж заагдсан байдаг бөгөөд <acronym>ACPI-CA</acronym> хэсгүүд + (ACPI_ALL_COMPONENTS) болон <acronym>ACPI</acronym> тоног төхөөрөмжийн + дэмжлэг (ACPI_ALL_DRIVERS) болж задардаг. Дибаг гаралтын харуулалт нь + <quote>үе</quote>ээр заагддаг бөгөөд ACPI_LV_ERROR (зөвхөн алдаануудыг хэлдэг) + тогтмолоос ACPI_LV_VERBOSE (бүгд) хүртэл байдаг. <quote>Үе</quote> нь + олон тохируулгуудыг нэг удаа зайгаар зааглан тохируулж болох бит баг (bitmask) юм. + Хэрэв энэ нь маш урт тэгээд консолийн мэдээллийн буфферийг арилган шинэчилж + байвал та практик дээр гаралтыг бүртгэх сериал консолийг ашиглахыг хүсэж болох юм. + Бие даасан давхаргууд болон түвшингүүдийн бүрэн жагсаалт &man.acpi.4; гарын + авлагын хуудсанд байдаг.</para> + + <para>Дибаг гаралт анхдагчаар идэвхжүүлэгдээгүй байдаг. Идэвхтэй болгохын тулд + <acronym>ACPI</acronym> хэрэв цөмд хөрвүүлэгдсэн бол + <literal>options ACPI_DEBUG</literal> мөрийг өөрийн цөмийн тохиргооны + файлд нэмэх хэрэгтэй. Нийтэд нь идэвхтэй болгохын тулд + <filename>/etc/make.conf</filename>-д + <literal>ACPI_DEBUG=1</literal> мөрийг нэмж болно. Хэрэв энэ нь + модул бол та өөрийн <filename>acpi.ko</filename> модулийг дараах + маягаар дахин хөрвүүлж болно:</para> + + <screen>&prompt.root; <userinput>cd /sys/modules/acpi/acpi +&& make clean && +make ACPI_DEBUG=1</userinput></screen> + + <para><filename>acpi.ko</filename>-г + <filename class="directory">/boot/kernel</filename>-д суулгаад + өөрийн хүссэн давхарга болон түвшинг <filename>loader.conf</filename>-д + нэмнэ. Энэ жишээ нь <acronym>ACPI-CA</acronym>-ийн бүх хэсгүүд болон + бүх <acronym>ACPI</acronym> тоног төхөөрөмжийн драйверуудад + (<acronym>CPU</acronym>, <acronym>LID</acronym>, гэх мэт.) + зориулан дибаг мэдээллүүдийг идэвхжүүлдэг. Энэ нь зөвхөн алдааны мэдээллүүдийг + хамгийн багаар гаргаж харуулна.</para> + + <programlisting>debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" +debug.acpi.level="ACPI_LV_ERROR"</programlisting> + + <para>Хэрэв таны хүссэн мэдээлэл онцгой үйл явцаар эхэлсэн бол (түр зогсоолт болон + үргэлжлүүлэлт гэж бодъё) та <filename>loader.conf</filename>-ийн + өөрчлөлтүүдийг орхиж оронд нь <command>sysctl</command>-ийг ашиглан + давхарга болон түвшинг ачаалсны дараа зааж онцгой үйл явцад зориулан өөрийн + системийг бэлдэж болно. <command>sysctl</command>-ууд нь + <filename>loader.conf</filename> дахь тохируулгуудын адилаар + нэрлэгддэг.</para> + </sect2> + + <sect2 id="ACPI-References"> + <title>Лавлагаанууд</title> + + <para><acronym>ACPI</acronym>-ийн талаар дэлгэрэнгүй мэдээллийг + дараах байршлуудаас олж болно:</para> + + <itemizedlist> + <listitem> + <para>The &a.acpi;</para> + </listitem> + + <listitem> + <para><acronym>ACPI</acronym> Захидлын Жагсаалтын Архивууд + <ulink url="http://lists.freebsd.org/pipermail/freebsd-acpi/"></ulink></para> + </listitem> + + <listitem> + <para>Хуучин <acronym>ACPI</acronym> Захидлын Жагсаалтын Архивууд + <ulink url="http://home.jp.FreeBSD.org/mail-list/acpi-jp/"></ulink></para> + </listitem> + + <listitem> + <para><acronym>ACPI</acronym> 2.0 Тодорхойлолт + <ulink url="http://acpi.info/spec.htm"></ulink></para> + </listitem> + + <listitem> + <para>&os; Гарын авлагын хуудсууд: &man.acpi.4;, + &man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;, + &man.acpidb.8;</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.cpqlinux.com/acpi-howto.html#fix_broken_dsdt"> + <acronym>DSDT</acronym> дибаг эх үүсвэр</ulink>. + (Compaq-ийг жишээ болгон хэрэглэсэн боловч ерөнхийдөө хэрэгтэй.)</para> + </listitem> + </itemizedlist> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/cutting-edge/Makefile b/mn_MN.UTF-8/books/handbook/cutting-edge/Makefile new file mode 100644 index 0000000000..216e9ccb16 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/cutting-edge/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= cutting-edge/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml b/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml new file mode 100644 index 0000000000..88c2f85dd7 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/cutting-edge/chapter.sgml @@ -0,0 +1,1672 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.225 + + $FreeBSD$ +--> + +<chapter id="cutting-edge"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Бүтцийг дахин өөрчлөн зохион байгуулж зарим хэсгүүдийг шинэчилсэн </contrib> + </author> + <!-- Mar 2000 --> + </authorgroup> + <authorgroup> + <author> + <firstname>Жордан</firstname> + <surname>Хаббард</surname> + <contrib>Анхлан эхийг бичсэн </contrib> + </author> + <author> + <firstname>Поул-Хеннинг</firstname> + <surname>Камп</surname> + </author> + <author> + <firstname>Жон</firstname> + <surname>Полстра</surname> + </author> + <author> + <firstname>Ник</firstname> + <surname>Клэйтон</surname> + </author> + </authorgroup> + <!-- with feedback from various others --> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </chapterinfo> + + <title>Амжилт ололтын тэргүүнд</title> + + <sect1 id="cutting-edge-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>&os; нь өөрийн хувилбаруудын хооронд байнгын хөгжүүлэлтийн доор оршин тогтнож + байдаг. Амжилт ололтын тэргүүнд байхыг хүссэн хүн бүхэнд өөрийн системийг хамгийн + сүүлийн үеийн хөгжүүлэлтийн хэлбэрт оруулах хэд хэдэн хялбар арга байдаг. + Амжилт ололтын тэргүүнд байх нь хүн бүхэнд зориулагдаагүйг + анхаарна уу! Энэхүү бүлэг нь хөгжүүлэлтийн системийг дагахыг хүсэх эсвэл гаргасан + хувилбартай үлдэх эсэхийг шийдэхэд танд туслах болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem><para>&os.stable; болон &os.current; хөгжүүлэлтийн салбаруудын + ялгаа.</para> + </listitem> + <listitem><para> + <application>CVSup</application>, + <application>CVS</application>, эсвэл + <application>CTM</application> програмуудын тусламжтай өөрийн системийг + хэрхэн хамгийн сүүлийн хэлбэрт авчрах талаар.</para> + </listitem> + <listitem><para>Бүх үндсэн системийг <command>make buildworld</command> + (гэх мэт) ашиглан хэрхэн дахин бүтээж суулгах талаар.</para> + </listitem> + + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem><para>Өөрийн сүлжээний холболтыг зөв тохируулах (<xref + linkend="advanced-networking">).</para> + </listitem> + <listitem><para>Нэмэлт гуравдагч програм хангамжуудыг + хэрхэн суулгахыг мэдэх (<xref linkend="ports">).</para></listitem> + </itemizedlist> + </sect1> + + <sect1 id="current-stable"> + <title>&os.current; vs. &os.stable;</title> + <indexterm><primary>-CURRENT</primary></indexterm> + <indexterm><primary>-STABLE</primary></indexterm> + + <para>FreeBSD-ийн хоёр хөгжүүлэлтийн салбар байдаг: &os.current; болон + &os.stable;. Энэ хэсэгт эдгээр тус бүрийг тайлбарлаж өөрийн системийг тус + тусын модны хувьд хамгийн шинэ хэлбэрт байнга байлгах талаар тайлбарлах болно. + &os.current; эхлээд хэлэлцэгдэх бөгөөд дараа нь &os.stable;-ийн тухай + яригдах болно.</para> + + <sect2 id="current"> + <title>&os;-ийн одоо үеийн хэлбэрт байх нь</title> + + <para>Та үүнийг уншихдаа &os.current; нь &os;-ийн хөгжүүлэлтийн + <quote>bleeding edge салбар буюу амжилт ололтын хамгийн тэргүүний + салбар</quote> гэдгийг санаарай. &os.current; хэрэглэгчдийг техникийн өндөр + чадавхитай бөгөөд системийн хүнд хэцүү асуудлуудыг өөрсдөө шийдвэрлэх + чадвартай байна гэж тооцдог. Хэрэв та &os;-д анхлан суралцагч бол + үүнийг суулгахаасаа өмнө дахин сайн бодоорой.</para> + + <sect3> + <title>&os.current; гэж юу вэ?</title> + <indexterm><primary>хормын агшны хувилбар</primary></indexterm> + + <para>&os.current; нь &os;-ийн хамгийн сүүлийн үеийн ажлын эх юм. + Энэ нь хийгдэж байгаа ажлууд, туршилтын өөрчлөлтүүд болон програм хангамжийн + дараагийн албан ёсны хувилбарт байхгүй ч байж болох эсвэл байж ч болох + шилжилтийн аргуудыг багтаадаг. &os;-ийн олон хөгжүүлэгчид &os.current;-ийн + эх кодыг өдөр болгон эмхэтгэн хөрвүүлж байдаг боловч эхийг бүтээх боломжгүй үе бас + байдаг. Эдгээр асуудлууд нь боломжийн хэрээр хурдан шийдэгддэг боловч + &os.current; нь сүйрэл авчрах эсвэл тун их хүссэн ажиллагааг авчрах эсэх нь + та яг ямар агшинд эх кодыг татаж авснаас хамаарах юм!</para> + </sect3> + + <sect3> + <title>&os.current; хэнд хэрэгтэй вэ?</title> + + <para>&os.current; нь үндсэн 3 сонирхлын бүлэгт зориулагдан + хийгдсэн:</para> + + <orderedlist> + <listitem> + <para>Эх модны зарим хэсэг дээр идэвхтэйгээр ажиллаж байгаа &os;-ийн хүрээний + гишүүд болон <quote>current буюу одоо үеийн хэлбэрт</quote> байлгах нь + туйлын шаардлага болсон хүмүүст.</para> + </listitem> + + <listitem> + <para>&os.current;-г аль болох ухаалаг байлгахыг хичээж асуудлуудыг шийдвэрлэхэд + цагаа зарах хүсэлтэй байдаг идэвхтэй тест хийгч &os;-ийн хүрээний гишүүд. + Эдгээр хүмүүс нь өөрчлөлтүүд болон &os;-ийн ерөнхий чиглэлд цаг үеийн + саналуудыг тусгахыг хүсэж тэдгээрийг шийдэх засваруудыг илгээдэг бас хүмүүс + юм..</para> + </listitem> + + <listitem> + <para>Юу болж байгааг зөвхөн харж мэдэж байхыг хүссэн эсвэл одоо үеийн эхийг + лавлагааны зорилгоор ашиглахыг зөвхөн хүссэн хүмүүс (өөрөөр хэлбэл + ажиллуулах биш <emphasis>унших</emphasis> зорилгоор). + Эдгээр хүмүүс нь хааяа бас санал гаргаж кодонд хувь нэмэр оруулдаг.</para> + </listitem> + </orderedlist> + </sect3> + + <sect3> + <title>&os.current; нь юу <emphasis>Биш</emphasis> вэ?</title> + + <orderedlist> + <listitem> + <para>Та зарим нэг дажгүй шинэ боломж байгааг сонссон учраас бусдаас + түрүүлж урьдчилсан хувилбарын тэдгээр битүүдийг авах таны нэн тэргүүний + арга зам. Шинэ боломжыг авч эхэнд байна гэдэг нь та шинэ алдаанууд, + хорхойнуудыг бас авч эхэнд байна гэсэн үг юм.</para> + </listitem> + + <listitem> + <para>Алдааны засваруудыг хурдан авах арга зам. &os.current;-ийн + өгөгдсөн дурын хувилбар нь илэрсэн алдаануудыг засахын хажуугаар бас + магадгүй шинэ алдаанууд бас гаргаж байдаг.</para> + </listitem> + + <listitem> + <para>Аль ч үед <quote>албан ёсоор дэмжигдсэн</quote>. Бид өөрсдийн + чадлын хирээр <quote>хууль ёсны</quote> 3 &os.current; бүлгийн + аль нэгэнд хүмүүст бодитоор туслахыг хичээдэг, гэхдээ бидэнд ердөө л + техникийн дэмжлэг үзүүлэх <emphasis>цаг байдаггүй</emphasis>. + Энэ нь бид хүмүүст туслах дургүй өөдгүй муухай хүмүүс учраас гэсэн үг + биш юм (хэрэв бид байгаагүй бол бид &os;-г хийж байхгүй байх байсан). + Бид ердөө л өдрийн хэдэн зуун захидлуудад хариулахын + <emphasis>хажуугаар</emphasis> FreeBSD дээр ажиллаж чаддаггүй! + &os;-г сайжруулах болон туршилтын кодон дээр тавигдсан маш олон + асуултуудад хариулах хоёр сонголтын эхнийхийг хөгжүүлэгчид сонгосон + юм.</para> + </listitem> + </orderedlist> + </sect3> + + <sect3> + <title>&os.current; ашиглах нь</title> + + <indexterm> + <primary>-CURRENT</primary> + <secondary>ашиглах нь</secondary> + </indexterm> + <orderedlist> + <listitem> + <para>&a.current.name; болон the &a.cvsall.name; жагсаалтуудад элсэн орно уу. + Энэ нь зөвхөн сайн санаанаас гадна бас <emphasis>чухал</emphasis> + юм. Хэрэв та <emphasis>&a.current.name;</emphasis> жагсаалтад + ороогүй бол системийн одоогийн төлөвийн талаар хүмүүсийн өгч байгаа санал + хүсэлтүүдийг харахгүй учраас бусдын аль хэдийн олоод шийдсэн маш их асуудлууд + дээр магадгүй та бүдрэн төөрөлдөж дуусах биз ээ. Бүр илүү чухал зүйл нь юу вэ гэвэл + таны системийн эрүүл мэндэд эгзэгтэй байж болох чухал мэдээнүүдээс та хоцрох + болно.</para> + + <para>&a.cvsall.name; жагсаалт нь кодод оруулсан өөрчлөлт бүрийн + бүртгэл оруулгыг болзошгүй сөрөг нөлөөнүүдийн талаар тохирсон мэдээллийн + хамтаар танд харах боломжийг олгодог.</para> + + <para>Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд + &a.mailman.lists.link; хаяг уруу орж элсэхийг хүссэн жагсаалтаа + сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно.</para> + </listitem> + + <listitem> + <para>&os;-ийн <link linkend="mirrors">толин тусгал</link>аас + эхийг авна. Та үүнийг хоёр аргаар хийж болно:</para> + + <orderedlist> + <indexterm> + <primary><command>cvsup</command></primary> + </indexterm> + <indexterm> + <primary><command>cron</command></primary> + </indexterm> + <indexterm> + <primary>-CURRENT</primary> + <secondary><application>CVSup</application> ашиглан сүүлийн хэлбэрт аваачих</secondary> + </indexterm> + + <listitem> + <para><filename>/usr/share/examples/cvsup</filename> санд байх + <filename>standard-supfile</filename> гэж нэрлэгдсэн + <filename>supfile</filename>-тай цуг + <link linkend="cvsup">cvsup</link> програм ашигла. + Энэ нь бүхэл цуглуулгыг нэг л удаа авч дараа нь зөвхөн өөрчлөгдсөнүүдийг + танд авах боломжийг олгодог хамгийн сайшаасан арга юм. + Олон хүмүүс <command>cvsup</command>-г <command>cron</command>-с + ажиллуулж өөрсдийн эхийг хамгийн сүүлийн хэлбэрт автоматаар + аваачдаг. Та дээр дурдсан жишээ <filename>supfile</filename>-г + өөрчлөн <link linkend="cvsup">cvsup</link>-г өөрийн орчны хувьд + тохируулах хэрэгтэй.</para> + </listitem> + + <indexterm> + <primary>-CURRENT</primary> + <secondary>CTM ашиглан сүүлийн хэлбэрт аваачих</secondary> + </indexterm> + <listitem> + <para><application><link + linkend="ctm">CTM</link></application> хэрэгслийг ашигла. + Хэрэв та маш муу холболттой (өндөр үнэтэй холболтууд эсвэл + зөвхөн цахим захидлын хандалт) бол <application>CTM</application> + нь сонголт болох юм. Гэхдээ энэ нь бөөн зовлон бөгөөд та эвдэрсэн + файлуудтай үлдэж болох юм. Энэ нь үүнийг ховор ашиглахад хүргэдэг бөгөөд + ингэснээр ажиллахгүй байх боломжийг нэлээн удаан хугацаагаар ихэсгэдэг. + Бид 9600 bps модем болон түүнээс хурдан холболттой хүмүүст + <application><link linkend="cvsup">CVSup</link></application>-г + ашиглахыг зөвлөдөг. + </para> + </listitem> + </orderedlist> + </listitem> + + <listitem> + <para>Хэрэв та эхийг зөвхөн харахаар биш ажиллуулахаар татаж авч байгаа бол + зөвхөн сонгосон хэсгүүдийг биш &os.current;-ийн <emphasis>бүх</emphasis> + эхийг татаж аваарай. Үүний шалтгаан нь эхийн төрөл бүрийн хэсгүүд нь бусад хаа нэгтээх + шинэчлэлтүүдээс хамаардаг бөгөөд зөвхөн хэсэг бүлэг эхийг хөрвүүлэхийг оролдох нь + таныг бараг л баталгаатайгаар асуудалтай учруулах болно.</para> + + <indexterm> + <primary>-CURRENT</primary> + <secondary>хөрвүүлэх</secondary> + </indexterm> + <para>&os.current;-ийг хөрвүүлэхээсээ өмнө <filename>/usr/src</filename> + дахь <filename>Makefile</filename>-г анхааралтай уншина уу. + Эхний удаа та хамгийн багаар бодоход шинэчлэлтийн процессийн хэсэг болох <link + linkend="makeworld">шинэ цөмийг суулгаж ертенцийг дахин бүтээх</link> хэсгээр + дамжих хэрэгтэй. &a.current; болон <filename>/usr/src/UPDATING</filename> + файлыг унших нь биднийг дараагийн хувилбар уруу шилжихэд заримдаа шаардлагатай + болдог бусад эхлүүлэх процедуруудын хувьд хамгийн сүүлийн мэдээлэлтэй байлгах + боломжийг бидэнд олгодог.</para> + </listitem> + + <listitem> + <para>Идэвхтэй бай! Хэрэв та &os.current; ажиллуулж байгаа бол + түүний талаар таныг юу хэлэхийг ялангуяа хэрэв танд өргөжүүлэлт эсвэл + алдааны засваруудын талаар санал хүсэлт байвал түүнийг бид мэдэхийг + хүсдэг юм. Хавсаргасан кодтой санал хүсэлтүүдийг хамгийн их урам зоригтойгоор + хүлээн авдаг билээ!</para> + </listitem> + </orderedlist> + </sect3> + </sect2> + + <sect2 id="stable"> + <title>&os;-ийн тогтвортой хэлбэрт байх нь</title> + + <sect3> + <title>&os.stable; гэж юу вэ?</title> + <indexterm><primary>-STABLE</primary></indexterm> + + <para>&os.stable; нь үндсэн хувилбарууд гардаг бидний хөгжүүлэлтийн салбар юм. + Өөрчлөлтүүд нь эхлээд тест хийгдэх зорилгоор &os.current; уруу ордог гэсэн + ерөнхий төсөөлөл/таамаглалтайгаар янз бүрийн зөвшөөрлөөр энэ салбар уруу + ордог. Энэ нь <emphasis>одоо болтол</emphasis> хөгжүүлэлтийн салбар + бөгөөд гэхдээ энэ нь ямар ч үед &os.stable;-д зориулагдсан эх нь ямар ч зорилгод + тохирч эсвэл тохирохгүй байж болно гэсэн үг юм. Энэ нь эцсийн хэрэглэгчид + зориулагдсан эх үүсвэр бус ердөө л өөр нэг инженерчлэлийн хөнжүүлэлтийн арга зам + юм.</para> + </sect3> + + <sect3> + <title>&os.stable; хэнд хэрэгтэй вэ?</title> + + <para>Хэрэв та FreeBSD-ийн хөгжүүлэлтийн процессэд хувь нэмэр оруулах сонирхолтой, + энэ нь ялангуяа FreeBSD-ийн дараагийн <quote>гарах</quote> хувилбартай холбоотой байдаг, + эсвэл юу болж байгааг мэдэж байх сонирхолтой байгаа бол та дараах + &os.stable;-г бодолцох хэрэгтэй.</para> + + <para>Аюулгүй байдлын засварууд бас &os.stable; салбар уруу орж байдаг нь + үнэн боловч та үүнийг хийхийн тулд &os.stable;-г заавал дагах + <emphasis>хэрэггүй</emphasis>. FreeBSD-ийн аюулгүй байдлын + зөвлөмжүүд нь тухайн хувилбарт хамааралтай асуудлыг хэрхэн засах тухай + тайлбарладаг + <footnote><para>Энэ нь бүр яг үнэн биш юм. Бид FreeBSD-ийн хуучин хувилбаруудыг + үргэлж дэмжиж чадахгүй, гэхдээ бид тэдгээрийг олон жилийн турш дэмжсээр + ирсэн. FreeBSD-ийн хуучин хувилбаруудын одоогийн аюулгүй байдлын бодлогын + бүрэн тайлбарыг <ulink + url="&url.base;/security/">http://www.FreeBSD.org/security/</ulink>-с + үзнэ үү.</para> + </footnote> + бөгөөд зөвхөн аюулгүй байдлын үүднээс бүхэл бүтэн хөгжүүлэлтийн салбарыг + дагаж байна гэдэг бас зөндөө олон хүсээгүй өөрчлөлтүүдийг авчрах + магадлалтай юм.</para> + + <para>Бид &os.stable; салбар үргэлж хөрвүүлэгдэн эмхэтгэгдэж дандаа ажилладаг байлгахаар + чармайж байдаг боловч энэ нь баталгаатай биш юм. Нэмж хэлэхэд код нь &os.stable;-д + орохоосоо өмнө &os.current;-д хөгжүүлэгдэж байдаг боловч &os.current;-г + ашиглан ажиллуулдгаас илүү &os.stable;-г хүмүүс ажиллуулдаг болохоор + &os.current;-ийн хувьд илэрхий биш байсан алдаанууд болон булангийн тохиолдлууд + &os.stable;-д илрэх нь заримдаа зайлшгүй юм.</para> + + <para>Эдгээр шалтгаануудаас болоод бид &os.stable;-г сохроор дагахыг танд + <emphasis>зөвлөдөггүй</emphasis> бөгөөд энэ нь + өөрийн хөгжүүлэлтийн орчиндоо кодыг эхлээд сайтар тест хийлгүйгээр + үйлдвэрлэлд (production) ашиглаж байгаа серверүүдээ &os.stable; + уруу шинэчлэхгүй байхад танд ялангуяа чухал ач холбогдолтой юм.</para> + + <para>Хэрэв танд үүнийг хийх эх үүсвэрүүд байхгүй бол бид FreeBSD-ийн хамгийн сүүлийн үеийн + хувилбарыг ажиллуулж хоёртын шинэчлэлт хийх аргыг хувилбараас хувилбар уруу шилжихдээ + ашиглахыг танд зөвлөж байна.</para> + </sect3> + + <sect3> + <title>&os.stable; ашиглах нь</title> + + <indexterm> + <primary>-STABLE</primary> + <secondary>ашиглах нь</secondary> + </indexterm> + <orderedlist> + <listitem> + <para>&a.stable.name; жагсаалтанд элсэн орно уу. Энэ нь + &os.stable;-д илэрч болох бүтээлтийн хамаарлууд эсвэл + тусгайлсан анхаарал шаардлагатай өөр бусад асуудлуудын талаар + танд мэдээлж байх болно. Хөгжүүлэгчид нь зарим нэг маргаантай засвар + эсвэл шинэчлэлийн талаар бодож байгаа талаараа бас энэ захидлын жагсаалтад + мэдээлдэг бөгөөд ийнхүү санал болгож байгаа өөрчлөлтийн талаар хэрэглэгчдэд + ямар нэг асуудал байвал тэдэнд эргээд хариу өгөх боломж олгодог юм.</para> + + <para>&a.cvsall.name; жагсаалт нь кодод оруулсан өөрчлөлт бүрийн + бүртгэл оруулгыг болзошгүй сөрөг нөлөөнүүдийн талаар тохирсон мэдээллийн + хамтаар танд харах боломжийг олгодог.</para> + + <para>Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд + &a.mailman.lists.link; хаяг уруу орж элсэхийг хүссэн жагсаалтаа + сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно.</para> + </listitem> + + <listitem> + <para>Хэрэв та шинэ систем суулгаж &os.stable;-ээс бүтээсэн сар бүрийн хормын + агшны хувилбарыг түүн дээр ажиллуулахыг хүсэж байгаа бол дэлгэрэнгүй + мэдээллийн талаар <ulink url="&url.base;/snapshots/"> + Хормын агшны хувилбарууд</ulink> вэб хуудсаас шалгана уу. + Үүнээс гадна хамгийн сүүлийн үеийн &os.stable; хувилбарыг + <link linkend="mirrors">толин тусгалын хаягууд</link>аас + татан авч суулгах боломжтой бөгөөд доор дурдсан заавруудыг дагаж + өөрийн системийг хамгийн сүүлийн үеийн &os.stable; эх код уруу + шинэчилж болох юм.</para> + + <para>Хэрэв та &os;-ийн урдны хувилбар аль хэдийн ажиллуулж байгаа бөгөөд + эхээс шинэчлэхийг хүсэж байгаа бол &os;-ийн + <link linkend="mirrors">толин тусгал хуудас</link>аас хялбараар + хийж болно. Үүнийг хоёр аргаар хийж болно:</para> + + <orderedlist> + <indexterm> + <primary><command>cvsup</command></primary> + </indexterm> + <indexterm> + <primary><command>cron</command></primary> + </indexterm> + <indexterm> + <primary>-STABLE</primary> + <secondary><application>CVSup</application> ашиглан сүүлийн хэлбэрт аваачих</secondary> + </indexterm> + <listitem> + <para><filename>/usr/share/examples/cvsup</filename> санд байх + <filename>standard-supfile</filename> гэж нэрлэгдсэн + <filename>supfile</filename>-тай цуг + <link linkend="cvsup">cvsup</link> програм ашигла. + Энэ нь бүхэл цуглуулгыг нэг л удаа авч дараа нь зөвхөн өөрчлөгдсөнүүдийг + танд авах боломжийг олгодог хамгийн сайшаасан арга юм. + Олон хүмүүс <command>cvsup</command>-г <command>cron</command>-с + ажиллуулж өөрсдийн эхийг хамгийн сүүлийн хэлбэр автоматаар + аваачдаг. Та дээр дурдсан жишээ <filename>supfile</filename>-г + өөрчлөн <link linkend="cvsup">cvsup</link>-г өөрийн орчны хувьд + тохируулах хэрэгтэй.</para> + </listitem> + + <indexterm> + <primary>-STABLE</primary> + <secondary>CTM ашиглан сүүлийн хэлбэрт аваачих</secondary> + </indexterm> + <listitem> + <para><application><link + linkend="ctm">CTM</link></application> хэрэгслийг ашигла. + Хэрэв танд Интернет уруу холбогдсон хурдан хямд холболт байхгүй бол + энэ аргыг та ашиглах хэрэгтэй. + </para> + </listitem> + </orderedlist> + </listitem> + + <listitem> + <para>Гол нь хэрэв та эхэд хурдан, шаардлагын улмаас хандах хэрэгтэй болоод + холболтуудын зурвасын өргөн ач холбогдолгүй бол <command>cvsup</command> эсвэл + <command>ftp</command> ашиглаарай. Бусад тохиолдолд + <application>CTM</application>-г ашигла.</para> + </listitem> + + <indexterm> + <primary>-STABLE</primary> + <secondary>хөрвүүлэх нь</secondary> + </indexterm> + <listitem> + <para>&os.current;-ийг хөрвүүлэхээсээ өмнө <filename>/usr/src</filename> + дахь <filename>Makefile</filename>-г анхааралтай уншина уу. + Эхний удаа та хамгийн багаар бодоход шинэчлэлтийн процессийн хэсэг болох <link + linkend="makeworld">шинэ цөмийг суулгаж ертенцийг дахин бүтээх</link> хэсгээр + дамжих хэрэгтэй. &a.current; болон <filename>/usr/src/UPDATING</filename> + файлыг унших нь биднийг дараагийн хувилбар уруу шилжихэд заримдаа шаардлагатай + болдог бусад эхлүүлэх процедурууды хувьд хамгийн сүүлийн мэдээлэлтэй байлгах + боломжийг бидэнд олгодог.</para> + </listitem> + </orderedlist> + </sect3> + </sect2> + </sect1> + + <sect1 id="synching"> + <title>Өөрийн эхийг хамгийн сүүлийн хэлбэрт аваачих нь</title> + + <para>Интернетийн (эсвэл цахим захидал) холболт ашиглан &os; төслийн эхүүдийн аль ч + хэсгийн хувьд эсвэл таны юу сонирхож байгаагаас хамааран бүх хэсгүүдийг + хамгийн шинэ байлгаж байх төрөл бүрийн аргууд байдаг. Бидний санал болгодог үндсэн + үйлчилгээнүүд бол <link linkend="anoncvs">Anonymous буюу нэргүй + CVS</link>, <link linkend="cvsup">CVSup</link> болон <link + linkend="ctm">CTM</link> юм.</para> + + <warning> + <para>Өөрийн эх модны зөвхөн зарим хэсгийг шинэчлэх боломжтой боловч + цорын ганц шинэчлэх арга бол модыг бүтнээр нь шинэчилж хэрэглэгчийн талбар + (өөрөөр хэлбэл <filename>/bin</filename> болон + <filename>/sbin</filename> гэх мэт дэх хэрэглэгчийн талбарт ажилладаг + бүх програмууд) болон цөмийн эхүүдийг дахин эмхэтгэх явдал юм. Өөрийн эх модны + зөвхөн нэг хэсэг зөвхөн цөм эсвэл зөвхөн хэрэглэгчийн талбарыг шинэчлэх нь + асуудлууд гарахад ихэвчлэн хүргэдэг. Эдгээр асуудлууд нь эмхэтгэлтийн үеийн + алдаануудаас авахуулаад цөмийн сүйрлүүд эсвэл өгөгдлийн эвдрэлийг хүртэл + хамардаг.</para> + </warning> + + <indexterm> + <primary>CVS</primary> + <secondary>anonymous буюу нэргүй</secondary> + </indexterm> + + <para><application>Нэргүй CVS</application> болон + <application>CVSup</application> нь эхийг шинэчлэхдээ + <emphasis>татах</emphasis> загварыг хэрэглэгдэг. + <application>CVSup</application>-ийн хувьд хэрэглэгч (эсвэл + <command>cron</command> скрипт) <command>cvsup</command> + програмыг эхлүүлэн хаа нэгтээх <command>cvsupd</command> + серверт хандаж таны өөрийн файлуудыг хамгийн шинэ хэлбэрт авчирдаг. + Таны хүлээн авах шинэчлэлтүүд нь хамгийн сүүлийн минут хүртэлх үеийнх + байх бөгөөд та тэдгээрийг зөвхөн өөрийн хүссэн тэр үедээ авдаг. Та өөрийн + шинэчлэлтүүдийг таны сонирхож байгаа тусгайлсан файлууд эсвэл сангуудаар + хялбараар хязгаарлаж болно. Шинэчлэлтүүд нь таны юуг авахыг хүссэн болон танд + юу байгаагаас хамааран серверээр тухайн үед үүсгэгддэг. + <application>Нэргүй CVS</application> нь алсын CVS repository + буюу кодын архиваас өөрчлөлтүүдийг шууд татахыг түүнд зөвшөөрдөг + <application>CVS</application>-ийн ердөө л нэг өргөтгөл бөгөөд + үүгээрээ <application>CVSup</application>-с арай илүү хялбар юм. + <application>CVSup</application> нь үүнийг хамаагүй илүү + үр дүнтэйгээр хийж чаддаг боловч <application>Нэргүй CVS</application>-г + ашиглахад илүү хялбар байдаг.</para> + + <indexterm> + <primary><application>CTM</application></primary> + </indexterm> + <para>Нөгөө талаас <application>CTM</application> нь танд байгаа эхийг + мастер архив дахь эхтэй лавлаж асуух зарчмаар харьцуулдаггүй бөгөөд өөрөөр хэлбэл + тэдгээрийг татаж авдаггүй. Ингэхийн оронд харин өмнө нь ажиллуулснаас хойшхи + файл дахь өөрчлөлтүүдийг таньдаг скрипт өдөрт хэд хэдэн удаа мастер CTM машин + дээр ажиллаж илэрсэн өөрчлөлтүүдийг шахаж дарааллын-дугаар тавин цахим + захидлаар дамжуулахад зориулан кодчилдог (зөвхөн хэвлэгдэх боломжтой ASCII + хэлбэрээр). Эдгээр <quote>CTM дельтануудыг</quote> авсаны дараа + тэдгээрийг автоматаар декод хийж шалган хэрэгчид байгаа эхийн хуулбарт + өөрчлөлтүүдийг хийх &man.ctm.rmail.1; хэрэгслэл уруу өгдөг. Энэ процесс + нь <application>CVSup</application>-с хамаагүй илүү үр дүнтэй + бөгөөд энэ нь <emphasis>татах</emphasis> биш харин + <emphasis>түлхэх</emphasis> загвар учраас бидний серверийн эх үүсвэрт + бага ачаалал учруулдаг юм.</para> + + <para>Мэдээж үүнээс гадна харилцан сул болон давуу талуудтай асуудлууд байдаг. + Хэрэв та санамсаргүйгээр өөрийн архивын хэсгийг устгачих юм бол + <application>CVSup</application> үүнийг илрүүлж эвдэрсэн хэсгүүдийг + дахин бүтээж өгдөг. <application>CTM</application> ингэж + хийдэггүй бөгөөд хэрэв та өөрийн эх модны зарим хэсгийг устгасан + (бас нөөцлөн аваагүй) бол та дахин шинээр эхнээс нь (хамгийн сүүлийн үеийн + CVS <quote>суурь дельтагаас</quote>) эхэлж + <application>CTM</application>-ийн тусламжтайгаар бүгдийг дахин бүтээх + буюу эсвэл <application>Нэргүй CVS</application>-ийн тусламжтайгаар + муу битүүдийг ердөө л усгаж дахин сүүлийн хэлбэрт аваачих хэрэгтэй болно.</para> + </sect1> + + <sect1 id="makeworld"> + <title><quote>Ертөнц</quote>ийг дахин бүтээх нь</title> + + <indexterm> + <primary><quote>Ертөнц</quote>ийг дахин бүтээх нь</primary> + </indexterm> + <para>Та өөрийн локал эх модоо &os;-ийн тухайн хувилбарын (&os.stable;, + &os.current;, гэх зэрэг) хамгийн сүүлийн үеийн хэлбэрт аваачсаныхаа + дараа та эх модоо ашиглан системийг дахин бүтээж болно.</para> + + <warning> + <title>Нөөц хий</title> + + <para>Та дээрхийг хийхээсээ <emphasis>өмнө</emphasis> өөрийн системийг + нөөцлөн авах нь ямар чухал болохыг энэ нь хангалттай хэлж өгч чаддаггүй. + Ертөнцийг дахин бүтээх нь (хэрэв та эдгээр заавруудыг дагасан тохиолдолд) + хялбар боловч таныг алдаа гаргахад эсвэл бусдын эх модонд хийсэн алдаанууд + нь таны системийг ачаалагдахгүй болгох нөхцөлд зайлшгүй хүргэдэг.</para> + + <para>Нөөц хийж авсан эсэхээ шалгаарай. Засварлах уян диск эсвэл ачаалагдах + CD-г гарын дор байлгаарай. Магадгүй та үүнийг хэзээ ч хэрэглэхгүй байж болох + юм, гэхдээ харамсахаасаа өмнө аюулгүй байж байх нь илүү дээр юм!</para> + </warning> + + <warning> + <title>Тохирох захидлын жагсаалтад бүртгүүл</title> + + <indexterm><primary>захидлын жагсаалт</primary></indexterm> + <para>&os.stable; болон &os.current; салбарууд нь угаасаа + <emphasis>хөгжүүлэлтэд байдаг</emphasis>. &os;-д хувь нэмэр + оруулж байгаа хүмүүс нь хүн л учраас алдаанууд заримдаа гардаг.</para> + + <para>Заримдаа эдгээр алдаанууд нь нэг их хор хөнөөлгүй бөгөөд ердөө л таны + системийг шинэ оношлогооны анхааруулга хэвлэхэд хүргэдэг. Эсвэл + өөрчлөлт нь сүйрлийн байж болзошгүй байдаг бөгөөд таны системийг ачаалагдахгүй + болгож эсвэл файлын системүүдийг чинь устгаж (эсвэл бүр муу юм болж) болох юм.</para> + + <para>Эдгээртэй адил асуудлууд гарвал асуудлын учир шалтгаан болон аль систем дээр + энэ асуудал хамааралтайг тайлбарласан <quote>heads up буюу бүхний сонорт</quote> + хандсан зарлал тохирох захидлын жагсаалтад илгээгддэг. Тэгээд + <quote>all clear буюу бүгд цэвэр</quote> зарлал асуудал шийдэгдсэний дараа + тавигддаг.</para> + + <para>Хэрэв та &os.stable; эсвэл &os.current;-ийг дагахыг оролдож &a.stable; + эсвэл &a.current;-г харгалзуулан уншихгүй байгаа бол энэ нь та өөртөө гай төвөг асууж + байна л гэсэн үг юм.</para> + </warning> + + <warning> + <title><command>make world</command> тушаалыг бүү ашигла</title> + + <para>Ихэнх хуучин баримтууд үүнд зориулан <command>make world</command> + тушаалыг ашиглахыг зөвлөдөг. Энэ тушаалыг ажиллуулснаар зарим нэг чухал алхмуудыг + алгасах бөгөөд та юу хийж байгаагаа мэдэж байгаа тохиолдолд үүнийг зөвхөн ашиглах + хэрэгтэй. Бараг ихэнх тохиолдолд <command>make world</command> хийх нь + буруу зүйл бөгөөд энд тайлбарласан процедурыг түүний оронд ашиглах ёстой юм.</para> + </warning> + + <sect2> + <title>Шалгагдсан аргаар өөрийн системийг шинэчлэх нь</title> + + <para>Өөрийн системийг шинэчлэхийн тулд өөрт чинь байгаа эхийн хувилбарт шаардлагатай байгаа + бүтээхээс урьдах алхмууд та <filename>/usr/src/UPDATING</filename> + файлд байгаа эсэхийг шалгах хэрэгтэй бөгөөд үүний дараа доор дурдсан процедурыг + ашиглана:</para> + + <screen>&prompt.root; <userinput>make buildworld</userinput> +&prompt.root; <userinput>make buildkernel</userinput> +&prompt.root; <userinput>make installkernel</userinput> +&prompt.root; <userinput>reboot</userinput></screen> + + <note> + <para><maketarget>buildworld</maketarget> алхмаас өмнө + <command>mergemaster -p</command> тушаалыг нэмж ажиллуулах + цөөн ховор тохиолдлууд байдаг. Эдгээрийн талаар <filename>UPDATING</filename> + файлд тайлбарласан байдаг. Хэрэв та &os;-ийн нэг буюу олон голлох + хувилбаруудын дагуу шинэчлэл хийхгүй байгаа бол ерөнхийдөө энэ алхмыг + эмээлгүйгээр орхиж болох юм.</para> + </note> + + <para><maketarget>installkernel</maketarget> амжилттай дууссаны + дараа та ганц хэрэглэгчийн горим уруу ачаалах хэрэгтэй (өөрөөр хэлбэл + <command>boot -s</command> тушаалыг дуудагч мөрөөс ашиглана). + Дараа нь доорхийг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>mergemaster -p</userinput> +&prompt.root; <userinput>make installworld</userinput> +&prompt.root; <userinput>mergemaster</userinput> +&prompt.root; <userinput>reboot</userinput></screen> + + <warning> + <title>Тайлбаруудыг цааш уншина уу</title> + + <para>Дээр тайлбарласан дараалал нь зөвхөн таныг эхлэхэд туслах богино + сэргээлт болох юм. Гэхдээ хэрэв та ялангуяа өөрчлөн тохируулсан + цөмийн тохиргоо ашиглахыг хүсэж байгаа бол дараах хэсгүүдийг уншиж + алхам бүрийг сайтар ойлгох хэрэгтэй.</para> + </warning> + </sect2> + + <sect2> + <title><filename>/usr/src/UPDATING</filename> файлыг унш</title> + + <para>Өөр юм хийж эхлэхээсээ өмнө та <filename>/usr/src/UPDATING</filename>-г + (эсвэл эх кодын хуулбар хаана байгаа тэндээс үүнтэй төстэй файлыг ) уншаарай. + Энэ файл нь танд учирч болзошгүй асуудлуудын талаар чухал мэдээлэл агуулдаг бөгөөд + эсвэл таны ажиллуулах зарим нэг тушаалуудын дарааллын талаар заасан байдаг. + Хэрэв <filename>UPDATING</filename> файл таны энд уншсантай зөрчилдөж + байвал <filename>UPDATING</filename> файлд заасныг дагах хэрэгтэй.</para> + + <important> + <para><filename>UPDATING</filename> файлыг унших нь өмнө нь тайлбарласнаар + зөв захидлын жагсаалтанд бүртгүүлэхтэй харьцуулах юм бол хүлээн зөвшөөрч болохуйц + орлогч байж чадахгүй юм. Энэ хоёр шаардлага нь нэмэлт бөгөөд заавал шаардлагатай + биш юм.</para> + </important> + </sect2> + + <sect2> + <title><filename>/etc/make.conf</filename> файлыг шалга</title> + <indexterm> + <primary><filename>make.conf</filename></primary> + </indexterm> + + <para><filename>/usr/share/examples/etc/make.conf</filename> + болон <filename>/etc/make.conf</filename> файлыг шалгаарай. + Эхнийх нь зарим нэг анхдагч тодорхойлолтуудыг агуулдаг – тэдгээрийн + ихэнх нь тайлбар болон хаагдсан байдаг. Та системээ эхээс нь дахин бүтээх үедээ + тэдгээрийг ашиглахын тулд <filename>/etc/make.conf</filename> + файлд нэмэх хэрэгтэй. <filename>/etc/make.conf</filename> файлд + нэмсэн болгон <command>make</command> тушаалыг ажиллуулах бүрд + бас ашиглагддаг учир өөрийн системдээ зориулан тэдгээрийг боломжийн утгаар + тохируулж өгөх нь зүйтэй юм.</para> + + <para>Ердийн хэрэглэгч <filename>/usr/share/examples/etc/make.conf</filename> + файлд байдаг <makevar>CFLAGS</makevar> болон + <makevar>NO_PROFILE</makevar> мөрүүдийг + <filename>/etc/make.conf</filename> уруу хуулж + тэдгээрийг тайлбар болгосныг болиулж нээхийг магадгүй хүсэж + болох юм.</para> + + <para>Бусад тодорхойлолтуудыг (<makevar>COPTFLAGS</makevar>, + <makevar>NOPORTDOCS</makevar> гэх зэрэг) шалгаж танд хамаатай + эсэхээс хамаарч оруулах эсэхээ шийдээрэй.</para> + </sect2> + + <sect2> + <title><filename>/etc</filename> дэх файлуудыг шинэчил</title> + + <para><filename>/etc</filename> сан нь таны системийн тохиргооны мэдээллийн + ихэнх хэсгийг агуулдагаас гадна системийг эхлүүлэхэд ажилладаг скриптүүд энд байдаг. + Эдгээр скриптүүдийн зарим нь FreeBSD-ийн хувилбараас хувилбарт өөрчлөгддөг.</para> + + <para>Тохиргооны файлуудын зарим нь бас системийг ажиллуулахад өдөр тутам хэрэглэгддэг. + Ялангуяа <filename>/etc/group</filename>-г дурдаж болно.</para> + + <para><command>make installworld</command> тушаалын суулгалт хийх хэсэг нь + зарим нэг хэрэглэгчийн нэр эсвэл бүлгүүд байж байна гэж тооцдог тохиолдлууд байдаг. + Шинэчлэл хийж байх үед эдгээр хэрэглэгчид эсвэл бүлгүүд ихэнхдээ байхгүй байдаг. + Энэ нь шинэчлэл хийхэд асуудал учруулдаг. Зарим тохиолдолд <command>make buildworld</command> + нь эдгээр хэрэглэгчид эсвэл бүлгүүд байгаа эсэхийг шалгана.</para> + + <para>Үүний нэг жишээ нь <username>smmsp</username> хэрэглэгч нэмэгдсэн + тохиолдол юм. &man.mtree.8; нь <filename>/var/spool/clientmqueue</filename>-г + үүсгэхийг оролдох үед хэрэглэгчийн суулгалтын процесс энэ асуудлаас болж амжилтгүй + болж байсан.</para> + + <para>Үүний шийдэл нь &man.mergemaster.8;-г ертөнцийг бүтээхээс урд <option>-p</option> + тохируулгатай ажиллуулах явдал юм. Энэ нь <maketarget>buildworld</maketarget> + эсвэл <maketarget>installworld</maketarget> тушаалыг амжилттай болгоход + зөвхөн шаардлагатай файлуудыг харьцуулдаг. Хэрэв таны хуучин <command>mergemaster</command> + хувилбар <option>-p</option> тохируулгыг дэмждэггүй бол эх модон дахь шинэ хувилбарыг + эхний удаа ажиллуулахдаа ашиглаарай:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/mergemaster</userinput> +&prompt.root; <userinput>./mergemaster.sh -p</userinput></screen> + + <tip> + <para>Хэрэв та ялангуяа хэтэрхий санаа зовж байгаа бол тухайн бүлэгт харьяалагдаж байгаа + нэрийг нь өөрчилж байгаа эсвэл устгаж байгаа ямар файлууд байгааг өөрийн системээс + шалгаарай:</para> + + <screen>&prompt.root; <userinput>find / -group <replaceable>GID</replaceable> -print</userinput></screen> + + <para>дээрх нь <replaceable>GID</replaceable> (энэ бүлгийн нэр байж болно эсвэл + бүлгийн тоон ID байж болно) бүлгийн эзэмшдэг файлуудыг харуулна.</para> + </tip> + </sect2> + + <sect2 id="makeworld-singleuser"> + <title>Ганц хэрэглэгчийн горимд шилж</title> + <indexterm><primary>ганц хэрэглэгчийн горим</primary></indexterm> + + <para>Та системийг ганц хэрэглэгчийн горимд эмхэтгэхийг хүсэж болох юм. + Энэ нь шинэчлэлтийг арай илүү хурдасгах илэрхий ашиг тустайгаас гадна + системийг дахин суулгах нь системийн стандарт хоёртын файлууд, + libraries буюу туслах сангууд, оруулгын файлууд гэх зэрэг системийн + маш олон чухал файлуудыг хөнддөг. Ажиллаж байгаа систем дээр эдгээрийг + өөрчлөх нь (ялангуяа хэрэв тухайн үед таны систем дээр идэвхтэй хэрэглэгчид + байвал) гай төвгийг өөрөө эрж байна гэсэн үг юм.</para> + + <indexterm><primary>олон хэрэглэгчийн горим</primary></indexterm> + <para>Өөр нэг арга бол системийг олон хэрэглэгчийн горимд эмхэтгэж дараа нь + суулгахдаа ганц хэрэглэгчийн горимд шилжин хийх явдал юм. Хэрэв та энэ замаар + хийхийг хүсэж байвал бүтээлт дуустал дараах алхмууд дээр хүлээж байгаарай. + Та <maketarget>installkernel</maketarget> эсвэл + <maketarget>installworld</maketarget> хийх хүртлээ ганц хэрэглэгчийн горимд + оролгүйгээр хүлээж байж болно.</para> + + <para>Супер хэрэглэгч болоод та дараахийг:</para> + + <screen>&prompt.root; <userinput>shutdown now</userinput></screen> + + <para>ажиллаж байгаа системээс ганц хэрэглэгчийн горим уруу оруулахдаа + ажиллуулж болно.</para> + + <para>Өөр нэг арга нь системийг дахин ачаалаад ачаалалтын тушаал хүлээх мөрөн дээр + <quote>single user буюу ганц хэрэглэгч</quote> тохируулгыг сонгоорой. + Ингэхэд систем ганц хэрэглэгчийг ачаална. Бүрхүүлийн тушаал хүлээх мөрөнд та + доор дурдсан тушаалуудыг ажиллуулах шаардлагатай:</para> + + <screen>&prompt.root; <userinput>fsck -p</userinput> +&prompt.root; <userinput>mount -u /</userinput> +&prompt.root; <userinput>mount -a -t ufs</userinput> +&prompt.root; <userinput>swapon -a</userinput></screen> + + <para>Энэ нь файлын системүүдийг шалгаж <filename>/</filename>-г + дахин унших/бичихээр дахин холбож бусад бүх UFS файлын системүүдийг + <filename>/etc/fstab</filename>-д заасны дагуу холбон дараа нь + swap-ийг идэмвхжүүлэх болно.</para> + + + <note> + <para>Хэрэв таны CMOS цаг нь GMT биш локал хугацаагаар тохируулагдсан бол + (хэрэв &man.date.1; тушаалын гаралт зөв цаг болон бүсийг харуулахгүй + бол энэ нь үнэн) та дараах тушаалыг бас ажиллуулах хэрэгтэй болж + болох юм:</para> +<screen>&prompt.root; <userinput>adjkerntz -i</userinput></screen> + + <para>Энэ нь таны локал цагийн бүсийн тохируулгуудыг зөвөөр тохируулж өгдөг — + үүнийг хийхгүй бол та дараа нь зарим асуудлуудтай тулгарч магадгүй. + </para> + </note> + + </sect2> + + <sect2> + <title><filename>/usr/obj</filename>-г устга</title> + + <para>Системийн хэсгүүд дахин бүтээгдсэнийхээ дараа (анхдагчаар) + <filename>/usr/obj</filename> дахь сангуудад байршдаг. Эдгээр сангууд нь + <filename>/usr/src</filename> доторхийг халхалдаг.</para> + + <para>Та <command>make buildworld</command> процессийг хурдасгаж болох бөгөөд + энэ санг бас устгаснаар хамаарлын зовлонгуудаас өөрийгөө магадгүй аврах болно.</para> + + <para><filename>/usr/obj</filename> доторхи зарим файлуудад immutable + буюу хувиршгүй туг тавигдсан (дэлгэрэнгүй мэдээллийг &man.chflags.1;-с үзнэ үү ) + байж болох бөгөөд түүнийг эхлээд арилгах хэрэгтэй.</para> + + <screen>&prompt.root; <userinput>cd /usr/obj</userinput> +&prompt.root; <userinput>chflags -R noschg *</userinput> +&prompt.root; <userinput>rm -rf *</userinput></screen> + </sect2> + + <sect2 id="cutting-edge-compilebase"> + <title>Үндсэн системийг дахин эмхэтгэ</title> + + <sect3> + <title>Гаралтыг хадгалах нь</title> + + <para>&man.make.1;-г ажиллуулахдаа гарах үр дүнг өөр файл уруу хадгалах нь + зүйтэй юм. Хэрэв ямар нэг юм болохоо боливол та алдааны мэдэгдлийн хуулбартай + байх болно. Энэ нь танд юу буруутсаныг шинжлэхэд чинь тус болохгүй байж болох боловч + та өөрийн энэ асуудлаа &os;-ийн аль нэг захидлын жагсаалт уруу илгээсэн тохиолдолд + бусдад тус болж болох юм.</para> + + <para>Үүнийг хамгийн амраар хийхийн тулд &man.script.1; тушаалыг бүх гаралтыг хадгалах + файлын нэрийг заасан параметрийн хамтаар ашиглана. Та үүнийг ертөнцийг дахин бүтээхээс + өмнөхөн нэн даруй хийж дараа нь процесс дууссаны дараа <userinput>exit</userinput> + гэж бичиж гарна.</para> + + <screen>&prompt.root; <userinput>script /var/tmp/mw.out</userinput> +Script started, output file is /var/tmp/mw.out +&prompt.root; <userinput>make TARGET</userinput> +<emphasis>… compile, compile, compile …</emphasis> +&prompt.root; <userinput>exit</userinput> +Script done, …</screen> + + <para>Хэрэв та үүнийг хийх бол гаралтыг <filename>/tmp</filename> дотор + <emphasis>битгий </emphasis> хадгалаарай. Энэ сан нь таныг дахин ачаалсны + дараа цэвэрлэгдэж болох юм. Энэ файлыг хадгалах арай илүү боломжийн газар нь + <filename>/var/tmp</filename> (өмнөх жишээн дээрх шиг) эсвэл + <username>root</username> хэрэглэгчийн гэр сан байж болох юм.</para> + </sect3> + + <sect3 id="make-buildworld"> + <title>Үндсэн системийг эмхэтгэ</title> + + <para>Та <filename>/usr/src</filename> сан дотор байх + шаардлагатай:</para> + + <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen> + + <para>(гэхдээ мэдээж таны код өөр газар байгаа тохиолдолд тэр сан уруугаа орох + хэрэгтэй).</para> + <indexterm><primary><command>make</command></primary></indexterm> + + <para>Ертөнцийг дахин бүтээхдээ та &man.make.1; тушаалыг ашиглана. Энэ + тушаал нь &os;-ийн агуулсан програмууд ямар дарааллаар дахин хэрхэн бүтээгдэх зэргийг + тайлбарласан <filename>Makefile</filename> файлаас заавруудыг уншдаг.</para> + + <para>Таны бичих тушаалын мөрийн ерөнхий хэлбэр нь дараах байдлаар байна:</para> + + <screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen> + + <para>Энэ жишээн дээр <option>-<replaceable>x</replaceable></option> нь + &man.make.1; уруу таны дамжуулах тохируулга юм. &man.make.1;-н гарын авлагын хуудаснаас + та дамжуулж болох тохируулгуудын жишээг үзнэ үү.</para> + + <para><option>-D<replaceable>VARIABLE</replaceable></option> + тохируулга нь <filename>Makefile</filename> уруу хувьсагч дамжуулж байна. + <filename>Makefile</filename>-ийн ажиллагаа эдгээр хувьсагчуудаар + хянагдана. Эдгээр нь <filename>/etc/make.conf</filename> дотор + зааж өгсөн хувьсагчуудтай адил бөгөөд энэ нь тэдгээрийг тохируулах бас нэг өөр + арга юм.</para> + + <screen>&prompt.root; <userinput>make -DNO_PROFILE <replaceable>target</replaceable></userinput></screen> + + <para>тушаал нь профиль хийгдсэн сангууд бүтээгдэх ёсгүйг заах өөр нэг арга бөгөөд + энэ нь <filename>/etc/make.conf</filename> дахь дараах</para> + + <programlisting>NO_PROFILE= true # Avoid compiling profiled libraries</programlisting> + + <para>мөрд харгалзах юм.</para> + + <para><replaceable>target</replaceable> нь &man.make.1;-д + таны юу хийхийг хэлж өгдөг. <filename>Makefile</filename> болгон + өөр өөр <quote>targets буюу даалгаврын төрлүүдийг</quote> тодорхойлдог + бөгөөд таны сонгосон төрөл юу болохыг тодорхойлдог.</para> + + <para>Зарим төрлүүд <filename>Makefile</filename>-д жагсаагдсан байх + бөгөөд гэхдээ эдгээр нь таныг ажиллуулахад зориулагдаагүй. Харин тэдгээр нь + системийг дахин бүтээхэд шаардлагатай алхмуудыг хэд хэдэн дэд алхмуудад хуваахын + тулд бүтээх процессд хэрэглэгддэг.</para> + + <para>Ихэнх тохиолдолд та &man.make.1; уруу ямар ч параметр дамжуулах + хэрэггүй бөгөөд тэгэхээр таны тушаал дараахтай ижил байж болно:</para> + + <screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen> + + <para>дээрх <replaceable>target</replaceable> нь олон бүтээх тохируулгуудын + нэг болно. Эхний төрөл нь үргэлж <makevar>buildworld</makevar> + байх ёстой.</para> + + <para>Нэртэйгээ адилаар <maketarget>buildworld</maketarget> нь + <filename>/usr/obj</filename> дотор бүрэн гүйцэд шинэ модыг бүтээх бөгөөд + өөр нэг төрөл болох <maketarget>installworld</maketarget> нь + энэ модыг тухайн машин дээр суулгадаг.</para> + + <para>Тусдаа тохируулгуудтай байх нь хоёр шалтгаанаар маш ач холбогдолтой юм. + Нэгдүгээрт энэ нь бүтээлтийг таны ажиллаж байгаа системийн ямар ч хэсэгт нөлөөлөхгүйгээр + аюулгүйгээр хийхийг танд зөвшөөрдөг. Бүтээлт нь <quote>өөр дээрээ хийгдэнэ (self hosted)</quote>. + Ийм болохоор та <maketarget>buildworld</maketarget> тушаалыг олон + хэрэглэгчийн горимд ажиллаж байгаа машин дээр буруу нөлөөллөөс айлгүйгээр аюулгүйгээр + хийж болно. Гэхдээ <maketarget>installworld</maketarget> хэсгийн хувьд ганц + хэрэглэгчийн горимд хийхийг танд зөвлөдөг.</para> + + <para>Хоёрдугаарт энэ нь сүлжээн дэх олон машинуудыг шинэчлэхэд + NFS холболтуудыг ашиглахыг танд зөвшөөрдөг. Хэрэв танд гурван машин байгаа бөгөөд + <hostid>A</hostid>, <hostid>B</hostid> болон <hostid>C</hostid> + машинуудыг шинэчлэхийг хүсвэл <command>make + buildworld</command> болон <command>make installworld</command> + тушаалыг <hostid>A</hostid> дээр ажиллуулна. Дараа нь <hostid>B</hostid> болон <hostid>C</hostid> + машинууд <hostid>A</hostid> дээрх <filename>/usr/src</filename> + болон <filename>/usr/obj</filename> сангуудыг NFS холболт хийн + <command>make installworld</command>-г ажиллуулж + бүтээлтийн үр дүнг <hostid>B</hostid> болон <hostid>C</hostid> дээр + суулгаж болох юм.</para> + + <para><maketarget>world</maketarget> төрөл байсаар байгаа хэдий ч + танд түүнийг ашиглахгүй байхыг зөвлөж байна.</para> + + <para>Дараах тушаалыг ажиллуул</para> + + <screen>&prompt.root; <userinput>make buildworld</userinput></screen> + + <para>Хэд хэдэн зэрэгцээ процессуудыг үүсгэх <option>-j</option> тохируулгыг + <command>make</command> тушаалд зааж өгөх боломжтой. Энэ нь олон CPU-тэй + машинууд дээр хамгийн их ашигтай. Гэхдээ эмхэтгэх процессийн ихэнх нь CPU дээр биш + IO дээр ажилладаг болохоор энэ нь бас нэг CPU-тэй машинууд дээр ашигтай юм.</para> + + <para>Ердийн нэг CPU-тэй машин дээр та дараахийг ажиллуулж болох юм:</para> + + <screen>&prompt.root; <userinput>make -j4 buildworld</userinput></screen> + + <para>&man.make.1; нь 4 хүртэлх процессийг нэгэн зэрэг ажиллуулах юм. Захидлын + жагсаалтуудад илгээгдсэн туршлагаас харахад энэ нь ерөнхийдөө ажиллагааг хамгийн сайн + хангаж хурдасгадаг байна.</para> + + <para>Хэрэв та олон CPU машинтай бөгөөд SMP тохируулагдсан цөм ашиглаж байвал + утгыг 6-аас 10 хүртэл болгож хэр хурдасаж байгааг хараарай.</para> + </sect3> + + <sect3> + <title>Хугацаа</title> + <indexterm> + <primary><quote>ертөнцийг</quote> дахин бүтээх нь</primary> + <secondary>хугацаа</secondary> + </indexterm> + + <para>Бүтээхэд шаардагдах хугацаанд олон хүчин зүйлс нөлөөлдөг, гэхдээ + нэлээн сүүлийн үеийн машинуудын хувьд &os.stable; модыг процессын явцад ямар нэгэн + заль мэх эсвэл дөт зам ашиглалгүйгээр бүтээхэд зөвхөн нэг юм уу эсвэл хоёр цаг л + шаардагдах болох юм. &os.current; модны хувьд арай удах болов уу.</para> + </sect3> + </sect2> + + <sect2> + <title>Шинэ цөмийг эмхэтгэж суулга</title> + <indexterm> + <primary>цөм</primary> + <secondary>суулгах нь</secondary> + </indexterm> + + <para>Та өөрийн шинэ системийн давуу талыг бүгдийг нь авахын тулд цөмөө дахин эмхэтгэх + хэрэгтэй. Зарим нэг санах ойн бүтцүүд өөрчлөгдсөн байх талтай бөгөөд + &man.ps.1; болон &man.top.1; зэрэг програмууд нь цөм болон эх кодын хувилбарууд + адил болтол ажилладаггүй болохоор эмхэтгэх нь үнэндээ чухал хэрэгцээтэй юм.</para> + + <para>Үүнийг хамгийн хялбараар аюулгүйгээр хийхийн тулд <filename>GENERIC</filename> + дээр тулгуурласан цөмийг бүтээж суулгах явдал юм. <filename>GENERIC</filename> нь + таны системийн хувьд хэрэгцээтэй төхөөрөмжүүдийг агуулаагүй байж болох боловч + таны системийг ядаж ганц хэрэглэгчийн горимд ачаалахад шаардлагатай бүгдийг агуулсан + байх ёстой. Шинэ систем зөв ажиллуулахад энэ сайн тест болж өгдөг. + <filename>GENERIC</filename>-с ачаалж таны систем ажиллаж байгааг шалгасны + дараа та өөрийн ердийн цөмийн тохиргооны файл дээр тулгуурлан шинэ цөмөө бүтээж + болох юм.</para> + + <para>&os; дээр шинэ цөм бүтээхээсээ өмнө <link + linkend="make-buildworld">ертөнцийг бүтээх</link> нь чухал юм.</para> + + <note><para>Хэрэв та өөрчлөн тохируулсан цөмийг бүтээхийг хүсэж тохиргооны файлаа аль + хэдийн үүсгэсэн бол доор дурдсантай адилаар + <literal>KERNCONF=<replaceable>MYKERNEL</replaceable></literal> + гэж ашиглаарай:</para> + + <screen>&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput> +&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> + </note> + + <para>Хэрэв та <literal>kern.securelevel</literal> хувьсагчийг + 1-ээс дээш болгон ихэсгэсэн <emphasis>бөгөөд</emphasis> + <literal>noschg</literal> эсвэл түүнтэй адил тугуудыг өөрийн цөмийн хоёртын + файлд тавьсан бол <maketarget>installkernel</maketarget> хийхийн тулд + та ганц хэрэглэгчийн горимд шилжин орох шаардлагатай байж болох юм. Үгүй бол + та энэ хоёр тушаалыг олон хэрэглэгчийн горимоос ямар ч асуудалгүйгээр + ажиллуулах ёстой. <literal>kern.securelevel</literal>-ийн талаар + дэлгэрэнгүйг &man.init.8; болон төрөл бүрийн файлын тугуудын талаар дэлгэрэнгүйг + &man.chflags.1; гарын авлагын хуудаснуудаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Ганц хэрэглэгчийн горим уруу дахин ачаалан ор</title> + <indexterm><primary>ганц хэрэглэгчийн горим</primary></indexterm> + + <para>Та шинэ цөмийн ажиллагааг шалгахын тулд ганц хэрэглэгчийн горимд дахин + ачаалан орох хэрэгтэй. Үүнийг <xref linkend="makeworld-singleuser"> + дахь заавруудын дагуу хийнэ.</para> + </sect2> + + <sect2 id="make-installworld"> + <title>Шинэ системийн хоёртын файлуудыг суулга</title> + + <para>Хэрэв та <command>make buildworld</command> тушаалыг ашигласан + саяхны &os;-ийн хувилбарыг бүтээж байгаа бол одоо шинэ системийн хоёртын + файлуудыг суулгахын тулд <maketarget>installworld</maketarget> + тушаалыг ашиглах шаардлагатай.</para> + + <para>Доорхийг ажиллуул</para> + + <screen>&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make installworld</userinput></screen> + + <note> + <para>Хэрэв та <command>make buildworld</command> тушаалын мөрөнд + хувьсагчуудыг зааж өгсөн бол тэдгээр хувьсагчуудыг + <command>make installworld</command> тушаалын мөрөнд бас адилаар + зааж өгөх хэрэгтэй. Энэ бусад тохируулгуудын хувьд заавал шаардлагатай биш + байж болох юм; жишээ нь <option>-j</option> тохируулга + <maketarget>installworld</maketarget>-той цуг хэзээ ч хэрэглэгдэх + ёсгүй.</para> + + <para>Жишээ нь хэрэв та доорхийг ажиллуулсан бол:</para> + + <screen>&prompt.root; <userinput>make -DNO_PROFILE buildworld</userinput></screen> + + <para>хоёртын файлуудыг дараах тушаалаар суулгана:</para> + + <screen>&prompt.root; <userinput>make -DNO_PROFILE installworld</userinput></screen> + + <para>ингэхгүй бол <command>make buildworld</command> тушаалын ажиллах + явцад бүтээгдээгүй профиль хийгдсэн сангуудыг (libraries) суулгахыг оролдох болно.</para> + </note> + </sect2> + + <sect2> + <title><command>make installworld</command> тушаалаар шинэчлэгдээгүй файлуудыг шинэчил</title> + + <para>Ертөнцийг дахин бүтээх нь зарим нэг сангуудыг (ялангуяа <filename>/etc</filename>, + <filename>/var</filename> болон <filename>/usr</filename>) шинэ болон + өөрчлөгдсөн тохиргооны файлуудаар шинэчилдэггүй.</para> + + <para>Эдгээр файлуудыг хамгийн амархнаар шинэчлэх арга нь &man.mergemaster.8;-г + ашиглах явдал юм, гэхдээ та хэрэв хүсвэл үүнийг гараар ажиллуулах боломжтой юм. + Аль ч аргыг сонголоо гэсэн ямар нэгэн зүйл буруутсан тохиолдолд сэргээх боломжтойгоор + <filename>/etc</filename>-г нөөцөлж авах нь зүйтэй юм.</para> + + <sect3 id="mergemaster"> + <sect3info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect3info> + <title><command>mergemaster</command></title> + <indexterm><primary><command>mergemaster</command></primary></indexterm> + + <para>&man.mergemaster.8; хэрэгсэл нь <filename>/etc</filename> дэх + таны тохиргооны файлууд болон <filename>/usr/src/etc</filename> эх модон дахь + тохиргооны файлуудын ялгааг тодорхойлоход танд тусалдаг Bourne скрипт юм. + Энэ нь системийн тохиргооны файлуудыг эх модон дахь тохиргооны файлуудаар шинэчлэх + зориулалттай бидний зөвлөдөг шийдэл юм.</para> + + <para>Эхлэхийн тулд өөрийн тушаал оруулах мөрөнд ердөө л <command>mergemaster</command>-г + бичиж түүний эхлэхийг нь хараарай. <command>mergemaster</command> нь түр зуурын + root орчныг <filename>/</filename>-с доошлуулан бүтээж төрөл бүрийн системийн тохиргооны + файлуудаар дамждаг. Тэдгээр файлууд нь таны системд суулгагдсан файлуудтай харьцуулагддаг. + Энэ үед хоорондоо ялгаатай файлууд &man.diff.1; хэлбэрээр үзүүлэгддэг бөгөөд + <option>+</option> тэмдэгтээр нэмэгдсэн эсвэл өөрчлөгдсөн мөрүүдийг + <option>-</option> тэмдэгтээр устгагдсан эсвэл шинэ мөрөөр солигдсон мөрүүдийг + харуулдаг. &man.diff.1;-н синтакс болон файлын өөрчлөлтүүдийг хэрхэн үзүүлдэг талаар + дэлгэрэнгүй мэдээллийг &man.diff.1; гарын авлагын хуудаснаас үзнэ үү.</para> + + <para>&man.mergemaster.8; нь зөрчилдөөнүүдийг үзүүлсэн файл болгоныг харуулдаг бөгөөд + энэ үед танд шинэ файлыг устгах (түр зуурын файл гэгддэг), түр зуурын файлыг өөрчлөлгүйгээр + суулгах, суусан байгаа файлтай түр зуурын файлыг нийлүүлэх эсвэл &man.diff.1;-н + гаралтыг дахин харах сонголтыг үзүүлэх болно.</para> + + <para>Түр зуурын файлыг устгахыг сонгосноор бид одоо байгаа файлаа хэвээр өөрчлөлгүй үлдээж + шинэ хувилбарыг устгахыг хүсэж байгаагаа &man.mergemaster.8;-д хэлж байна гэсэн үг юм. + Хэрэв та одоо байгаа файлаа өөрчлөх шалтгааныг олж харахгүй байгаагаас бусад тохиолдолд + энэ сонголтыг хийхийг зөвлөдөггүй. Та ямар ч үед &man.mergemaster.8; тушаал хүлээх + мөрөн дээр <keycap>?</keycap> гэж бичин тусламж авч болох юм. Хэрэв хэрэглэгч + файлыг орхихоор сонгосон бол энэ нь бусад бүх файлуудтай ажилсны дараа дахин үзүүлэгдэн + хэрэглэгчээс тушаал хүлээх болно.</para> + + <para>Өөрчлөгдөөгүй түр зуурын файлыг суулгахыг сонгосноор одоо байгаа файлыг шинээр + сольдог. Ихэнх өөрчлөгдөөгүй файлуудын хувьд энэ нь хамгийн шилдэг сонголт юм.</para> + + <para>Файлыг нийлүүлэхийг сонгосноор текст засварлагч болон хоёр файлын агуулгыг танд + харуулах болно. Та дэлгэцийн хоёр талд байрласан тэдгээр хоёр файлыг хоюуланг нь + шалган аль аль талаас нь хэрэгтэй хэсгүүдийг сонгон эцсийн бүтээгдэхүүн гаргаж аван + нийлүүлж болно. Файлууд нь дэлгэцийн хоёр талд байрлан харьцуулагдах явцад + <keycap>l</keycap> түлхүүр таны зүүн талын агуулгыг сонгодог бол + <keycap>r</keycap> түлхүүр нь таны баруун тал дахь агуулгыг сонгох юм. + Гарах эцсийн үр дүн нь хоёр файлын хоюулангийн хэсгүүдийг агуулсан файл болох бөгөөд + түүнийг дараа нь суулгах боломжтой болох юм. Энэ сонголтыг хэрэглэгчийн тохиргоонуудад + хийгдсэн өөрчлөлтүүдтэй файлуудын хувьд хэрэглэх нь зуршил болжээ.</para> + + <para>&man.diff.1;-ээс гарах үр дүнг дахин харахыг сонгосноор өмнө нь + &man.mergemaster.8; файлын өөрчлөлтүүдийг харуулан таны сонголтыг хүлээсний + нэгэн адилыг дахин харуулдаг.</para> + + <para>&man.mergemaster.8; системийн файлуудтай ажиллаж дууссаны дараа + танаас бусад сонголтуудыг хийхийг хүлээдэг. &man.mergemaster.8; тушаал + нууц үгийн файлыг дахин бүтээхийг хүсэж байгаа эсэхийг танаас асууж үлдсэн + түр зуурын файлуудыг устгах сонголтыг үзүүлэн дуусдаг.</para> + </sect3> + + <sect3> + <title>Гараар шинэчлэх</title> + + <para>Хэрэв та гараар шинэчлэхийг хүсвэл гэхдээ та <filename>/usr/src/etc</filename> + сангаас <filename>/etc</filename> сан уруу файлуудыг зүгээр л дарж хуулж ажиллуулж + чадахгүй. Зарим файлуудыг эхлээд <quote>суулгах</quote> хэрэгтэй. Учир нь + <filename>/usr/src/etc</filename> сан таны <filename>/etc</filename> + сангийн хуулбар шиг байхаар <emphasis>харагддагүй</emphasis>. Мөн + <filename>/usr/src/etc</filename> санд байдаггүй хэрнээ + <filename>/etc</filename> сан дотор байх шаардлагатай зарим файлууд + байдаг.</para> + + <para>Хэрэв та &man.mergemaster.8; (зөвлөсний дагуу) ашиглаж байвал та + <link linkend="cutting-edge-rebooting">дагаагийн хэсэг</link> уруу + орж болно.</para> + + <para>Үүнийг гараар хамгийн хялбар аргаар хийхийн тулд файлуудыг шинэ сан уруу + суулгаж нэг бүрчлэн өөрчлөлтүүдийг хайн ажиллах хэрэгтэй.</para> + + <warning> + <title>Өөрт байгаа <filename>/etc</filename>-г нөөцөл</title> + + <para>Онолоор бол автоматаар энэ санд юу ч хүрдэггүй ч үүнд үргэлж итгэлтэй + байх хэрэгтэй. Тэгэхээр өөрийн байгаа <filename>/etc</filename> санг + хаа нэг аюулгүй газар хуулах хэрэгтэй. Доорхтой адилаар:</para> + + <screen>&prompt.root; <userinput>cp -Rp /etc /etc.old</userinput></screen> + + <para><option>-R</option> нь рекурсив хуулбар хийх бөгөөд + <option>-p</option> нь файлуудын хугацаа, эзэмшигч гэх мэтийг + хадгалдаг.</para> + </warning> + + <para>Та шинэ <filename>/etc</filename> болон бусад файлуудыг суулгахын тулд + хоосон сангууд бүтээх хэрэгтэй. <filename>/var/tmp/root</filename> нь + боломжийн сонголт болох бөгөөд энэ сангийн доор хэд хэдэн дэд сангууд бас + шаардлагатай болно.</para> + + <screen>&prompt.root; <userinput>mkdir /var/tmp/root</userinput> +&prompt.root; <userinput>cd /usr/src/etc</userinput> +&prompt.root; <userinput>make DESTDIR=/var/tmp/root distrib-dirs distribution</userinput></screen> + + <para>Энэ нь шаардлагатай сангийн бүтцийг бүтээж файлуудыг суулгадаг. + <filename>/var/tmp/root</filename> дотор үүсгэгдсэн олон дэд сангууд + хоосон бөгөөд тэдгээрийг устгах шаардлагатай байдаг. Үүнийг хамгийн хялбараар + хийхийн тулд:</para> + + <screen>&prompt.root; <userinput>cd /var/tmp/root</userinput> +&prompt.root; <userinput>find -d . -type d | xargs rmdir 2>/dev/null</userinput></screen> + + <para>Энэ нь бүх хоосон сангуудыг устгана. (Хоосон биш сангуудын талаарх анхааруулгуудыг + гаргахгүйн тулд стандарт алдаа нь <filename>/dev/null</filename> + уруу илгээгддэг.)</para> + + <para>Одоо <filename>/var/tmp/root</filename> нь <filename>/</filename>-с + доошхи тохирох байрлалуудад байршуулах ёстой бүх файлуудыг агуулсан байх болно. + Та одоо эдгээр файл бүрийг шалгаж танд байгаа файлуудаас хэрхэн ялгаатай болохыг + тогтоох хэрэгтэй.</para> + + <para><filename>/var/tmp/root</filename> дотор суулгагдсан зарим файлуудын нэр + урдаа <quote>.</quote> тэмдэгттэй байдгийг анхаарна уу. Энэ баримтыг бичиж байх үед + ийм файлуудтай адил файлууд <filename>/var/tmp/root/</filename> болон + <filename>/var/tmp/root/root/</filename> сан дахь бүрхүүлийн эхлүүлэх файлууд + байсан, гэхдээ (таны хэзээ үүнийг уншиж байгаагаас хамаарч) өөр бусад файлууд байхыг + үгүйсгэхгүй. Тэдгээрийг олж харахын тулд <command>ls -a</command> тушаалыг + заавал ашиглаарай.</para> + + <para>Үүнийг хамгийн хялбар аргаар хийж хоёр файлыг харьцуулахын тулд &man.diff.1; + тушаалыг ашиглах явдал юм:</para> + + <screen>&prompt.root; <userinput>diff /etc/shells /var/tmp/root/etc/shells</userinput></screen> + + <para>Энэ нь таны <filename>/etc/shells</filename> файл болон + шинэ <filename>/var/tmp/root/etc/shells</filename> файлын хоорондын + ялгааг харуулна. Эдгээрийг ашиглаж өөрийн хийсэн өөрчлөлтүүдийг нийлүүлэх эсвэл + өөрийн хуучин файл дээрээс хуулах эсэхээ шийдээрэй.</para> + + <tip> + <title>Хувилбаруудын Хоорондох Ялгаануудыг Хялбараар Харьцуулахын Тулд Та + Шинэ Root Сангаа Тухайн Үеийн Хугацаагаар Нэрлээрэй</title> + + <para>Ертөнцийг байнга дахин бүтээнэ гэдэг нь <filename>/etc</filename>-г + та бас байнга шинэчлэнэ гэсэн үг бөгөөд энэ нь ердөө л жижиг хэвшмэл ажил юм.</para> + + <para>Та энэ процессийг <filename>/etc</filename> уруу нийлүүлсэн + өөрийн хамгийн сүүлийн өөрчлөгдсөн файлуудыг хадгалснаар хурдасгаж болох юм. + Дараах процедур үүнийг хэрхэн хийж болох нэг санааг өгч байна.</para> + + <procedure> + <step> + <para>Ертөнцийг жирийнээр бүтээ. <filename>/etc</filename> болон + бусад сангуудыг шинэчлэхийг хүсэхдээ тухайн цаг дээр тулгуурласан нэр бүхий + санг өг. Хэрэв та үүнийг 1998 оны 2 сарын 14-нд хийж байгаа бол дараах + байдлаар хийнэ:</para> + + <screen>&prompt.root; <userinput>mkdir /var/tmp/root-19980214</userinput> +&prompt.root; <userinput>cd /usr/src/etc</userinput> +&prompt.root; <userinput>make DESTDIR=/var/tmp/root-19980214 \ + distrib-dirs distribution</userinput></screen> + </step> + + <step> + <para>Энэ сангийн өөрчлөлтүүдийг дээр дурдсаны дагуу нийлүүл.</para> + + <para>Та дууссаныхаа дараа <filename>/var/tmp/root-19980214</filename> + санг <emphasis>битгий</emphasis> устгаарай.</para> + </step> + + <step> + <para>Та эхийн хамгийн сүүлийн хувилбарыг татан авч дахин бүтээхдээ 1-р алхмыг дага. + Энэ нь танд шинэ сан өгөх бөгөөд <filename>/var/tmp/root-19980221</filename> + гэж нэрлэгдсэн байж болох юм (хэрэв та шинэчлэлтүүдийг хийхдээ долоо хоног + хүлээсэн бол).</para> + </step> + + <step> + <para>Та одоо &man.diff.1; ашиглан хоёр сангийн хооронд рекурсив diff үүсгэж + долоо хоногийн хооронд хийгдсэн өөрчлөлтүүдийг харж болно:</para> + + <screen>&prompt.root; <userinput>cd /var/tmp</userinput> +&prompt.root; <userinput>diff -r root-19980214 root-19980221</userinput></screen> + + <para>Ихэнхдээ энэ нь <filename>/var/tmp/root-19980221/etc</filename> болон + <filename>/etc</filename> хоёрын хоорондох өөрчлөлтүүдийг бодох юм бол + харьцангуй бага өөрчлөлтүүд байдаг. Өөрчлөлтүүд нь арай бага болохоор тэдгээр + өөрчлөлтүүдийг өөрийн <filename>/etc</filename> сан уруу шилжүүлэх нь + илүү хялбар байдаг.</para> + </step> + + <step> + <para>Та одоо хоёр <filename>/var/tmp/root-*</filename> сангуудын аль хуучныг + устгаж болно:</para> + + <screen>&prompt.root; <userinput>rm -rf /var/tmp/root-19980214</userinput></screen> + </step> + + <step> + <para><filename>/etc</filename> уруу өөрчлөлтүүдийг + нийлүүлэх болгондоо энэ процессийг давтах хэрэгтэй.</para> + </step> + </procedure> + + <para>Та &man.date.1;-г ашиглан сангийн нэрсийг автоматаар үүсгэж + болно:</para> + + <screen>&prompt.root; <userinput>mkdir /var/tmp/root-`date "+%Y%m%d"`</userinput></screen> + </tip> + </sect3> + </sect2> + + <sect2 id="cutting-edge-rebooting"> + <title>Дахин ачаалах нь</title> + + <para>Та ерөнхийдөө ингээд хийгээд дуусч байна. Та бүх зүйл байх ёстой байрандаа байгаа эсэхийг шалгасныхаа + дараа системийг дахин ачаалж болно. Энгийн &man.shutdown.8; үүнийг + хийх болно:</para> + + <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> + </sect2> + + <sect2> + <title>Дууслаа</title> + + <para>Одоо та өөрийн &os; системийг амжилттайгаар шинэчлээд дууссан байх + ёстой. Баяр хүргэе.</para> + + <para>Хэрэв юмс шал буруугаар эргэвэл системийн тухайн хэсгийг дахин бүтээхэд амархан + байдаг. Жишээ нь хэрэв та шинэчлэлтийн явцад эсвэл <filename>/etc</filename>-г + нийлүүлэх явцад санамсаргүйгээр <filename>/etc/magic</filename> файлыг + устгасан бол &man.file.1; тушаал ажиллахаа болино. Ийм тохиолдолд дараах + засварыг ажиллуулж болох юм:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/usr.bin/file</userinput> +&prompt.root; <userinput>make all install</userinput></screen> + </sect2> + + <sect2> + <title>Асуултууд</title> + + <qandaset> + <qandaentry> + <question> + <para>Өөрчлөлт бүрт зориулан ертөнцийг дахин бүтээх хэрэгтэй юу?</para> + </question> + + <answer> + <para>Үүнд хялбар хариулт байхгүй, учир нь өөрчлөлтийн цаад утга чанараас + хамаарна. Жишээ нь хэрэв та <application>CVSup</application>-г + дөнгөж ажиллуулахад дараах файлууд шинэчлэгдэж байгааг үзүүлж байгаа бол:</para> + + <screen><filename>src/games/cribbage/instr.c</filename> +<filename>src/games/sail/pl_main.c</filename> +<filename>src/release/sysinstall/config.c</filename> +<filename>src/release/sysinstall/media.c</filename> +<filename>src/share/mk/bsd.port.mk</filename></screen> + + <para>магадгүй бүхэл ертөнцийг дахин бүтээх хэрэггүй байж болох юм. + Та тохирох дэд сангууд уруу орж <command>make all install</command> + гэж тушаалыг өгөөд л болох юм. Хэрэв зарим нэг гол чухал зүйл жишээ нь + <filename>src/lib/libc/stdlib</filename> өөрчлөгдсөн бол + та ертөнцийг эсвэл хамгийн багаар бодоход статикаар холбогдсон (statically linked) + түүний тэдгээр хэсгүүдийг дахин бүтээх шаардлагатай болно.</para> + + <para>Эцсийн эцэст энэ нь танаас л хамаарна. Та жишээ нь хоёр долоо хоног тутам + ертөнцийг дахин бүтээж тэр хоёр долоо хоногийн хугацаанд өөрчлөлтүүдийг + хуримтлуулж байгаадаа сэтгэл хангалуун байж болно. Эсвэл та зөвхөн өөрчлөгдсөн + зүйлсүүдийг дахин бүтээхийг хүсэж магадгүй бөгөөд бүх хамаарлуудыг шийднэ + гэдэгтээ итгэлтэй байх хэрэгтэй.</para> + + <para>Тэгээд мэдээж энэ бүхэн таны ямар давтамжтайгаар шинэчлэхийг хүсдэг болон + &os.stable; эсвэл &os.current;-ийн алийг дагаж байгаагаас хамаарах + болно.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Миний эмхэтгэл маш олон дохио 11 (эсвэл бусад дохионы дугаар) + алдаагаар амжилтгүй болсон. Юу болсон юм бол?</para> + </question> + <indexterm><primary>дохио 11</primary></indexterm> + + <answer> + + <para>Энэ нь ихэвчлэн тоног төхөөрөмжийн асуудлыг илэрхийлдэг. + Ертөнцийг (дахин) бүтээх нь өөрийн тоног төхөөрөмжийг ачаалах тест + хийх үр дүнтэй арга бөгөөд удаа дараа санах ойн асуудлууд байвал + тэдгээрийг илрүүлдэг. Эмхэтгэгч нь сонин/хачин дохионуудыг хүлээн авч + ид шидийн байдлаар амжилтгүй болсноор тэдгээр асуудлууд нь өөрсдийгөө + зарлан тунхагладаг.</para> + + <para>Хэрэв та бүтээлтийг дахин эхлүүлээд тэр нь процессийн өөр өөр хэсэгт + амжилтгүй болж байвал энэ нь үүнийг тодоор зааж байна + гэсэн үг юм.</para> + + <para>Энэ тохиолдолд та өөрийн машин дахь бүрэлдэхүүн хэсгүүдээ өөрчлөн + нэгээс нөгөөд сольж тавин аль нь ажиллахгүй байгааг олохоос өөр зүйл + хийж чадахгүй л болов уу.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Би дууссаныхаа дараа <filename>/usr/obj</filename>-г устгаж болох уу?</para> + </question> + + <answer> + <para>Товчхондоо бол болно.</para> + + <para><filename>/usr/obj</filename> нь эмхэтгэх үед бүтээгдсэн бүх + обьект файлуудыг агуулдаг. Жирийн үед <command>make buildworld</command> + процессийн эхний алхмуудын нэг нь энэ санг устгаад цоо шинээр эхлэх явдал + юм. Энэ тохиолдолд <filename>/usr/obj</filename>-г дууссаныхаа + дараа байлгаад байх нь ухаалаг биш бөгөөд үүнийг устгаснаар ихээхэн хэмжээний дискийн зайг + суллах болно (одоогоор 340 MB орчим).</para> + + <para>Гэхдээ хэрэв та юу хийж байгаагаа мэдэж байгаа бол <command>make buildworld</command> + хийхдээ энэ алхмыг алгасаж болно. Энэ нь дараа дараагийн бүтээлтийг илүү хурдасгадаг + бөгөөд учир нь ихэнх эхүүд дахин эмхэтгэх шаардлагагүй байдаг. Үүний сул тал нь + баригдашгүй хамаарлын асуудлууд илэрч таны бүтээлтийг хачин байдлаар амжилтгүй + болгодог. Хэн нэгэн илүү дөтлөх гэснээсээ болоод амжилтгүй болсныг мэдэлгүй өөрийн + бүтээлтийг амжилтгүй болсныг гомдоллосноор &os;-ийн захидлын жагсаалтуудад + хий дэмий шуугианыг удаа дараа үүсгэдэг билээ.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Тасалдсан бүтээлтүүдийг үргэлжлүүлж болох уу?</para> + </question> + + <answer> + <para>Энэ нь асуудлыг олох хүртлээ та хэр хол явснаас хамаарна.</para> + <para><emphasis>Ерөнхийдөө</emphasis> (энэ нь хэцүү бас хурдан дүрэм биш) + <command>make buildworld</command> процесс нь үндсэн + багажуудын (&man.gcc.1;, болон &man.make.1; зэрэг) болон системийн + сангуудын шинэ хуулбаруудыг бүтээдэг. Тэдгээр багажууд болон сангууд нь + дараа нь суулгагддаг. Шинэ багажууд болон сангууд дараа нь + өөрсдийгөө дахин бүтээхэд ашиглагддаг бөгөөд дахин суулгагддаг. Бүхэл бүтэн + систем (одоо &man.ls.1; эсвэл &man.grep.1; зэрэг ердийн хэрэглэгчийн програмууд) + дараа нь шинэ системийн файлуудтайгаар дахин бүтээгддэг.</para> + + <para>Хэрэв та сүүлийн шатанд байгаа бөгөөд та үүнийг мэдэж байгаа бол (та + хадгалж байгаа гаралтаас харсан болохоор) та дараах тушаалыг ажиллуулж + (бараг л аюулгүйгээр) болно:</para> + + <screen><emphasis>… fix the problem …</emphasis> +&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make -DNO_CLEAN all</userinput></screen> + + <para>Энэ нь өмнөх <command>make buildworld</command> тушаалын + хийснийг буцаахгүй.</para> + + <para>Хэрэв та доорх мэдэгдлийг :</para> + + <screen>-------------------------------------------------------------- +Building everything.. +--------------------------------------------------------------</screen> + + <para><command>make buildworld</command> тушаалын гаралт дээр харсан + бол магадгүй тэгж хийх нь аюулгүй байж болох юм.</para> + + <para>Хэрэв та тийм мэдэгдэл харахгүй байгаа бол эсвэл та итгэлтэй биш байгаа бол + харамсахаасаа өмнө аюулгүй байдлыг бодож бүтээлтийг бүр эхнээс нь дахин эхлүүлсэн нь + дээр юм.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Би ертөнцийг бүтээхийг хэрхэн хурдасгах вэ?</para> + </question> + + <answer> + <itemizedlist> + <listitem> + <para>Ганц хэрэглэгчийн горимд ажиллуул.</para> + </listitem> + + <listitem> + <para><filename>/usr/src</filename> болон + <filename>/usr/obj</filename> сангуудыг тус тусдаа байх дискүүд + дээр тус тусдаа байх файлын системүүд дээр байрлуул. Хэрэв боломжтой бол + эдгээр дискүүдийг тус тусад нь дискийн хянагчууд дээр байрлуул.</para> + </listitem> + + <listitem> + <para>&man.ccd.4; (нийлүүлсэн дискийн драйвер) төхөөрөмж ашиглан + эдгээр файлын системүүдийг олон дискүүдийн дагуу байрлуулах нь бас + арай илүү хурдасгах юм.</para> + </listitem> + + <listitem> + <para>Профиль хийгдэхийг (<filename>/etc/make.conf</filename> файлд + <quote>NO_PROFILE=true</quote> гэж зааж өг) болиул. Танд энэ бараг + гарцаагүй хэрэггүй.</para> + </listitem> + + <listitem> + <para><filename>/etc/make.conf</filename> файлд бас + <makevar>CFLAGS</makevar>-г <option>-O -pipe</option> гэдэгтэй + адилаар заа. <option>-O2</option> оновчлол нь илүү удаан байдаг бөгөөд + <option>-O</option> болон <option>-O2</option> оновчлолын + ялгаа ихэвчлэн өчүүхэн байдаг. <option>-pipe</option> нь эмхэтгэгчид + холбооны зориулалтаар түр зуурын файлуудыг биш хоолойнуудыг ашиглахыг + зөвшөөрдөг бөгөөд энэ нь дискэнд хандах хандалтыг (санах ойг илүүтэй хэрэглэж) + багасгадаг.</para> + </listitem> + + <listitem> + <para><option>-j<replaceable>n</replaceable></option> тохируулгыг + &man.make.1;-д дамжуулж олон процессийг зэрэгцээгээр ажиллуул. Энэ нь + танд ганц эсвэл олон процессортой машин аль нь ч байсан ялгаагүйгээр ихэвчлэн тусалдаг.</para> + </listitem> + + <listitem><para><filename>/usr/src</filename>-г агуулж байгаа файлын + систем <option>noatime</option> тохируулгаар холболт хийгдэж (эсвэл салгагдаж) + болно. Энэ нь файлын систем файл уруу хандах хандалтын хугацааг бүртгэхийг + болиулдаг. Танд магадгүй энэ мэдээлэл бараг л хэрэггүй биз ээ.</para> + + <screen>&prompt.root; <userinput>mount -u -o noatime /usr/src</userinput></screen> + + <warning> + <para>Энэ жишээ <filename>/usr/src</filename> нь өөрийн файлын + систем дээр байгаа гэж тооцож байгаа болно. Хэрэв энэ нь тийм биш бол + (хэрэв энэ сан жишээ нь <filename>/usr</filename>-ийн хэсэг маягаар + байгаа бол) та <filename>/usr/src</filename>-г биш харин тэр + файлын системээ холболтын цэг болгон ашиглах хэрэгтэй.</para> + </warning> + </listitem> + + <listitem> + <para><filename>/usr/obj</filename>-г агуулж байгаа файлын систем + <option>async</option> тохируулгатай холболт хийгдэж (эсвэл салгагдаж) + болно. Энэ нь диск уруу хийх бичилтийг асинхроноор буюу зэрэг биш хийлгэдэг. + Өөрөөр хэлбэл бичилт нэн даруй хийгдээд өгөгдөл диск уруу цөөн секундын дараа + бичигддэг. Энэ нь бичилтүүдийг бүлэглэхийг зөвшөөрч маш их үр дүнтэйгээр + ажиллагааг хурдасгаж болох юм.</para> + + <warning> + <para>Энэ тохируулга нь таны файлын системийг илүү + эмзэг болгохыг санаарай. Тэжээл тасалдаж машин дахин ачаалах үед + файлын систем сэргээж болшгүй төлөвт орох магадлал энэ тохируулгатай + байхад илүү байдаг.</para> + + <para>Хэрэв <filename>/usr/obj</filename> нь энэ файлын систем + дээрх цорын ганц зүйл бол энэ асуудал биш юм. Хэрэв танд уг файлын + систем дээр өөр, үнэтэй өгөгдөл байгаа бол энэ тохируулгыг + идэвхжүүлэхээсээ өмнө өөрийн нөөц чинь шинэ эсэхийг шалгаарай.</para> + </warning> + + <screen>&prompt.root; <userinput>mount -u -o async /usr/obj</userinput></screen> + + <warning> + <para>Дээр дурдсан шиг хэрэв <filename>/usr/obj</filename> нь + өөрийн файлын систем дээр биш байх юм бол жишээн дээрхийг + тохирох холболт хийх цэгийн нэрээр солиорой.</para> + </warning> + </listitem> + </itemizedlist> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Хэрэв ямар нэг юм буруутвал би юу хийх вэ?</para> + </question> + + <answer> + <para>Таны орчинд өмнөх бүтээлтүүдийн үеийн илүү үлдэгдлүүд + байхгүйд үнэхээр итгэлтэй байх хэрэгтэй. Энэ нь их амархан + юм.</para> + + <screen>&prompt.root; <userinput>chflags -R noschg /usr/obj/usr</userinput> +&prompt.root; <userinput>rm -rf /usr/obj/usr</userinput> +&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make cleandir</userinput> +&prompt.root; <userinput>make cleandir</userinput></screen> + + <para>Тиймээ, <command>make cleandir</command> тушаалыг үнэндээ + хоёр удаа ажиллуулах шаардлагатай.</para> + + <para>Тэгээд <command>make buildworld</command> + тушаалыг эхлүүлж бүх процессийг дахин эхлүүл.</para> + + <para>Хэрэв та асуудалтай хэвээр байгаа бол алдаа болон + <command>uname -a</command> тушаалын дүнг &a.questions; + уруу явуулаарай. Өөрийн тохиргооныхоо талаар бусад асуултанд + хариулахад бэлэн байгаарай!</para> + </answer> + </qandaentry> + </qandaset> + </sect2> + </sect1> + + <sect1 id="small-lan"> + <sect1info> + <authorgroup> + <author> + <firstname>Майк</firstname> + <surname>Мэйэр</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Олон машины хувьд дагах нь</title> + <indexterm> + <primary>NFS</primary> + <secondary>олон машин суулгах нь</secondary> + </indexterm> + + <para>Хэрэв та олон машинуудын хувьд ижил эх модыг дагахыг хүсэж бүгдийн хувьд + эхийг татан авахуулж бүгдийг дахин бүтээхийг хүсэж байгаа бол энэ нь дискийн зай, + сүлжээний зурвасын өргөн болон + CPU циклүүд зэрэг эх үүсвэрүүдийг үр ашиггүйгээр ашиглахад хүргэхээр санагдаж + болох юм. Тиймээ, үүний шийдэл нь нэг машинаар ихэнх ажлыг хийлгэж + бусад машинууд нь тэр ажлыг NFS-ээр дамжуулан холбох явдал юм. Энэ хэсэгт + ингэж хийх аргыг тайлбарсан.</para> + + <sect2 id="small-lan-preliminaries"> + <title>Бэлтгэл ажлууд</title> + + <para>Эхлээд хоёртын адил файлуудыг ажиллуулах <emphasis>build set буюу + бүтээх олонлог</emphasis> гэж бидний нэрлэх машинуудыг олох хэрэгтэй. + Машин бүр өөрчлөн тохируулсан цөмтэй байж болох бөгөөд гэхдээ тэд ижил хэрэглэгчийн + талбарын хоёртын файлуудыг ажиллуулж байх ёстой. Тэр олонлогоос + <emphasis>бүтээх машин</emphasis>ыг сонгох хэрэгтэй. Энэ нь + ертөнц болон цөм бүтээгдэх машин байх юм. Туйлын хүслээр бол энэ + нь <command>make buildworld</command> болон + <command>make buildkernel</command> тушаалуудыг ажиллуулахад + хангалттай нөөц CPU бүхий хурдан машин байх хэрэгтэй. Та мөн + үйлдвэрлэлд ашиглахаас өмнө програм хангамжуудыг тест хийдэг + <emphasis>тест машин</emphasis> сонгохыг бас хүсэж болох юм. + Энэ нь удаан хугацаагаар унтраастай эсвэл зогссон байж болох машин <emphasis>байх + ёстой</emphasis>. Энэ нь бүтээх машин байж болох юм, гэхдээ заавал + биш юм.</para> + + <para>Энэ бүтээх олонлог дахь бүх машинууд нь өөр өөрийн машин дээрээсээ ижил цэг дээр + <filename>/usr/obj</filename> болон <filename>/usr/src</filename>-г + холболт хийх хэрэгтэй. Туйлын хүслээр бол энэ нь бүтээх машин дээрх хоёр өөр дискүүд + байж болох бөгөөд гэхдээ эдгээр нь уг машин дээр NFS холболт бас хийгдэж болохоор + байж болох юм. Хэрэв танд олон бүтээх олонлогууд байгаа бол + <filename>/usr/src</filename> сан нь нэг бүтээх машин дээр байрлаж + бусад дээр нь NFS холболт хийгдсэн байх юм.</para> + + <para>Төгсгөлд нь бүтээх олонлогийн бүх машинууд дээрх <filename>/etc/make.conf</filename> + файл бүтээх машиныхтай тохирч байгаа эсэхийг шалгаарай. Энэ нь бүтээх олонлогийн + машин бүрийн суулгах үндсэн системийн бүх хэсгүүдийг бүтээх машин хийх ёстой гэсэн + үг юм. Мөн бүтээх машин бүр өөрийн цөмийн нэрийг <filename>/etc/make.conf</filename> + файлд <makevar>KERNCONF</makevar> хувьсагчид заан өгөх ёстой бөгөөд бүтээх + машин бүр <makevar>KERNCONF</makevar> хувьсагчдаа өөрийн цөмийг эхэнд + оруулан дараа нь тэдгээрийг жагсаах ёстой байдаг. Бүтээх машин нь машин бүрийн + цөмийг бүтээхээр болох юм бол тэдгээрийн тохиргооны файлыг + <filename>/usr/src/sys/<replaceable>arch</replaceable>/conf</filename> + санд агуулсан байх шаардлагатай.</para> + </sect2> + + <sect2> + <title>Үндсэн систем</title> + + <para>Одоо бүх юм ингэж хийгдсэний дараа та бүгдийг бүтээхэд бэлэн боллоо. + Бүтээх машин дээр <xref linkend="make-buildworld">-д тайлбарласны + дагуу цөм болон ертөнцийг бүтээ, гэхдээ юуг ч битгий суулгаарай. Бүтээлт + дууссаны дараа тест машин дээр дөнгөж саяхан бүтээсэн цөмөө суулга. + Хэрэв энэ машин нь <filename>/usr/src</filename> + болон <filename>/usr/obj</filename> сангуудыг NFS-ээр холболт хийх + гэж байгаа бол та ганц хэрэглэгчийн горимд дахин ачаалахдаа сүлжээг нээж + тэдгээрийг холбож өгөх хэрэгтэй. Үүнийг хамгийн хялбараар хийхийн тулд + олон хэрэглэгчийн горимд ачаалан <command>shutdown now</command> + тушаалыг ажиллуулж ганц хэрэглэгчийн горимд орох явдал юм. Тэгэж орсныхоо + дараа та шинэ цөм болон ертөнцийг суулгаж жирийн үедээ хийдэг + <command>mergemaster</command> тушаалыг ажиллуулж болно. + Ингэж дууссаныхаа дараа энэ машины хувьд ердийн олон хэрэглэгчийн + үйлдлүүдэд дахин ачаалж орно.</para> + + <para>Тест машин дээрх бүх зүйлс зөв ажиллаж байгааг мэдсэнийхээ дараа та + бүтээх олонлогийн бусад машин бүр дээр шинэ програм хангамж суулгахдаа + ижил процедурыг ашиглаарай.</para> + </sect2> + + <sect2> + <title>Портууд</title> + + <para>Үүнтэй адил санааг бас портуудын модонд ашиглаж болно. Эхний чухал + алхам бол нөгөө машин дээрх <filename>/usr/ports</filename> санг + бүтээх олонлогийн бусад машинууд дээр холбож өгөх явдал юм. Дараа нь та + <filename>/etc/make.conf</filename> файлыг distfiles + буюу түгээлтийн файлуудыг хуваалцахаар зөв тохируулж өгч болно. + Та <makevar>DISTDIR</makevar> хувьсагчийг таны NFS холболтуудад заагдсан + аль ч <username>root</username> хэрэглэгчийн хувьд бичигдэх боломжтой байх + нийтлэг хуваалцсан сангаар тохируулах шаардлагатай. + Машин бүр <makevar>WRKDIRPREFIX</makevar> хувьсагчийг локал + бүтээх сангаар зааж өгөх хэрэгтэй. Эцэст нь хэрэв та багцуудыг бүтээж түгээх + гэж байгаа бол <makevar>PACKAGES</makevar> хувьсагчийг + <makevar>DISTDIR</makevar> хувьсагчийн нэгэн адил сангаар зааж өгөх + хэрэгтэй.</para> + </sect2> + </sect1> +</chapter> +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + diff --git a/mn_MN.UTF-8/books/handbook/desktop/Makefile b/mn_MN.UTF-8/books/handbook/desktop/Makefile new file mode 100644 index 0000000000..aa13669205 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/desktop/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= desktop/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml b/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml new file mode 100644 index 0000000000..5e49d0a868 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml @@ -0,0 +1,1080 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.71 + + $FreeBSD$ +--> + +<chapter id="desktop"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Кристоф</firstname> + <surname>Жунье</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Ширээний програмууд</title> + + <sect1 id="desktop-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>FreeBSD нь текст боловсруулагч програмууд болон хөтөчүүд зэрэг + ширээний төрөл бүрийн хэрэглээний програмуудыг ажиллуулж чаддаг. + Эдгээр програмуудын ихэнхи нь багц хэлбэрээр юм уу эсвэл портуудын + цуглуулгаас автоматаар бүтээгдэж болно. Шинэ хэрэглэгчдийн олонхи нь эдгээр + хэрэглээний програмуудыг өөрийн компьютер дээр суулгахыг хүсдэг. Энэ бүлэгт + зарим нэг түгээмэл хэрэглэгддэг ширээний програмуудыг портуудын цуглуулга болон + тэдгээрийн багцуудаас хүндрэлгүйгээр суулгах талаар зааварлах болно.</para> + + <para>Портуудаас програмуудыг суулгахад тэдгээрийг эхээс эмхэтгэдэг гэдгийг + анхаарна уу. Энэ нь таны машины (машинуудын) процесс хийх хүч болон + юу эмхэтгэж байгаагаас хамаарч их удаан ажиллаж болох юм. Эхээс бүтээх + нь саад болмоор их хугацаа шаардаж байвал та портын цуглуулгад байгаа + ихэнх програмуудыг урьдчилан бүтээсэн багцуудаас суулгаж болно.</para> + + <para>FreeBSD нь Линуксийн хоёртын хэлбэртэй нийцтэй ажиллах боломжийг хангадаг + учраас Линукст эхлэн хөгжүүлэгдсэн олон програмуудыг ашиглах боломжтой байдаг. + Линуксийн ямар ч хэрэглээний програмыг суулгахаасаа өмнө <xref linkend="linuxemu">-ийг + уншихийг зөвлөж байна. Линуксийн хоёртын хэлбэртэй нийцтэй байдлыг + ашиглаж байгаа ихэнхи портуудын нэр <quote>linux-</quote> гэж эхэлсэн байгаа. + Жишээ нь &man.whereis.1; тушаалын тусламжтайгаар ямар нэг портыг хайж байхдаа + үүнийг санаарай. Нийтлэлийн энэ хэсгээс цааш ямар нэг Линуксийн хэрэглээний програмуудыг + суулгахын өмнө таныг Линуксийн хоёртын хэлбэртэй нийцтэй байдлыг идэвхжүүлсэн байгаа + гэж тооцох болно.</para> + + <para>Энэ бүлэгт доорхи хэсгүүдийн тухай ярих болно:</para> + + <itemizedlist> + <listitem> + <para>Хөтөчүүд (<application>Mozilla</application>, + <application>Opera</application>, + <application>Firefox</application>, + <application>Konqueror</application> зэрэг)</para> + </listitem> + + <listitem> + <para>Бүтээмж ( + <application>KOffice</application>, + <application>AbiWord</application>, + <application>The GIMP</application>, + <application>OpenOffice.org</application> зэрэг)</para> + </listitem> + + <listitem> + <para>Бичиг баримт үзүүлэгчид (<application>&acrobat.reader;</application>, + <application>gv</application>, + <application>Xpdf</application>, + <application>GQview</application> зэрэг)</para> + </listitem> + + <listitem> + <para>Санхүү ( + <application>GnuCash</application>, + <application>Gnumeric</application>, + <application>Abacus</application> зэрэг)</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>Гуравдагч талуудын нэмэлт програмуудыг хэрхэн суулгах талаар мэдэх + (<xref linkend="ports">).</para> + </listitem> + + <listitem> + <para>Линуксийн нэмэлт програм хангамжуудыг хэрхэн суулгах талаар мэдэх + (<xref linkend="linuxemu">).</para> + </listitem> + </itemizedlist> + + <para>Мультимедиа орчны тохиргооны талаарх мэдээллийг <xref linkend="multimedia">-с + уншина уу. Хэрэв та цахим захидал тохируулж ашиглахыг хүсвэл + <xref linkend="mail">-т хандана уу.</para> + </sect1> + + <sect1 id="desktop-browsers"> + <title>Хөтөчүүд</title> + + <indexterm> + <primary>хөтөчүүд</primary> + <secondary>вэб</secondary> + </indexterm> + + <para>FreeBSD нь тодорхой хөтөч урьдчилан суулгагдсан байдаггүй. Харин + портын цуглуулгын + <ulink url="http://www.FreeBSD.org/ports/www.html">www</ulink> + сан суулгахад бэлэн олон хөтөчүүдийг агуулдаг. Танд бүгдийг эмхэтгэх хугацаа + байхгүй бол (энэ нь зарим тохиолдолд маш их хугацаа шаардаж болно) тэдгээрийн + олонхи нь багц хэлбэрээр байдаг.</para> + + <para><application>KDE</application> болон + <application>GNOME</application> нь HTML хөтөчүүдээр хангадаг. + Эдгээр бүрэн гүйцэд ширээний програмуудыг хэрхэн суулгаж тохируулах + талаар дэлгэрэнгүй мэдээллийг <xref linkend="x11-wm">-с лавлана уу.</para> + + <para>Хэрэв та хөнгөн чанарын хөтөчүүдийг хайж байгаа бол портын + цуглуулгаас <filename role="package">www/dillo</filename>, + <filename role="package">www/links</filename>, эсвэл + <filename role="package">www/w3m</filename> зэргүүдийг + судалж үзэх хэрэгтэй.</para> + + <para>Энэ хэсэг эдгээр програмуудыг авч үзэх болно:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Програмын нэр</entry> + <entry>Шаардлагатай эх үүсвэрүүд</entry> + <entry>Портоос суулгах</entry> + <entry>Гол хамаарлууд</entry> + </row> + </thead> + + <tbody> + <row> + <entry><application>Mozilla</application></entry> + <entry>их</entry> + <entry>хүнд</entry> + <entry><application>Gtk+</application></entry> + </row> + + <row> + <entry><application>Opera</application></entry> + <entry>бага</entry> + <entry>хөнгөн</entry> + <entry>FreeBSD болон Линуксийн хувилбарууд байдаг. Линуксийн + хувилбар нь Линуксийн хоёртын нийцтэй байдал болон + <application>linux-openmotif</application>-с хамаардаг.</entry> + </row> + + <row> + <entry><application>Firefox</application></entry> + <entry>дунд зэрэг</entry> + <entry>хүнд</entry> + <entry><application>Gtk+</application></entry> + </row> + + <row> + <entry><application>Konqueror</application></entry> + <entry>дунд зэрэг</entry> + <entry>хүнд</entry> + <entry><application>KDE</application> сангууд</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <sect2> + <title>Mozilla</title> + <indexterm> + <primary><application>Mozilla</application></primary> + </indexterm> + + <para><application>Mozilla</application> нь FreeBSD уруу бүрэн хөрвүүлэгдсэн, + орчин үеийн, тогтвортой хөтөч юм. Энэ нь стандартад маш нийцсэн HTML үзүүлэх + хөдөлгүүрийн боломжтой байдаг. Мөн захидал болон мэдээний уншигчтай байдаг. + Энэ нь бүр HTML зохиогчтой байдаг бөгөөд таныг вэб хуудас өөрөө бичих төлөвлөгөөтэй байгаа + тохиолдолд хэрэг болж болох юм. <application>&netscape;</application>-ийн + хэрэглэгчид <application>Communicator</application> цуглуулгатай адил болохыг олж + харах болно. Учир нь хоёр хөтөч хоюулаа ижил үндсийг хуваалцдаг болохоор тэр юм.</para> + + <para>233MHz-с бага CPU хурдтай эсвэл 64MB-аас бага RAM-тай удаан машинууд дээр + <application>Mozilla</application> нь бүрэн гүйцэд ашиглагддаг байхын + тулд хэтэрхий их нөөц шаардаж болох юм. Оронд нь энэ бүлгийн хойхно тайлбарласан + <application>Opera</application> хөтөчийг та харин үзэж болох юм.</para> + + <para>Хэрэв та <application>Mozilla</application>-г эмхэтгэж чадахгүй + юм уу эсвэл ерөөсөө эмхэтгэхийг хүсэхгүй байгаа бол FreeBSD GNOME баг танд + зориулаад үүнийг хийчихсэн байдаг. Ердөө л дараах тушаалаар сүлжээнээс багцыг + суулгана:</para> + + <screen>&prompt.root; <userinput>pkg_add -r mozilla</userinput></screen> + + <para>Хэрэв багц байхгүй бөгөөд танд хангалттай хугацаа болон дискийн зай байгаа + бол <application>Mozilla</application>-ийн эхийг авч, эмхэтгэн, өөрийн + систем дээр суулгаж болно. Үүнийг дараах тушаалуудаар хийж болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/www/mozilla</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para><application>Mozilla</application> порт нь <username>root</username> + зөвшөөрлүүдээр хром бүртгэлийн тохируулгыг ажиллуулан зөв эхэлж байгааг + баталгаажуулдаг. Гэхдээ, хэрэв та хулганын дохионууд зэрэг нэмэлт зүйлсийг + татаж авахыг хүсэж байгаа бол тэдгээрийг зөв суулгахын тулд <username>root</username> + эрхээр <application>Mozilla</application>-г ажиллуулах ёстой.</para> + + <para><application>Mozilla</application>-ийн суулгацыг дууссаны + дараа та дахиж <username>root</username> хэрэглэгч болох шаардлагагүй. + Та дараахийг бичин <application>Mozilla</application>-г хөтөч хэлбэрээр + эхлүүлж болно:</para> + + <screen>&prompt.user; <userinput>mozilla</userinput></screen> + + <para>Доор үзүүлсэн шиг та үүнийг захидал болон мэдээ уншигч маягаар шууд + эхлүүлж болно:</para> + + <screen>&prompt.user; <userinput>mozilla -mail</userinput></screen> + </sect2> + + <sect2> + <title>Firefox</title> + <indexterm> + <primary><application>Firefox</application></primary> + </indexterm> + + <para><application>Firefox</application> нь <application>Mozilla</application>-ийн + код дээр суурилсан дараагийн үеийн хөтөч юм. <application>Mozilla</application> нь + хөтөч, захидлын клиент, чалчих клиент зэрэг олон програмуудыг багтаасан + бүрэн гүйцэд програмуудын цуглуулга юм. <application>Firefox</application> нь + зөвхөн хөтөч бөгөөд энэ нь түүнийг илүү жижиг, хурдан болгодог байна.</para> + + <para>Дараахийг бичин багцыг суулгана:</para> + + <screen>&prompt.root; <userinput>pkg_add -r firefox</userinput></screen> + + <para>Эх кодоос эмхэтгэхийг та илүүд үзэж байгаа бол портын цуглуулгыг + бас ашиглаж болох юм:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/www/firefox</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + + <sect2 id="moz-java-plugin"> + <title>Firefox, Mozilla болон &java; залгаас (plugin)</title> + + <note> + <para>Энэ хэсэгт болон дараагийнхад бид таныг <application>Firefox</application> + юм уу эсвэл <application>Mozilla</application>-г аль хэдийн суулгасан + гэж тооцох болно.</para> + </note> + + <para>&os; Сан нь Sun Microsystems компанитай Java Runtime Environment + (&jre;) буюу Жавагийн Ажиллах үеийн орчин болон Java Development Kit (&jdk;) + буюу Жавагийн Хөгжүүлэх хэрэгслийн хоёртын файлуудыг түгээх лицензтэй байдаг. + &os;-д зориулсан хоёртын багцууд нь <ulink + url="http://www.freebsdfoundation.org/downloads/java.shtml">&os; + Сан</ulink> вэб сайтад байдаг.</para> + + <para><application>Firefox</application> эсвэл + <application>Mozilla</application>-д &java; дэмжлэгийг нэмэхийн + тулд та эхлээд <filename + role="package">java/javavmwrapper</filename> портыг суулгах + хэрэгтэй. Дараа нь <ulink + url="http://www.freebsdfoundation.org/downloads/java.shtml"></ulink> + хаягаас <application>Diablo &jre;</application> багцыг татан авч + &man.pkg.add.1; тушаалаар суулгах хэрэгтэй.</para> + + <para>Өөрийн хөтөчийг эхлүүлж байрлал оруулдаг + мөрөнд <literal>about:plugins</literal> гэж бичин <keycap>Enter</keycap> + дарна. Суулгагдсан залгаасуудын талаар хуудас үзүүлэгдэх бөгөөд + <application>&java;</application> залгаас тэнд одоо байх ёстой. + Хэрэв тийм биш бол <username>root</username> хэрэглэгчээр + дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>ln -s /usr/local/diablo-jre1.5.0/plugin/i386/ns7/libjavaplugin_oji.so \ + /usr/local/lib/browser_plugins/</userinput></screen> + + <para>дараа нь өөрийн хөтөчийг дахин дуудна.</para> + </sect2> + + <sect2 id="moz-flash-plugin"> + + <title>Firefox, Mozilla болон ¯omedia; &flash; залгаас (plugin)</title> + + <para>¯omedia; &flash; залгаас нь &os;-д байдаггүй. Гэхдээ + залгаасын Линукс хувилбарыг ажиллуулах програм хангамжийн давхарга (гүйцэтгэл хялбаршуулагч) + байдаг. Энэ хялбаршуулагч нь бас &adobe; &acrobat; залгаас, RealPlayer + залгаас болон өөр олныг дэмждэг.</para> + + <para><filename role="package">www/linuxpluginwrapper</filename> портыг + суулгана. Энэ порт нь <filename role="package">emulators/linux_base</filename>-г + шаарддаг бөгөөд энэ нь их том порт юм. Портын харуулсан заавруудыг дагаж өөрийн + <filename>/etc/libmap.conf</filename> файлыг зөвөөр тохируулах хэрэгтэй! + Жишээ тохиргоонууд + <filename>/usr/local/share/examples/linuxpluginwrapper/</filename> + санд суусан байдаг.</para> + + <para>Дараагийн алхам бол <filename + role="package">www/linux-flashplugin7</filename> портыг суулгах + явдал юм. Залгаас суулгагдсаны дараа өөрийн хөтөчийг эхлүүлж байрлал оруулдаг + мөрөнд <literal>about:plugins</literal> гэж бичин <keycap>Enter</keycap> + дарна. Байгаа бүх залгаасуудтай жагсаалт гарч ирэх ёстой.</para> + + <para>Хэрэв &flash; залгаас байхгүй байгаа бол энэ нь ихэнхдээ симболын холбоос + байхгүйгээс болдог. <username>root</username> хэрэглэгчээр дараах + тушаалуудыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>ln -s /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so \ + /usr/local/lib/browser_plugins/</userinput> +&prompt.root; <userinput>ln -s /usr/local/lib/npapi/linux-flashplugin/flashplayer.xpt \ + /usr/local/lib/browser_plugins/</userinput></screen> + + <para>Хэрэв та хөтөчөө дахин эхлүүлбэл залгаас одоо өмнө дурдсан жагсаалтад + гарч ирэх ёстой.</para> + + <note> + <para><application>linuxpluginwrapper</application> нь зөвхөн + &i386; системийн архитектур дээр ажилладаг.</para> + </note> + + </sect2> + + <sect2> + <title>Opera</title> + <indexterm> + <primary><application>Opera</application></primary> + </indexterm> + + <para><application>Opera</application> нь өргөн боломжуудтай + стандартад нийцсэн хөтөч юм. Энэ нь өөртөө бүтээгдсэн захидал болон + мэдээ уншигч, IRC клиент, RSS/Atom уншигч болон өөр олон + боломжуудыг агуулдаг. Эдгээрээс гадна <application>Opera</application> + нь харьцангуй хөнгөн бөгөөд маш хурдан юм. Энэ нь хоёр хэлбэрээр + байдаг нь: <quote>эх</quote> FreeBSD хувилбар болон Линуксийн + эмуляц дээр ажилладаг хувилбар юм.</para> + + <para><application>Opera</application>-ийн FreeBSD хувилбараар + вэб үзэхийн тулд багцыг суулгана:</para> + + <screen>&prompt.root; <userinput>pkg_add -r opera</userinput></screen> + + <para>Зарим нэг FTP сайтуудад бүх багцууд байдаггүй боловч портын цуглуулгыг + ашиглан дараахийг бичин үүнтэй ижил үр дүнд хүрч болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/www/opera</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para><application>Opera</application>-ийн Линукс хувилбарыг суулгахын + тулд дээрх жишээний <literal>opera</literal> гэсний оронд + <literal>linux-opera</literal> гэж солих хэрэгтэй. + <application>Adobe + &acrobat.reader;</application> зэрэг зөвхөн Линукст байдаг + залгаасуудын хэрэглээг шаардах тохиолдолд Линуксийн хувилбар нь ашигтай байдаг. + Бусад талаараа FreeBSD болон Линуксийн хувилбарууд нь ажиллагааны хувьд + адилхан байдаг.</para> + + </sect2> + + <sect2> + <title>Konqueror</title> + <indexterm> + <primary><application>Konqueror</application></primary> + </indexterm> + + <para><application>Konqueror</application> нь + <application>KDE</application>-ийн нэг хэсэг боловч үүнийг + <application>KDE</application>-ийн гадна талд + <filename role="package">x11/kdebase3</filename>-ийг суулган + бас ашиглаж болох юм. <application>Konqueror</application> + ердийн нэг хөтөчөөс илүү бөгөөд файлын менежер болон мультимедиа + үзүүлэгч болж чаддаг.</para> + + <para><application>Konqueror</application> нь бас залгаасуудын олонлогтой + ирдэг бөгөөд эдгээрийг <filename role="package">misc/konq-plugins</filename> + сангаас суулгах боломжтой байдаг.</para> + + <para><application>Konqueror</application> бас <application>&flash;</application>-г + дэмждэг бөгөөд Хэрхэн хийх заавар нь <ulink url="http://freebsd.kde.org/howto.php"></ulink> + хаягт байдаг.</para> + </sect2> + </sect1> + + <sect1 id="desktop-productivity"> + <title>Бүтээмж</title> + + <para>Бүтээмжтэй холбоотой болоод ирэхээрээ, шинэ хэрэглэгчид ихэвчлэн + сайн оффисийн цуглуулга эсвэл нөхөрсөг текст боловсруулагчийг хайдаг. + <application>KDE</application> зэрэг зарим + <link linkend="x11-wm">ширээний орчнууд</link> нь хэдийгээр + оффисийн цуглуулгатай байдаг боловч анхдагч програм байдаггүй билээ. + FreeBSD нь таны ширээний орчноос хамааралгүйгээр хэрэгтэй бүгдийг хангадаг.</para> + + <para>Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Програмын нэр</entry> + <entry>Шаардлагатай эх үүсвэрүүд</entry> + <entry>Портоос суулгах</entry> + <entry>Гол хамаарлууд</entry> + </row> + </thead> + + <tbody> + <row> + <entry><application>KOffice</application></entry> + <entry>бага</entry> + <entry>хүнд</entry> + <entry><application>KDE</application></entry> + </row> + + <row> + <entry><application>AbiWord</application></entry> + <entry>бага</entry> + <entry>хөнгөн</entry> + <entry><application>Gtk+</application> эсвэл <application>GNOME</application></entry> + </row> + + <row> + <entry><application>Gimp</application></entry> + <entry>бага</entry> + <entry>хүнд</entry> + <entry><application>Gtk+</application></entry> + </row> + + <row> + <entry><application>OpenOffice.org</application></entry> + <entry>их</entry> + <entry>асар их</entry> + <entry><application>&jdk; 1.4</application>, <application>Mozilla</application></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <sect2> + <title>KOffice</title> + <indexterm> + <primary><application>KOffice</application></primary> + </indexterm> + <indexterm> + <primary>оффисийн цуглуулга</primary> + <secondary><application>KOffice</application></secondary> + </indexterm> + + <para>KDE-ийн хүрээнийхэн <application>KDE</application>-ээс + гадна ашиглагдаж болох оффисийн цуглуулгатай өөрийн ширээний орчинг + өгдөг. Энэ нь бусад оффисийн цуглуулгад байдаг дөрвөн стандарт + бүрэлдэхүүнийг агуулдаг. <application>KWord</application> нь + текст боловсруулагч, <application>KSpread</application> нь + хүснэгттэй ажилладаг програм, <application>KPresenter</application> нь + танилцуулгуудыг удирддаг бөгөөд <application>Kontour</application> + нь график баримтуудыг зурахыг зөвшөөрнө.</para> + + <para>Хамгийн сүүлчийн <application>KOffice</application>-г суулгахаасаа + өмнө та <application>KDE</application>-ийн хамгийн шинэчлэгдсэн хувилбартай + эсэхээ шалгаарай.</para> + + <para><application>KOffice</application>-ийг багц хэлбэрээр суулгахын тулд + дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>pkg_add -r koffice</userinput></screen> + + <para>Хэрэв багц байхгүй бол та портын цуглуулгыг ашиглаж болно. Жишээ нь + <application>KDE3</application>-д зориулж <application>KOffice</application>-г + суулгахын тулд дараахийг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/koffice-kde3</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + + <sect2> + <title>AbiWord</title> + <indexterm> + <primary><application>AbiWord</application></primary> + </indexterm> + + <para><application>AbiWord</application> нь + <application>µsoft; Word</application>-той төстэй харагдаж, санагддаг, + чөлөөтэй, текст боловсруулагч програм юм. Энэ нь бичиг, захидал, тайлан, + сануулга гэх зэргүүдийг бичихэд тохиромжтой юм. Энэ нь маш хурднаас гадна + олон боломжуудыг агуулдаг бөгөөд хэрэглэгчид маш хялбар байдаг.</para> + + <para><application>AbiWord</application> нь Microsoft <filename>.doc</filename> + зэрэг арилжааныхыг оруулаад олон файлын хэлбэршилтүүдийг импорт болон + экспорт хийж чаддаг.</para> + + <para><application>AbiWord</application> нь багц хэлбэрээр байдаг. + Та дараах тушаалыг ажиллуулан үүнийг суулгаж болно:</para> + + <screen>&prompt.root; <userinput>pkg_add -r abiword</userinput></screen> + + <para>Хэрэв багц байхгүй бол үүнийг портын цуглуулгаас эмхэтгэж болно. Портын + цуглуулга шинэчлэгдсэн байх ёстой. Үүнийг ингэж хийж болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/abiword</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + + <sect2> + <title>GIMP</title> + <indexterm> + <primary><application>GIMP</application></primary> + </indexterm> + + <para>Зургийг зохиох эсвэл дүрс тодруулах тохиолдолд + <application>GIMP</application> нь маш нарийн, зурагтай ажиллах + програм юм. Энэ нь энгийн будах програм эсвэл чанартай, фото зураг + тодруулах цуглуулга болгон ашиглагдаж болох юм. Энэ нь олон тооны + нэмэлт залгаасыг (plug-ins) дэмждэг бөгөөд скрипт хийх интерфэйсийн + боломжуудтай байдаг. <application>GIMP</application> нь + төрөл бүрийн файлын хэлбэршилтүүдийг уншиж, бичиж чаддаг. Энэ нь + сканнер болон зөөврийн цахим төхөөрөмжтэй (tablet) холбогдох боломжийг + дэмждэг.</para> + + <para>Та энэ тушаалыг ажиллуулан багцыг суулгаж болно:</para> + + <screen>&prompt.root; <userinput>pkg_add -r gimp</userinput></screen> + + <para>Хэрэв таны FTP сайт энэ багцгүй байгаа бол та портын цуглуулгыг + ашиглаж болно. Портын цуглуулгын + <ulink url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink> + сан бас <application>Gimp Manual</application> програмыг + агуулдаг. Энд тэдгээрийг хэрхэн суулгах талаар үзүүлэв:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gimp</userinput> +&prompt.root; <userinput>make install clean</userinput> +&prompt.root; <userinput>cd /usr/ports/graphics/gimp-manual-pdf</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <note> + <para>Портын цуглуулгын + <ulink url="http://www.FreeBSD.org/ports/graphics.html">graphics</ulink> + сан <application>GIMP</application>-ийн хөгжүүлэлтийн хувилбарыг + <filename role="package">graphics/gimp-devel</filename> санд + агуулдаг. <application>Gimp Manual</application>-ийн HTML хувилбар нь + <filename role="package">graphics/gimp-manual-html</filename> + санд байдаг.</para> + </note> + </sect2> + + <sect2> + <title>OpenOffice.org</title> + <indexterm> + <primary><application>OpenOffice.org</application></primary> + </indexterm> + <indexterm> + <primary>оффисийн цуглуулга</primary> + <secondary><application>OpenOffice.org</application></secondary> + </indexterm> + + <para><application>OpenOffice.org</application> нь бүх шаардлагатай + програмуудыг бүрэн гүйцэд оффисийн бүтээмжийн цуглуулгадаа агуулсан байдаг: энд + теск боловсруулагч, хүснэгттэй ажиллах програм, танилцуулгын менежер, + болон зургийн програмыг дурдаж болно. Уг програмын хэрэглэгчийн интерфэйс нь + бусад оффисийн цуглуулгуудтай их төстэй бөгөөд төрөл бүрийн файлын хэлбэршилтүүдийг + импорт, экспорт хийж чаддаг байна. Энэ нь интерфэйсүүд, алдаа шалгагчид болон + тольнуудыг оролцуулаад хэд хэдэн өөр хэлнүүд дээр байдаг.</para> + + <para><application>OpenOffice.org</application>-ийн текст боловсруулагч + нь эх XML файлын хэлбэршилтийг зөөвөрлөгдөх боломж ба уян хатан чанарыг + сайжруулах зорилгоор ашигладаг. Хүснэгттэй ажиллах програм нь макро + хэлний боломжтой бөгөөд гаднах мэдээлийн баазуудтай холбогдох боломжтой + байдаг. <application>OpenOffice.org</application> нь + аль хэдийн тогтвортой болсон бөгөөд &windows;, &solaris;, Линукс, FreeBSD, + болон &macos; X дээр ажилладаг. + <application>OpenOffice.org</application>-ийн талаарх илүү мэдээллийг + <ulink url="http://www.openoffice.org/">OpenOffice.org вэб сайт</ulink>аас + олж болно. FreeBSD-тэй холбоотой мэдээлэл болон багцуудыг шууд татаж + авахын тулд <ulink + url="http://porting.openoffice.org/freebsd/">FreeBSD OpenOffice.org + Хөрвүүлэх Баг</ulink>ийн вэб сайтыг ашиглана уу.</para> + + <para><application>OpenOffice.org</application>-ийг суулгахын тулд + дараахийг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>pkg_add -r openoffice.org</userinput></screen> + + <note> + <para>&os;-ийн -RELEASE хувилбарыг ажиллуулж байхад энэ нь ажиллах + ёстой. Үгүй бол та тохирох багцыг татан авч &man.pkg.add.1; ашиглан суулгахын + тулд &os;-ийн <application>OpenOffice.org</application> + Хөрвүүлэх Багийн вэб хаягт хандах хэрэгтэй. Одоогийн хувилбар болон + хөгжүүлэлтийн хувилбар нь энд татаж авагдахаар байрладаг.</para> + </note> + + <para>Багц суулгагдсаны дараа <application>OpenOffice.org</application>-ийг + ажиллуулахын тулд та ердөө л дараах тушаалыг бичих хэрэгтэй:</para> + + <screen>&prompt.user; <userinput>openoffice.org</userinput></screen> + + <note> + <para>Эхний удаа ажиллуулахад танаас зарим нэг асуултууд асуух + бөгөөд <filename>.openoffice.org2</filename> сан таны + гэрийн санд үүсгэгдэх болно.</para> + </note> + + <para>Хэрэв <application>OpenOffice.org</application> багцууд + байхгүй бол портыг эмхэтгэх сонголт танд бас байдаг. Гэхдээ энэ нь + дискийн асар их зай болон эмхэтгэх хугацаа ихийг шаардана гэдгийг та + санаж байх ёстой шүү.</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice.org-2</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <note> + <para>Хэрэв та локалчлагдсан хувилбарыг бүтээхийг хүсэж байгаа бол + түрүүчийн тушаалын мөрийг дараах мөрөөр солих хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>make LOCALIZED_LANG=<replaceable>your_language</replaceable> install clean</userinput></screen> + + <para>Та <replaceable>your_language</replaceable> мөрийг + зөв хэлний ISO кодоор солих хэрэгтэй. Дэмжигдсэн хэлний кодуудын жагсаалт + портын санд байх <filename>files/Makefile.localized</filename> + файлд байдаг.</para> + </note> + + <para>Үүнийг хийсний дараа + <application>OpenOffice.org</application>-г дараах тушаалаар ажиллуулж болно:</para> + + <screen>&prompt.user; <userinput>openoffice.org</userinput></screen> + </sect2> + </sect1> + + <sect1 id="desktop-viewers"> + <title>Бичиг баримт үзүүлэгчид</title> + + <para>Баримтын зарим нэгэн шинэ хэлбэршилтүүд саяхнаас түгээмэл болж + эхэлж байна. Тэдгээрийн шаарддаг стандарт үзүүлэгчид үндсэн системд + байхгүй байж болох юм. Бид тэдгээрийг хэрхэн суулгахыг энэ хэсэгт + үзэх болно.</para> + + <para>Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Програмын нэр</entry> + <entry>Шаардлагатай эх үүсвэрүүд</entry> + <entry>Портоос суулгах</entry> + <entry>Гол хамаарлууд</entry> + </row> + </thead> + + <tbody> + <row> + <entry><application>&acrobat.reader;</application></entry> + <entry>бага</entry> + <entry>хөнгөн</entry> + <entry>Линуксийн хоёртын хэлбэртэй нийцтэй байдал</entry> + </row> + + <row> + <entry><application>gv</application></entry> + <entry>бага</entry> + <entry>хөнгөн</entry> + <entry><application>Xaw3d</application></entry> + </row> + + <row> + <entry><application>Xpdf</application></entry> + <entry>бага</entry> + <entry>хөнгөн</entry> + <entry><application>FreeType</application></entry> + </row> + + <row> + <entry><application>GQview</application></entry> + <entry>бага</entry> + <entry>хөнгөн</entry> + <entry><application>Gtk+</application> эсвэл <application>GNOME</application></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <sect2> + <title>&acrobat.reader;</title> + <indexterm> + <primary><application>Acrobat Reader</application></primary> + </indexterm> + <indexterm> + <primary>PDF</primary> + <secondary>үзүүлэх</secondary> + </indexterm> + + <para>Олон баримтууд нь одоо PDF файл хэлбэрээр тараагддаг бөгөөд энэ нь + <quote>Portable Document Format</quote> буюу зөөврийн баримтын + хэлбэршилт гэгддэг. Эдгээр файлуудын төрлүүдэд зориулсан, зөвлөдөг + үзүүлэгчдийн нэг нь Adobe-оос гаргасан Линукст зориулсан + <application>&acrobat.reader;</application> юм. FreeBSD нь + Линуксийн хоёртын хэлбэрийн програмуудыг ажиллуулж чаддаг болохоор + энэ нь FreeBSD-д бас байдаг юм.</para> + + <para>Портын цуглуулгаас <application>&acrobat.reader; 7</application>-г + суулгахын тулд дараахийг хийнэ:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/print/acroread7</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Лицензийн хязгаарлалтуудаас болоод багц байдаггүй.</para> + + </sect2> + + <sect2> + <title>gv</title> + <indexterm> + <primary><application>gv</application></primary> + </indexterm> + <indexterm> + <primary>PDF</primary> + <secondary>үзүүлэх</secondary> + </indexterm> + <indexterm> + <primary>PostScript</primary> + <secondary>үзүүлэх</secondary> + </indexterm> + + <para><application>gv</application> нь &postscript; болон + PDF үзүүлэгч юм. Энэ нь эхлээд <application>ghostview</application> + дээр суурилсан боловч <application>Xaw3d</application> сангийн + тусламжтай илүү сайхан харагдах болсон. Энэ нь хурдан бөгөөд интерфэйс нь + цэвэрхэн байдаг. <application>gv</application> нь байрлуулалт, + цаасны хэмжээ, масштаб эсвэл antialias зэрэг олон боломжуудтай байдаг. + Бараг бүх үйлдлүүд нь гараас эсвэл хулганаас хийгдэж болно.</para> + + <para><application>gv</application>-г багц хэлбэрээр суулгахын тулд + дараахийг хийнэ:</para> + + <screen>&prompt.root; <userinput>pkg_add -r gv</userinput></screen> + + <para>Хэрэв та багцыг авч чадахгүй байгаа бол портын цуглуулгыг ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/print/gv</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + + <sect2> + <title>Xpdf</title> + <indexterm> + <primary><application>Xpdf</application></primary> + </indexterm> + <indexterm> + <primary>PDF</primary> + <secondary>үзүүлэх</secondary> + </indexterm> + + <para>Хэрэв та жижиг FreeBSD PDF үзүүлэгчийг хүсэж байгаа бол + <application>Xpdf</application> нь хөнгөн бөгөөд үр ашигтай + үзүүлэгч юм. Энэ нь маш цөөн эх үүсвэрүүдийг шаарддаг бөгөөд + маш тогтвортой ажилладаг. Стандарт X фонтуудыг ашигладаг бөгөөд + <application>&motif;</application> юм уу эсвэл бусад дурын + X хэрэгслүүдийг шаарддаггүй.</para> + + <para><application>Xpdf</application> багцыг суулгахын тулд + энэ тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>pkg_add -r xpdf</userinput></screen> + + <para>Багц байхгүй юм уу эсвэл та портын цуглуулга ашиглахыг илүүд үзэж + байгаа бол дараахийг хийнэ:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/graphics/xpdf</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Суулгац дууссаны дараа та <application>Xpdf</application>-г + ажиллуулж хулганы баруун товчийг ашиглаж цэсийг идэвхжүүлж болно.</para> + </sect2> + + <sect2> + <title>GQview</title> + <indexterm> + <primary><application>GQview</application></primary> + </indexterm> + + <para><application>GQview</application> нь зургийн менежер юм. + Та файлыг ганц даралтаар үзэх, гадаад засварлагчийг ажиллуулах, + зургийг жижгээр урьдчилан үзүүлэх зэрэг олон зүйлсийг хийж болох юм. + Энэ нь бас slideshow буюу цомог үзүүлэх горим болон файлын зарим нэг үндсэн + үйлдлүүдтэй. Та зургийн цуглуулгуудыг удирдаж давтагдаж байгааг нь хялбархан + олж болно. <application>GQview</application> нь бүрэн дэлгэцээр + үзүүлэх болон интернационалчлалыг дэмждэг.</para> + + <para>Хэрэв та <application>GQview</application> багцыг суулгахыг хүсэж + байгаа бол дараахийг хийнэ:</para> + + <screen>&prompt.root; <userinput>pkg_add -r gqview</userinput></screen> + + <para>Багц байхгүй юм уу эсвэл та портын цуглуулга ашиглахыг илүүд үзэж + байгаа бол дараахийг хийнэ:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/graphics/gqview</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + </sect1> + + <sect1 id="desktop-finance"> + <title>Санхүү</title> + + <para>Хэрэв ямар нэгэн шалтгаанаар та өөрийн хувийн санхүүг FreeBSD ширээний + компьютер дээрээ удирдахыг хүсэж байгаа бол хүчирхэг, ашиглахад хялбар, + суулгахад бэлэн зарим нэг програмууд байдаг. Тэдгээрийн зарим нэг нь + <application><trademark class="registered">Quicken</trademark></application> + эсвэл <application>Excel</application> баримтуудад хэрэглэгддэгтэй + адил төрөл бүрийн файлын хэлбэршилтүүдтэй нийцтэй байдаг.</para> + + <para>Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Програмын нэр</entry> + <entry>Шаардлагатай эх үүсвэрүүд</entry> + <entry>Портоос суулгах</entry> + <entry>Гол хамаарлууд</entry> + </row> + </thead> + + <tbody> + <row> + <entry><application>GnuCash</application></entry> + <entry>бага</entry> + <entry>хүнд</entry> + <entry><application>GNOME</application></entry> + </row> + + <row> + <entry><application>Gnumeric</application></entry> + <entry>бага</entry> + <entry>хүнд</entry> + <entry><application>GNOME</application></entry> + </row> + + <row> + <entry><application>Abacus</application></entry> + <entry>бага</entry> + <entry>хөнгөн</entry> + <entry><application>Tcl/Tk</application></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <sect2> + <title>GnuCash</title> + <indexterm> + <primary><application>GnuCash</application></primary> + </indexterm> + + <para><application>GnuCash</application> нь эцсийн хэрэглэгчдэд + хэрэглэхэд хялбар, бас хүчирхэг програмуудын боломжийг олгох + <application>GNOME</application>-ийн чармайлтын нэг хэсэг юм. + <application>GnuCash</application>-ийн тусламжтай та өөрийн орлого болон + зарлагууд, банкны данснууд эсвэл хувьцаануудаа хянаж чадах юм. + Энэ нь хялбар интерфэйстэйгээс гадна маш мэргэжлийн програм юм.</para> + + <para><application>GnuCash</application> нь ухаалаг регистр, + системийн шаталсан бүртэлүүд, гарын олон хурдасгагчид болон автоматаар + гүйцээх аргуудтай байдаг. Энэ нь ганц гүйлгээг хэд хэдэн, илүү дэлгэрэнгүй + хэсгүүдэд хувааж чаддаг. <application>GnuCash</application> нь + <application>Quicken</application> QIF файлуудыг импорт хийн + нийлүүлж чаддаг. Мөн олон улсын огноо болон мөнгөн тэмдэгтийн хэлбэрүүдтэй + ажиллаж бас чаддаг байна.</para> + + <para>Өөрийн систем дээрээ <application>GnuCash</application>-ийг суулгахын тулд + дараахийг хийнэ:</para> + + <screen>&prompt.root; <userinput>pkg_add -r gnucash</userinput></screen> + + <para>Хэрэв багц байхгүй байгаа бол та портын цуглуулгыг ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/finance/gnucash</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + + <sect2> + <title>Gnumeric</title> + <indexterm> + <primary><application>Gnumeric</application></primary> + </indexterm> + <indexterm> + <primary>spreadsheet</primary> + <secondary><application>Gnumeric</application></secondary> + </indexterm> + + <para><application>Gnumeric</application> нь хүснэгттэй ажилладаг + програм бөгөөд <application>GNOME</application> ширээний орчны + хэсэг юм. Энэ нь хэрэглэхэд хялбар, үүрний хэлбэрийн дагуу хэрэглэгчийн + оруулж байгаа зүйлийг автоматаар <quote>таах</quote> болон олон + дарааллын хувьд автоматаар дүүргэх систем зэрэг боломжуудтай байдаг. + Бас <application>Excel</application>, <application>Lotus 1-2-3</application>, + эсвэл <application>Quattro Pro</application> зэрэг + хэд хэдэн түгээмэл хэлбэршилтүүдээс файлуудыг импорт хийж чаддаг. + <application>Gnumeric</application> нь зураг зурах + <filename role="package">math/guppi</filename> програмын + тусламжтай зураг зуралтыг дэмждэг. Бас маш олон тооны цуг бүтээгдсэн + функцуудтай бөгөөд тоо, мөнгөн тэмдэгт, огноо, цаг зэрэг олон, + бүх энгийн үүрний хэлбэрүүдийг зөвшөөрдөг.</para> + + <para><application>Gnumeric</application>-ийг багцаас суулгахын тулд + дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>pkg_add -r gnumeric</userinput></screen> + + <para>Хэрэв багц байхгүй бол та дараахийг хийн портын цуглуулгыг ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/math/gnumeric</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + + <sect2> + <title>Abacus</title> + <indexterm> + <primary><application>Abacus</application></primary> + </indexterm> + <indexterm> + <primary>spreadsheet</primary> + <secondary><application>Abacus</application></secondary> + </indexterm> + + <para><application>Abacus</application> нь жижиг бөгөөд ашиглахад + хялбар хүснэгттэй ажиллах програм юм. Энэ нь статистик, санхүү болон + математик зэрэг хэд хэдэн салбарт хэрэгтэй, өөрт нь цуг бүтээгдсэн + функцуудтай байдаг. Энэ нь <application>Excel</application> + файлын хэлбэршилтийг импорт, экспорт хийж чаддаг. Мөн + <application>Abacus</application> нь &postscript; гаралтаар + гаргаж чаддаг байна.</para> + + <para><application>Abacus</application>-ийг багцаас нь суулгахын + тулд дараахийг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>pkg_add -r abacus</userinput></screen> + + <para>Хэрэв багц байхгүй бол та дараахийг хийн портын цуглуулгыг ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/deskutils/abacus</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + </sect2> + </sect1> + + <sect1 id="desktop-summary"> + <title>Дүгнэлт</title> + + <para>FreeBSD нь ISP-уудын дунд өөрийн ажиллагаа болон найдвартай байдлаараа + алдартай байдаг ч гэсэн түүнийг өдөр тутам ширээний компьютер болгон ашиглахад + бараг л бэлэн болжээ. + <ulink url="http://www.FreeBSD.org/where.html">Багцууд</ulink> + эсвэл <ulink url="http://www.FreeBSD.org/ports/index.html">портууд</ulink> + хэлбэрээр хэдэн мянган програмуудтай болохоор өөрийн чинь бүх хэрэгцээг хангасан + төгс ширээний компьютерийг та бүтээж болох юм.</para> + + <para>Энэ бүлэгт авч үзсэн ширээний бүх програмуудын тоймыг энд дурдав:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Програмын нэр</entry> + <entry>Багцын нэр</entry> + <entry>Портын нэр</entry> + </row> + </thead> + + <tbody> + <row> + <entry><application>Mozilla</application></entry> + <entry><literal>mozilla</literal></entry> + <entry><filename role="package">www/mozilla</filename></entry> + </row> + + <row> + <entry><application>Opera</application></entry> + <entry><literal>opera</literal></entry> + <entry><filename role="package">www/opera</filename></entry> + </row> + + <row> + <entry><application>Firefox</application></entry> + <entry><literal>firefox</literal></entry> + <entry><filename role="package">www/firefox</filename></entry> + </row> + + <row> + <entry><application>KOffice</application></entry> + <entry><literal>koffice-kde3</literal></entry> + <entry><filename role="package">editors/koffice-kde3</filename></entry> + </row> + + <row> + <entry><application>AbiWord</application></entry> + <entry><literal>abiword</literal></entry> + <entry><filename role="package">editors/abiword</filename></entry> + </row> + + <row> + <entry><application>GIMP</application></entry> + <entry><literal>gimp</literal></entry> + <entry><filename role="package">graphics/gimp</filename></entry> + </row> + + <row> + <entry><application>OpenOffice.org</application></entry> + <entry><literal>openoffice</literal></entry> + <entry><filename role="package">editors/openoffice-1.1</filename></entry> + </row> + + <row> + <entry><application>&acrobat.reader;</application></entry> + <entry><literal>acroread</literal></entry> + <entry><filename role="package">print/acroread7</filename></entry> + </row> + + <row> + <entry><application>gv</application></entry> + <entry><literal>gv</literal></entry> + <entry><filename role="package">print/gv</filename></entry> + </row> + + <row> + <entry><application>Xpdf</application></entry> + <entry><literal>xpdf</literal></entry> + <entry><filename role="package">graphics/xpdf</filename></entry> + </row> + + <row> + <entry><application>GQview</application></entry> + <entry><literal>gqview</literal></entry> + <entry><filename role="package">graphics/gqview</filename></entry> + </row> + + <row> + <entry><application>GnuCash</application></entry> + <entry><literal>gnucash</literal></entry> + <entry><filename role="package">finance/gnucash</filename></entry> + </row> + + <row> + <entry><application>Gnumeric</application></entry> + <entry><literal>gnumeric</literal></entry> + <entry><filename role="package">math/gnumeric</filename></entry> + </row> + + <row> + <entry><application>Abacus</application></entry> + <entry><literal>abacus</literal></entry> + <entry><filename role="package">deskutils/abacus</filename></entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/disks/Makefile b/mn_MN.UTF-8/books/handbook/disks/Makefile new file mode 100644 index 0000000000..376df2e958 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/disks/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= disks/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml new file mode 100644 index 0000000000..e204949a9e --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml @@ -0,0 +1,4051 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.273 + + $FreeBSD$ +--> + +<chapter id="disks"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + <title>Хадгалалт</title> + + <sect1 id="disks-synopsis"> + <title>Ерөнхий агуулга</title> + + + <para>Энэ бүлэг нь FreeBSD дээр дискүүдийг ашиглах талаар тайлбарлах болно. + Эдгээрт санах ой дээр тулгуурласан дискүүд, сүлжээнд залгагдсан дискүүд, + стандарт SCSI/IDE хадгалалтын төхөөрөмжүүд болон USB интерфэйс + ашигладаг төхөөрөмжүүд багтах юм.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + <itemizedlist> + <listitem><para>Физик диск (хуваалтууд болон зүсмэлүүд) дээрх өгөгдлийн зохион + байгуулалтыг тайлбарладаг FreeBSD-ийн ашигладаг ухагдахуун.</para> + </listitem> + <listitem><para>Өөрийн систем дээр нэмэлт хатуу дискүүдийг хэрхэн нэмэх талаар.</para> + </listitem> + <listitem> + <para>USB хадгалалтын төхөөрөмжүүдийг ашиглахын тулд &os;-г хэрхэн тохируулах талаар.</para> + </listitem> + <listitem><para>Санах ойн диск зэрэг виртуал файлын системүүдийг хэрхэн тохируулах талаар.</para></listitem> + <listitem> + <para>Дискийн зайн хэрэглээг хязгаарлахын тулд ноогдлыг хэрхэн ашиглах талаар.</para> + </listitem> + <listitem> + <para>Дискийг халдагчдаас хамгаалж нууцлахын тулд хэрхэн шифрлэх талаар.</para> + </listitem> + <listitem> + <para>FreeBSD дээр CD болон DVD-г хэрхэн үүсгэж шарах талаар.</para> + </listitem> + <listitem> + <para>Нөөцлөлтөд зориулсан хадгалалтын төрөл бүрийн тохируулгууд.</para> + </listitem> + <listitem> + <para>FreeBSD дээр байдаг нөөцлөлтийн програмуудыг хэрхэн ашиглах талаар.</para> + </listitem> + <listitem> + <para>Уян диск уруу хэрхэн нөөцлөх талаар.</para> + </listitem> + <listitem> + <para>Файлын системийн хормын хувилбар гэж юу болох түүнийг хэрхэн үр дүнтэйгээр ашиглах талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>Шинэ FreeBSD цөмийг хэрхэн тохируулж суулгах талаар мэдэх + (<xref linkend="kernelconfig">).</para> + </listitem> + </itemizedlist> + + </sect1> + + <sect1 id="disks-naming"> + <title>Төхөөрөмжийн нэрс</title> + + <para>Дараах нь FreeBSD-д дэмжигдсэн физик хадгалалтын төхөөрөмжүүд болон + тэдгээртэй холбоотой төхөөрөмжийн нэрсийн жагсаалт юм.</para> + + <table id="disk-naming-physical-table" frame="none"> + <title>Физик диск нэрлэх заншил</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Хөтөчийн төрөл</entry> + <entry>Хөтөчийн төхөөрөмжийн нэр</entry> + </row> + </thead> + <tbody> + <row> + <entry>IDE хатуу хөтөчүүд</entry> + <entry><literal>ad</literal></entry> + </row> + <row> + <entry>IDE CDROM хөтөчүүд</entry> + <entry><literal>acd</literal></entry> + </row> + <row> + <entry>SCSI хатуу хөтөчүүд болон USB Mass хадгалалтын төхөөрөмжүүд</entry> + <entry><literal>da</literal></entry> + </row> + <row> + <entry>SCSI CDROM хөтөчүүд</entry> + <entry><literal>cd</literal></entry> + </row> + <row> + <entry>Төрөлжүүлсэн стандарт бус CDROM хөтөчүүд</entry> + <entry>Mitsumi CD-ROM-ийн хувьд <literal>mcd</literal> ба + Sony CD-ROM хөтөчүүдийн хувьд <literal>scd</literal> + </entry> + </row> + <row> + <entry>Уян хөтөчүүд</entry> + <entry><literal>fd</literal></entry> + </row> + <row> + <entry>SCSI соронзон хальсний хөтөчүүд</entry> + <entry><literal>sa</literal></entry> + </row> + <row> + <entry>IDE соронзон хальсний хөтөчүүд</entry> + <entry><literal>ast</literal></entry> + </row> + <row> + <entry>Flash хөтөчүүд</entry> + <entry>&diskonchip; Flash хөтөчийн хувьд <literal>fla</literal></entry> + </row> + <row> + <entry>RAID хөтөчүүд</entry> + <entry>&adaptec; AdvancedRAID-н хувьд <literal>aacd</literal>, + &mylex;-ийн хувьд <literal>mlxd</literal> ба <literal>mlyd</literal>, + AMI &megaraid;-ийн хувьд <literal>amrd</literal>, + Compaq Smart RAID-ийн хувьд <literal>idad</literal>, + &tm.3ware; RAID-ийн хувьд <literal>twed</literal>.</entry> + </row> + </tbody> + </tgroup> + </table> + </sect1> + + <sect1 id="disks-adding"> + <sect1info> + <authorgroup> + <author> + <firstname>Дэйвид</firstname> + <surname>О'Брайэн</surname> + <contrib>Анхлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- 26 Apr 1998 --> + </sect1info> + + <title>Диск нэмэх</title> + + <indexterm> + <primary>дискүүд</primary> + <secondary>нэмэх нь</secondary> + </indexterm> + + <para>Бид шинэ SCSI дискийг одоогоор зөвхөн нэг хөтөчтэй байгаа машин дээр + нэмэхийг хүсэж байна гэж бодъё. Эхлээд компьютераа унтраагаад хөтөчийг + компьютер, хянагч болон хөтөчийн үйлдвэрлэгчийн заавруудын дагуу суулгана. + Үүнийг хийх маш олон төрлийн процедуруудаас болоод энэ талаарх дэлгэрэнгүй + мэдээлэл нь энэ баримтын хамрах хүрээнээс гадна юм.</para> + + <para><username>root</username> хэрэглэгчээр нэвтрэх хэрэгтэй. Та хөтөчийг + суулгасны дараа шинэ диск олдсон эсэхийг <filename>/var/run/dmesg.boot</filename>-с + шалгаарай. Шинээр нэмсэн хөтөч нь <devicename>da1</devicename> байх + бөгөөд бид үүнийг <filename>/1</filename> дээр холбохыг хүснэ (хэрэв та IDE хөтөч + нэмж байгаа бол төхөөрөмжийн нэр нь <devicename>ad1</devicename> болно).</para> + + <indexterm><primary>хуваалтууд</primary></indexterm> + <indexterm><primary>зүсмэлүүд</primary></indexterm> + <indexterm> + <primary><command>fdisk</command></primary> + </indexterm> + + <para>FreeBSD нь IBM-PC-тэй нийцтэй компьютерүүдтэй ажилладаг учраас + PC BIOS хуваалтуудыг бодолцох ёстой. Эдгээр нь уламжлалт BSD хуваалтуудаас + өөр юм. PC диск нь дөрөв хүртэлх тооны BSD хуваалттай байдаг. Хэрэв диск + нь жинхэнээрээ FreeBSD-д зориулагдах бол та <emphasis>dedicated буюу + зориулагдсан</emphasis> горимыг ашиглаж болно. Үгүй бол FreeBSD нь + PC BIOS хуваалтуудын аль нэгэн дээр байрлах болно. FreeBSD нь PC BIOS + хуваалтуудыг уламжлалт BSD хуваалтуудтай эндүүрэхгүйн тулд + <emphasis>зүсмэлүүд</emphasis> гэж нэрлэдэг. Та бас FreeBSD-д зориулагдсан + боловч өөр үйлдлийн систем суулгагдсан компьютер дээр ашигласан диск дээрх + зүсмэлүүдийг хэрэглэж болох юм. Энэ нь FreeBSD биш өөр үйлдлийн системийн + <command>fdisk</command> хэрэгсэлтэй андуурахаас хамгаалах нэг сайн + арга юм.</para> + + <para>Зүсмэлийн хувьд бол хөтөч нь <filename>/dev/da1s1e</filename> + гэж нэмэгдэх болно. Үүнийг SCSI диск, нэгжийн дугаар 1 (хоёр дахь SCSI диск), + зүсмэл 1 (PC BIOS хуваалт 1) болон <filename>e</filename> BSD + хуваалт гэж уншина. Зориулагдсан тохиолдолд хөтөч нь ердөө л <filename>/dev/da1e</filename> + гэж нэмэгдэнэ.</para> + + <para>Секторуудын тоог хадгалахын тулд 32 битийн бүхэл тоог ашигладагаас болоод + &man.bsdlabel.8; нь нэг дискний хувьд 2^32-1 сектор буюу ихэнх тохиолдолд + 2TB болж хязгаарлагддаг. &man.fdisk.8; хэлбэршүүлэлт нь 2^32-1-с + ихгүй эхлэх сектор болон 2^32-1-с ихгүй уртыг зөвшөөрч хуваалтуудыг 2TB, + дискүүдийг ихэнх тохиолдолд 4TB болгож хязгаарладаг. &man.sunlabel.8; + хэлбэршүүлэлт нь нэг хуваалтын хувьд 2^32-1 сектороор, нийтдээ 16TB-ийн + 8 хуваалтаар хязгаарлагддаг. Илүү том дискүүдийн хувьд &man.gpt.8; + хуваалтууд ашиглагдаж болох юм.</para> + + <sect2> + <title>&man.sysinstall.8;-г ашиглах нь</title> + <indexterm> + <primary><application>sysinstall</application></primary> + <secondary>дискүүд нэмэх нь</secondary> + </indexterm> + <indexterm> + <primary>su</primary> + </indexterm> + <procedure> + <step> + <title><application>Sysinstall</application>-г жолоодох нь</title> + + <para>Та <command>sysinstall</command>-н хялбар ашиглаж болох + цэснүүдийн тусламжтайгаар шинэ дискийг хуваан хаяглаж болох юм. + <username>root</username> хэрэгчээр нэвтрэх буюу эсвэл + <command>su</command> тушаалыг ашиглаарай. + <command>sysinstall</command>-г ажиллуулж + <literal>Configure</literal> цэс уруу орно. + <literal>FreeBSD Configuration Menu</literal> дотор + доош шилжиж <literal>Fdisk</literal> тохируулгыг + сонгоно.</para> + </step> + + <step> + <title><application>fdisk</application> хуваалт засварлагч</title> + <para><application>fdisk</application>-ийн дотор байхдаа + <userinput>A</userinput> гэж бичвэл дискийг бүхэлд нь FreeBSD-д + ашиглах болно. Асуух үед нь хэрэв та <quote>ирээдүйд суулгаж болзошгүй + үйлдлийн системүүдтэй хамтран ажиллахаар үлдэхийг хүсвэл</quote> + <literal>YES</literal> гэж хариулаарай. <userinput>W</userinput>-г + ашиглан өөрчлөлтүүдийг диск уруу бичнэ. Одоо FDISK засварлагчаас + <userinput>q</userinput> гэж бичин гараарай. Дараа нь танаас + <quote>Master Boot Record буюу Мастер Ачаалагч Бичлэгийн</quote> + талаар асуух болно. Та ажиллаж байгаа систем дээр диск нэмж байгаа болохоор + <literal>None</literal>-г сонгох хэрэгтэй.</para> + </step> + + <step> + <title>Дискийн Шошго засварлагч</title> + <indexterm><primary>BSD хуваалтууд</primary></indexterm> + + <para>Дараа нь <application>sysinstall</application>-с гарч дахин + түүнийг эхлүүлэх хэрэгтэй. Дээрх заавруудыг дагаарай, гэхдээ + энэ удаад <literal>Label</literal> тохируулгыг сонгоорой. + Энэ нь <literal>Disk Label Editor буюу дискийн шошго засварлагч</literal> + уруу орно. Энд та уламжлалт BSD хуваалтуудыг үүсгэдэг. Диск нь + <literal>a-h</literal> гэж хаяглагдсан найм хүртэлх хуваалтуудтай + байж болно. Хуваалтын шошгонуудын цөөн хэд нь тусгай хэрэглээтэй байдаг. + <literal>a</literal> хуваалт нь root хуваалтанд (<filename>/</filename>) + ашиглагддаг. Тиймээс зөвхөн таны системийн диск (өөрөөр хэлбэл таны + ачаалалт хийсэн диск) <literal>a</literal> хуваалттай байх + ёстой. <literal>b</literal> хуваалт нь swap хуваалтуудад + хэрэглэгддэг бөгөөд та swap хуваалттай олон дисктэй байж болох юм. + <literal>c</literal> хуваалт нь зориулагдсан горимд + бүх дискийг, зүсмэлийн горимд бүхэл FreeBSD зүсмэлийг эсвэл заадаг. + Бусад хуваалтууд нь ерөнхий хэрэглээнд зориулагдсан.</para> + + <para><application>sysinstall</application>-ийн шошго засварлагч нь + root биш, swap биш хуваалтуудад зориулж <literal>e</literal> + хуваалтыг илүүтэй үздэг. Шошго засварлагч дотор байхдаа <userinput>C</userinput> + гэж бичин ганц файлын систем үүсгэх хэрэгтэй. Асуух үед, хэрэв энэ нь + FS (файлын систем) эсвэл swap байх юм бол <literal>FS</literal>-г + сонгож холбох цэгийг (өөрөөр хэлбэл <filename>/mnt</filename>) бичээрэй. + Хэрэв дискийг суулгацын дараах горимд нэмж байгаа бол + <application>sysinstall</application> нь танд зориулж оруулгуудыг + <filename>/etc/fstab</filename> файлд үүсгэхгүй, тиймээс таны + зааж өгсөн холбох цэг нь чухал биш юм.</para> + + <para>Та одоо шинэ шошгыг диск уруу бичиж түүн дээр файлын систем үүсгэхэд + бэлэн боллоо. Үүнийг <userinput>W</userinput> гэж бичин хийнэ. + <application>sysinstall</application>-ын шинэ хуваалтыг + холбож чадахгүй байна гэсэн алдааг өнгөрүүлэх хэрэгтэй. Шошго засварлагч + болон <application>sysinstall</application>-с бүр мөсөн + гараарай.</para> + </step> + + <step> + <title>Төгсгөл</title> + + <para>Хамгийн сүүлийн алхам нь <filename>/etc/fstab</filename> файлыг + засварлаж өөрийн шинэ дискийн оруулгыг нэмэх явдал юм.</para> + </step> + </procedure> + </sect2> + + <sect2> + <title>Тушаалын мөрийн хэрэгслүүдийг ашиглах нь</title> + + <sect3> + <title>Зүсмэлүүдийг ашиглах нь</title> + + <para>Энэ тохиргоо нь таны дискийг өөрийн чинь компьютер дээр суулгагдсан + байж болох бусад үйлдлийн системтэй зөв ажиллаж өөр бусад үйлдлийн системийн + <command>fdisk</command> хэрэгслүүдтэй эндүүрэхгүй байх боломжийг + бүрдүүлдэг. Шинэ дискийг суулгахад энэ аргыг ашиглахыг зөвлөдөг. + Хэрэв танд үнэхээр тохирох шалтгаан байгаа тохиолдолд <literal>зориулагдсан</literal> + горимыг ашиглаарай!</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput> +&prompt.root; <userinput>fdisk -BI da1</userinput> #Initialize your new disk +&prompt.root; <userinput>bsdlabel -B -w -r da1s1 auto</userinput> #Label it. +&prompt.root; <userinput>bsdlabel -e da1s1</userinput> # Edit the bsdlabel just created and add any partitions. +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>newfs /dev/da1s1e</userinput> # Repeat this for every partition you created. +&prompt.root; <userinput>mount /dev/da1s1e /1</userinput> # Mount the partition(s) +&prompt.root; <userinput>vi /etc/fstab</userinput> # Add the appropriate entry/entries to your <filename>/etc/fstab</filename>.</screen> + + <para>Хэрэв танд IDE диск байвал <filename>da</filename>-г + <filename>ad</filename> гэж солиорой.</para> + </sect3> + + <sect3> + <title>Зориулагдсан</title> + <indexterm><primary>OS/2</primary></indexterm> + + <para>Хэрэв та шинэ хөтөчийг өөр үйлдлийн системтэй цуг хуваалцахгүй бол + <literal>зориулагдсан</literal> горимыг ашиглаж болох юм. Энэ горим нь + Microsoft үйлдлийн системийн толгойг эргүүлж болохыг санаарай; гэхдээ + тэдгээр нь ямар ч эвдрэл гэмтэл үүсгэхгүй. IBM-ийн &os2; нь харин + олсон бүх ойлгохгүй байгаа ямар ч хуваалтыг хувьдаа <quote>завших</quote> + болно.</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput> +&prompt.root; <userinput>bsdlabel -Brw da1 auto</userinput> +&prompt.root; <userinput>bsdlabel -e da1</userinput> # create the `e' partition +&prompt.root; <userinput>newfs -d0 /dev/da1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/da1e +&prompt.root; <userinput>mount /1</userinput></screen> + + <para>Өөр нэг арга нь:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 count=2</userinput> +&prompt.root; <userinput>bsdlabel /dev/da1 | bsdlabel -BrR da1 /dev/stdin</userinput> +&prompt.root; <userinput>newfs /dev/da1e</userinput> +&prompt.root; <userinput>mkdir -p /1</userinput> +&prompt.root; <userinput>vi /etc/fstab</userinput> # add an entry for /dev/da1e +&prompt.root; <userinput>mount /1</userinput></screen> + + </sect3> + </sect2> + </sect1> + + <sect1 id="raid"> + <title>RAID</title> + + <sect2 id="raid-soft"> + <title>Програм хангамжийн RAID</title> + + <sect3 id="ccd"> + <sect3info> + <authorgroup> + <author> + <firstname>Кристофер</firstname> + <surname>Шамвэй</surname> + <contrib>Анхлан ажилласан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Браун</surname> + <contrib>Хянан тохиолдуулсан </contrib> + </author> + </authorgroup> + </sect3info> + +<indexterm><primary>RAID</primary><secondary>програм хангамж</secondary></indexterm> +<indexterm> + <primary>RAID</primary><secondary>CCD</secondary> +</indexterm> + + <title>Нийлүүлэгдсэн Дискийн Драйвер (Concatenated Disk Driver буюу CCD) тохиргоо</title> + <para>Бөөн хадгалалтын шийдлийг сонгохдоо бодолцох хамгийн чухал хүчин зүйлүүд нь + хурд, найдвартай байдал болон өртөг юм. Энэ гурвыг гурвууланг нь тэнцүү байлгах нь + ховор байдаг; ерөнхийдөө хурдан, найдвартай бөөн хадгалалтын төхөөрөмж нь үнэтэй + бөгөөд үнийн хувьд хямдыг сонгох нь хурд эсвэл найдвартай байдлын аль нэгийг золиослох + хэрэгтэй болдог.</para> + + <para>Доор тайлбарласан системийг дизайн хийхдээ өртгийг хамгийн чухал хүчин зүйл гэж + сонгож авсан бөгөөд үүний дараа хурд, хурдын дараа найдвартай байдлыг + сонгосон. Энэ системийн өгөгдөл дамжуулах хурд нь эцсийн эцэст сүлжээгээр + шахагддаг. Найдвартай байдал нь маш чухал боловч доор тайлбарласан CCD + хөтөч нь CD-R-ууд дээр аль хэдийн бүтнээрээ нөөцлөгдсөн, амархнаар + солигдож болох өгөгдөлд шууд үйлчилдэг.</para> + + <para>Өөрийн шаардлагыг тодорхойлох нь бөөн хадгалалтын шийдлийг сонгох анхны + алхам юм. Хэрэв таны шаардлага нь хурд эсвэл найдвартай байдлыг өртгөөс + илүүтэй үзэж байгаа бол таны шийдэл энэ хэсэгт тайлбарласан шийдлээс + өөр болох болно.</para> + + + <sect4 id="ccd-installhw"> + <title>Тоног төхөөрөмжийг суулгах нь</title> + + <para>IDE системийн дискээс гадна гурван Western + Digital 30GB, 5400 RPM IDE диск нь доор тайлбарласан + CCD дискийн гол цөм болж нийтдээ ойролцоогоор 90GB + шууд хадгалалт болно. Туйлын хүслээр бол IDE диск бүр өөрийн IDE + хянагч болон кабельтай байна, гэхдээ өртгийг багасгахын + тулд нэмэлт IDE хянагчууд ашиглагдаагүй болно. Харин дискүүд нь + jumper буюу холбогчоор тохируулагдсан бөгөөд ингэснээр IDE хянагч + бүр нэг мастер болон нэг боолтой байна.</para> + + <para>Дахин ачаалах үед системийн BIOS залгагдсан дискүүдийг автоматаар олохоор + тохируулагдсан байдаг. Илүү чухал зүйл нь FreeBSD тэдгээрийг дахин ачаалахад + олсон явдал юм:</para> + + <programlisting>ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 +ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 +ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 +ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33</programlisting> + + <note><para>Хэрэв FreeBSD дискүүдийг бүгдийг нь олохгүй байгаа бол + та тэдгээрийг зөвөөр холбосон эсэхээ шалгаарай. IDE хөтөчүүдийн + ихэнх нь бас <quote>Cable Select</quote> холбогчтой байдаг. + Энэ нь мастер/боол харилцаанд зориулагдсан холбогч + <emphasis>биш</emphasis> юм. Хөтөчийн баримтаас зөв + холбогчийг таних талаар лавлаарай.</para></note> + + <para>Дараа нь тэдгээрийг файлын системийн хэсэг болгон залгах талаар + бодох хэрэгтэй. Та &man.vinum.8; (<xref + linkend="vinum-vinum">) болон &man.ccd.4; хоюуланг + судлах хэрэгтэй. Энэ тохиргооны хувьд &man.ccd.4;-г сонгосон.</para> + </sect4> + + <sect4 id="ccd-setup"> + <title>CCD-г тохируулах нь</title> + + <para>&man.ccd.4; хөтөч нь хэд хэдэн адил дискүүдийг авч тэдгээрийг + нэг логик файл систем болгон нийлүүлэх боломжийг олгодог. + &man.ccd.4;-г ашиглахын тулд танд &man.ccd.4; дэмжлэг + цуг бүтээгдсэн цөм хэрэгтэй. Энэ мөрийг цөмийн тохиргооны файлдаа + нэмээд цөмөө дахин бүтээж суулгаарай:</para> + + <programlisting>device ccd</programlisting> + + <para>&man.ccd.4; дэмжлэг цөмийн дуудагдах модуль хэлбэрээр + бас дуудагдаж болно.</para> + + <para>&man.ccd.4;-г тохируулахын тулд та эхлээд дискүүдийг + хаяглах &man.bsdlabel.8;-г ашиглах ёстой:</para> + + <programlisting>bsdlabel -r -w ad1 auto +bsdlabel -r -w ad2 auto +bsdlabel -r -w ad3 auto</programlisting> + + <para>Энэ нь бүх дискийн дагуух <devicename>ad1c</devicename>, <devicename>ad2c</devicename> болон <devicename>ad3c</devicename>-д зориулж bsdlabel үүсгэдэг.</para> + + <para>Дараагийн алхам нь дискийн шошгоны төрлийг өөрчлөх явдал юм. + Та дискүүдийг засварлахдаа &man.bsdlabel.8;-г ашиглаж + болно:</para> + + <programlisting>bsdlabel -e ad1 +bsdlabel -e ad2 +bsdlabel -e ad3</programlisting> + + <para>Энэ нь диск бүр дэх тухайн дискийн шошгыг <envar>EDITOR</envar> + орчны хувьсагчид заасан засварлагчаар, ихэнхдээ &man.vi.1;-ээр + онгойлгодог.</para> + + <para>Өөрчлөлт хийгдээгүй дискийн шошго иймэрхүү харагдах болно:</para> + + <programlisting>8 partitions: +# size offset fstype [fsize bsize bps/cpg] + c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)</programlisting> + + <para>&man.ccd.4;-д зориулж ашиглахаар шинэ <literal>e</literal> + хуваалтыг нэмнэ. Үүнийг ихэвчлэн <literal>c</literal> хуваалтаас хуулж + болох боловч <option>fstype</option> нь <userinput>4.2BSD</userinput> + байх <emphasis>ёстой</emphasis>. Дискийн шошго одоо иймэрхүү харагдах + ёстой:</para> + + <programlisting>8 partitions: +# size offset fstype [fsize bsize bps/cpg] + c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) + e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)</programlisting> + + </sect4> + + <sect4 id="ccd-buildingfs"> + <title>Файлын системийг бүтээх нь</title> + + <para>Та бүх дискүүдээ хаягласны дараа &man.ccd.4;-г бүтээх + ёстой. Үүнийг хийхийн тулд дараах тохируулгуудтай адилаар + &man.ccdconfig.8;-г ашиглана:</para> + + <programlisting>ccdconfig ccd0<co id="co-ccd-dev"> 32<co id="co-ccd-interleave"> 0<co id="co-ccd-flags"> /dev/ad1e<co id="co-ccd-devs"> /dev/ad2e /dev/ad3e</programlisting> + + <para>Тохируулга бүрийн хэрэглээ болон утгыг доор харуулав:</para> + + <calloutlist> + <callout arearefs="co-ccd-dev"> + <para>Эхний нэмэлт өгөгдөл нь тохируулах төхөөрөмж байх бөгөөд энэ + тохиолдолд <filename>/dev/ccd0c</filename> байна. + <filename>/dev/</filename> хэсэг байхгүй ч байж болно.</para> + </callout> + + <callout arearefs="co-ccd-interleave"> + + <para>Файлын системд зориулсан interleave. interleave нь + дискийн блокууд дээрх судлын хэмжээг тодорхойлдог бөгөөд нэг бүр нь + ихэвчлэн 512 байт байдаг. Тэгэхээр 32 interleave нь 16,384 байт + байна.</para> + </callout> + + <callout arearefs="co-ccd-flags"> + <para>&man.ccdconfig.8;-д зориулсан тугнууд. Хэрэв та хөтөчийг + толин тусгал үүсгэж идэвхжүүлэхийг хүсвэл тугийг энд зааж өгч + болно. Энэ тохиргоо нь &man.ccd.4;-н хувьд толин тусгал + үүсгэлтийг хангадаггүй учир энэ нь 0 (тэг) гэж тохируулагдсан.</para> + </callout> + + <callout arearefs="co-ccd-devs"> + <para>&man.ccdconfig.8; уруу өгөгдөх сүүлийн нэмэлт өгөгдлүүд нь + массивт оруулах төхөөрөмжүүд юм. Төхөөрөмж бүрийн хувьд бүрэн + гүйцэд замын нэрийг ашиглах хэрэгтэй.</para> + </callout> + </calloutlist> + + + <para>&man.ccdconfig.8;-г ажиллуулсаны дараа &man.ccd.4; тохируулагдана. + Файлын систем суулгагдаж болно. Тохируулгуудын талаар &man.newfs.8;-с + лавлана уу, эсвэл ердөө л ингэж ажиллуулна: </para> + + <programlisting>newfs /dev/ccd0c</programlisting> + + + </sect4> + + <sect4 id="ccd-auto"> + <title>Бүгдийг автомат болгох нь</title> + + <para>Ерөнхийдөө та &man.ccd.4;-г дахин ачаалах бүртээ холбохыг хүснэ. + Үүнийг хийхийн тулд та эхлээд тохируулах хэрэгтэй. Өөрийн одоогийн + тохиргоогоо дараах тушаал ашиглаж <filename>/etc/ccd.conf</filename> + уруу бичих хэрэгтэй:</para> + + <programlisting>ccdconfig -g > /etc/ccd.conf</programlisting> + + <para>Дахин ачаалах үед скрипт <command>/etc/rc</command> нь + хэрэв <filename>/etc/ccd.conf</filename> байвал + <command>ccdconfig -C</command> тушаалыг ажиллуулна. + Энэ нь &man.ccd.4;-г холбож болохоор болгож + автоматаар тохируулна.</para> + + <note><para>Хэрэв та ганц хэрэглэгчийн горим уруу ачаалж байгаа бол + &man.ccd.4;-г &man.mount.8; хийхээсээ өмнө массивыг + тохируулахын тулд дараах тушаалыг ажиллуулах + шаардлагатай:</para> + + <programlisting>ccdconfig -C</programlisting> + </note> + + <para>&man.ccd.4;-г автоматаар холбохын тулд &man.ccd.4;-н оруулгыг + <filename>/etc/fstab</filename> файлд байрлуулах хэрэгтэй. Ингэсэн + тохиолдолд энэ нь ачаалах үед холбогдох болно:</para> + + <programlisting>/dev/ccd0c /media ufs rw 2 2</programlisting> + </sect4> + </sect3> + + <sect3 id="vinum"> + <title>Vinum Эзлэхүүн Менежер</title> + +<indexterm><primary>RAID</primary><secondary>програм хангамж</secondary></indexterm> +<indexterm> + <primary>RAID</primary> + <secondary>Vinum</secondary> +</indexterm> + + <para>Vinum Эзлэхүүн Менежер нь виртуал диск хөтөчийг хийдэг блок төхөөрөмжийн драйвер + юм. Энэ нь дискийн тоног төхөөрөмжийг блок төхөөрөмжийн интерфэйсээс + тусгаарлаж уян хатан байдал, ажиллагаа болон найдвартай байдлыг дискийн + хадгалалтын уламжлалт зүсмэлийн харагдалтаас илүүтэйгээр хангах тийм аргаар + өгөгдлийг дүрсэлдэг. &man.vinum.8; нь RAID-0, RAID-1 болон RAID-5 + загваруудыг тус бүрт нь болон холбоотой байдлаар нь шийддэг.</para> + + <para>&man.vinum.8;-ийн талаар дэлгэрэнгүй мэдээллийг + <xref linkend="vinum-vinum">-с үзнэ үү.</para> + </sect3> + </sect2> + + <sect2 id="raid-hard"> + <title>Тоног төхөөрөмжийн RAID</title> + + <indexterm> + <primary>RAID</primary> + <secondary>тоног төхөөрөмж</secondary> + </indexterm> + + <para>FreeBSD нь бас төрөл бүрийн тоног төхөөрөмжийн <acronym>RAID</acronym> + хянагчуудыг дэмждэг. Эдгээр төхөөрөмжүүд нь FreeBSD-д зориулсан тусгай програм + хангамжаар массивыг удирдах шаардлагагүйгээр <acronym>RAID</acronym> дэд + системийг хянадаг.</para> + + <para>Карт дээрх <acronym>BIOS</acronym>-г ашиглан карт нь дискийн үйлдлүүдийн + ихэнхийг өөрөө хянадаг. Дараах нь Promise <acronym>IDE</acronym> <acronym>RAID</acronym> + хянагчийг ашиглах тохиргооны товч тайлбар юм. Энэ карт суулгагдаж систем эхлэх үед + мэдээллийг хүсэх мөрийг харуулна. Картны тохиргооны дэлгэц уруу орохын тулд + заавруудыг дагана. Эндээс залгагдсан бүх хөтөчүүдийг нэгтгэх боломж танд байх + болно. Ингэж хийснийхээ дараа диск(үүд) нь FreeBSD-д нэг хөтөч шиг харагдах + болно. Бусад <acronym>RAID</acronym> түвшингүүдийг бас + тохируулж болно. + </para> + </sect2> + + <sect2> + <title>ATA RAID1 массивуудыг дахин бүтээх нь</title> + + <para>FreeBSD нь массив дахь гэмтсэн, ажиллагаагүй болсон дискийг шууд солих боломжийг + олгодог. Энэ нь дахин ачаалахаасаа өмнө таныг ийм асуудлыг мэдэхийг шаарддаг.</para> + + <para>Та магадгүй дараахтай адилыг <filename>/var/log/messages</filename> эсвэл + &man.dmesg.8; гаралт дээр харж болох юм:</para> + + <programlisting>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</programlisting> + + <para>&man.atacontrol.8; ашиглан дэлгэрэнгүй мэдээллийг шалгана:</para> + + <screen>&prompt.root; <userinput>atacontrol list</userinput> +ATA channel 0: + Master: no device present + Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> 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 + +&prompt.root; <userinput>atacontrol status ar0</userinput> +ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED</screen> + + <procedure> + <step> + <para>Та дискийг аюулгүйгээр салган авахын тулд эхлээд ata сувгийг + ажиллахгүй байгаа дисктэй цуг салгана:</para> + + <screen>&prompt.root; <userinput>atacontrol detach ata3</userinput></screen> + </step> + + <step> + <para>Дискийг солино.</para> + </step> + + <step> + <para>ata сувгийг дахин залгана:</para> + + <screen>&prompt.root; <userinput>atacontrol attach ata3</userinput> +Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 +Slave: no device present</screen> + </step> + + <step> + <para>Шинэ дискийг массивт нөөц маягаар нэмнэ:</para> + + <screen>&prompt.root; <userinput>atacontrol addspare ar0 ad6</userinput></screen> + </step> + + <step> + <para>Массивыг дахин бүтээнэ:</para> + + <screen>&prompt.root; <userinput>atacontrol rebuild ar0</userinput></screen> + </step> + + <step> + <para>Дараах тушаалыг ашиглаж үйл явцыг шалгаж болно:</para> + + <screen>&prompt.root; <userinput>dmesg | tail -10</userinput> +[output removed] +ad6: removed from configuration +ad6: deleted from ar0 disk1 +ad6: inserted into ar0 disk1 as spare + +&prompt.root; <userinput>atacontrol status ar0</userinput> +ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed</screen> + </step> + + <step> + <para>Энэ үйлдэл хийгдэж дуустал хүлээх хэрэгтэй.</para> + </step> + </procedure> + </sect2> + </sect1> + + <sect1 id="usb-disks"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- Jul 2004 --> + </sect1info> + + <title>USB хадгалалтын төхөөрөмжүүд</title> + <indexterm> + <primary>USB</primary> + <secondary>дискүүд</secondary> + </indexterm> + + <para>Одоо үед маш олон гадаад хадгалалтын шийдлүүд байгаа бөгөөд + Universal Serial Bus (USB): хатуу хөтөчүүд, USB хуруун хөтөчүүд, + CD-R шарагчид зэргийг ашигладаг. &os; нь эдгээр төхөөрөмжүүдийн + дэмжлэгийг хангадаг.</para> + + <sect2> + <title>Тохиргоо</title> + + <para>USB бөөн хадгалалтын төхөөрөмжүүдийн драйвер &man.umass.4; нь + USB хадгалалтын төхөөрөмжүүдийн дэмжлэгийг хангадаг. Хэрэв та + <filename>GENERIC</filename> цөм ашиглавал өөрийн тохиргоондоо юу + ч өөрчлөх шаардлагагүй. Хэрэв та өөрчлөн тохируулсан цөм ашиглах бол + таны цөмийн тохиргооны файлд дараах мөрүүд байгаа эсэхийг + шалгаарай:</para> + + <programlisting>device scbus +device da +device pass +device uhci +device ohci +device usb +device umass</programlisting> + + <para>&man.umass.4; драйвер нь USB хадгалалтын төхөөрөмжүүдэд хандахын + тулд SCSI дэд системийг хэрэглэглэдэг бөгөөд таны USB төхөөрөмж системд + SCSI төхөөрөмж маягаар харагдах болно. Таны эх хавтан дээрх USB бичил + схемээс хамаарч танд зөвхөн <literal>device + uhci</literal> эсвэл <literal>device ohci</literal> хоёрын аль нэг + хэрэгтэй болно, гэхдээ хоюуланг нь цөмийн тохиргоондоо байлгах нь гэмгүй юм. + Хэрэв та ямар нэг мөр нэмсэн бол шинэ цөмөө эмхэтгэж суулгахаа битгий + мартаарай.</para> + + <note> + <para>Хэрэв таны USB төхөөрөмж чинь CD-R эсвэл DVD шарагч бол + SCSI CD-ROM драйвер &man.cd.4;-г цөмд дараах мөрийн тусламжтай + нэмэх ёстой:</para> + + <programlisting>device cd</programlisting> + + <para>Шарагч нь SCSI хөтөч гэж харагддаг учир &man.atapicam.4; + драйверийг цөмийн тохиргоонд ашиглах ёсгүй.</para> + </note> + + <para>USB 2.0 хянагчуудын дэмжлэг &os;-д байдаг; гэхдээ та дараах + мөрийг:</para> + + <programlisting>device ehci</programlisting> + + <para>өөрийн тохиргооны файлдаа USB 2.0 дэмжлэгт зориулж нэмэх ёстой. + Хэрэв танд USB 1.X дэмжлэг хэрэгтэй бол &man.uhci.4; болон &man.ohci.4; + драйверууд нь хэрэгтэй хэвээр болохыг санаарай.</para> + </sect2> + + <sect2> + <title>Тохиргоог тест хийх нь</title> + + <para>Тохиргоог тест хийхэд бэлэн боллоо: өөрийн USB төхөөрөмжийг залгахад + системийн мэдэгдлийн буфферт (&man.dmesg.8;) хөтөч нь иймэрхүү + харагдах ёстой:</para> + + <screen>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: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device +da0: 1.000MB/s transfers +da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)</screen> + + <para>Мэдээж хэрэг үйлдвэрлэгч, төхөөрөмжийн цэг (<devicename>da0</devicename>) + болон бусад зүйлс таны тохиргооноос хамаараад өөр байж болно.</para> + + <para>USB төхөөрөмж нь SCSI төхөөрөмж гэж харагддаг болохоор + <command>camcontrol</command> тушаалыг ашиглаж системд холбогдсон + USB хадгалалтын төхөөрөмжүүдийн жагсаалтыг харуулж болно:</para> + + <screen>&prompt.root; <userinput>camcontrol devlist</userinput> +<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)</screen> + + <para>Хэрэв хөтөч нь файлын системтэй ирвэл та түүнийг холбож чадна. + <xref linkend="disks-adding"> хэсэг нь хэрэв шаардлагатай бол + USB хөтөчийг хэлбэршүүлж түүн дээр хуваалт үүсгэхэд танд туслах + болно.</para> + + <para>Энэ төхөөрөмжийг энгийн хэрэглэгч холбож чаддагаар болгохын тулд + тодорхой алхмуудыг хийх хэрэгтэй. Эхлээд USB хадгалалтын төхөөрөмж + холбогдсон үед үүссэн төхөөрөмжүүдэд хэрэглэгч хандаж болохоор байх + хэрэгтэй. Үүний шийдэл нь эдгээр төхөөрөмжүүдийн бүх хэрэглэгчдийг + <groupname>operator</groupname> бүлгийн гишүүн болгох явдал + юм. Үүнийг &man.pw.8;-ээр хийнэ. Хоёрдугаарт төхөөрөмжүүд нь + үүсэх үед <groupname>operator</groupname> бүлэг тэдгээрийг + уншиж бичиж чадаж байх ёстой. Тохирох мөрүүдийг + <filename>/etc/devfs.rules</filename> файлд + нэмснээр үүнийг хийж болно:</para> + + <programlisting>[localrules=1] +add path 'da*' mode 0660 group operator</programlisting> + + <note> + <para>Хэрэв системд SCSI дискүүд байгаа бол үүнийг арай өөрөөр хийх + ёстой. Өөрөөр хэлбэл хэрэв систем нь аль хэдийн <devicename>da0</devicename>-ээс + <devicename>da2</devicename> хүртэлх холбогдсон дискүүдийг + агуулж байвал хоёр дахь мөрийг дараах маягаар солих хэрэгтэй:</para> + + <programlisting>add path 'da[3-9]*' mode 0660 group operator</programlisting> + + <para>Энэ нь байгаа дискүүдийг <groupname>operator</groupname> + бүлэгт хамааруулахгүй болгоно.</para> + </note> + + <para>Та бас өөрийн &man.devfs.rules.5; дүрмийн олонлогийг + <filename>/etc/rc.conf</filename> файлд идэвхжүүлэх + хэрэгтэй:</para> + + <programlisting>devfs_system_ruleset="localrules"</programlisting> + + <para>Дараа нь цөм нь ердийн хэрэглэгчдэд файлын системийг холбох боломжтойгоор + тохируулагдах ёстой. Хамгийн хялбар арга бол <filename>/etc/sysctl.conf</filename>-д + мөр нэмэх явдал юм:</para> + + <programlisting>vfs.usermount=1</programlisting> + + <para>Дараагийн дахин ачаалалтын дараа энэ нь идэвхжихийг санаарай. + Өөрөөр энэ хувьсагчийг тохируулахын тулд &man.sysctl.8;-г ашиглаж + болох юм.</para> + + <para>Төгсгөлийн алхам нь файлын систем холбогдох санг үүсгэх явдал юм. + Энэ санг файлын системийг холбох хэрэглэгч эзэмшсэн байх хэрэгтэй. + Үүнийг хийх нэг арга нь <username>root</username>-ийн хувьд + тэр хэрэглэгчийн эзэмшсэн дэд санг + <filename>/mnt/<replaceable>$USER</replaceable></filename> + (<replaceable>$USER</replaceable>-г тухайн хэрэглэгчийнхээ нэвтрэх + нэрээр солиорой) гэж үүсгэх явдал юм:</para> + + <screen>&prompt.root; <userinput>mkdir /mnt/$USER</userinput> +&prompt.root; <userinput>chown <replaceable>$USER</replaceable>:<replaceable>$USER</replaceable> /mnt/<replaceable>$USER</replaceable></userinput></screen> + + <para>USB хуруун хөтөч залгагдаж <filename>/dev/da0s1</filename> төхөөрөмж + гарж иржээ гэж бодъё. Эдгээр төхөөрөмжүүд нь ихэвчлэн FAT файлын системээр + хэлбэршүүлэгдсэн ирдэг бөгөөд эдгээрийг иймэрхүү маягаар холбож + болно:</para> + + <screen>&prompt.user; <userinput>mount_msdosfs -m 644 -M 755 /dev/da0s1 /mnt/<replaceable>$USER</replaceable></userinput></screen> + + <para>Хэрэв та төхөөрөмжийг залгаснаа салгавал (дискийг урьдаар салгах ёстой) + та системийн мэдэгдлийн буфферээс дараахтай төстэй мэдэгдлийг + харах ёстой:</para> + + <screen>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</screen> + </sect2> + + <sect2> + <title>Нэмэлт унших материалууд</title> + + <para><link linkend="disks-adding">Диск нэмэх</link> болон + <link linkend="mount-unmount">Файлын системүүдийг холбох болон салгах</link> + хэсгүүдээс гадна төрөл бүрийн гарын авлагын хуудаснуудыг унших нь хэрэгтэй + байж болох юм: &man.umass.4;, &man.camcontrol.8;, + болон &man.usbdevs.8;.</para> + </sect2> + </sect1> + + <sect1 id="creating-cds"> + <sect1info> + <authorgroup> + <author> + <firstname>Майк</firstname> + <surname>Мэйэр</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + <!-- mwm@mired.org --> + </author> + </authorgroup> + <!-- Apr 2001 --> + </sect1info> + + <title>Оптик зөөвөрлөгчийг (CD-үүд) үүсгэж ашиглах нь</title> + <indexterm> + <primary>CDROM-ууд</primary> + <secondary>үүсгэх нь</secondary> + </indexterm> + + <sect2> + <title>Танилцуулга</title> + + <para>CD-үүд нь тэдгээрийг ердийн дискүүдээс ялгах хэд хэдэн боломжуудтай + байдаг. Эхлээд хэрэглэгч CD дээр бичих боломжгүй байсан. Тэдгээр нь + замуудын хооронд толгойг шилжүүлэхдээ сааталгүйгээр үргэлжлэн уншдагаар + хийгджээ. Тэр үед байсан адил хэмжээтэй зөөвөрлөгчийг зөөхөөс тэдгээрийг + систем хооронд зөөх нь хамаагүй хялбар байдаг.</para> + + <para>CD-үүд нь замтай байдаг боловч энэ нь дискийн фикик хэсэг биш харин + үргэлжлэн уншигдах өгөгдлийн хэсгийг хэлдэг. FreeBSD дээр CD үүсгэхдээ + CD дээр замууд үүсгэх өгөгдлийн файлуудыг бэлдэж дараа нь замуудыг CD + уруу бичнэ.</para> + + <indexterm><primary>ISO 9660</primary></indexterm> + <indexterm> + <primary>файлын системүүд</primary> + <secondary>ISO 9660</secondary> + </indexterm> + <para>ISO 9660 файлын систем нь эдгээр ялгаануудтай ажиллахаар хийгдсэн. + Энэ нь тэр үед нийтлэг байсан файлын системийн хязгааруудыг харамсалтай нь + кодчилдог. Азаар энэ нь зөв бичигдсэн CD-үүдэд тэдгээр хязгааруудыг давж гарахыг + зөвшөөрөх өргөтгөлөөр хангадаг бөгөөд тэдгээр өргөтгөлүүдийг дэмждэггүй системүүдтэй + ажиллаж чадсан хэвээр байдаг.</para> + + <indexterm> + <primary><filename role="package">sysutils/cdrtools</filename></primary> + </indexterm> + <para><filename role="package">sysutils/cdrtools</filename> + портод ISO 9660 файлын системийг агуулах өгөгдлийн файлыг үүсгэдэг програм + &man.mkisofs.8; байдаг. Энэ нь төрөл бүрийн өргөтгөлүүдийг дэмждэг + тохируулгуудтай бөгөөд доор тайлбарлагдсан болно.</para> + + <indexterm> + <primary>CD шарагч</primary> + <secondary>ATAPI</secondary> + </indexterm> + <para>CD шарахдаа ямар хэрэгслийг ашиглах нь таны CD шарагч ATAPI юу аль эсвэл өөр үү + гэдгээс шалтгаална. ATAPI CD шарагчид нь үндсэн системийн <command><link + linkend="burncd">burncd</link></command> програмыг ашигладаг. + SCSI болон USB CD шарагчид нь <filename role="package">sysutils/cdrtools</filename> + портын <command><link linkend="cdrecord">cdrecord</link></command>-г + ашиглах ёстой. Мөн ATAPI тоног төхөөрөмж дээр SCSI хөтөчүүдийн хувьд + <link linkend="atapicam">ATAPI/CAM модул</link> ашиглан + <command><link linkend="cdrecord">cdrecord</link></command>-г + хэрэглэх боломжтой байдаг.</para> + + <para>Хэрэв та график хэрэглэгчийн интерфэйстэй CD шарагч програм хангамжийг + хүсэж байгаа бол <application>X-CD-Roast</application> эсвэл + <application>K3b</application>-г үзээрэй. Эдгээр хэрэгслүүд нь + багц хэлбэрээр эсвэл <filename + role="package">sysutils/xcdroast</filename> болон <filename + role="package">sysutils/k3b</filename> портуудад байдаг. + <application>X-CD-Roast</application> болон + <application>K3b</application> нь ATAPI тоног төхөөрөмж дээр + <link linkend="atapicam">ATAPI/CAM модул</link>ийг шаарддаг.</para> + </sect2> + + <sect2 id="mkisofs"> + <title>mkisofs</title> + + <para><filename role="package">sysutils/cdrtools</filename> портын + хэсэг &man.mkisofs.8; програм нь &unix;-ийн файлын системийн нэрийн талбар + дахь сангийн модны дүрс болох ISO 9660 файлын системийг үүсгэдэг. + Хамгийн хялбар хэрэглээ нь:</para> + + <screen>&prompt.root; <userinput>mkisofs -o <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/tree</replaceable></userinput></screen> + + <indexterm> + <primary>файлын системүүд</primary> + <secondary>ISO 9660</secondary> + </indexterm> + <para>Энэ тушаал нь <replaceable>/path/to/tree</replaceable> дахь + модны хуулбар ISO 9660 файлын системийг агуулах + <replaceable>imagefile.iso</replaceable> файлыг үүсгэх болно. + Энэ процессд файлын нэрсийг ISO 9660 файлын системийн стандартын + хязгаарлалтуудад багтах нэрсэд тааруулах бөгөөд ISO файлын системүүдэд + байдаггүй нэрс бүхий файлуудыг оруулахгүй байх болно.</para> + + <indexterm> + <primary>файлын системүүд</primary> + <secondary>HFS</secondary> + </indexterm> + <indexterm> + <primary>файлын системүүд</primary> + <secondary>Joliet</secondary> + </indexterm> + <para>Тэдгээр хязгаарлалтуудыг давж гарах хэд хэдэн тохируулгууд байдаг. + Ялангуяа <option>-R</option> тохируулга &unix; системүүдэд + нийтлэг байдаг Rock Ridge өргөтгөлүүдийг идэвхжүүлдэг, <option>-J</option> + нь Microsoft системүүдэд хэрэглэгддэг Joilet өргөтгөлүүдийг идэвхжүүлдэг + бөгөөд <option>-hfs</option> нь &macos;-д хэрэглэгддэг HFS файлын + системүүдийг үүсгэхэд ашиглагддаг.</para> + + <para>Зөвхөн FreeBSD системүүдэд ашиглагдах CD-үүдийн хувьд <option>-U</option> + тохируулга бүх файлын нэрийн хязгаарлалтуудыг хаахад ашиглагдаж болно. + <option>-R</option> тохируулгатай хэрэглэгдэх үед энэ нь таны эхэлсэн + FreeBSD-ийн модтой ижил файлын системийн дүрсийг үүсгэдэг, гэхдээ энэ нь + ISO 9660 стандартыг хэд хэдэн замаар зөрчиж болох юм.</para> + + <indexterm> + <primary>CDROM-ууд</primary> + <secondary>ачаалагддаг үүсгэх</secondary> + </indexterm> + <para>Ердийн хэрэглээний сүүлийн тохируулга нь <option>-b</option> юм. + Энэ нь ачаалагдах <quote>El Torito</quote> CD-г үүсгэхэд хэрэглэгдэх + ачаалагдах дүрсийн байрлалыг заахад ашиглагддаг. Энэ тохируулга нь + CD уруу бичигдэх модны дээд хэсгийн ачаалагдах дүрс хүрэх замыг заах + нэмэлт өгөгдлийг авдаг. Анхдагчаар &man.mkisofs.8; нь + <quote>floppy disk emulation буюу уян дискийн эмуляц</quote> гэж + нэрлэгддэг горимд ISO дүрсийг үүсгэдэг бөгөөд ачаалагдах дүрсийг яг + 1200, 1440, эсвэл 2880 KB хэмжээтэй байна гэж тооцдог. + FreeBSD түгээлтийн дискүүдэд хэрэглэгддэг ачаалагч дуудагч зэрэг зарим + ачаалагч дуудагчид нь эмуляц горимыг ашигладаггүй; энэ тохиолдолд + <option>-no-emul-boot</option> тохируулгыг ашиглах шаардлагатай. + Тэгэхээр хэрэв <filename>/tmp/myboot</filename> нь ачаалагдах + FreeBSD системийг <filename>/tmp/myboot/boot/cdboot</filename> + дэх ачаалагдах дүрстэй цуг агуулж байвал та ISO 9660 файлын системийн + дүрсийг <filename>/tmp/bootable.iso</filename>-д иймэрхүү + маягаар үүсгэж болох юм:</para> + + <screen>&prompt.root; <userinput>mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot</userinput></screen> + + <para>Үүнийг хийснийхээ дараа хэрэв та цөмдөө <devicename>md</devicename>-г + тохируулсан бол файлын системийг ингэж холбож болно:</para> + + <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /tmp/bootable.iso -u 0</userinput> +&prompt.root; <userinput>mount -t cd9660 /dev/md0 /mnt</userinput></screen> + + <para>Энэ үед та <filename>/mnt</filename> болон + <filename>/tmp/myboot</filename> нь ижил болохыг шалгаж болно.</para> + + <para>&man.mkisofs.8;-ийн ажиллагааг нарийн тааруулахын тулд та түүний + бусад олон тохируулгуудыг ашиглаж болно. Ялангуяа ISO 9660-ийн байрлал + болон Joilet ба HFS дискүүдийн үүсгэлтэд өөрчлөлтүүд хийж болно. + Дэлгэрэнгүйг &man.mkisofs.8;-ийн гарын авлагын хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2 id="burncd"> + <title>burncd</title> + <indexterm> + <primary>CDROM-ууд</primary> + <secondary>шарах</secondary> + </indexterm> + <para>Хэрэв танд ATAPI CD шарагч байгаа бол та ISO дүрсийг CD уруу шарахдаа + <command>burncd</command> тушаалыг ашиглаж болно. + <command>burncd</command> нь үндсэн системийн хэсэг бөгөөд + <filename>/usr/sbin/burncd</filename> гэж суулгагдсан байдаг. Энэ нь + цөөн тохируулгуудтай болохоор хэрэглэхэд их хялбар байдаг:</para> + + <screen>&prompt.root; <userinput>burncd -f <replaceable>cddevice</replaceable> data <replaceable>imagefile.iso</replaceable> fixate</userinput></screen> + + <para>Дээрх тушаал нь <replaceable>imagefile.iso</replaceable>-н + хуулбарыг <replaceable>cddevice</replaceable> уруу шарах болно. + Анхдагч төхөөрөмж нь <filename>/dev/acd0</filename> юм. + Бичих хурд, шарсны дараа CD-г гаргах болон аудио өгөгдөл бичихийг заах + тохируулгуудын талаар &man.burncd.8;-с үзнэ үү.</para> + </sect2> + + <sect2 id="cdrecord"> + <title>cdrecord</title> + + <para>Хэрэв танд ATAPI CD шарагч байхгүй бол та өөрийн CD-үүдийг шарахын + тулд <command>cdrecord</command>-г ашиглах шаардлагатай. + <command>cdrecord</command> нь үндсэн системд байдаггүй; та үүнийг + <filename role="package">sysutils/cdrtools</filename> дахь + портоос эсвэл тохирох багцаас суулгах ёстой. Үндсэн системд хийгдсэн + өөрчлөлт нь энэ програмын хоёртын хувилбарыг ажиллахгүй болгож, магадгүй + <quote>асуудалд (coaster)</quote> хүргэж болох юм. + Тийм болохоор та өөрийн системээ шинэчлэхдээ портоо бас шинэчлэх эсвэл хэрэв + та <link linkend="stable">-STABLE салбарыг дагаж</link> байгаа бол + портыг шинэ хувилбар гарахад нь шинэчлэх хэрэгтэй.</para> + + <para><command>cdrecord</command> нь олон тохируулгатай байдаг боловч + үндсэн хэрэглээ нь <command>burncd</command>-с бүр илүү хялбар байдаг. + ISO 9660 дүрсийг шарахдаа:</para> + + <screen>&prompt.root; <userinput>cdrecord dev=<replaceable>device</replaceable> <replaceable>imagefile.iso</replaceable></userinput></screen> + + <para><command>cdrecord</command>-г хэрэглэхэд гардаг нэг заль нь + <option>dev</option> тохируулгыг олох явдал юм. Зөв тохиргоог олохын + тулд <command>cdrecord</command>-ийн <option>-scanbus</option> + тугийг хэрэглэх хэрэгтэй бөгөөд энэ нь иймэрхүү үр дүнд хүргэж болох юм:</para> + <indexterm> + <primary>CDROM-ууд</primary> + <secondary>шарах</secondary> + </indexterm> + <screen>&prompt.root; <userinput>cdrecord -scanbus</userinput> +Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling +Using libscg version 'schily-0.1' +scsibus0: + 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk + 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk + 0,2,0 2) * + 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk + 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM + 0,5,0 5) * + 0,6,0 6) * + 0,7,0 7) * +scsibus1: + 1,0,0 100) * + 1,1,0 101) * + 1,2,0 102) * + 1,3,0 103) * + 1,4,0 104) * + 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM + 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner + 1,7,0 107) *</screen> + + <para>Энэ нь жагсаалтан дахь төхөөрөмжүүдийн хувьд тохирох <option>dev</option> утгыг + жагсаадаг. Өөрийн CD шарагчийг олохын тулд <option>dev</option> тохируулгын + утгад гурван дугаарыг таслалаар тусгаарлан хэрэглэнэ. Энэ тохиолдолд CRW төхөөрөмж + нь 1,5,0, байх бөгөөд тохирох оролт нь <option>dev=1,5,0</option> болно. + Энэ утгыг заах амархан аргууд байдаг; дэлгэрэнгүйг &man.cdrecord.1;-с үзнэ үү. + Мөн тэндээс аудио замуудыг бичих, хурдыг хянах болон бусад зүйлүүдийн талаарх + мэдээллийг үзэж болно.</para> + </sect2> + + <sect2 id="duplicating-audiocds"> + <title>Аудио CD-үүдийг хувилах</title> + + <para>Та аудио өгөгдлийг CD-ээс файлуудын цуваа болгон задалж дараа нь эдгээр + файлуудыг хоосон CD дээр бичин аудио CD-г хувилж болно. Энэ процесс нь ATAPI болон + SCSI хөтөчүүдийн хувьд нэлээн өөр байдаг.</para> + + <procedure> + <title>SCSI хөтөчүүд</title> + + <step> + <para>Аудиог <command>cdda2wav</command> ашиглан задлана.</para> + + <screen>&prompt.user; <userinput>cdda2wav -v255 -D2,0 -B -Owav</userinput></screen> + </step> + + <step> + <para><command>cdrecord</command> ашиглан <filename>.wav</filename> + файлуудыг бичнэ.</para> + + <screen>&prompt.user; <userinput>cdrecord -v dev=<replaceable>2,0</replaceable> -dao -useinfo *.wav</userinput></screen> + + <para><xref linkend="cdrecord"> хэсэгт тайлбарласны дагуу + <replaceable>2,0</replaceable> гэж зөв заагдсан эсэхийг + шалгаарай.</para> + </step> + </procedure> + + <procedure> + <title>ATAPI хөтөчүүд</title> + + <step> + <para>ATAPI CD драйвер нь зам бүрийг + <filename>/dev/acd<replaceable>d</replaceable>t<replaceable>nn</replaceable></filename> + маягаар болгодог бөгөөд <replaceable>d</replaceable> нь хөтөчийн + дугаар ба <replaceable>nn</replaceable> нь шаардлагатай бол урдаа 0 тавьж + хоёр оронтой тоогоор бичигдсэн замын дугаар юм. Тэгэхээр эхний диск дээрх + эхний зам нь <filename>/dev/acd0t01</filename>, хоёр дахь нь + <filename>/dev/acd0t02</filename>, гурав дахь нь + <filename>/dev/acd0t03</filename> гэх мэтчилэн байна.</para> + + <para>Тохирох файлууд <filename>/dev</filename> санд байгаа эсэхийг + шалгаарай. Хэрэв оруулгууд байхгүй байгаа бол зөөвөрлөгчийг + дахин үзэхээр системийг хүчлэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/acd0 of=/dev/null count=1</userinput></screen> + </step> + + <step> + <para>Зам бүрийг &man.dd.1; ашиглан задална. Файлуудыг задлахдаа + та тусгай блокийн хэмжээг бас ашиглах ёстой.</para> + + <screen>&prompt.root; <userinput>dd if=/dev/acd0t01 of=track1.cdr bs=2352</userinput> +&prompt.root; <userinput>dd if=/dev/acd0t02 of=track2.cdr bs=2352</userinput> +... +</screen> + </step> + + <step> + <para>Задалсан файлуудаа диск уруу <command>burncd</command> ашиглан + шарна. Та эдгээрийг аудио файл гэж зааж өгөх хэрэгтэй бөгөөд + <command>burncd</command> нь дуусахдаа дискийг бэхжүүлэх + ёстой.</para> + + <screen>&prompt.root; <userinput>burncd -f <replaceable>/dev/acd0</replaceable> audio track1.cdr track2.cdr <replaceable>...</replaceable> fixate</userinput></screen> + </step> + </procedure> + </sect2> + + <sect2 id="imaging-cd"> + <title>Өгөгдлийн CD-үүдийг хувилах</title> + + <para>Та өгөгдлийн CD-г &man.mkisofs.8;-р үүсгэсэн дүрс файлтай + ажиллагааны хувьд адилхан дүрс файл уруу хуулж болох бөгөөд та үүнийг + ямар ч өгөгдлийн CD хувилахад ашиглаж болно. Энд өгөгдсөн жишээ нь + таны CDROM төхөөрөмжийг <devicename>acd0</devicename> гэж + үзэх болно. Өөрийн зөв CDROM төхөөрөмжөөр солиорой.</para> + + <screen>&prompt.root; <userinput>dd if=/dev/acd0 of=file.iso bs=2048</userinput></screen> + + <para>Одоо та нэгэнт дүрстэй болсон болохоор үүнийг CD уруу дээр тайлбарласны + дагуу шарж болно.</para> + </sect2> + + <sect2 id="mounting-cd"> + <title>Өгөгдлийн CD-үүдийг ашиглах</title> + + <para>Одоо та стандарт өгөгдлийн CDROM үүсгэсэн болохоор түүнийг + холбож түүн дээрх өгөгдлийг уншихыг хүсэх байх. Анхдагчаар + &man.mount.8; нь файлын системийг <literal>ufs</literal> + төрлийнх гэж үздэг. Хэрэв та доорхи шиг оролдвол:</para> + + <screen>&prompt.root; <userinput>mount /dev/cd0 /mnt</userinput></screen> + + <para><errorname>Incorrect super block</errorname> гэж + гомдоллохыг та харах бөгөөд холболт хийгдэхгүй байх болно. CDROM нь + <literal>UFS</literal> файлын систем биш, тэгэхээр ингэж + холбохыг оролдох нь амжилтгүй болох болно. Та &man.mount.8;-д + файлын системийн төрөл нь <literal>ISO9660</literal> гэж + зааж өгөхөд л бүгд ажиллах болно. Та <option>-t cd9660</option> + тохируулгыг &man.mount.8;-д өгч үүнийг хийнэ. Жишээ нь хэрэв та + CDROM төхөөрөмж <filename>/dev/cd0</filename>-г + <filename>/mnt</filename>-д холбохыг хүсвэл дараах тушаалыг + ажиллуулах болно:</para> + + <screen>&prompt.root; <userinput>mount -t cd9660 /dev/cd0 /mnt</userinput></screen> + + <para>Таны төхөөрөмжийн нэр (энэ жишээн дээр <filename>/dev/cd0</filename>) + таны CDROM ямар интерфэйс ашиглаж байгаагаас хамааран өөр байж болох юм. + Мөн <option>-t cd9660</option> тохируулга нь ердөө л + &man.mount.cd9660.8;-г ажиллуулдаг. Дээрх жишээг ингэж богиносгож + болно:</para> + +<screen>&prompt.root; <userinput>mount_cd9660 /dev/cd0 /mnt</userinput></screen> + + <para>Та ерөнхийдөө энэ аргаар ямар ч үйлдвэрлэгчийн өгөгдлийн CDROM-уудыг + ашиглаж болно. Гэхдээ зарим нэг ISO 9660 өргөтгөлүүдтэй дискүүд хачин ажиллаж + болох юм. Жишээ нь Joilet дискүүд нь бүх файлын нэрсийг хоёр байт Юникод + тэмдэгтээр хадгалдаг. FreeBSD цөм нь Юникодоор ярьдаггүй, гэхдээ + &os;-ийн CD9660 драйвер Юникод тэмдэгтүүдийг шууд хувиргаж чаддаг. + Хэрэв зарим нэг Англи бус тэмдэгтүүд асуултын тэмдэг хэлбэрээр харагдвал + та ашиглаж байгаа локал тэмдэгтийн олонлогоо <option>-C</option> + тохируулгаар зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг + &man.mount.cd9660.8; гарын авлагын хуудаснаас лавлана уу.</para> + + <note> + <para>Энэ тэмдэгтийн хувиргалтыг <option>-C</option> тохируулгын + тусламжтай хийхийн тулд цөм <filename>cd9660_iconv.ko</filename> + модулийг дуудсан байхыг шаардах болно. Энэ мөрийг + <filename>loader.conf</filename> файлд нэмж үүнийг:</para> + + <programlisting>cd9660_iconv_load="YES"</programlisting> + + <para>гэж хийн машиныг дахин ачаалах буюу эсвэл модулийг &man.kldload.8;-н + тусламжтай дуудан хийж болох юм.</para> + </note> + + <para>Хааяа таныг CDROM-г холбохыг оролдох үед <errorname>Device not + configured</errorname> гэсэн алдаа гарч болох юм. Энэ нь ихэнхдээ + CDROM хөтөч нь төхөөрөмжид диск байхгүй эсвэл хөтөч нь шугаманд (bus) + харагдахгүй байна гэж үзэж байна гэсэн үг юм. CDROM хөтөч нь + хоёр секундын дотор үүнийг мэддэг болохоор тэвчээртэй байгаарай.</para> + + <para>Шугамын дахин тогтоолтод хариу өгөх хангалттай хугацаа байхгүйн улмаас + заримдаа SCSI CDROM-ийг олохгүй байж болох юм. Хэрэв та SCSI CDROM-той + бол та дараах тохируулгыг цөмийн тохиргоондоо нэмж + <link linkend="kernelconfig-building">өөрийн цөмийг дахин бүтээнэ үү</link>.</para> + + <programlisting>options SCSI_DELAY=15000</programlisting> + + <para>Энэ нь таны SCSI шугамд ачаалах үедээ 15 секунд түр саатахыг хэлж өгөх бөгөөд + ингэснээр шугамын дахин тогтоолтод таны CDROM хөтөчөөр хариу өгүүлэхийн тулд + бүх байж болох боломжийг түүнд өгч байна гэсэн үг юм.</para> + </sect2> + + <sect2 id="rawdata-cd"> + <title>Түүхий өгөгдлийн CD-үүдийг шарах</title> + + <para>Та ISO 9660 файлын системийг үүсгэлгүйгээр файлыг CD уруу шууд + шарахаар сонгож болно. Зарим хүмүүс үүнийг нөөцлөх зорилгоор хийдэг. + Энэ нь стандарт CD-г шарахаас илүү хурдан ажилладаг:</para> + + <screen>&prompt.root; <userinput>burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate</userinput></screen> + + <para>Тийм CD-д шарагдсан өгөгдлийг авахын тулд та түүхий төхөөрөмжийн + цэгээс өгөгдлийг унших ёстой:</para> + + <screen>&prompt.root; <userinput>tar xzvf /dev/acd1</userinput></screen> + + <para>Та энэ дискийг ердийн CDROM-ийг холбодог шиг холбож чадахгүй. + Ийм CDROM нь FreeBSD-ээс өөр ямар ч үйлдлийн систем дээр уншигдахгүй. + Хэрэв та CD-гээ холбохыг эсвэл өөр үйлдлийн системтэй өгөгдлөө + хуваалцах хүсэлтэй байгаа бол дээр тайлбарласны дагуу &man.mkisofs.8;-г + ашиглах ёстой.</para> + </sect2> + + <sect2 id="atapicam"> + <sect2info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + + <indexterm> + <primary>CD шарагч</primary> + <secondary>ATAPI/CAM драйвер</secondary> + </indexterm> + <title>ATAPI/CAM драйверийг ашиглах</title> + + <para>Энэ драйвер нь ATAPI төхөөрөмжүүдэд (CD-ROM, CD-RW, DVD + хөтөчүүд гэх мэт...) SCSI дэд системээр хандах боломжийг олгох + бөгөөд ингэснээр <filename role="package">sysutils/cdrdao</filename> + эсвэл &man.cdrecord.1; зэрэг програмуудыг ашиглах боломжийг + олгодог.</para> + + <para>Энэ драйверыг ашиглахын тулд та дараах мөрийг + <filename>/boot/loader.conf</filename> файл уруу нэмэх хэрэгтэй + болно:</para> + + <programlisting>atapicam_load="YES"</programlisting> + + <para>тэгээд өөрийн машинаа дахин ачаална.</para> + + <note> + <para>Хэрэв та өөрийн цөмдөө &man.atapicam.4; дэмжлэгийг статикаар + эмхэтгэхийг хүсвэл энэ мөрийг өөрийн цөмийн тохиргооны файлдаа + нэмэх хэрэгтэй болно:</para> + + <programlisting>device atapicam</programlisting> + + <para>Мөн та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдийг бас нэмэх + хэрэгтэй болно:</para> + + <programlisting>device ata +device scbus +device cd +device pass</programlisting> + + <para>Эдгээр нь аль хэдийн байж байх ёстой. Дараа нь дахин бүтээгээд + өөрийн цөмийг суулгаж машинаа дахин ачаалах хэрэгтэй.</para> + </note> + + <para>Ачаалах процессийн үед таны шарагч иймэрхүү маягаар гарч + ирэх ёстой:</para> + + <screen>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</screen> + + <para>Одоо хөтөчид <filename>/dev/cd0</filename> төхөрөөмжийн нэрийг + ашиглан хандаж болох бөгөөд жишээ нь CD-ROM-г <filename>/mnt</filename>-д холбохдоо + дараах тушаалыг бичих хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>mount -t cd9660 <replaceable>/dev/cd0</replaceable> /mnt</userinput></screen> + + <para><username>root</username> хэрэглэгчээр дараах тушаалыг ажиллуулж + та шарагчийн SCSI хаягийг авч болно:</para> + + <screen>&prompt.root; <userinput>camcontrol devlist</userinput> +<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)</screen> + + <para>Тэгэхээр <literal>1,0,0</literal> нь &man.cdrecord.1; + болон бусад SCSI програмтай ашиглах SCSI хаяг болох юм.</para> + + <para>ATAPI/CAM болон SCSI системийн талаар дэлгэрэнгүй мэдээллийг + &man.atapicam.4; болон &man.cam.4; гарын авлагын хуудаснуудаас + лавлана уу.</para> + </sect2> + </sect1> + + <sect1 id="creating-dvds"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Энди</firstname> + <surname>Поляков</surname> + <contrib>Зарим зүйл оруулсан </contrib> + </author> + </authorgroup> + <!-- Feb 2004 --> + </sect1info> + + <title>Оптик зөөвөрлөгчийг (DVD-үүд) үүсгэж ашиглах нь</title> + <indexterm> + <primary>DVD</primary> + <secondary>шарах нь</secondary> + </indexterm> + + <sect2> + <title>Танилцуулга</title> + + <para>CD-тэй харьцуулахад DVD нь оптик зөөвөрлөгч хадгалалтын технологийн + дараачийн үе юм. DVD нь ямар ч CD-ээс илүү өгөгдлийг агуулдаг бөгөөд + одоогийн видео хэвлэлтийн стандарт болжээ.</para> + + <para>Бичигддэг DVD гэж бидний нэрлэдэг DVD-үүдийн физик 5 бичигддэг + хэлбэршүүлэлтийг тодорхойлж болно:</para> + + <itemizedlist> + <listitem> + <para>DVD-R: Энэ нь бичигддэг DVD-ий анхны хэлбэршүүлэлт юм. + DVD-R стандарт нь <ulink + url="http://www.dvdforum.com/forum.shtml">DVD хэлэлцүүлгээр</ulink> + тодорхойлогдсон бөгөөд энэ нь зөвхөн нэг удаа + бичих хэлбэршүүлэлт юм.</para> + </listitem> + + <listitem> + <para>DVD-RW: Энэ нь DVD-R стандартын дахин бичигдэх хувилбар юм. + DVD-RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой.</para> + </listitem> + + <listitem> + <para>DVD-RAM: Энэ нь DVD хэлэлцүүлгийн дэмждэг бас дахин бичигддэг + хэлбэршүүлэлт юм. DVD-RAM нь зөөгдөж болох хатуу хөтөч маягаар + харагддаг. Гэхдээ энэ зөөвөрлөгч нь ихэнх DVD-ROM хөтөчүүд болон + DVD-Видео тоглуулагчуудтай нийцтэй биш байдаг; цөөн DVD бичигчид + DVD-RAM хэлбэршүүлэлтийг дэмждэг. DVD-RAM-ийн хэрэглээний талаар + илүү дэлгэрэнгүйг <xref linkend="creating-dvd-ram">-с + уншина уу.</para> + </listitem> + + <listitem> + <para>DVD+RW: Энэ нь <ulink url="http://www.dvdrw.com/">DVD+RW + холбооноос</ulink> тодорхойлсон дахин бичигдэх хэлбэршүүлэлт юм. + DVD+RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой.</para> + </listitem> + + <listitem> + <para>DVD+R: Энэ хэлбэршүүлэлт нь DVD+RW хэлбэршүүлэлтийн нэг удаа бичих + хувилбар юм.</para> + </listitem> + </itemizedlist> + + <para>Бичигддэг DVD-ий нэг давхарга нь 4,700,000,000 байт буюу + 4.38 GB эсвэл 4485 MB (1 килобайт нь 1024 байт) + хүртэлх мэдээлэл агуулж чадна.</para> + + <note> + <para>Физик зөөвөрлөгч болон програмыг ялгаж ойлгох ёстой. Жишээ нь + DVD-Видео нь дурын бичигддэг DVD физик зөөвөрлөгч DVD-R, DVD+R, DVD-RW гэх зэрэг + уруу бичигдэж болох тусгай байршлын зураглал юм. Зөөвөрлөгчийн төрлийг сонгохын өмнө + шарагч болон DVD-Видео тоглуулагч (дан тоглуулагч эсвэл компьютер дээрх DVD-ROM хөтөч) + нь хэрэглэхээр төлөвлөж байгаа зөөвөрлөгчтэй нийцтэй эсэхийг шалгах хэрэгтэй.</para></note> + </sect2> + + <sect2> + <title>Тохиргоо</title> + + <para>DVD бичлэг хийхэд &man.growisofs.1; програм ашиглагдана. + Энэ тушаал нь <application>dvd+rw-tools</application> хэрэгслүүдийн (<filename + role="package">sysutils/dvd+rw-tools</filename>) нэг хэсэг + юм. <application>dvd+rw-tools</application> нь DVD зөөвөрлөгчийн + бүх төрлийг дэмждэг.</para> + + <para>Эдгээр хэрэгслүүд нь төхөөрөмжүүд уруу хандахын тулд SCSI дэд системийг + ашигладаг, тиймээс таны цөмд <link linkend="atapicam">ATAPI/CAM + дэмжлэг</link> нэмэгдсэн байх ёстой. Хэрэв таны шарагч USB интерфэйс ашигладаг + бол энэ нэмэлт нь хэрэггүй бөгөөд та USB төхөөрөмжүүдийн тохиргооны талаар илүү + дэлгэрэнгүйг <xref linkend="usb-disks">-с унших шаардлагатай.</para> + + <para>Та мөн ATAPI төхөөрөмжүүдийн хувьд DMA хандалтыг идэвхжүүлэх ёстой бөгөөд + дараах мөрийг <filename>/boot/loader.conf</filename> файлд + нэмж үүнийг хийнэ:</para> + + <programlisting>hw.ata.atapi_dma="1"</programlisting> + + <para><application>dvd+rw-tools</application>-г ашиглахаасаа өмнө + өөрийн DVD шарагчтай холбоотой мэдээллийг <ulink + url="http://fy.chalmers.se/~appro/linux/DVD+RW/hcn.html">dvd+rw-tools' + тоног төхөөрөмжийн нийцтэй байдал</ulink> хаягаас лавлах хэрэгтэй.</para> + + <note> + <para>Хэрэв та график хэрэглэгчийн интерфэйсийг хүсэж байвал + &man.growisofs.1; болон бусад олон шарагч хэрэгслүүдийг + хэрэглэгчид ашиглахад амар интерфэйсээр хангадаг + <application>K3b</application> (<filename + role="package">sysutils/k3b</filename>) програмыг + үзэх хэрэгтэй.</para> + </note> + </sect2> + + <sect2> + <title>Өгөгдлийн DVD-үүдийг шарах нь</title> + + <para>&man.growisofs.1; тушаал нь <link + linkend="mkisofs">mkisofs</link>-ийн нүүр хэсэг юм, энэ нь + шинэ файлын системийн байршлыг үүсгэхийн тулд &man.mkisofs.8;-г + дуудах бөгөөд DVD дээр бичих үйлдлийг гүйцэтгэнэ. Энэ нь та шарах + процессээс өмнө өгөгдлийн дүрсийг үүсгэх хэрэггүй гэсэн үг юм.</para> + + <para>DVD+R эсвэл DVD-R уруу өгөгдлийг <filename + class="directory">/path/to/data</filename> сангаас шарахдаа + дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput></screen> + + <para>Файлын системийг үүсгэхдээ <option>-J -R</option> тохируулгуудыг + &man.mkisofs.8;-д дамжуулдаг (энэ тохиолдолд Joilet болон Rock Ridge + өргөтгөлүүдтэй ISO 9660 файлын систем). Дэлгэрэнгүйг &man.mkisofs.8; + гарын авлагын хуудаснаас лавлана уу.</para> + + <para><option>-Z</option> тохируулгыг ямар ч тохиолдолд + (олон сессүүд эсвэл ганц сесс) эхний сессийг бичихдээ хэрэглэдэг. DVD төхөөрөмж + <replaceable>/dev/cd0</replaceable>-г өөрийн тохиргооны дагуу өөрчлөх + хэрэгтэй. <option>-dvd-compat</option> параметр дискийг хаах бөгөөд + бичилтийг нэмэх нь боломжгүй болох юм. Энэ нь DVD-ROM хөтөчүүдтэй + зөөвөрлөгчийн нийцтэй байдлыг илүүтэй хангах юм.</para> + + <para>Мөн урьдчилан урласан дүрсийг шарах бас боломжтой, жишээ нь + <replaceable>imagefile.iso</replaceable> дүрсийг шарахын + тулд бид дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable></userinput></screen> + + <para>Бичих хурдыг олж зөөвөрлөгч ба ашиглагдаж байгаа хөтөчөөс + хамаарч автоматаар тохируулах болно. Хэрэв та бичих хурдыг өөрчлөх + хүсэлтэй байгаа бол <option>-speed=</option> параметрийг ашиглах + хэрэгтэй. Дэлгэрэнгүй мэдээллийг &man.growisofs.1; гарын авлагын + хуудаснаас уншина уу.</para> + </sect2> + + <indexterm> + <primary>DVD</primary> + <secondary>DVD-Video</secondary> + </indexterm> + + <sect2> + <title>DVD-Видео шарах нь</title> + + <para>DVD-Видео нь ISO 9660 болон микро-UDF (M-UDF тодорхойлолтууд + дээр тулгуурласан тусгай файлын байршлын зураглал юм. DVD-Видео нь бас + өгөгдлийн бүтцийн тусгай шатлалыг үзүүлдэг бөгөөд энэ нь DVD-г зохиохын тулд + <filename role="package">multimedia/dvdauthor</filename> зэрэг тусгай + програмыг та яагаад ашиглах хэрэгтэй болдгийн шалтгаан юм.</para> + + <para>Хэрэв танд DVD-Видео файлын системийн дүрс байгаа бол ямар ч дүрсийн нэгэн + адил аргаар шарах хэрэгтэй. Өмнөх хэсгийн жишээнээс үзнэ үү. Хэрэв та + DVD зохиолт хийсэн бөгөөд үр дүн нь жишээ нь <filename class="directory">/path/to/video</filename> + санд байгаа бол DVD-Видеог шарахын тулд дараах тушаалыг ашиглах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -dvd-video <replaceable>/path/to/video</replaceable></userinput></screen> + + <para><option>-dvd-video</option> тохируулга &man.mkisofs.8;-д + дамжуулагдах бөгөөд энэ нь DVD-Видео файлын системийн байршлын зураглал + үүсгэхийг тушаах болно. Үүнээс гадна <option>-dvd-video</option> + тохируулга нь &man.growisofs.1;-ийн <option>-dvd-compat</option> + тохируулгыг агуулдаг.</para> + </sect2> + + <indexterm> + <primary>DVD</primary> + <secondary>DVD+RW</secondary> + </indexterm> + + <sect2> + <title>DVD+RW ашиглах нь</title> + + <para>CD-RW-с ялгаатай нь шинэ DVD+RW нь ашиглагдахаа өмнө хэлбэршүүлэгдсэн + байх ёстой. &man.growisofs.1; нь шаардлагатай үед автоматаар үүнийг хийх + бөгөөд энэ аргыг <emphasis>зөвлөдөг</emphasis> юм. Гэхдээ та + <command>dvd+rw-format</command> тушаалыг ашиглан DVD+RW-г хэлбэршүүлж + болно:</para> + + <screen>&prompt.root; <userinput>dvd+rw-format <replaceable>/dev/cd0</replaceable></userinput></screen> + + <para>Та энэ үйлдлийг зөвхөн нэг удаа хийх хэрэгтэй бөгөөд зөвхөн шинэ DVD+RW + зөөвөрлөгчдийн хувьд хэлбэршүүлэх ёстойг санаарай. Дараа нь та DVD+RW-г дээрх + хэсгүүдэд дурдсаны адил шарж болно.</para> + + <para>Хэрэв та шинэ өгөгдлийг (зарим өгөгдлийг нэмэх биш + бүр мөсөн шинэ файлын систем шарах) DVD+RW уруу шарахыг хүсэж байгаа бол + түүнийг хоосон болгох шаардлагагүй юм, иймэрхүүгээр өмнөх бичилтэн дээрээ + (шинэ сесс үүсгээд) дараад л бичих хэрэгтэй юм:</para> + + <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/newdata</replaceable></userinput></screen> + + <para>DVD+RW хэлбэршүүлэлт нь өмнөх бичилтэд өгөгдлийг хялбараар нэмэх + боломжийг олгодог. Энэ үйлдэл нь шинэ сессийг хуучин байгаатай нь нийлүүлэх + бөгөөд энэ нь олон сесс бүхий бичилт биш юм. &man.growisofs.1; нь зөөвөрлөгч дээр + байгаа ISO 9660 файлын системийг <emphasis>өсгөх (сунгах)</emphasis> + болно.</para> + + <para>Жишээ нь хэрэв бид өөрсдийн урьдны DVD+RW уруу өгөгдөл нэмэхийг + хүсвэл дараахийг ашиглах хэрэгтэй болно:</para> + + <screen>&prompt.root; <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput></screen> + + <para>Эхний сессийг шарахдаа бидний хэрэглэдэг &man.mkisofs.8;-ийн + адил тохируулгууд дараагийн бичилтүүдийн үеэр хэрэглэгдэх ёстой.</para> + + <note> + <para>Хэрэв та DVD-ROM хөтөчүүдтэй зөөвөрлөгчийн хувьд илүүтэй нийцтэй байхыг + хүсвэл <option>-dvd-compat</option> тохируулгыг хэрэглэхийг + хүсэж болох юм. DVD+RW тохиолдлын хувьд энэ нь таныг өгөгдөл нэмэхийг болиулж + чадахгүй юм.</para> + </note> + + <para>Хэрэв та ямар нэг шалтгаанаар зөөвөрлөгчийг хоосон болгохыг хүсвэл + дараахийг хийх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable>=<replaceable>/dev/zero</replaceable></userinput></screen> + </sect2> + + <indexterm> + <primary>DVD</primary> + <secondary>DVD-RW</secondary> + </indexterm> + + <sect2> + <title>DVD-RW ашиглах нь</title> + + <para>DVD-RW нь дискийн хоёр хэлбэршүүлэлтийг авдаг: нэмэгдсэн дараалсан + хэлбэршүүлэлт болон хязгаарлагдмал дарж бичих хэлбэршүүлэлт юм. Анхдагчаар + DVD-RW дискүүд нь дараалсан хэлбэршүүлэлтэд байдаг.</para> + + <para>Шинэ DVD-RW нь хэлбэршүүлэлт хийгдэлгүйгээр шууд бичигдэж болдог, + гэхдээ шинэ биш дараалсан хэлбэршүүлэлтэд байх DVD-RW нь шинэ эхний сесс + бичигдэхээс өмнө хоосон болгогдсон байх шаардлагатай байдаг.</para> + + <para>Дараалсан горим дахь DVD-RW-г хоослохдоо дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>dvd+rw-format -blank=full <replaceable>/dev/cd0</replaceable></userinput></screen> + + <note> + <para>Бүр мөсөн хоослолт (<option>-blank=full</option>) 1x зөөвөрлөгч + дээр нэг цаг орчим болно. Хэрэв DVD-RW нь Disk-At-Once (DAO) горимоор + бичигдэх бол хурдан хоослолтыг <option>-blank</option> тохируулга ашиглан + хийж болно. DVD-RW-г DAO горимд шарахын тулд дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>growisofs -use-the-force-luke=dao -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable></userinput></screen> + + <para><option>-use-the-force-luke=dao</option> тохируулгыг + шаардах ёсгүй, учир нь &man.growisofs.1; нь (хурдан хоосолсон) + зөөвөрлөгчийг илрүүлэхийг бага оролдож DAO бичилтийг захиалах + болно.</para> + + <para>Яг үнэндээ дурын DVD-RW-ийн хувьд хязгаарлагдмал дарж бичих горимыг + ашиглах хэрэгтэй бөгөөд энэ хэлбэршүүлэлт нь анхдагч нэмэгдсэн дараалсан + хэлбэршүүлэлтээс илүү уян хатан байдаг.</para> + </note> + + <para>Дараалсан DVD-RW дээр өгөгдлийг бичихдээ бусад DVD хэлбэршүүлэлтийн + нэгэн адил заавруудыг ашиглана:</para> + + <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput></screen> + + <para>Хэрэв та зарим өгөгдлийг өөрийн урьдны бичлэгт нэмэхийг хүсвэл + &man.growisofs.1;-ийн <option>-M</option> тохируулгыг ашиглах + хэрэгтэй болно. Гэхдээ хэрэв та нэмэгдсэн дараалсан горимд байгаа DVD-RW + уруу өгөгдлийг нэмэх үйлдлийг хийвэл диск дээр шинэ сесс үүсгэгдэх бөгөөд + үүний үр дүн нь олон сесс бүхий диск болох юм.</para> + + <para>DVD-RW нь хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд шинэ эхний + сессээс өмнө хоосон болгогдох шаардлагагүй, та ердөө л дискийг + <option>- Z</option> тохируулгатай дарж бичих хэрэгтэй бөгөөд энэ нь + DVD+RW тохиолдолтой төстэй юм. Мөн диск дээр бичигдсэн байгаа ISO + 9660 файлын системийг DVD+RW-тэй адил аргаар <option>-M</option> + тохируулгын тусламжтай өсгөж (сунгаж) бас болно. Үр дүн нь нэг сесс + бүхий DVD болох юм.</para> + + <para>DVD-RW-г хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд оруулахдаа + дараах тушаалыг ашиглах ёстой:</para> + + <screen>&prompt.root; <userinput>dvd+rw-format <replaceable>/dev/cd0</replaceable></userinput></screen> + + <para>Дараалсан хэлбэршүүлэлт уруу буцааж өөрчлөхдөө дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>dvd+rw-format -blank=full <replaceable>/dev/cd0</replaceable></userinput></screen> + </sect2> + + <sect2> + <title>Олон сесс</title> + + <para>Маш цөөн DVD-ROM хөтөчүүд олон сесс бүхий DVD-үүдийг дэмждэг бөгөөд + тэдгээр нь ихэнхдээ зөвхөн эхний сессийг уншдаг. DVD+R, DVD-R болон DVD-RW нь + дараалсан хэлбэршүүлэлтдээ олон сессийг хүлээн авч чаддаг бөгөөд DVD+RW болон + DVD-RW хязгаарлагдмал дарж бичих хэлбэршүүлэлтүүдийн хувьд олон сесс гэсэн ойлголт + байдаггүй.</para> + + <para>Дараалсан хэлбэршүүлэлтэд DVD+R, DVD-R эсвэл DVD-RW дээрх эхний + (хаагдаагүй) сессийн дараа дараах тушаалыг ашиглаж дискэнд шинэ + сесс үүсгэнэ:</para> + + <screen>&prompt.root; <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput></screen> + + <para>Энэ тушаалын мөрийг DVD+RW эсвэл DVD-RW-тэй цуг ашиглан хязгаарлагдмал дарж бичих + горим дээр шинэ сессийг хуучин байгаатай нийлүүлэн өгөгдлийг нэмэх болно. Үр дүн нь + нэг сесс бүхий диск болох юм. Энэ нь эдгээр зөөвөрлөгчүүд дээр эхний бичилтийн дараа + өгөгдөл нэмэх арга юм.</para> + + <note> + <para>Зөөвөрлөгч дээрх зарим зай нь сесс бүрийн хооронд сессийн төгсгөл болон + эхлэлд хэрэглэгддэг. Тиймээс зөөвөрлөгчийн зайг оновчтой ашиглахын тулд + их өгөгдөлтэй сессүүдийг нэмэх ёстой юм. Сессийн тоо DVD+R-ийн хувьд 154, + DVD-R-ийн хувьд 2000 орчим, DVD+R хос давхаргын хувьд 127-оор + хязгаарлагдана.</para> + </note> + </sect2> + + <sect2> + <title>Дэлгэрэнгүй мэдээллийг</title> + + <para>DVD-ийн талаар илүү мэдээллийг авахын тулд + <command>dvd+rw-mediainfo + <replaceable>/dev/cd0</replaceable></command> тушаалыг хөтөч + дотор диск байхад ажиллуулж болно.</para> + + <para><application>dvd+rw-tools</application>-н талаарх дэлгэрэнгүй + мэдээлэл нь &man.growisofs.1; гарын авлагын хуудас, <ulink + url="http://fy.chalmers.se/~appro/linux/DVD+RW/">dvd+rw-tools + вэб сайт</ulink> болон <ulink + url="http://lists.debian.org/cdwrite/">cdwrite захидлын жагсаалт</ulink>ын + архивуудаас олдож болно.</para> + + <note> + <para>Бичигдсэн үр дүн эсвэл асуудалтай зөөвөрлөгчийн <command>dvd+rw-mediainfo</command> + гаралт нь ямар ч асуудлын тайлангийн чухал хэсэг юм. Энэ гаралтгүйгээр танд туслах + бараг л боломжгүй юм.</para> + </note> + </sect2> + + <sect2 id="creating-dvd-ram"> + <title>DVD-RAM ашиглах нь</title> + <indexterm> + <primary>DVD</primary> + <secondary>DVD-RAM</secondary> + </indexterm> + + <sect3> + <title>Тохиргоо</title> + + <para>DVD-RAM бичигчид нь SCSI аль эсвэл ATAPI интерфэйстэй цуг ирдэг. + ATAPI төхөөрөмжүүдийн хувьд DMA хандалт идэвхтэй болсон байх ёстой, + дараах мөрийг <filename>/boot/loader.conf</filename> + файлд нэмж үүнийг хийнэ:</para> + + <programlisting>hw.ata.atapi_dma="1"</programlisting> + </sect3> + + <sect3> + <title>Зөөвөрлөгчийг бэлдэх нь</title> + + <para>Өмнө нь бүлгийн танилцуулгад дурдсанаар DVD-RAM нь зөөврийн хатуу + хөтөч маягаар харагддаг. Бусад хатуу дискүүдийн адил DVD- RAM нь ашиглагдаж + эхлэхээсээ өмнө <quote>бэлдэгдсэн</quote> байх ёстой. Жишээн дээр дискийн + бүх зай стандарт UFS2 файлын системтэй ашиглагдана:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/dev/acd0</replaceable> count=2</userinput> +&prompt.root; <userinput>bsdlabel -Bw <replaceable>acd0</replaceable></userinput> +&prompt.root; <userinput>newfs <replaceable>/dev/acd0</replaceable></userinput></screen> + + <para>DVD төхөөрөмж <devicename>acd0</devicename>-ийг өөрийн тохиргооны + дагуу өөрчлөн ашиглах ёстой.</para> + </sect3> + + <sect3> + <title>Зөөвөрлөгчийг ашиглах нь</title> + + <para>Дээрх үйлдлүүд DVD-RAM дээр хийгдсэний дараа үүнийг энгийн + хатуу хөтөчийн нэгэн адил холбож болно:</para> + + <screen>&prompt.root; <userinput>mount <replaceable>/dev/acd0</replaceable> <replaceable>/mnt</replaceable></userinput></screen> + + <para>Үүний дараа DVD-RAM нь уншигдах бичигдэх боломжтой болно.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="floppies"> + <sect1info> + <authorgroup> + <author> + <firstname>Жулио</firstname> + <surname>Мерино</surname> + <contrib>Анхлан хийсэн </contrib> + </author> + </authorgroup> + <!-- 24 Dec 2001 --> + <authorgroup> + <author> + <firstname>Мартин</firstname> + <surname>Карлсон</surname> + <contrib>Дахин бичсэн </contrib> + </author> + </authorgroup> + <!-- 27 Apr 2003 --> + </sect1info> + + <title>Уян дискүүдийг үүсгэж ашиглах нь</title> + + <para>Өгөгдлийг уян дискүүд уруу хадгалах нь заримдаа ашигтай байдаг. Жишээ нь + хэн нэгэнд нь шилжүүлж болдог ямар ч хадгалалтын зөөвөрлөгч байхгүй тохиолдолд + эсвэл бага хэмжээний өгөгдлийг өөр компьютер уруу зөөх хэрэгцээ гарсан үед уян + диск нь хэрэг болдог.</para> + + <para>Энэ хэсэг нь FreeBSD дээр уян дискийг хэрхэн ашиглах талаар тайлбарлах болно. + Энд 3.5 инчийн DOS уян дискүүдийг хэлбэршүүлж ашиглах талаар үндсэндээ + тайлбарлах бөгөөд гэхдээ энэ ойлголт нь бусад уян дискийн хэлбэршүүлэлттэй + төстэй юм.</para> + + <sect2> + <title>Уян дискүүдийг хэлбэршүүлэх нь</title> + + <sect3> + <title>Төхөөрөмж</title> + + <para>Уян дискүүдэд бусад төхөөрөмжүүдийн адил <filename>/dev</filename> + сан дахь оруулгуудаар ханддаг. Түүхий уян дискэнд хандахын тулд + <filename>/dev/fd<replaceable>N</replaceable></filename>-г + ердөө л ашиглах хэрэгтэй.</para> + </sect3> + + <sect3> + <title>Хэлбэршүүлэх нь</title> + + <para>Уян дискийг ашиглахаасаа өмнө доод түвшний хэлбэршүүүлэлт + хийсэн байх хэрэгтэй. Үүнийг ихэвчлэн үйлдвэрлэгч хийдэг боловч + хэлбэршүүлэлт нь зөөвөрлөгчийн бүрэн бүтэн байдлыг шалгах нэг сайн + арга юм. Илүү том (эсвэл жижиг) дискийн хэмжээг хүчлэн ашиглах + боломжтой байдаг боловч 1440kB хэмжээнд зориулагдан ихэнх уян + диск хийгдсэн байдаг.</para> + + <para>Уян дискэнд доод түвшний хэлбэршүүлэлт хийхийн тулд та + &man.fdformat.1;-г ашиглах хэрэгтэй. Энэ хэрэгсэл нь төхөөрөмжийн + нэрийг нэмэлт өгөгдөл маягаар оруулахыг хүлээж байдаг.</para> + + <para>Алдааны мэдэгдлийг тэмдэглэж аваарай, учир нь эдгээр нь + дискийг сайн эсвэл муу эсэхийг тодорхойлоход туслах болно.</para> + + <sect4> + <title>Уян дискүүдийг хэлбэршүүлэх нь</title> + + <para><filename>/dev/fd<replaceable>N</replaceable></filename> + төхөөрөмжүүдийг ашиглан уян дискийг хэлбэршүүлэх хэрэгтэй. Шинэ 3.5 инч + диск өөрийн хөтөч уруугаа хийгээд дараах тушаалыг ажиллуул:</para> + + <screen>&prompt.root; <userinput>/usr/sbin/fdformat -f 1440 /dev/fd0</userinput></screen> + + </sect4> + </sect3> + </sect2> + + <sect2> + <title>Дискийн шошго</title> + + <para>Дискэнд доод түвшний хэлбэршүүлэлт хийсний дараа танд диск дээр шошго + тавих хэрэгтэй болно. Энэ дискийн шошго нь дараа нь устгагдах боловч + дискийн хэмжээ болон геометрийг дараа нь тодорхойлоход системд + хэрэг болдог.</para> + + <para>Шинэ дискийн шошго нь бүхэл дискийг хамарч уян дискийн геометрийн талаарх + бүх л зөв мэдээллийг агуулах болно. Дискийн шошгоны геометрийн утгууд нь + <filename>/etc/disktab</filename> файлд жагсаагдсан + байдаг.</para> + + <para>Та одоо ингэж &man.bsdlabel.8;-г ажиллуулж болно:</para> + + <screen>&prompt.root; <userinput>/sbin/bsdlabel -B -r -w /dev/fd0 fd1440</userinput></screen> + + </sect2> + + <sect2> + <title>Файлын систем</title> + + <para>Одоо уян дискэнд дээд түвшний хэлбэршүүлэлт хийхэд бэлэн боллоо. Энэ нь + дискийг FreeBSD унших болон түүнд бичих боломжийг олгох шинэ файлын системийг + диск дээр байрлуулах болно. Шинэ файлын системийг үүсгэсний дараа дискийн + шошго устгагдах бөгөөд хэрэв та дискийг дахин хэлбэршүүлэхийг хүсвэл дискийн + шошгыг дахин үүсгэх шаардлагатай болно.</para> + + <para>Уян дискийн файлын систем нь UFS эсвэл FAT хоёрын аль нэг нь байна. + FAT нь ерөнхийдөө уян дискүүдийн хувьд илүү дээр сонголт байдаг.</para> + + <para>Уян диск дээр шинэ файлын системийг байрлуулахын талд дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>/sbin/newfs_msdos /dev/fd0</userinput></screen> + + <para>Диск одоо ашиглахад бэлэн боллоо.</para> + </sect2> + + + <sect2> + <title>Уян дискийг ашиглах нь</title> + + <para>Уян дискийг ашиглахын тулд &man.mount.msdosfs.8; тушаалаар холбох хэрэгтэй. Мөн + портын цуглуулгаас <filename role="package">emulators/mtools</filename>-г + ашиглаж бас болох юм.</para> + </sect2> + </sect1> + + <sect1 id="backups-tapebackups"> + <title>Өгөгдлийн соронзон хальснууд үүсгэж ашиглах нь</title> + + <indexterm><primary>соронзон хальс зөөвөрлөгч</primary></indexterm> + <para>Гол соронзон хальс зөөвөрлөгчүүд нь 4мм, 8мм, QIC, мини-хайрцаг болон DLT + юм.</para> + + <sect2 id="backups-tapebackups-4mm"> + <title>4мм (DDS: Digital Data Storage)</title> + + <indexterm> + <primary>соронзон хальс зөөвөрлөгч</primary> + <secondary>DDS (4mm) соронзон хальснууд</secondary> + </indexterm> + <indexterm> + <primary>соронзон хальс зөөвөрлөгч</primary> + <secondary>QIC соронзон хальснууд</secondary> + </indexterm> + <para>4мм соронзон хальснууд нь QIC-г халж ажлын станцын нөөц зөөвөрлөгч болон сонгогдож + байна. Conner компани нь QIC хөтөчүүдийн тэргүүлэх үйлдвэрлэгч Archive-г + худалдаж авч дараа нь QIC хөтөчүүдийг үйлдвэрлэхээ зогсоосноор энэ чиг хандлага нь + илүү хурдассан юм. 4мм хөтөчүүд нь жижиг, чимээгүй боловч 8мм хөтөчүүд шиг + найдвартай ажиллагаагаараа алдартай биш юм. Хайрцагнууд нь үнэтэй биш бөгөөд + 8мм-ийн хайрцагнуудаас бага (3 x 2 x 0.5 инч, 76 x 51 x 12 мм) юм. + 4мм соронзон хальс нь 8мм-ийн нэгэн адил шалтгаанаар толгой нь богино настай бөгөөд + хоюулаа мушгиа сканыг ашигладаг.</para> + + <para>Эдгээр хөтөчүүд дээрх өгөгдлийн дамжуулах чадвар нь ~150 kB/s-с + эхэлж ~500 kB/s хүрнэ. Өгөгдлийн багтаамж 1.3 GB-с эхэлж + 2.0 GB хүрнэ. Тоног төхөөрөмжийн шахалт энэ хөтөчүүдийн ихэнхэд байх + бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. Олон хөтөч бүхий + соронзон хальсний сан (library) автомат соронзон хальс солигчтой нэг кабинетийн хувьд 6 хөтөчтэй + байж болно. Сангийн багтаамж нь 240 GB хүрнэ.</para> + + <para>DDS-3 стандарт нь одоогоор 12 GB (эсвэл 24 GB шахагдсан) + багтаамжтай соронзон хальсыг дэмждэг.</para> + + <para>4мм хөтөчүүд нь 8мм-ийн хөтөчүүдийн нэгэн адил мушгиа сканыг хэрэглэдэг. + Мушгиа скан хийхийн бүх ашигтай тал болон сул талууд нь 4мм болон 8мм-ийн хөтөчүүдийн + аль алинд нь хамаардаг.</para> + + <para>Соронзон хальснууд нь 2000 удаагийн ашиглалт эсвэл 100 бүрэн нөөцлөлтийн дараа + хэрэглээнээс гарах ёстой.</para> + </sect2> + + <sect2 id="backups-tapebackups-8mm"> + <title>8мм (Exabyte)</title> + <indexterm> + <primary>соронзон хальс зөөвөрлөгч</primary> + <secondary>Exabyte (8мм) соронзон хальснууд</secondary> + </indexterm> + + <para>8мм соронзон хальснууд нь хамгийн нийтлэг SCSI соронзон хальсний хөтөчүүд юм; тэдгээр нь соронзон хальснууд + солих хамгийн сайн сонголт болдог. Бараг сайт бүр Exabyte 2 GB 8мм-ийн + соронзон хальсний хөтөчтэй байдаг. 8мм-ийн хөтөчүүд нь найдвартай, хэрэглэхэд амар, чимээгүй + байдаг. Хайрцагнууд нь хямд, жижиг (4.8 x 3.3 x 0.6 инч; 122 x 84 x 15 мм) + байдаг. 8мм-ийн соронзон хальсний нэг сул тал нь толгойнуудын дагуух соронзон хальсний харьцангуй хөдөлгөөний + өндөр хувиас болоод харьцангуй богино толгой ба соронзон хальсний амьдрах хугацаатай байдаг явдал юм.</para> + + <para>Өгөгдөл дамжуулах чадвар нь ~250 kB/s-аас ~500 kB/s хүртэл байна. + Өгөгдлийн хэмжээ нь 300 MB-аас эхэлж 7 GB хүрнэ. Тоног төхөөрөмжийн шахалт + энэ хөтөчүүдийн ихэнхэд байх бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. + Эдгээр хөтөчүүд нь нэг буюу эсвэл нэг кабинетдаа 6 хөтөч болон 120 соронзон хальстай олон хөтөч + бүхий соронзон хальсний сан (library) хэлбэрээр байдаг. соронзон хальснууд нь автоматаар солигддог. + Сангийн багтаамж 840+ GB хүрнэ.</para> + + <para>Exabyte <quote>Mammoth</quote> загвар нь нэг соронзон хальс дээр 12 GB + ((24 GB шахалттайгаар) дэмждэг бөгөөд ердийн соронзон хальсний хөтөчөөс ойролцоогоор + хоёр дахин үнэтэй байдаг.</para> + + <para>Өгөгдөл нь соронзон хальс уруу мушгиа скан ашиглагдан бичигддэг, толгойнууд нь зөөвөрлөгч уруу + өнцгөөр байрладаг (ойролцоогоор 6 градус). Соронзон хальс нь толгойнуудыг барьж байдаг дамрын + 270 градус орчим ороодог. Соронзон хальс дамар дээгүүр гулгаж байхад дамар нь эргэж байдаг. + Үр дүнд нь өгөгдлийн өндөр нягтрал болон соронзон хальсний дагуу нэг ирмэгээс нөгөө уруу өнцөгдсөн ойрхон + багцалсан замууд үүсэх болно.</para> + </sect2> + + <sect2 id="backups-tapebackups-qic"> + <title>QIC</title> + <indexterm> + <primary>соронзон хальс зөөвөрлөгч</primary> + <secondary>QIC-150</secondary> + </indexterm> + + <para>QIC-150 соронзон хальснууд болон хөтөчүүд нь магадгүй хамгийн нийтлэг соронзон хальсний хөтөч, зөөвөрлөгч + юм. QIC соронзон хальсний хөтөчүүд нь хамгийн хямд <quote>нухацтай</quote> нөөцлөлтийн хөтөчүүд + юм. Сул тал нь зөөвөрлөгчийн үнэ байдаг. QIC соронзон хальснууд нь 8мм болон 4мм соронзон хальснуудтай + харьцуулахад GB өгөгдлийн хадгалалтын хувьд 5 дахин үнэтэй байдаг. Гэхдээ таны + хэрэглээнд цөөн (half-dozen) соронзон хальснууд хангалттай бол QIC нь магадгүй зөв сонголт + болж болох юм. QIC нь <emphasis>хамгийн</emphasis> нийтлэг соронзон хальсний хөтөч юм. + Сайт бүр ямар нэг хэмжээний QIC хөтөчтэй байдаг. QIC нь физикийн хувьд төстэй (заримдаа адил) + соронзон хальснуудад их хэмжээний нягтралтай байдаг. QIC хөтөчүүд нь чимээгүй биш юм. + Эдгээр хөтөчүүд нь өгөгдлийг бичиж эхлэхээсээ өмнө дуутайгаар хайдаг бөгөөд + унших, бичих эсвэл хайхдаа мэдэгдэхүйц дуутай байдаг. QIC соронзон хальснууд нь + 6 x 4 x 0.7 инч (152 x 102 x 17 мм) хэмжээтэй байдаг.</para> + + <para>Өгөгдлийн дамжуулах чадвар ~150 kB/s-с ~500 kB/s хүртэл байна. + Өгөгдлийн багтаамж 40 MB-с 15 GB хүртэл байна. Шинэ QIC хөтөчүүдийн + ихэнхэд тоног төхөөрөмжийн шахалт байдаг. QIC хөтөчүүд нь бага суулгагддаг; тэдгээр нь + DAT хөтөчүүдээр шахагдсан юм.</para> + + <para>Өгөгдөл нь соронзон хальс уруу замаар бичигддэг. Замууд нь соронзон хальсний зөөвөрлөгчийн нэг төгсгөлөөс + нөгөө уруу урт тэнхлэгийн дагуу байдаг. Замуудын тоо болон замын өргөн соронзон хальсний багтаамжаас + хамаарч өөр өөр байдаг. Бүх шинэ хөтөчүүдийн ихэнх нь хамгийн багадаа бодоход уншилтын + (ихэнхдээ бас бичилтийн хувьд) хуучинтайгаа нийцтэй байдаг. QIC нь өгөгдлийн аюулгүй + байдлын хувьд нэлээн нэр хүндтэй байдаг (механизм нь хөтөчүүдийг мушгиа скан хийснээс + илүү хялбар бөгөөд хүчирхэг байдаг).</para> + + <para>5,000 нөөцлөлтийн дараа соронзон хальснуудыг ашиглахаа болих шаардлагатай.</para> + </sect2> + + <sect2 id="backups-tapebackups-dlt"> + <title>DLT</title> + <indexterm> + <primary>соронзон хальс зөөвөрлөгч</primary> + <secondary>DLT</secondary> + </indexterm> + + <para>DLT нь энд жагсаагдсан бүх хөтөчийн төрлүүдээс хамгийн хурдан өгөгдөл дамжуулах + чадвартай байдаг. 1/2" (12.5мм) соронзон хальс нь ганц дамартай хайрцагт + (4 x 4 x 1 инч; 100 x 100 x 25 мм) байдаг. Хайрцаг нь нэг талаараа + ганхах хаалгатай байдаг. Хөтөчийн механизм соронзон хальсний тэргүүнийг гаргаж авахын тулд + энэ хаалгыг онгойлгодог. Соронзон хальсний тэргүүн нь зууван нүхтэй байх бөгөөд + хөтөч соронзон хальсийг <quote>дэгээдэхдээ</quote> үүнийг ашигладаг. Авах (take-up) + дамар нь соронзон хальсний хөтөчийн дотор байрладаг. Энд жагсаагдсан + бусад соронзон хальсний хайрцагнууд (9 замтай соронзон хальснууд нь жич юм) нь соронзон хальсний хайрцган дотор + байрлах хангах болон take-up дамруудтай байдаг.</para> + + <para>Өгөгдөл дамжуулах чадвар нь ойролцоогоор 1.5 MB/s бөгөөд 4мм, 8м, QIC + соронзон хальсний хөтөчүүдийн дамжуулах чадвараас 3 дахин их байдаг. Өгөгдлийн багтаамж нь + нэг хөтөчийн хувьд 10 GB-аас 20 GB хүрдэг. Хөтөчүүд нь олон соронзон хальс + солигчид болон олон соронзон хальс хэлбэрээр байдаг, олон хөтөч бүхий соронзон хальсний сангууд нь + нийтдээ 50 GB-с 9 TB хүртэл хадгалалт бүхий 5-аас 900 хүртэл соронзон хальснуудыг + 1-ээс 20 хүртэлх хөтөчүүд дээр агуулдаг.</para> + + <para>Шахалттай бол DLT Төрөл 4 хэлбэршүүлэлт нь 70 GB багтаамжийг + дэмждэг.</para> + + <para>Өгөгдөл нь соронзон хальсний замууд дээр аялалын чиглэлийн дагуу (QIC соронзон хальснуудын адил) + зэрэгцээгээр бичигддэг. Хоёр зам нэг удаа бичигддэг. Унших/бичих толгойны амьдрах хугацаа + харьцангуй урт байдаг; соронзон хальс хөдлөхөө болиход толгой болон соронзон хальсний хоорондын + хамаатай хөдөлгөөн байхгүй болно.</para> + </sect2> + + <sect2> + <title id="backups-tapebackups-ait">AIT</title> + <indexterm> + <primary>соронзон хальс зөөвөрлөгч</primary> + <secondary>AIT</secondary> + </indexterm> + + <para>AIT нь Sony-гоос гаргасан шинэ хэлбэршүүлэлт бөгөөд нэг соронзон хальсний хувьд 50 + GB хүртэл (шахалттайгаар) мэдээллийг агуулж чадна. Соронзон хальснууд нь санах ойн бичил + схемүүдийг агуулдаг бөгөөд эдгээр нь соронзон хальсний агуулгын индексийг хадгалдаг. Бусад + соронзон хальснуудын хувьд хэд хэдэн минут шаардагддаг бол харин энэ индексийг соронзон хальсний хөтөч + соронзон хальс дээрх файлуудын байрлалыг тодорхойлохын тулд маш хурдан уншдаг. + <application>SAMS:Alexandria</application> зэрэг програм нь + соронзон хальсний санах ойн бичил схемтэй шууд холбогдон агуулгыг дэлгэцэд гаргаж, ямар файлууд аль + соронзон хальс уруу нөөцлөгдсөнийг тодорхойлж, зөв соронзон хальсийг олон ачаалж соронзон хальснаас өгөгдлийг + сэргээн дөч болон түүнээс дээш AIT соронзон хальсний сангуудыг ажиллуулж чаддаг.</para> + + <para>Үүнтэй адил сангууд $20,000 хавьцаа үнэ хүрч тэдгээрийг сонирхогчдын зах зээлээс + бага зэрэг шахдаг байна.</para> + </sect2> + + <sect2> + <title>Шинэ соронзон хальсыг анх удаа ашиглах нь</title> + + <para>Анхны удаа шинэ, хов хоосон соронзон хальсыг уншихыг оролдвол амжилтгүй болно. + Консолийн мэдэгдлүүд үүнтэй төстэй байна:</para> + + <screen>sa0(ncr1:4:0): NOT READY asc:4,1 +sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen> + + <para>Соронзон хальс нь Identifier Block буюу Танигч Блокийг (block number 0) + агуулаагүй байна. Бүх QIC соронзон хальснууд нь QIC-525 стандартыг хэрэглэж эхэлснээс + хойш Танигч Блокийг соронзон хальсанд бичдэг. Хоёр шийдэл байдаг:</para> + + <itemizedlist> + <listitem> + <para><command>mt fsf 1</command> тушаал нь Танигч Блокийг соронзон хальс уруу + бичихийг соронзон хальсний хөтөчид хэлнэ.</para> + </listitem> + + <listitem> + <para>Нүүрний товчлуурыг ашиглан соронзон хальсийг гаргаж авна.</para> + + <para>Соронзон хальсийг дахин хийгээд түүн уруу өгөгдлийг + <command>dump</command> хийнэ.</para> + + <para><command>dump</command> тушаал нь <errorname>DUMP: End of tape + detected</errorname> гэж мэдэгдэх бөгөөд консол <errorname>HARDWARE + FAILURE info:280 asc:80,96</errorname> гэж харуулна.</para> + + <para><command>mt rewind</command> тушаал ашиглан соронзон хальсийг буцаана.</para> + + <para>Дараа дараачийн соронзон хальсний үйлдлүүд амжилттай болно.</para> + </listitem> + </itemizedlist> + + </sect2> + </sect1> + + <sect1 id="backups-floppybackups"> + <title>Уян диск уруу нөөцлөх</title> + + <sect2 id="floppies-using"> + <title>Өөрийн өгөгдлийг нөөцлөхийн тулд би уян дискүүдийг ашиглаж болох уу?</title> + <indexterm><primary>нөөц уян дискүүд</primary></indexterm> + <indexterm><primary>уян дискүүд</primary></indexterm> + + <para>Уян дискүүд нь нөөц хийхэд тийм ч тохиромжтой зөөвөрлөгч биш юм, учир нь:</para> + + <itemizedlist> + <listitem> + <para>Энэ зөөвөрлөгч нь найдваргүй, ялангуяа урт хугацааны туршид найдваргүй + байдаг.</para> + </listitem> + + <listitem> + <para>Нөөцлөх болон буцааж сэргээх нь их удаан байдаг.</para> + </listitem> + + <listitem> + <para>Тэдгээр нь маш хязгаарлагдмал багтаамжтай (бүхэл бүтэн хатуу дискийг хэдэн арван + уян дискэнд нөөцлөх нь их олон өдөр шаардана).</para> + </listitem> + </itemizedlist> + + <para>Гэхдээ хэрэв танд өөрийн өгөгдлийг нөөцлөх өөр ямар ч арга байхгүй бол + уян дискүүдэд нөөцлөх нь нөөц хийхгүй байснаас хамаагүй дээр юм.</para> + + <para>Хэрэв та уян дискүүд ашиглах шаардлагатай болсон бол сайн чанарынхыг + ашигласан эсэхээ шалгах хэрэгтэй. Оффис дээр чинь хоёр жил хэвтсэн уян дискүүд + муу сонголт болох юм. Нэр хүндтэй үйлдвэрлэгчээс гаргасан шинэ дискүүдийг + ашиглах нь зүйтэй юм.</para> + </sect2> + + <sect2 id="floppies-creating"> + <title>Тэгэхээр би өөрийн өгөгдлийг уян диск уруу хэрхэн нөөцлөх вэ?</title> + + <para>Уян диск уруу нөөцлөх хамгийн шилдэг арга нь &man.tar.1; тушаалыг + <option>-M</option> (олон эзлэхүүн) тохируулгатайгаар ашиглах + явдал юм. Энэ нь олон уян дискүүдэд нөөцлөх боломжийг олгодог.</para> + + <para>Тухайн сан болон дэд сан доторхи бүх файлуудыг нөөцлөхийн тулд үүнийг + ашиглах хэрэгтэй (<username>root</username> хэрэглэгчээр):</para> + + <screen>&prompt.root; <userinput>tar Mcvf /dev/fd0 *</userinput></screen> + + <para>Эхний уян диск дүүрсний дараа &man.tar.1; нь дараагийн эзлэхүүнийг + оруулахыг хүсэх болно (учир нь &man.tar.1; нь зөөвөрлөгчөөс хамааралгүй бөгөөд + эзлэхүүнүүдэд ханддаг; энд уян дискийг хэлж байна).</para> + + <screen>Prepare volume #2 for /dev/fd0 and hit return:</screen> + + <para>Энэ нь заагдсан файлууд архивлагдах хүртэл (эзлэхүүний дугаар нэмэгдэн) + давтагдах болно.</para> + </sect2> + + <sect2 id="floppies-compress"> + <title>Би өөрийнхөө нөөцүүдийг шахаж болох уу?</title> + <indexterm> + <primary><command>tar</command></primary> + </indexterm> + <indexterm> + <primary><command>gzip</command></primary> + </indexterm> + <indexterm><primary>шахалт</primary></indexterm> + + <para>Харамсалтай нь &man.tar.1; нь олон эзлэхүүн бүхий архивуудын хувьд + <option>-z</option> тохируулгыг ашиглахыг зөвшөөрдөггүй. Мэдээж та + бүх файлуудыг &man.gzip.1; хийж тэдгээрийг уян диск уруу &man.tar.1; + хийж дараа нь файлуудыг дахин &man.gunzip.1; хийж болно!</para> + </sect2> + + <sect2 id="floppies-restoring"> + <title>Би өөрийн нөөцүүдийг хэрхэн сэргээх вэ?</title> + + <para>Бүхэл архивыг сэргээхдээ дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>tar Mxvf /dev/fd0</userinput></screen> + + <para>Зөвхөн заагдсан файлуудыг сэргээх хоёр арга байдаг бөгөөд та + тэдгээрийг ашиглаж болно. Эхлээд та эхний дискээс эхлээд дараах тушаалыг + ашиглана:</para> + + <screen>&prompt.root; <userinput>tar Mxvf /dev/fd0 <replaceable>filename</replaceable></userinput></screen> + + <para>&man.tar.1; хэрэгсэл нь шаардлагатай файлыг олох хүртлээ дараа дараагийн уян дискүүдийг + хийхийг танаас хүсэх болно.</para> + + <para>Өөрөөр, хэрэв та файл нь яг аль уян диск дээр байгааг мэдэж байвал + ердөө л тэр уян дискийг оруулж дээрхтэй адил тушаалыг ашиглах хэрэгтэй. + Хэрэв уян диск дээрх эхний файл нь өмнөх диск дээрхийн үргэлжлэл бол + таныг асуугаагүй байсан ч гэсэн &man.tar.1; үүнийг сэргээж чадахгүй + гэж танд анхааруулах болно!</para> + </sect2> + </sect1> + + <sect1 id="backup-strategies"> + <sect1info> + <authorgroup> + <author> + <firstname>Лоуэл</firstname> + <surname>Жилбэрт</surname> + <contrib>Анхлан хийсэн </contrib> + </author> + </authorgroup> + <!-- 3 Dec 2005 --> + </sect1info> + + <title>Нөөцлөх стратегууд</title> + + <para>Нөөцлөх төлөвлөгөөг боловсруулах эхний шаардлага нь дараах бүх асуудлуудыг + хамарсан эсэхийг шалгах явдал юм:</para> + + <itemizedlist> + <listitem> + <para>Дискийн гэмтэл</para> + </listitem> + <listitem> + <para>Санамсаргүй файл устгалт</para> + </listitem> + <listitem> + <para>Санамсаргүй файлын эвдрэл</para> + </listitem> + <listitem> + <para>Газар дээрх нөөцүүд байвал тэдгээрийг оруулаад машины + бүрэн сүйрэл (өөрөө хэлбэл гал).</para> + </listitem> + </itemizedlist> + + <para>Эдгээр асуудал бүрийг шал өөр техникээр шийдэснээр зарим системүүдийг + илүүтэй ажиллуулах төгс боломж байж болох юм. Маш бага үнэ цэнэтэй + өгөгдөл бүхий чанга хувийн системүүдийг тооцохгүй юм бол нэг техник нь + бүх асуудлуудыг хамрах нь бараг боломжгүй юм.</para> + + <para>Хэрэгслийн хайрцаг дахь зарим нэг техникүүдийг дурдвал:</para> + + <itemizedlist> + <listitem> + <para>Бүх системийн архивууд нь сайтаас гадна байнгын зөөвөрлөгчид + нөөцлөгдөнө. Энэ нь дээр дурдсан бүх асуудлуудаас хамгаалах боловч + сэргээх нь тохиромжгүй удаан байдаг. Та нөөцүүдийн хуулбаруудыг + газар дээр нь ба/эсвэл шууд авч болохоор хадгалж болох боловч + файлуудыг сэргээх нь ялангуяа зөвшөөрөгдөөгүй хэрэглэгчдэд + бас л тохиромжгүй хэвээр байдаг.</para> + </listitem> + + <listitem> + <para>Файлын системийн хормын хувилбарууд. Энэ нь яг үнэндээ зөвхөн + санамсаргүйгээр файлыг устгасан тохиолдолд тустай, гэхдээ + энэ нь тийм тохиолдолд <emphasis>маш</emphasis> тус болохуйц + байдаг бөгөөд хурдан, ажиллахад хялбар байдаг.</para> + </listitem> + + <listitem> + <para>Бүх файлын систем ба/эсвэл дискүүдийн хуулбарууд (бүхэл машины үе үе давтагдах + &man.rsync.1;). Энэ нь ерөнхийдөө онцгой шаардлага бүхий сүлжээнүүдэд хамгийн + ашигтай байдаг. Дискийн эвдрэл, гэмтлийн эсрэг ерөнхий хамгаалалтын хувьд + энэ нь ихэвчлэн <acronym>RAID</acronym>-с чанарын хувьд муу байдаг. Санамсаргүйгээр + устгасан файлуудыг сэргээхэд энэ нь <acronym>UFS</acronym> хормын хувилбартай + дүйцэхээр боловч та алийг дээдэлдэгээс хамаарах юм.</para> + </listitem> + + <listitem> + <para><acronym>RAID</acronym>. Диск эвдрэх, гэмтэх үед зогсох хугацаанааг + багасгаж зайлсхийдэг. Маш бага шаардлагатай хэдийч дискийн эвдрэлүүдтэй илүүтэй + зууралдах (учир нь та олон дисктэй) хэрэгтэй болдог.</para> + </listitem> + + <listitem> + <para>Файлуудын байрлалыг (хурууны хээ) шалгах. Үүнд &man.mtree.8; хэрэгсэл их + ашигтай байдаг. Энэ нь нөөцлөх техник биш боловч танд өөрийн нөөцүүддээ хандахаар + болох үед та хэрэг болох болно. Энэ нь сайтаас гаднах шууд + бус нөөцүүдийн хувьд ялангуяа чухал бөгөөд үе үе шалгагдаж байх ёстой.</para> + </listitem> + </itemizedlist> + + <para>Үүнээс илүү олон техникийг бодож олох нь амархан бөгөөд тэдгээрийн + ихэнх нь дээр дурдсан техникүүдийн өөр хувилбарууд юм. Тусгайлсан шаардлагууд нь + ихэвчлэн тусгайлсан техникт хүргэдэг (жишээ нь шууд ажиллаж байгаа мэдээллийн + баазыг нөөцлөх нь зөвхөн мэдээллийн санд зориулагдсан аргыг дундын шат + болгон ихэвчлэн ашиглахыг шаарддаг). Ямар аюулуудаас та хамгаалахыг хүсэж байгаа болон + тэдгээр тус бүртэй хэрхэн ажиллахаа мэдэх нь чухал юм.</para> + </sect1> + + <sect1 id="backup-basics"> + <title>Нөөцлөлтийн үндсүүд</title> + + <para>Гурван гол нөөцлөх програм бол &man.dump.8;, &man.tar.1; болон + &man.cpio.1; юм.</para> + + <sect2> + <title>Dump ба Restore</title> + <indexterm> + <primary>нөөцлөх програм хангамж</primary> + <secondary>dump / restore</secondary> + </indexterm> + <indexterm><primary><command>dump</command></primary></indexterm> + <indexterm><primary><command>restore</command></primary></indexterm> + + <para>Уламжлалт &unix; нөөцлөх програмууд нь <command>dump</command> ба + <command>restore</command> юм. Тэдгээр нь файлын системүүдээр үүсгэгдсэн + файлууд, холбоосууд болон сангуудын хийсвэр ойлголтуудын доор хөтөчүүд дээр дискийн + блокуудын цуглуулга хэлбэрээр ажилладаг. <command>dump</command> нь + төхөөрөмж дээрх бүхэл файлын системийг нөөцөлдөг. Файлын системийн зөвхөн + хэсгийг эсвэл нэгээс илүү файлын систем дагуу байрлах сангийн модыг энэ нь нөөцөлж + чаддаггүй. <command>dump</command> нь файлууд болон сангуудыг соронзон хальс уруу + бичдэггүй, харин файлууд болон сангуудаас тогтох түүхий өгөгдлийн блокуудыг + бичдэг.</para> + + <note><para>Хэрэв та өөрийн root сандаа <command>dump</command>-г + хэрэглэвэл та <filename>/home</filename>, + <filename>/usr</filename> эсвэл бусад олон сангуудыг нөөцлөхгүй бөгөөд + үүний учир бол эдгээр нь ихэвчлэн бусад файлын системүүдийн холбох цэгүүд буюу + эсвэл тэдгээр файлын системүүд уруу заасан симболын холбоосууд байдаг.</para></note> + + <para><command>dump</command> нь өөрийн хөгжлийн эхний өдрүүд болох + AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) үлдсэн кодтой + байдаг. Анхдагч параметрүүд нь өнөөдөр байгаа өндөр нягтралтай (62,182 ftpi хүртэл) + зөөвөрлөгчид биш 9 зам (6250 bpi) бүхий соронзон хальсанд тохирдог. Одоогийн соронзон хальсний + хөтөчүүдийн багтаамжийг хэрэглэхийн тулд эдгээр анхдагчуудыг тушаалын мөрөөс дарж + өөрчлөх ёстой.</para> + + <indexterm><primary><filename>.rhosts</filename></primary></indexterm> + <para>Мөн сүлжээгээр өөр компьютерт холбогдсон соронзон хальсний хөтөч уруу өгөгдлийг + <command>rdump</command> болон <command>rrestore</command> + тушаал ашиглан нөөцлөх боломжтой байдаг. Энэ хоёр програм нь алсын соронзон хальсний + хөтөчид хандахдаа &man.rcmd.3; болон &man.ruserok.3;-д тулгуурладаг. + Тиймээс нөөцлөлтийг хийж байгаа хэрэглэгч алсын компьютерийн + <filename>.rhosts</filename> файл дотор жагсаагдсан байх ёстой. + <command>rdump</command> болон <command>rrestore</command> + тушаалуудад өгөх нэмэлт өгөгдлүүд нь алсын компьютер дээр ашиглаж болохоор + байх ёстой. <hostid>komodo</hostid> гэж нэрлэгдсэн Sun уруу холбогдсон + Exabyte соронзон хальсний хөтөч уруу FreeBSD компьютерээс <command>rdump</command> + хийхдээ дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1</userinput></screen> + + <para>Болгоомжлоорой: <filename>.rhosts</filename> танин нэвтрэлтийг + зөвшөөрөх нь аюулгүй байдлын асуудлууд үүсгэдэг. Өөрийн нөхцөл байдлыг + анхааралтай үнэлэх хэрэгтэй.</para> + + <para>Мөн <command>dump</command> болон <command>restore</command> + тушаалыг илүү аюулгүй загвараар <command>ssh</command> дээгүүр ашиглах + бас боломжтой байдаг.</para> + + <example> + <title><application>ssh</application>-ээр <command>dump</command>-г ашиглах нь</title> + + <screen>&prompt.root; <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ + targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput></screen> + + </example> + + <para>Эсвэл <command>dump</command>-ийн дотор байдаг нэг арга болох <envar>RSH</envar> орчны хувьсагчийг + тохируулан ашиглаж болно:</para> + + <example> + <title><application>ssh</application>-ээр <envar>RSH</envar> тохируулан <command>dump</command>-г + ашиглах нь</title> + + <screen>&prompt.root; <userinput>RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr</userinput></screen> + + </example> + + </sect2> + + <sect2> + <title><command>tar</command></title> + <indexterm> + <primary>нөөцлөх програм хангамж</primary> + <secondary><command>tar</command></secondary> + </indexterm> + + <para>&man.tar.1; нь бас AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) + эхтэй. <command>tar</command> нь файлын системтэй хамт ажилладаг; + энэ нь файлууд болон сангуудыг соронзон хальс уруу бичдэг. <command>tar</command> + нь &man.cpio.1;-д байдаг бүрэн хэмжээний тохируулгуудыг дэмждэггүй боловч + энэ нь <command>cpio</command>-ийн хэрэглэдэг ховор тушаалын дамжуулах + хоолойг шаарддаггүй.</para> + + <indexterm><primary><command>tar</command></primary></indexterm> + + <para>FreeBSD 5.3 болон түүнээс хойшхи хувилбарт GNU <command>tar</command> + болон анхдагч <command>bsdtar</command> тушаалууд байдаг. GNU хувилбарыг + <command>gtar</command> гэж ажиллуулж болдог. Энэ нь <command>rdump</command>-тай + адил дүрмийг ашиглаж алсын төхөөрөмжүүдийг дэмждэг. + <hostid>komodo</hostid> гэж нэрлэгдсэн Sun уруу холбогдсон + Exabyte соронзон хальсний хөтөч уруу <command>tar</command> + хийхдээ дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>/usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1</userinput></screen> + + <para>Алсын соронзон хальсний хөтөч уруу өгөгдлийг илгээхдээ <command>rsh</command> болон + дамжуулах хоолой ашиглан <command>bsdtar</command> тушаалаар үүнийг бас + хийж болно.</para> + + <screen>&prompt.root; <userinput>tar cf - . | rsh <replaceable>hostname</replaceable> dd of=<replaceable>tape-device</replaceable> obs=20b</userinput></screen> + + <para>Хэрэв та сүлжээгээр нөөцлөхийн аюулгүй байдалд санаа зовж байгаа бол + <command>rsh</command>-ийн оронд <command>ssh</command> тушаалыг + ашиглах хэрэгтэй.</para> + </sect2> + + <sect2> + <title><command>cpio</command></title> + <indexterm> + <primary>нөөцлөх програм хангамж</primary> + <secondary><command>cpio</command></secondary> + </indexterm> + + <para>&man.cpio.1; нь соронзон зөөвөрлөгчид зориулагдсан &unix;-ийн + анхны файл солилцох соронзон хальсний програм юм. <command>cpio</command> нь + (бусад олон тохируулгуудын дотроос) байт солилцохыг хийх, хэд хэдэн төрлийн + архивын хэлбэршүүлэлтүүдийг бичих болон өгөгдлийг өөр програм уруу хоолойгоор + гаргах зэрэг тохируулгуудтай байдаг. Сүүлийн боломж нь <command>cpio</command>-г + суулгацын зөөвөрлөгчийн хувьд сайн сонголт болгодог. <command>cpio</command> нь + сангийн модоор хэрхэн явахаа мэддэггүй бөгөөд файлуудын жагсаалтыг + <filename>stdin</filename>-ээс хангаж өгөх ёстой.</para> + <indexterm><primary><command>cpio</command></primary></indexterm> + + <para><command>cpio</command> нь сүлжээгээр нөөцлөхийг дэмждэггүй. + Та дамжуулах хоолой болон <command>rsh</command>-ийг ашиглаж өгөгдлийг + алсын соронзон хальсний хөтөч уруу илгээж болно.</para> + + <screen>&prompt.root; <userinput>for f in <replaceable>directory_list; do</replaceable></userinput> +<userinput>find $f >> backup.list</userinput> +<userinput>done</userinput> +&prompt.root; <userinput>cpio -v -o --format=newc < backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat > <replaceable>backup_device</replaceable>"</userinput></screen> + + <para><replaceable>directory_list</replaceable> нь таны нөөцлөхийг хүссэн + сангуудын жагсаалт бол + <replaceable>user</replaceable>@<replaceable>host</replaceable> нь + нөөцлөлтийг хийж байгаа хэрэглэгч/хостын нэрийн хослол бөгөөд + <replaceable>backup_device</replaceable> нь нөөцлөлт хийгдэх төхөөрөмж + (өөрөөр хэлбэл <filename>/dev/nsa0</filename>) юм.</para> + </sect2> + + <sect2> + <title><command>pax</command></title> + <indexterm> + <primary>нөөцлөх програм хангамж</primary> + <secondary><command>pax</command></secondary> + </indexterm> + <indexterm><primary><command>pax</command></primary></indexterm> + <indexterm><primary>POSIX</primary></indexterm> + <indexterm><primary>IEEE</primary></indexterm> + + <para>&man.pax.1; нь <command>tar</command> болон <command>cpio</command> + тушаалын IEEE/&posix;-ийн хариулт юм. Жил ирэх тутам <command>tar</command> болон + <command>cpio</command> тушаалуудын төрөл бүрийн хувилбарууд нь хоорондоо мэдэгдэхүйц + нийцгүй болж ирсэн юм. Тэдгээртэй тэмцэж бүр мөсөн стандартчилахын оронд + &posix; нь архивын шинэ хэрэгсэл үүсгэсэн юм. <command>pax</command> нь + өөрийн шинэ хэлбэршүүлэлтээс гадна <command>cpio</command> болон <command>tar</command> + тушаалуудын төрөл бүрийн хэлбэршүүлэлтийн ихэнхийг уншиж бичихийг оролддог. + Энэ тушаалын олонлог нь <command>tar</command> тушаалынхтай биш харин + <command>cpio</command> тушаалынхтай илүү төстэй байдаг.</para> + </sect2> + + <sect2 id="backups-programs-amanda"> + <title><application>Amanda</application></title> + <indexterm> + <primary>нөөцлөх програм хангамж</primary> + <secondary><application>Amanda</application></secondary> + </indexterm> + <indexterm><primary><application>Amanda</application></primary></indexterm> + + <!-- Remove link until <port> tag is available --> + <para><application>Amanda</application> (Advanced Maryland + Network Disk Archiver) нь нэг програм биш клиент/сервер програм юм. + <application>Amanda</application> сервер нь ганц соронзон хальсний хөтөч уруу + <application>Amanda</application> клиенттэй, <application>Amanda</application> + сервер уруу сүлжээгээр холбогдсон дурын тооны компьютерийг нөөцлөх болно. + Хэд хэдэн том дискүүд бүхий сайтууд дээр байдаг нийтлэг асуудлууд нь өгөгдлийг + соронзон хальс уруу нөөцлөхөд шаардагдах хугацаа нь уг үйлдлийн хувьд зориулагдсан + хугацаанаас илүү гарах явдал юм. <application>Amanda</application> нь + энэ асуудлыг шийддэг. <application>Amanda</application> нь + хэд хэдэн файлын системүүдийг нэг зэрэг нөөцлөхдөө <quote>holding disk буюу хүлээгдэх диск</quote>ийг + ашигладаг. <application>Amanda</application> нь + <quote>архивын олонлогууд</quote> буюу <application>Amanda</application>-ийн + тохиргооны файлд жагсаагдсан бүх файлын системүүдийн бүрэн нөөцлөлтүүдийг үүсгэхэд хэсэг хугацаанд + хэрэглэгдсэн бүлэг соронзон хальснуудыг үүсгэдэг. <quote>Архивын олонлогууд</quote> нь бас + файлын системүүдийн шөнө болгоны нэмэгдсэн (эсвэл ялгаатай) нөөцлөлтүүдийг агуулдаг. + Эвдэрсэн файлын системийг сэргээх нь хамгийн сүүлийн бүрэн нөөцлөлт болон нэмэгдсэн + нөөцлөлтүүдийг шаарддаг.</para> + + <para>Тохиргооны файл нь нөөцлөлтүүд болон <application>Amanda</application>-ийн + үүсгэдэг сүлжээний урсгалыг нарийн хянах боломжийг хангадаг. <application>Amanda</application> + нь өгөгдлийг соронзон хальс уруу бичихийн тулд дээр дурдсан нөөцлөлтийн програмуудыг + ашиглана. <application>Amanda</application> нь порт эсвэл багц хэлбэрээр + байдаг бөгөөд анхдагчаар суулгагдаагүй байдаг.</para> + </sect2> + + <sect2> + <title>Юу ч хийхгүй байх</title> + + <para><quote>Юу ч хийхгүй байх</quote> нь компьютерийн програм биш боловч энэ нь + хамгийн их ашиглагддаг нөөцлөлтийн стратег юм. Ямар ч эхний зардал байхгүй. + Мөрдөх нөөцлөлтийн төлөвлөгөө байхгүй. Зүгээр л үгүй гэх хэрэгтэй. Хэрэв таны + өгөгдөлд ямар нэг асуудал тохиолдвол шүд зуугаад л тэвчих хэрэгтэй!</para> + + <para>Хэрэв таны цаг болон өгөгдөл нь тийм ч чухал биш эсвэл юу ч биш бол + <quote>Do nothing буюу юу ч хийхгүй байх</quote> нь таны компьютерийн + хувьд хамгийн тохиромжтой нөөцлөлтийн програм болох юм. Гэхдээ &unix; + нь ашигтай хэрэгсэл юм, та зургаан сарын дотор үнэтэй файлуудын цуглуулгатай болж + үүнийг мэдрэх болно.</para> + + <para><quote>Юу ч хийхгүй байх</quote> нь <filename>/usr/obj</filename> + болон таны компьютераар яг үүсгэгдэж болох бусад сангийн моднуудын хувьд зөв + нөөцлөх арга болдог. Үүний жишээ нь энэ гарын авлагын HTML эсвэл &postscript;-с + тогтох хувилбарын файлууд байж болох юм. Эдгээр баримтын хэлбэршүүлэлтүүд нь + SGML оролтын файлуудаас үүсгэгддэг. HTML эсвэл &postscript; файлуудын + нөөцлөлтийг үүсгэх нь шаардлагагүй юм. SGML файлууд нь байнга нөөцлөгддөг.</para> + </sect2> + + <sect2> + <title>Аль нөөцлөлтийн програм хамгийн шилдэг нь вэ?</title> + <indexterm> + <primary>LISA</primary> + </indexterm> + + <para>&man.dump.8; <emphasis>Үе.</emphasis> Элизабет Д. Звики + энд дурдагдсан бүх нөөцлөлтийн програмуудыг зовоосон тест хийсэн. Өөрийн бүх өгөгдөл + болон &unix; файлын системүүдийн онцлогуудыг хадгалах цэвэр сонголт бол + <command>dump</command> болсон байна. Элизабет маш их төрөл бүрийн ховор + нөхцөлүүдийг (зарим нь тийм ч ховор биш) агуулсан файлын системүүдийг үүсгэж + тэдгээр файлын системүүдийг нөөцлөн дараа нь сэргээж програм бүрийг тест хийсэн + байна. Онцгой зүйлүүдэд цоорхойтой файлууд, хоосон блоктой болон цоорхойтой + файлууд, сонин тэмдэгт бүхий нэрээс тогтсон файлууд, бичигдэх боломжгүй уншигдах + боломжгүй файлууд, төхөөрөмжүүд, нөөцлөлтийн үед хэмжээгээ өөрчлөх файлууд, + нөөцлөлтийн үед үүсгэгдэж/устгагдсан файлууд зэргийг дурдаж болох юм. + Тэрээр үр дүнгээ 1991 оны 10 сард LISA дээр үзүүлсэн байна. + <ulink url="http://berdmann.dyndns.org/zwicky/testdump.doc.html">Нөөцлөлт + болон Архивын програмуудыг зовоох тест</ulink> холбоосыг үзнэ үү.</para> + </sect2> + + <sect2> + <title>Яаралтай сэргээх процедур</title> + + <sect3> + <title>Гамшгийн өмнө</title> + + <para>Учирч болзошгүй гамшигт бэлтгэхийн тулд таны хийх ёстой дөрвөн + үе шат байдаг.</para> + <indexterm> + <primary><command>bsdlabel</command></primary> + </indexterm> + + <para>Эхлээд өөрийн диск бүрийн bsdlabel + (өөрөөр хэлбэл <command>bsdlabel da0 | lpr</command>), өөрийн + файлын системийн хүснэгт (<filename>/etc/fstab</filename>) болон + бүх ачаалалтын мэдэгдлүүдийг тус бүр хоёр хувь хэвлэх хэрэгтэй.</para> + + <indexterm><primary>fix-it уян дискүүд</primary></indexterm> + <para>Дараа нь ачаалах болон уян дискүүд + (<filename>boot.flp</filename> болон <filename>fixit.flp</filename>) + таны бүх төхөөрөмжүүдийг агуулсан эсэхийг тодорхойлно. Хамгийн хялбараар + шалгах арга нь уян дискийн хөтөчдөө ачаалах уян дискийг хийж дахин ачаалж ачаалалтын + мэдэгдлүүдийг шалгах явдал юм. Хэрэв таны бүх төхөөрөмжүүд байгаад ажиллаж + байвал гуравдугаар алхам уруу алгасаарай.</para> + + <para>Эсрэг тохиолдолд та өөрийн бүх дискийг холбож таны соронзон хальсний хөтөчид хандаж чадах + цөм бүхий тусгайлсан хоёр ачаалагдах уян диск бэлдэх хэрэгтэй. Эдгээр уян дискүүд нь + <command>fdisk</command>, <command>bsdlabel</command>, + <command>newfs</command>, <command>mount</command> болон + таны ашигладаг програмуудыг агуулсан байх ёстой. Эдгээр програмууд нь + статикаар холбогдсон байх ёстой. Хэрэв та <command>dump</command>-г + ашигласан бол уян диск нь <command>restore</command>-г агуулсан байх + ёстой.</para> + + <para>Гуравдугаарт нөөц соронзон хальснуудыг байнга үүсгэж байх хэрэгтэй. Таны сүүлийн нөөцлөлтөөс + хойш хийгдсэн өөрчлөлтүүд буцааж авагдах боломжгүйгээр алга болж болох юм. Нөөц + соронзон хальснууд уруу хийж болзошгүй бичилтийг хамгаалах хэрэгтэй.</para> + + <para>Дөрөвдүгээрт уян дискүүд (<filename>boot.flp</filename> болон + <filename>fixit.flp</filename> аль эсвэл хоёрдугаар үе дээр таны хийсэн + тусгайлсан хоёр ачаалагдах уян дискүүд.) болон нөөц соронзон хальснуудыг тест хийнэ. + Процедурынхаа талаар тэмдэглэгээ хийх хэрэгтэй. Эдгээр тэмдэглэгээнүүдээ + ачаалагдах уян дискүүд, хэвлэсэн зүйл болон нөөц соронзон хальснуудтайгаа цуг хадгалах + хэрэгтэй. Сэргээж байх үед таны анхаарал их сарнисан байж болох бөгөөд тэдгээр + тэмдэглэгээнүүд чинь таныг өөрийн нөөц соронзон хальснуудаа устгахаас сэргийлэх болно + (Яаж? <command>tar xvf /dev/sa0</command> тушаалын оронд та + санамсаргүйгээр <command>tar cvf /dev/sa0</command> гэж бичээд өөрийн + нөөц соронзон хальсийг дарж бичиж болох юм).</para> + + <para>Аюулгүй байдлын нэмэгдэл арга хэмжээ болгож тухайг бүрт нь ачаалагдах уян + дискүүд болон нөөц соронзон хальс хоёрыг бэлдэж байх хэрэгтэй. Тус бүрийг нь тусад нь алсад + өөр газар хадгалах хэрэгтэй. Тэр өөр газар нь яг тэр оффисийн байрны подвал байх + ЁСГҮЙ. Дэлхийн Худалдааны Төвийн хэд хэдэн фирм үүнийг хэцүү замаар мэдэрсэн + юм. Тэр өөр газар нь таны компьютерууд болон дискийн хөтөчүүдээс тусгаарлагдсан + физикийн хувьд нэлээд зайтай газар байх ёстой.</para> + + <example> + <title>Ачаалагдах уян диск үүсгэх скрипт</title> + + <programlisting><![ CDATA [#!/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 +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 +options FFS #Berkeley Fast File System +options FAT_CURSOR #block cursor in syscons or pccons +options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device +options NCONS=2 #1 virtual consoles +options USERCONFIG #Allow user configuration with -c XXX + +config kernel root on da0 swap on da0 and da1 dumps on da0 + +device isa0 +device pci0 + +device fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr +device fd0 at fdc0 drive 0 + +device ncr0 + +device scbus0 + +device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr +device npx0 at isa? port "IO_NPX" irq 13 vector npxintr + +device da0 +device da1 +device da2 + +device sa0 + +pseudo-device loop # required by INET +pseudo-device gzip # Exec gzipped a.out's +EOM + exit 1 +fi + +cp -f /sys/compile/MINI/kernel /mnt + +gzip -c -best /sbin/init > /mnt/sbin/init +gzip -c -best /sbin/fsck > /mnt/sbin/fsck +gzip -c -best /sbin/mount > /mnt/sbin/mount +gzip -c -best /sbin/halt > /mnt/sbin/halt +gzip -c -best /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 + +cp -f /dev/MAKEDEV /mnt/dev +chmod 755 /mnt/dev/MAKEDEV + +chmod 500 /mnt/sbin/init +chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt +chmod 555 /mnt/bin/sh /mnt/bin/sync +chmod 6555 /mnt/sbin/restore + +# +# create the devices nodes +# +cd /mnt/dev +./MAKEDEV std +./MAKEDEV da0 +./MAKEDEV da1 +./MAKEDEV da2 +./MAKEDEV sa0 +./MAKEDEV pty0 +cd / + +# +# create minimum file system table +# +cat > /mnt/etc/fstab <<EOM +/dev/fd0a / ufs rw 1 1 +EOM + +# +# create minimum passwd file +# +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."]]></programlisting> + + </example> + + </sect3> + + <sect3> + <title>Гамшгийн дараа</title> + + <para>Түлхүүр асуулт бол: таны тоног төхөөрөмж амьд гарч чадсан уу? Байнгын + нөөцлөлт хийж байсан болохоор програм хангамжийн талаар та санаа зовох хэрэггүй + юм.</para> + + <para>Хэрэв тоног төхөөрөмж эвдэрсэн бол компьютерийг ашиглахаасаа өмнө + эвдэрсэн хэсгүүдийг солих шаардлагатай.</para> + + <para>Хэрэв таны тоног төхөөрөмж зүгээр байгаа бол уян дискүүдээ шалгаарай. + Хэрэв та тусгайлан өөрчилсөн ачаалах уян диск ашиглаж байгаа бол ганц хэрэглэгчийн + горим уруу ачаалах хэрэгтэй (<prompt>boot:</prompt> хүлээх мөрөн дээр + <literal>-s</literal> гэж бичнэ). Дараагийн хэсгийг алгасаарай.</para> + + <para>Хэрэв та <filename>boot.flp</filename> болон + <filename>fixit.flp</filename> уян дискүүдийг ашиглаж байгаа бол + цааш нь уншаарай. <filename>boot.flp</filename> уян дискээ эхний уян дискийн + хөтөчдөө хийгээд компьютераа ачаалах хэрэгтэй. Эхний суулгах цэс дэлгэц дээр гарах + болно. <literal>Fixit--Repair mode with CDROM or floppy.</literal> + тохируулгыг сонгоно. <filename>fixit.flp</filename>-г асуухад нь хийнэ. + Танд хэрэгтэй <command>restore</command> болон бусад програмууд + <filename class="directory">/mnt2/rescue</filename> санд байрлана + (5.2 хувилбараас хуучин &os;-ийн хувьд + <filename class="directory">/mnt2/stand</filename>).</para> + + <para>Файлын систем бүрийг тус тусад нь сэргээнэ.</para> + + <indexterm> + <primary><command>mount</command></primary> + </indexterm> + <indexterm><primary>root хуваалт</primary></indexterm> + <indexterm> + <primary><command>bsdlabel</command></primary> + </indexterm> + <indexterm> + <primary><command>newfs</command></primary> + </indexterm> + <para>Өөрийн эхний дискний root хуваалтыг <command>mount</command> (өөрөөр хэлбэл + <command>mount /dev/da0a /mnt</command>) хийхийг оролдоорой. Хэрэв bsdlabel + эвдэрсэн бол <command>bsdlabel</command> тушаалыг ашиглан дискийг дахин + хувааж таны хэвлэж хадгалсан шошготой адил тааруулж хаяглах хэрэгтэй. + <command>newfs</command> тушаал ашиглан файлын системүүдийг дахин үүсгэнэ. + Уян дискийн root хуваалтыг унших-бичихээр дахин холбох хэрэгтэй (<command>mount -u -o rw + /mnt</command>). Энэ файлын системийн хувьд өгөгдлийг сэргээхийн тулд + өөрийн нөөцлөх програм болон соронзон хальснуудыг ашиглана (өөрөөр хэлбэл <command>restore vrf + /dev/sa0</command>). Файлын системийг салгана (өөрөөр хэлбэл <command>umount + /mnt</command>). Эвдэрсэн файлын систем бүрийн хувьд давтана.</para> + + <para>Таны систем ажилласны дараа өөрийн өгөгдлийг шинэ соронзон хальс уруу нөөцлөх хэрэгтэй. + Сүйрэл эсвэл өгөгдлийн алдагдалд хүргэсэн тэр явдал дахин болж болох юм. Одоо зарцуулсан + нэг цаг таныг зовлонд учрахаас хожим аварч болох юм.</para> + </sect3> + +<![ %not.published; [ + + <sect3> + <title>* I Did Not Prepare for the Disaster, What Now?</title> + + <para></para> + </sect3> +]]> + + </sect2> + </sect1> + + <sect1 id="disks-virtual"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>Дахин зохион байгуулж өргөжүүлсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>Сүлжээ, санах ой болон файл дээр тулгуурласан файлын системүүд</title> + <indexterm><primary>виртуал дискүүд</primary></indexterm> + <indexterm> + <primary>дискүүд</primary> + <secondary>виртуал</secondary> + </indexterm> + + <para>Өөрийн компьютер уруу физикээр хийж болдог уян диск, CD-үүд, хатуу хөтөчүүд гэх зэрэг + дискүүдээс гадна бусад хэлбэрийн дискүүд буюу <firstterm>виртуал дискүүд</firstterm>ийг + FreeBSD ойлгодог.</para> + + <indexterm><primary>NFS</primary></indexterm> + <indexterm><primary>Coda</primary></indexterm> + <indexterm> + <primary>дискүүд</primary> + <secondary>санах ой</secondary> + </indexterm> + <para>Эдгээрт <link linkend="network-nfs">Network File System буюу сүлжээний файлын систем</link> + болон Coda зэрэг сүлжээний файлын системүүд, санах ой дээр тулгуурласан файлын + системүүд болон файл дээр тулгуурласан файлын системүүд орно.</para> + + <para>FreeBSD-ийн ямар хувилбарыг ажиллуулж байгаагаас хамаарч та + файл дээр болон санах ой дээр тулгуурласан файлын системүүдийг үүсгэж + ашиглахдаа өөр өөр хэрэгслүүдийг хэрэглэх шаардлагатай болно.</para> + + <note> + <para>Хэрэглэгчийн хувьд мэдэгдэлгүйгээр төхөөрөмжийн цэгүүдийг хуваарилахын тулд + &man.devfs.5;-г ашиглана.</para> + </note> + + <sect2 id="disks-mdconfig"> + <title>Файл дээр тулгуурласан файлын систем</title> + <indexterm> + <primary>дискүүд</primary> + <secondary>файл дээр тулгуурласан</secondary> + </indexterm> + + <para>&man.mdconfig.8; хэрэгсэл нь FreeBSD дээр санах ой дээр тулгуурласан + дискүүд, &man.md.4;-г тохируулж идэвхжүүлэхэд хэрэглэгддэг. + &man.mdconfig.8;-г ашиглахын тулд та &man.md.4; модулийг ачаалах + хэрэгтэй, эсвэл өөрийн цөмийн тохиргооны файлдаа дэмжлэгийг нэмэх + хэрэгтэй болно:</para> + + <programlisting>device md</programlisting> + + <para>&man.mdconfig.8; тушаал нь гурван төрлийн санах ой дээр тулгуурласан + виртуал дискийг дэмждэг: эдгээр нь &man.malloc.9;-р хуваарилагдсан санах + ойн дискүүд, файл эсвэл swap зай ашигласан санах ойн дискүүд юм. + Нэг боломжтой хэрэглээ нь файлд хадгалагдсан уян эсвэл CD дүрсийг + холбох явдал юм.</para> + + <para>Байгаа файлын системийн дүрсийг холбохдоо:</para> + + <example> + <title><command>mdconfig</command> ашиглан байгаа файлын системийн дүрсийг холбох нь</title> + + <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>diskimage</replaceable> -u <replaceable>0</replaceable></userinput> +&prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable> <replaceable>/mnt</replaceable></userinput></screen> + </example> + + <para>&man.mdconfig.8; ашиглан шинэ файлын системийн дүрсийг үүсгэхдээ:</para> + + <example> + <title><command>mdconfig</command> тушаал ашиглан шинэ файл дээр тулгуурласан диск үүсгэх нь</title> + + <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput> +5120+0 records in +5120+0 records out +&prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>newimage</replaceable> -u <replaceable>0</replaceable></userinput> +&prompt.root; <userinput>bsdlabel -w md<replaceable>0</replaceable> auto</userinput> +&prompt.root; <userinput>newfs md<replaceable>0</replaceable>a</userinput> +/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 +&prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable>a <replaceable>/mnt</replaceable></userinput> +&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput> +Filesystem 1K-blocks Used Avail Capacity Mounted on +/dev/md0a 4710 4 4330 0% /mnt</screen> + </example> + + <para>Хэрэв та <option>-u</option> тохируулгаар нэгжийн дугаарыг + зааж өгөхгүй юм бол &man.mdconfig.8; нь хэрэглэгдээгүй төхөөрөмжийг + сонгохын тулд &man.md.4; автомат хуваарилалтыг ашиглах болно. + Хуваарилагдсан нэгжийн нэр нь stdout уруу <devicename>md4</devicename> + мэтээр гарах болно. &man.mdconfig.8;-ийн талаарх дэлгэрэнгүй + мэдээллийг гарын авлагын хуудаснаас лавлана уу.</para> + + <para>&man.mdconfig.8; хэрэгсэл нь их ашигтай, гэхдээ энэ нь + файл дээр тулгуурласан файлын систем үүсгэхийн тулд олон тушаалын мөрийг + асуудаг. FreeBSD нь бас &man.mdmfs.8; гэж нэрлэгддэг хэрэгсэлтэй + ирдэг, энэ програм нь &man.md.4;-г &man.mdconfig.8; тушаал + ашиглан тохируулж &man.newfs.8; ашиглан UFS файлын систем түүн + дээр тавьж &man.mount.8; ашиглан түүнийг холбодог. Жишээ нь + хэрэв та дээрхтэй ижил файлын системийн дүрсийг үүсгэж холбохыг + хүсвэл ердөө л дараах тушаалыг бичээрэй:</para> + + <example> + <title><command>mdmfs</command> тушаал ашиглан файл дээр тулгуурласан дискийг тохируулж холбох нь</title> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput> +5120+0 records in +5120+0 records out +&prompt.root; <userinput>mdmfs -F <replaceable>newimage</replaceable> -s <replaceable>5</replaceable>m md<replaceable>0</replaceable> <replaceable>/mnt</replaceable></userinput> +&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput> +Filesystem 1K-blocks Used Avail Capacity Mounted on +/dev/md0 4718 4 4338 0% /mnt</screen> + </example> + + <para>Хэрэв та <option>md</option> тохируулгыг нэгжийн дугааргүй + ашиглавал &man.mdmfs.8; нь ашиглагдаагүй төхөөрөмжийг автоматаар + сонгохдоо &man.md.4; авто-нэгж боломжийг ашиглах болно. + &man.mdmfs.8;-ийн талаарх дэлгэрэнгүй мэдээллийг гарын авлагын + хуудаснаас лавлана уу.</para> + + </sect2> + + <sect2 id="disks-md-freebsd5"> + <title>Санах ой дээр тулгуурласан файлын систем</title> + <indexterm> + <primary>дискүүд</primary> + <secondary>санах ойн файлын систем</secondary> + </indexterm> + + <para>Санах ой дээр тулгуурласан файлын системийн хувьд + <quote>swap backing буюу swap дээрх тулгуурлалтыг</quote> + ихэнхдээ ашиглах хэрэгтэй. swap дээрх тулгуурлалтыг ашиглах нь санах ойн + диск нь анхдагчаар диск уруу swap хийгдэнэ гэсэн үг биш бөгөөд харин ердөө л санах + ойн диск нь санах ойн цөөрмөөс хуваарилагдаж хэрэв хэрэгцээтэй бол диск уруу + swap хийгдэж болно гэсэн үг юм. Мөн &man.malloc.9; дээр тулгуурласан + санах ойн дискийг үүсгэх боломжтой байдаг. Гэхдээ malloc дээр тулгуурласан + санах ойн дискүүдийг, ялангуяа том хэмжээтэйг нь ашиглах нь цөм санах ойгүй + болох тохиолдолд системийг сүйрэлд хүргэж болох юм.</para> + + <example> + <title><command>mdconfig</command> тушаал ашиглан шинэ санах ой + дээр тулгуурласан диск үүсгэх нь</title> + + <screen>&prompt.root; <userinput>mdconfig -a -t swap -s <replaceable>5</replaceable>m -u <replaceable>1</replaceable></userinput> +&prompt.root; <userinput>newfs -U md<replaceable>1</replaceable></userinput> +/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 +&prompt.root; <userinput>mount /dev/md<replaceable>1</replaceable> <replaceable>/mnt</replaceable></userinput> +&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput> +Filesystem 1K-blocks Used Avail Capacity Mounted on +/dev/md1 4718 4 4338 0% /mnt</screen> + </example> + + <example> + <title><command>mdmfs</command> тушаал ашиглан шинэ санах ой + дээр тулгуурласан диск үүсгэх нь</title> + <screen>&prompt.root; <userinput>mdmfs -s <replaceable>5</replaceable>m md<replaceable>2</replaceable> <replaceable>/mnt</replaceable></userinput> +&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput> +Filesystem 1K-blocks Used Avail Capacity Mounted on +/dev/md2 4846 2 4458 0% /mnt</screen> + </example> + </sect2> + + <sect2> + <title>Системээс санах ойн дискийг салгах нь</title> + <indexterm> + <primary>дискүүд</primary> + <secondary>санах ойн дискийг салгах нь</secondary> + </indexterm> + + <para>Санах ой дээр тулгуурласан эсвэл файл дээр тулгуурласан файлын систем + ашиглагдахгүй байгаа бол та бүх эх үүсвэрүүдийг системд суллаж өгөх + шаардлагатай. Эхний хийх ёстой зүйл нь файлын системийг салгаад дараа нь + &man.mdconfig.8; ашиглан дискийг системээс салгаж эх үүсвэрүүдийг + суллана.</para> + + <para>Жишээ нь <filename>/dev/md4</filename>-г салгаж түүний хэрэглэсэн + бүх эх үүсвэрүүдийг чөлөөлөхийн тулд дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>mdconfig -d -u <replaceable>4</replaceable></userinput></screen> + + <para>Тохиргоо хийгдсэн &man.md.4; төхөөрөмжүүдийн талаарх мэдээллийг + <command>mdconfig -l</command> тушаал ашиглан жагсааж болно.</para> + </sect2> + </sect1> + + <sect1 id="snapshots"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- 15 JUL 2002 --> + </sect1info> + + <title>Файлын системийн хормын хувилбарууд</title> + + <indexterm> + <primary>файлын системүүд</primary> + <secondary>хормын хувилбарууд</secondary> + </indexterm> + + <para>FreeBSD нь <link linkend="soft-updates">Soft Updates + буюу зөөлөн шинэчлэлтүүд</link>ийн хамт Файлын системийн хормын хувилбарууд + боломжийг санал болгодог.</para> + + <para>Хормын хувилбарууд нь заасан файлын системүүдийн дүрсийг үүсгэж + тэдгээртэй файлтай ханддаг шиг хандах боломжийг хэрэглэгчид зөвшөөрдөг. + Хормын хувилбарын файлууд нь үйлдэл хийгдсэн файлын систем дээр + үүсгэгдэх ёстой бөгөөд нэг файлын системийн хувьд 20-с ихгүй хормын + хувилбаруудыг хэрэглэгч үүсгэж болно. Идэвхтэй хормын хувилбарууд нь + супер блокд бичигддэг бөгөөд ингэснээр тэдгээр нь системийн дахин ачаалалтуудын + үед салгах болон дахин холбох явцад тэсвэртэй байдаг. Хормын хувилбар нь + хэрэггүй болсон үед энэ нь стандарт &man.rm.1; тушаалаар устгагдаж + болно. Хормын хувилбарууд нь ямар ч дарааллаар устгагдаж болох + бөгөөд гэхдээ ашиглагдсан бүх зайг дахин олж авахгүй байж болох юм. + Учир нь өөр нэг хормын хувилбар чөлөөлөгдсөн блокуудын заримыг + шаардаж болзошгүй юм.</para> + + <para>Өөрчлөгдөхгүй <option>snapshot</option> файл тохируулга нь + хормын хувилбарыг эхлээд үүсгэсний дараа &man.mksnap.ffs.8; тушаалаар + заагддаг. &man.unlink.1; тушаал нь хормын хувилбарын файлуудын хувьд + орхидог бөгөөд учир нь энэ нь тэдгээрийг устгахыг зөвшөөрдөг байна.</para> + + <para>Хормын хувилбарууд нь &man.mount.8; тушаалаар үүсгэгддэг. + <filename>/var</filename>-ийн хормын хувилбарыг + <filename>/var/snapshot/snap</filename> файлд байрлуулахын тулд + дараах тушаалыг ашиглана:</para> + +<screen>&prompt.root; <userinput>mount -u -o snapshot /var/snapshot/snap /var</userinput></screen> + + <para>Өөрөөр та хормын хувилбар үүсгэхийн тулд &man.mksnap.ffs.8;-г + ашиглаж болно:</para> +<screen>&prompt.root; <userinput>mksnap_ffs /var /var/snapshot/snap</userinput></screen> + + <para>Файлын систем (өөрөөр хэлбэл <filename>/var</filename>) дээр хормын хувилбарын + файлуудыг &man.find.1; тушаал ашиглан олж болно:</para> +<screen>&prompt.root; <userinput>find /var -flags snapshot</userinput></screen> + + <para>Хормын хувилбар үүсгэгдсэний дараа энэ нь хэд хэдэн хэрэглээтэй + байдаг:</para> + + <itemizedlist> + <listitem> + <para>Зарим администраторууд хормын хувилбарын файлыг нөөцийн зорилгоор + ашигладаг, учир нь хормын хувилбар нь CD-үүд эсвэл соронзон хальс уруу + дамжуулагдаж болдог.</para> + </listitem> + + <listitem> + <para>Файлын системийн бүрэн бүтэн байдлыг шалгадаг &man.fsck.8; нь + хормын хувилбар дээр ажиллаж болдог. Файлын систем нь холбогдсон + үедээ цэвэр байсан гэж үзвэл та үргэлж цэвэр (өөрчлөгдөөгүй) + үр дүнг авах болно. Үүнийг гол нь арын &man.fsck.8; + процесс хийдэг.</para> + </listitem> + + <listitem> + <para>&man.dump.8; хэрэгслийг хормын хувилбар дээр ажиллуулдаг. + Хормын хувилбарын файлын систем болон цагтай нэг янз хуулбар + хийгддэг. &man.dump.8; нь бас хормын хувилбарыг авч + нөөц дүрсийг үүсгэж чаддаг бөгөөд дараа нь хормын хувилбарыг + нэг тушаалаар <option>-L</option> тугийг ашиглан устгаж + чаддаг.</para> + </listitem> + + <listitem> + <para>Хормын хувилбарыг файлын системийн хөлдөөгдсөн дүрс маягаар + &man.mount.8; хийдэг. <filename>/var/snapshot/snap</filename> + хормын хувилбарыг &man.mount.8; хийхийн тулд дараахийг + ажиллуулна:</para> + +<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /var/snapshot/snap -u 4</userinput> +&prompt.root; <userinput>mount -r /dev/md4 /mnt</userinput></screen> + + </listitem> + </itemizedlist> + + <para>Та одоо <filename>/mnt</filename>-д холбогдсон өөрийн хөлдөөгдсөн + <filename>/var</filename> файлын системийн шатлалаар аялж болно. + Хормын хувилбар үүсгэх үе дэх төлөвийн адил төлөвт бүгд эхлээд байна. + Цорын ганц өөр зүйл нь өмнөх хормын хувилбарууд нь тэг урттай файлууд + маягаар гарч ирэх болно. Хормын хувилбарын хэрэглээг хязгаарлах + үед үүнийг дараах тушаалыг ажиллуулан салгаж болно:</para> + +<screen>&prompt.root; <userinput>umount /mnt</userinput> +&prompt.root; <userinput>mdconfig -d -u 4</userinput></screen> + + <para><option>softupdates</option> буюу зөөлөн шинэчлэлтүүд болон + файлын системийн хормын хувилбаруудын талаар дэлгэрэнгүй мэдээллийг + техникийн баримтуудыг оролцуулаад та Маршал Кирк МкКюзикийн вэб хуудас + <ulink url="http://www.mckusick.com/"></ulink> + уруу зочлон орж үзэж болно.</para> + </sect1> + + <sect1 id="quotas"> + <title>Файлын системийн ноогдлууд</title> + <indexterm> + <primary>бүртгэл хийх</primary> + <secondary>дискийн зай</secondary> + </indexterm> + <indexterm><primary>дискийн ноогдлууд</primary></indexterm> + + <para>Quota буюу ноогдол нь хэрэглэгч эсвэл бүлгийн гишүүдийн хувьд дискийн зай ба/эсвэл + файлуудын тоог файлын систем тус бүрийн хувьд хуваарилж хязгаарлах боломжийг + бүрдүүлэх үйлдлийн системийн нэг нэмэлт боломж юм. Энэ нь дурын нэг хэрэглэгч + эсвэл бүлэг хэрэглэгчдийн хуваарилж болох эх үүсвэрүүдийг хязгаарлах шаардлагатай + цаг хуваалцах систем дээр ихэвчлэн хэрэглэгддэг. Энэ нь нэг хэрэглэгч эсвэл + бүлэг хэрэглэгчид бүх байгаа дискийн зайг хэрэглэхээс хамгаалдаг юм.</para> + + <sect2> + <title>Дискийн ноогдлуудыг идэвхтэй болгохын тулд өөрийн системийг тохируулах нь</title> + + <para>Дискийн ноогдлыг ашиглаж эхлэхээсээ өмнө ноогдлууд нь цөмд тохируулагдсан + эсэхийг шалгах шаардлагатай. Дараах мөрийг өөрийн цөмийн тохиргооны файлд + нэмж үүнийг хийнэ:</para> + + <programlisting>options QUOTA</programlisting> + + <para>Анхны <filename>GENERIC</filename> цөм нь үүнийг анхнаасаа идэвхжүүлээгүй + байдаг болохоор та дискийн ноогдлуудыг ашиглахын тулд тусгайлсан цөмийг тохируулж бүтээн + суулгах хэрэгтэй болох юм. Цөмийн тохиргооны талаар дэлгэрэнгүй мэдээллийг + <xref linkend="kernelconfig">-с лавлана уу.</para> + + <para>Дараа нь та дискийн ноогдлуудыг <filename>/etc/rc.conf</filename> файлд + идэвхжүүлэх хэрэгтэй. Дараах мөрийг нэмж үүнийг хийнэ:</para> + + <programlisting>enable_quotas="YES"</programlisting> + <indexterm> + <primary>дискийн ноогдлууд</primary> + <secondary>шалгах нь</secondary> + </indexterm> + <para>Өөрийн ноогдлын эхлүүлэлтэд сайн хяналт тавихад хэрэгтэй нэмэлт тохиргооны + хувьсагчууд байдаг. Ердийн үед ачаалалтын үеэр файлын систем бүрийн ноогдлын + бүрэн бүтэн байдал &man.quotacheck.8; програмаар шалгагддаг. + &man.quotacheck.8; боломж нь ноогдлын мэдээллийн бааз дахь өгөгдөл + файлын систем дээрх өгөгдлийг зөв тусгаж байгаа эсэхийг шалгаж байдаг. + Энэ нь хугацаа их шаардсан процесс бөгөөд таны систем ачаалах хугацаанд мэдэгдэхүйц + нөлөөлдөг. Хэрэв та энэ алхмыг алгасахыг хүсвэл энэ зорилгоор хувьсагчийг + <filename>/etc/rc.conf</filename> файлд тохируулах хэрэгтэй:</para> + + <programlisting>check_quotas="NO"</programlisting> + + <para>Төгсгөлд нь та файлын систем бүрийн хувьд дискийн ноогдлуудыг идэвхжүүлэхийн + тулд <filename>/etc/fstab</filename> файлыг засварлах хэрэгтэй. + Энд та хэрэглэгч эсвэл бүлгийн ноогдлууд эсвэп хоюуланг нь өөрийн бүх файлын системийн + хувьд идэвхжүүлэх боломжтой юм.</para> + + <para>Файлын систем дээр хэрэглэгч бүрийн хувьд ноогдлуудыг идэвхжүүлэхийн тулд + өөрийн ноогдлууд идэвхжүүлэхийг хүсэж байгаа файлын системийн хувьд + <filename>/etc/fstab</filename> файлын харгалзах оруулгын options буюу + тохируулгыг заах талбарт <option>userquota</option> тохируулгыг нэмж + өгөх хэрэгтэй. Жишээ нь:</para> + + <programlisting>/dev/da1s2g /home ufs rw,userquota 1 2</programlisting> + + <para>Үүнтэй төстэйгээр бүлгийн ноогдлуудыг идэвхжүүлэхийн тулд + <option>userquota</option> тохируулгын оронд <option>groupquota</option> + тохируулгыг ашиглах хэрэгтэй. Хэрэглэгч болон бүлгийн ноогдлуудыг хоюуланг нь + идэвхжүүлэхийн тулд оруулгыг ингэж өөрчилнө:</para> + + <programlisting>/dev/da1s2g /home ufs rw,userquota,groupquota 1 2</programlisting> + + <para>Анхдагчаар ноогдлын файлууд файлын системийн root санд + хэрэглэгчийн ноогдлын хувьд <filename>quota.user</filename>, бүлгийн + ноогдлын хувьд <filename>quota.group</filename> нэрээр хадгалагддаг. + Дэлгэрэнгүй мэдээллийг &man.fstab.5;-с үзнэ үү. &man.fstab.5; + гарын авлагын хуудас ноогдлын файлуудын хувьд өөр байрлалыг зааж өгч болохыг + хэлдэг боловч ноогдлын төрөл бүрийн хэрэгслүүд үүнтэй зөв ажиллаж чаддаггүй + болохоор ингэхийг зөвлөдөггүй юм.</para> + + <para>Энэ үед хүрээд та өөрийн системийг шинэ цөмтэй дахин ачаалах хэрэгтэй. + <filename>/etc/rc</filename> нь таны <filename>/etc/fstab</filename> + файлд идэвхжүүлсэн бүх ноогдлуудын хувьд эхний ноогдлын файлуудыг үүсгэдэг + тохирох тушаалуудыг автоматаар ажиллуулах бөгөөд ингэснээр ямар ч тэг урттай ноогдлын + файлуудыг гараар үүсгэх шаардлагагүй юм.</para> + + <para>Ердийн үйлдлүүдийн үед &man.quotacheck.8;, &man.quotaon.8;, эсвэл + &man.quotaoff.8; тушаалуудыг та заавал ажиллуулах ёсгүй юм. Гэхдээ + тэдгээрийн хийдэг үйлдлүүдтэй танилцахын тулд тэдгээрийн гарын авлагын хуудаснуудыг + уншихыг хүсэж болох юм.</para> + </sect2> + + <sect2> + <title>Ноогдлын хязгаарлалтуудыг тохируулах нь</title> + <indexterm> + <primary>дискийн ноогдлууд</primary> + <secondary>хязгаарлалтууд</secondary> + </indexterm> + + <para>Та ноогдлыг идэвхжүүлж өөрийн системийг тохируулсны дараа тэдгээр нь + яг жинхэнэдээ идэвхтэй болсон эсэхийг шалгаарай. Үүнийг хийх хялбар арга нь + дараах тушаалыг ажиллуулах явдал юм:</para> + + <screen>&prompt.root; <userinput>quota -v</userinput></screen> + + <para>Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд дискийн хэрэглээ + болон тухайн үеийн ноогдлын хязгаарлалтуудын ерөнхий нэг мөр үр дүнг харах + ёстой.</para> + + <para>Та одоо &man.edquota.8; тушаал ашиглан ноогдлын хязгаарлалтуудыг + зааж өгч эхлэхэд бэлэн боллоо.</para> + + <para>Хэрэглэгч эсвэл бүлгийн хуваарилж болох дискийн зай болон тэд хичнээн файл + үүсгэж болох хэмжээний хязгаарлалтуудыг хүчлэн зааж өгч болох хэд хэдэн сонголт танд + байдаг. Та хуваарилалтыг дискийн зай (блок ноогдлууд) эсвэл файлын тоо (inode ноогдлууд) + эсвэл хоюулангийн хослолоор хязгаарлан өгч болно. Эдгээр хязгаарлалт бүр дараа нь + хоёр зэрэглэлт хуваагддаг: энэ нь хатуу ба зөөлөн хязгаарлалтууд юм.</para> + + <indexterm><primary>хатуу хязгаарлалт</primary></indexterm> + <para>Хатуу хязгаарлалтаас илүү гарч болохгүй. Хэрэглэгч өөрийн хатуу хязгаарлалтад + хүрэхэд асуудалтай байгаа файлын систем дээр хэрэглэгч ямар ч хуваарилалт хийж + чадахгүй болно. Жишээ нь хэрэв хэрэглэгч файлын систем дээр 500 кбайт хатуу + хязгаарлалттай бөгөөд 490 кбайтыг одоогоор ашиглаж байгаа бол хэрэглэгч + зөвхөн 10 кбайтыг нэмж хуваарилж чадна. 11 кбайт нэмж хуваарилахыг оролдох нь + амжилтгүй болох болно.</para> + + <indexterm><primary>зөөлөн хязгаарлалт</primary></indexterm> + <para>Нөгөө талаас зөөлөн хязгаарлалтууд нь тодорхой хугацааны туршид илүү гарч + болно. Энэ хугацааг энэрэнгүй хугацаа гэдэг бөгөөд анхдагчаар нэг долоо хоног + байдаг. Хэрэв хэрэглэгч өөрийн зөөлөн хязгаарлалтаас илүү гарсан хэвээр + энэрэнгүй хугацааг өнгөрөх юм бол зөөлөн хязгаарлалт нь хатуу хязгаарлалт болж + дахин хуваарилалтыг зөвшөөрдөггүй. Хэрэглэгч зөөлөн хязгаарлалтаас доош + орвол энэрэнгүй хугацаа дахин тавигдах болно.</para> + + <para>Дараах нь &man.edquota.8; тушаалыг ажиллуулах үед таны харж болох + гаралтын жишээ юм. &man.edquota.8; тушаалыг ажиллуулахад + <envar>EDITOR</envar> орчны хувьсагчид заагдсан засварлагч уруу + эсвэл <envar>EDITOR</envar> хувьсагч заагдаагүй бол + <application>vi</application> засварлагч уруу таныг оруулах бөгөөд энэ нь + ноогдлын хязгаарлалтуудыг засварлах боломжийг танд олгоно.</para> + + <screen>&prompt.root; <userinput>edquota -u test</userinput></screen> + + <programlisting>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)</programlisting> + + <para>Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд хоёр мөрийг ердийн үед + харах болно. Нэг мөр нь блокийн хязгаарлалтад, нөгөө мөр нь inode хязгаарлалтад + зориулагддаг. Ноогдлын хязгаарлалтуудыг өөрчлөхийн тулд та ердөө л утгыг шинэчлэхийг хүсэж + байгаа утгаараа солих хэрэгтэй. Жишээ нь энэ хэрэглэгчийн блок хязгаарлалтыг + зөөлөн хязгаарлалт 50, хатуу хязгаарлалт 75 байсныг зөөлөн хязгаарлалт 500 болон + хатуу хязгаарлалт 600 болгон өсгөхийн тулд дараах:</para> + + <programlisting>/usr: kbytes in use: 65, limits (soft = 50, hard = 75)</programlisting> + + <para>мөрийг доорх шиг болгож өөрчлөх хэрэгтэй:</para> + + <programlisting>/usr: kbytes in use: 65, limits (soft = 500, hard = 600)</programlisting> + + <para>Таныг засварлагчаас гарсны дараа шинэ ноогдлын хязгаарлалтууд + байрандаа орох болно.</para> + + <para>Заримдаа ноогдлын хязгаарлалтуудыг зарим UID-ийн хүрээний хувьд + зааж өгөх шаардлага гардаг. Үүнийг &man.edquota.8; тушаалд + <option>-p</option> тохируулгыг ашиглан хийдэг. Эхлээд хэрэглэгчид + хүссэн ноогдлын хязгаарлалтаа зааж өгөөд дараа нь + <command>edquota -p protouser startuid-enduid</command> + тушаалыг ажиллуулна. Жишээ нь хэрэв хэрэглэгч <username>test</username> + хүссэн ноогдлын хязгаарлалттай байгаа бол энэ ноогдлын хязгаарлалтыг + 10,000-с 19,999 хүртэлх UID-уудад хувилж хамааруулахын тулд дараах тушаалыг + ажиллуулна:</para> + + <screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen> + + <para>Дэлгэрэнгүй мэдээллийг &man.edquota.8; гарын авлагын хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Ноогдлын хязгаарлалтууд болон дискийн хэрэглээг шалгах нь</title> + <indexterm> + <primary>дискийн ноогдлууд</primary> + <secondary>шалгах нь</secondary> + </indexterm> + + <para>Ноогдлын хязгаарлалтууд болон дискийн хэрэглээг шалгахын тулд + та &man.quota.1; эсвэл &man.repquota.8; тушаалын нэгийг + ашиглаж болно. &man.quota.1; тушаалыг хэрэглэгч эсвэл бүлгийн + ноогдлууд болон дискийн зайг шалгахад хэрэглэж болно. Хэрэглэгч нь + зөвхөн өөрийн ноогдол болон өөрийн гишүүн бүлгийн ноогдлыг шалгаж + чадна. Зөвхөн супер хэрэглэгч бүх хэрэглэгч болон бүлгийн ноогдлуудыг + харж болно. &man.repquota.8; тушаалыг ноогдлууд идэвхжүүлэгдсэн + файлын системүүдийн хувьд бүх ноогдлууд болон дискийн хэрэглээний + ерөнхий дүнг авахад хэрэглэж болно.</para> + + <para>Дараах нь хоёр файлын систем дээр ноогдлын хязгаарлалттай хэрэглэгчийн + хувьд <command>quota -v</command> тушаалын жишээ гаралт + юм.</para> + + <programlisting>Disk quotas for user test (uid 1002): + Filesystem usage quota limit grace files quota limit grace + /usr 65* 50 75 5days 7 50 60 + /usr/var 0 50 75 0 50 60</programlisting> + + <indexterm><primary>энэрэнгүй хугацаа</primary></indexterm> + <para>Дээрх жишээний <filename>/usr</filename> файлын систем дээр + хэрэглэгч 50 кбайтын зөөлөн хязгаарлалтыг 15 кбайтаар илүүдүүлсэн + байгаа бөгөөд 5 хоногийн энэрэнгүй хугацаа үлдсэн байна. Од + <literal>*</literal> тэмдэгт нь хэрэглэгч өөрийн ноогдлын хязгаарлалтаас + илүү гарсныг харуулж байна.</para> + + <para>Ердийн үед хэрэглэгч ямар ч дискийн зай ашиглаагүй байгаа тийм файлын системүүд, + файлын системийн хувьд ноогдлын хязгаарлалт байсан ч гэсэн &man.quota.1; тушаалын + гаралтад харагддаггүй байна. <option>-v</option> тохируулга нь тэдгээр + файлын системүүдийг харуулах бөгөөд дээрх жишээн дээр + <filename>/usr/var</filename> файлын системийг харуулж + байна.</para> + </sect2> + + <sect2> + <title>NFS дээгүүрх ноогдлууд</title> + <indexterm><primary>NFS</primary></indexterm> + + <para>Ноогдлууд нь NFS сервер дээр ноогдлын дэд системээр хянагддаг. + &man.rpc.rquotad.8; демон нь NFS клиентүүд дээр өөрсдийн ноогдлын + статистикуудыг хэрэглэгчдэд үзэх боломжийг олгож ноогдлын мэдээллийг тэдгээр + машинууд дээр &man.quota.1; тушаалд бэлэн болгож өгдөг.</para> + + <para><command>rpc.rquotad</command>-г + <filename>/etc/inetd.conf</filename> файлд ингэж идэвхжүүлнэ:</para> + + <programlisting>rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad</programlisting> + + <para>Одоо <command>inetd</command>-г дахин ачаал:</para> + + <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen> + </sect2> + </sect1> + + + <sect1 id="disks-encrypting"> + <sect1info> + <authorgroup> + <author> + <firstname>Лаки</firstname> + <surname>Грийн</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + <affiliation> + <address><email>shamrock@cypherpunks.to</email></address> + </affiliation> + </author> + </authorgroup> + <!-- 11 MARCH 2003 --> + </sect1info> + + <title>Дискийн хуваалтуудыг шифрлэх нь</title> + <indexterm> + <primary>дискнүүд</primary> + <secondary>шифрлэх нь</secondary></indexterm> + + <para>FreeBSD нь өгөгдөлд зөвшөөрөгдөөгүй хандах хандалтын эсрэг + маш сайн шууд хамгаалалтуудыг санал болгодог. Файлын зөвшөөрлүүд болон + Mandatory Access Control (MAC) буюу Албадмал Хандалт Хяналт + (see <xref linkend="mac">) нь компьютер ассан, үйлдлийн систем + идэвхтэй байх үед зөвшөөрөлгүй гуравдагч нөхдүүдийг өгөгдөлд хандахаас + хамгаалахад тусалдаг. Гэхдээ хэрэв халдагч компьютерт физик хандалт олж аван + компьютерийн хатуу хөтөчийг өөр систем уруу зөөн эмзэг өгөгдлийг хуулж шинжилгээ хийж чадах + бол үйлдлийн системийн мөрдүүлдэг зөвшөөрлүүд нь хамааралгүй болох юм.</para> + + <para>Халдагч хэрхэн хатуу диск эсвэл унтраасан компьютерийг эзэмшсэнээс үл хамаарч + &os; дээрх <application>GEOM Based Disk Encryption (gbde)</application> + буюу GEOM дээр тулгуурласан дискийн шифрлэлт болон <command>geli</command> + криптограф дэд системүүд нь компьютерийн файлын системүүд дээрх өгөгдлийг + бүр чухал эх үүсвэрүүд бүхий, зорилгодоо хүрэхээр ихээхэн чармайсан халдагчдаас + хамгаалж чадах юм. Зөвхөн тухайн файл бүрийг шифрлэдэг ярвигтай шифрлэлтийн + аргуудаас ялгаатай нь <command>gbde</command> болон <command>geli</command> + нь бүх файлын системүүдийг харагдаж мэдэгдэхгүйгээр шифрлэдэг. Хатуу дискийн + хавтгайд цэвэр текст хэзээ ч бичигддэггүй.</para> + + <sect2> + <title><application>gbde</application>-ээр диск шифрлэх</title> + + <procedure> + <step> + <title><username>root</username> болно</title> + + <para><application>gbde</application>-г тохируулахад супер хэрэглэгчийн + эрхүүдийг шаарддаг.</para> + + <screen>&prompt.user; <userinput>su -</userinput> +Password:</screen> + </step> + + <step> + <title>Цөмийн тохиргооны файлдаа &man.gbde.4; дэмжлэгийг нэмнэ</title> + + <para>Дараах мөрийг цөмийн тохиргооны файлдаа нэмнэ:</para> + + <para><literal>options GEOM_BDE</literal></para> + + <para>Цөмөө <xref linkend="kernelconfig">-д тайлбарласны дагуу дахин бүтээнэ.</para> + + <para>Шинэ цөм уруугаа дахин ачаална.</para> + </step> + + <step> + <para>Цөмийг дахин бүтээхээс өөр нэг арга нь <command>kldload</command> + ашиглаж &man.gbde.4;-г ачаалах явдал юм:</para> + + <screen>&prompt.root; <userinput>kldload geom_bde</userinput></screen> + + <para>Одоогоор цөмийн модулийг ачаалах явцад дуудах тохируулга + <filename>/boot/loader.conf</filename> файлд байхгүй байгаа.</para> + </step> + </procedure> + + <sect3> + <title>Шифрлэгдсэн хатуу хөтөчүүдийг бэлдэх нь</title> + + <para>Дараах жишээ нь таныг өөрийн систем уруу шинэ хатуу хөтөч нэмж + ганц шифрлэгдсэн хуваалтыг агуулна гэж тооцдог. Энэ хуваалт нь + <filename>/private</filename> гэж холбогдох болно. + <application>gbde</application> нь + <filename>/home</filename> болон <filename>/var/mail</filename>-г + бас шифрлэхэд ашиглагддаг боловч энэ нь энэ танилцуулгын хүрээнээс хальж + илүү төвөгтэй заавруудыг шаарддаг.</para> + + <procedure> + <step> + <title>Шинэ хатуу хөтөчийг нэмнэ</title> + + <para>Шинэ хөтөчийг систем уруу <xref + linkend="disks-adding">-д тайлбарласны дагуу нэмнэ. Энэ жишээн + дээр шинэ хатуу хөтөчийн хуваалт <filename>/dev/ad4s1c</filename> + гэж нэмэгдсэн байгаа. <filename>/dev/ad0s1<replaceable>*</replaceable></filename> + төхөөрөмжүүд нь жишээ систем дээр байгаа стандарт FreeBSD хуваалтуудыг + харуулж байна.</para> + + <screen>&prompt.root; <userinput>ls /dev/ad*</userinput> +/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 +/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c +/dev/ad0s1a /dev/ad0s1d /dev/ad4</screen> + </step> + + <step> + <title>gbde цоож файлуудыг агуулах санг үүсгэнэ</title> + + <screen>&prompt.root; <userinput>mkdir /etc/gbde</userinput></screen> + + <para><application>gbde</application> цоож файл нь шифрлэгдсэн хуваалтуудад + хандахад <application>gbde</application>-д шаардагдах мэдээллийг + агуулдаг. Цоож файлд хандах боломжгүй бол <application>gbde</application> + нь шифрлэгдсэн хуваалтын агуулсан өгөгдлийг хөндлөнгийн их хүч шаардсан оролцоогүйгээр + буцааж тайлж чадахгүй юм. Үүнийг програм хангамж дэмждэггүй. + Шифрлэгдсэн хуваалт бүр тусдаа цоож файл ашигладаг.</para> + </step> + + <step> + <title>gbde хуваалтыг эхлүүлнэ</title> + + <para><application>gbde</application> хуваалт ашиглагдаж эхлэхээсээ өмнө + эхэлж тохируулагдсан байх шаардлагатай. Энэ эхний тохируулга нь зөвхөн нэг + удаа хийгдэх ёстой:</para> + + <screen>&prompt.root; <userinput>gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c</userinput></screen> + + <para>&man.gbde.8; нь загварт төрөл бүрийн тохиргооны сонголтуудыг зааж + өгөх боломжийг танд өгч таны засварлагчийг онгойлгох болно. UFS1 + эсвэл UFS2-той ашиглахын тулд sector_size-г 2048 гэж заана:</para> + + <programlisting>$<!-- This is not the space you are looking +for-->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 +[...] +</programlisting> + + <para>&man.gbde.8; нь өгөгдлийг аюулгүй болгоход хэрэглэгдэх ёстой нэвтрэх + үгийг хоёр удаа бичихийг танаас хүснэ. Нэвтрэх үг нь хоюуланд нь адил + байх ёстой. <application>gbde</application>-ийн таны өгөгдлийг + хамгаалах чадвар таны сонгосон нэвтрэх үгийн чанараас бүхэлдээ + хамаарна. + <footnote> + <para>Амархан тогтоож болох аюулгүй нэвтрэх үгийг хэрхэн сонгох талаар + зөвлөгөөнүүдийг <ulink + url="http://world.std.com/~reinhold/diceware.html">Diceware + Passphrase</ulink> вэб хуудаснаас үзнэ үү.</para></footnote></para> + + <para><command>gbde init</command> тушаал нь таны + <application>gbde</application> хуваалтад зориулж цоож файлыг + үүсгэх бөгөөд энэ жишээн дээр <filename>/etc/gbde/ad4s1c</filename> + гэж хадгалагдсан байна.</para> + + <caution> + <para><application>gbde</application> цоож файлууд нь шифрлэгдсэн + хуваалтуудын агуулгатай цуг нөөцлөгдөх <emphasis>ёстой</emphasis>. + Зөвхөн цоож файлыг устгах нь шийдсэн халдагч + <application>gbde</application> хуваалтыг буцааж тайлахаас + хамгаалж чаддаггүй бөгөөд цоож файлгүйгээр хууль ёсны эзэмшигч + нь шифрлэгдсэн хуваалт дээрх өгөгдөлд &man.gbde.8; болон түүнийг зохиогчийн + ерөөсөө дэмждэггүй, их хүч шаардсан ажиллагаагүйгээр хандаж чадахгүй болох + юм.</para> + </caution> + </step> + + <step> + <title>Шифрлэгдсэн хуваалтыг цөмд залгана</title> + + <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen> + + <para>Шифрлэгдсэн хуваалтыг эхэлж тохируулж байх үед таны сонгосон нэвтрэх + үгийг оруулахыг танаас асуух болно. Шинэ шифрлэгдсэн төхөөрөмж + <filename>/dev</filename> дотор + <filename>/dev/device_name.bde</filename> гэж гарч + ирнэ:</para> + + <screen>&prompt.root; <userinput>ls /dev/ad*</userinput> +/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 +/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c +/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde</screen> + </step> + + <step> + <title>Шифрлэгдсэн төхөөрөмж дээр файлын систем үүсгэнэ</title> + + <para>Шифрлэгдсэн төхөөрөмж цөмд залгагдсаны дараа та энэ төхөөрөмж дээр + файлын систем үүсгэж болно. Шифрлэгдсэн төхөөрөмж дээр файлын + систем үүсгэхийн тулд &man.newfs.8;-г ашиглана. Хуучин UFS1 + файлын системийг эхлүүлснээс шинэ UFS2 файлын системийг эхлүүлэх нь + хамаагүй хурдан учраас &man.newfs.8;-г <option>-O2</option> + тохируулгатай хэрэглэхийг зөвлөдөг.</para> + + <screen>&prompt.root; <userinput>newfs -U -O2 /dev/ad4s1c.bde</userinput></screen> + + <note> + <para>&man.newfs.8; тушаал нь төхөөрөмжийн нэрэндээ + <filename><replaceable>*</replaceable>.bde</filename> гэж + өргөтгөлөөр танигдах залгагдсан <application>gbde</application> + хуваалт дээр хийгдэх ёстой.</para> + </note> + </step> + + <step> + <title>Шифрлэгдсэн хуваалтыг холбоно</title> + + <para>Шифрлэгдсэн файлын системд зориулж холбох цэгийг үүсгэнэ.</para> + + <screen>&prompt.root; <userinput>mkdir /private</userinput></screen> + + <para>Шифрлэгдсэн файлын системийг холбоно.</para> + + <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen> + </step> + + <step> + <title>Шифрлэгдсэн файлын систем байгаа эсэхийг шалгана</title> + + <para>Шифрлэгдсэн файлын систем одоо &man.df.1;-д харагдаж + ашиглахад бэлэн болох ёстой.</para> + + <screen>&prompt.user; <userinput>df -H</userinput> +Filesystem Size Used Avail Capacity Mounted on +/dev/ad0s1a 1037M 72M 883M 8% / +/devfs 1.0K 1.0K 0B 100% /dev +/dev/ad0s1f 8.1G 55K 7.5G 0% /home +/dev/ad0s1e 1037M 1.1M 953M 0% /tmp +/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr +/dev/ad4s1c.bde 150G 4.1K 138G 0% /private</screen> + </step> + </procedure> + </sect3> + + <sect3> + <title>Байгаа шифрлэгдсэн файлын системүүдийг холбох нь</title> + + <para>Ачаалалт бүрийн дараа ямар ч шифрлэгдсэн файлын системүүдийг + ашиглаж эхлэхээсээ өмнө цөмд дахин залгаж, алдааг нь шалгаж холбож болно. + Шаардлагатай тушаалуудыг <username>root</username> хэрэглэгч + ажиллуулах ёстой гэж үздэг.</para> + + <procedure> + <step> + <title>gbde хуваалтыг цөмд залгана</title> + + <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen> + + <para>Шифрлэгдсэн <application>gbde</application> хуваалтыг + эхэлж тохируулж байх үед таны сонгосон нэвтрэх үгийг оруулахыг + танаас асуух болно.</para> + </step> + + <step> + <title>Файлын систем дээр алдааг шалгана</title> + + <para>Шифрлэгдсэн файлын системүүд нь автоматаар холбогдохын тулд + <filename>/etc/fstab</filename> файлд одоохондооо + жагсаахдах боломжгүй учир файлын системүүд дээр алдаа байгаа эсэхийг + шалгаж тэдгээрийг холбохоос өмнө &man.fsck.8;-г гараар ажиллуулах ёстой.</para> + + <screen>&prompt.root; <userinput>fsck -p -t ffs /dev/ad4s1c.bde</userinput></screen> + </step> + + <step> + <title>Шифрлэгдсэн файлын системийг холбоно</title> + + <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen> + + <para>Шифрлэгдсэн файлын систем одоо ашиглахад бэлэн боллоо.</para> + </step> + </procedure> + + <sect4> + <title>Шифрлэгдсэн хуваалтуудыг автоматаар холбох нь</title> + + <para>Шифрлэгдсэн хуваалтыг автоматаар залган шалгаж холбох скриптийг үүсгэж + болох боловч аюулгүй байдлын шалтгаанаас болоод скрипт нь + &man.gbde.8; нууц үгийг агуулсан байх ёсгүй. Харин эдгээр + скриптүүдийг гараар ажиллуулж нууц үгийг консол эсвэл &man.ssh.1;-ээр + оруулахыг зөвлөдөг.</para> + + <para>Өөр нэг арга нь <filename>rc.d</filename> скрипт байдаг. Энэ + скриптийн нэмэлт өгөгдлүүдийг &man.rc.conf.5;-оор дамжуулж болно, + жишээ нь:</para> + + <screen>gbde_autoattach_all="YES" +gbde_devices="ad4s1c"</screen> + + <para>Энэ нь <application>gbde</application> нэвтрэх үгийг ачаалах + үед оруулахыг шаарддаг. Зөв нэвтрэх үгийг бичсэний дараа + <application>gbde</application> шифрлэгдсэн хуваалт автоматаар + холбогдох болно. Энэ нь <application>gbde</application>-г + зөөврийн компьютер дээр хэрэглэж байгаа үед их ашигтай байдаг.</para> + </sect4> + </sect3> + + <sect3> + <title>gbde-ийн ажиллуулдаг криптограф хамгаалалтууд</title> + + <para>&man.gbde.8; нь 128-bit AES-ийг CBC горимд ашиглан сектор ачааг + шифрлэдэг. Диск дээрх сектор бүр өөр өөр AES түлхүүрээр шифрлэгддэг. + Секторын түлхүүрүүд хэрэглэгчийн оруулсан нэвтрэх үгээс хэрхэн гаргагддаг зэрэг + <application>gbde</application>-ийн криптограф дизайны талаар + дэлгэрэнгүйг &man.gbde.4;-ээс үзнэ үү.</para> + </sect3> + + <sect3> + <title>Нийцтэй байдлын асуудлууд</title> + + <para>&man.sysinstall.8; нь <application>gbde</application>-шифрлэгдсэн + төхөөрөмжүүдтэй нийцгүй байдаг. Бүх + <devicename><replaceable>*</replaceable>.bde</devicename> төхөөрөмжүүдийг + &man.sysinstall.8; эхлүүлэхээс өмнө цөмөөс салгасан байх ёстой бөгөөд + ингэхгүй бол энэ нь төхөөрөмжүүдийг шалгаж эхлэхдээ сүйрэх болно. Бидний жишээн + дээр ашиглагдсан шифрлэгдсэн төхөөрөмжийг салгахдаа дараах тушаалыг + ашиглана:</para> + <screen>&prompt.root; <userinput>gbde detach /dev/ad4s1c</userinput></screen> + + <para>Мөн &man.vinum.4; нь &man.geom.4; дэд системийг + ашигладаггүйг анхаараарай, та <application>gbde</application>-г + <application>vinum</application> эзлэхүүнүүдтэй ашиглаж + болохгүй.</para> + </sect3> + + </sect2> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Даниэл</firstname> + <surname>Гэрзо</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- Date of writing: 28 November 2005 --> + </sect2info> + + <title><command>geli</command>-ээр диск шифрлэх нь</title> + + <para>Шинэ криптограф GEOM ангилал &os; 6.0-с эхлэн + <command>geli</command> гэж орж иржээ. Үүнийг одоогоор + &a.pjd; хөгжүүлж байгаа болно. <command>Geli</command> нь + <command>gbde</command>-ээс өөр бөгөөд энэ нь өөр боломжуудыг + санал болгож криптограф үйлдэлдээ өөр схемийг ашигладаг.</para> + + <para>&man.geli.8;-ийн хамгийн чухал боломжууд бол:</para> + + <itemizedlist> + <listitem> + <para>&man.crypto.9; тогтолцоог ашигладаг — + криптограф тоног төхөөрөмж бэлэн болоход <command>geli</command> + түүнийг автоматаар ашигладаг.</para> + </listitem> + <listitem> + <para>Олон криптограф алгоритмуудыг дэмждэг (одоогоор AES, Blowfish, + болон 3DES).</para> + </listitem> + <listitem> + <para>root хуваалтыг шифрлэх боломжийг олгодог. Шифрлэгдсэн root + хуваалтад хандахад хэрэглэгддэг нэвтрэх үгийг систем ачаалахад + асуудаг.</para> + </listitem> + <listitem> + <para>Бие биеэндээ хамааралгүй хоёр түлхүүрүүдийг ашиглахыг + зөвшөөрдөг (өөрөөр хэлбэл <quote>key</quote> болон + <quote>company key</quote>).</para> + </listitem> + <listitem> + <para><command>geli</command> нь хурдан байдаг. Энгийн сектороос сектор уруу + шифрлэлтийг хийдэг.</para> + </listitem> + <listitem> + <para>Мастер түлхүүрүүдийг нөөцлөх ба сэргээхийг зөвшөөрдөг. Хэрэглэгч + өөрийн түлхүүрүүдийг устгах хэрэгтэй болоход нөөцөөс түлхүүрүүдийг + сэргээж өгөгдөлд дахин хандах боломжтой болох юм.</para> + </listitem> + <listitem> + <para>Дискийг санамсаргүй, нэг удаагийн түлхүүрээр залгахыг + зөвшөөрдөг — энэ нь swap хуваалтууд болон түр зуурын + файлын системүүдэд ашигтай байдаг.</para> + </listitem> + </itemizedlist> + + <para><command>geli</command>-ийн илүү боломжуудыг &man.geli.8;-ийн + гарын авлагын хуудаснаас олж болно.</para> + + <para>Дараагийн алхмууд нь <command>geli</command>-ийн дэмжлэгийг &os; цөмд + хэрхэн идэвхжүүлэхийг тайлбарлах бөгөөд шинэ <command>geli</command> + шифрлэлт үзүүлэгчийг хэрхэн үүсгэх талаар өгүүлэх болно. Төгсгөлд нь + <command>geli</command>-ийн санал болгодог боломжуудыг ашиглан swap хуваалтыг + хэрхэн үүсгэхийг харуулах болно.</para> + + <para><command>geli</command>-г ашиглахын тулд та &os; 6.0-RELEASE болон + түүнээс дээшхи хувилбарыг хэрэглэж байх ёстой. Цөмд өөрчлөлтүүд шаардлагатай учраас + супер хэрэглэгчийн эрхүүд хэрэгтэй болно.</para> + + <procedure> + <step> + <title>Цөмийн тохиргооны файлд <command>geli</command> дэмжлэгийг + нэмэх нь</title> + + <para>Дараах мөрийг цөмийн тохиргооны файлд нэмнэ:</para> + + <screen>options GEOM_ELI +device crypto</screen> + + <para>Цөмөө <xref linkend="kernelconfig">-д тайлбарласны дагуу дахин бүтээнэ.</para> + + <para>Мөн <command>geli</command> модулийг ачаалах үед дуудаж болно. + Дараах мөрийг <filename>/boot/loader.conf</filename> файлд + нэмнэ:</para> + + <para><literal>geom_eli_load="YES"</literal></para> + + <para>&man.geli.8; нь одоо цөмд дэмжигдсэн байх ёстой.</para> + </step> + + <step> + <title>Мастер түлхүүр үүсгэх нь</title> + + <para>Дараах жишээ нь түлхүүр файлыг хэрхэн үүсгэх талаар тайлбарлах бөгөөд + энэ нь <filename role="directory">/private</filename> доор + холбогдсон шифрлэгдсэн үзүүлэгчийн Мастер түлхүүрийн хэсэг болон + ашиглагдах болно. Түлхүүр файл нь Мастер түлхүүрийг шифрлэхэд + хэрэглэгдэх зарим санамсаргүй өгөгдлийг өгөх болно. Мастер түлхүүр нь + нэвтрэх үгээр бас хамгаалагдах болно. Үзүүлэгчийн секторын хэмжээ + 4kB том байх болно. Мөн энэ хэлэлцүүлэг нь <command>geli</command> + үзүүлэгчийг хэрхэн залгаж түүн дээр файлын систем үүсгэх, хэрхэн түүнийг + холбож ажиллах болон төгсгөлд нь хэрхэн салгах талаар тайлбарлах + болно.</para> + + <para>Илүү сайн ажиллагааг хангахын тулд секторын том хэмжээг (4kB ч юм уу) + ашиглахыг зөвлөдөг.</para> + + <para>Мастер түлхүүр нь нэвтрэх үгээр хамгаалагдах бөгөөд түлхүүр файлд зориулагдсан + өгөгдлийн эх нь <filename>/dev/random</filename> байх болно. + Бидний үзүүлэгч гэж нэрлэдэг <filename>/dev/da2.eli</filename>-ийн + секторын хэмжээ 4kB байх болно.</para> + + <screen>&prompt.root; <userinput>dd if=/dev/random of=/root/da2.key bs=64 count=1</userinput> +&prompt.root; <userinput>geli init -s 4096 -K /root/da2.key /dev/da2</userinput> +Enter new passphrase: +Reenter new passphrase:</screen> + + <para>Нэвтрэх үг болон түлхүүр файлыг хоюуланг нь заавал ашиглах шаардлагагүй; + Мастер түлхүүрийг нууцлах аль ч аргыг тусад нь ашиглаж болно.</para> + + <para>Хэрэв түлхүүр файл <quote>-</quote> гэж өгөгдсөн бол стандарт + оролтыг ашиглана. Энэ жишээ нь нэгээс олон түлхүүр файлыг + хэрхэн ашиглаж болох талаар харуулж байна.</para> + + <screen>&prompt.root; <userinput>cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2</userinput></screen> + </step> + + <step> + <title>Үзүүлэгчийг үүсгэсэн түлхүүрийн тусламжтай залгах нь</title> + + <screen>&prompt.root; <userinput>geli attach -k /root/da2.key /dev/da2</userinput> +Enter passphrase:</screen> + + <para>Шинэ цэвэр текст төхөөрөмж + <filename>/dev/<replaceable>da2</replaceable>.eli</filename> + гэж нэрлэгдэх болно.</para> + + <screen>&prompt.root; <userinput>ls /dev/da2*</userinput> +/dev/da2 /dev/da2.eli</screen> + </step> + + <step> + <title>Шинэ файлын системийг үүсгэх нь</title> + + <screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/da2.eli bs=1m</userinput> +&prompt.root; <userinput>newfs /dev/da2.eli</userinput> +&prompt.root; <userinput>mount /dev/da2.eli /private</userinput></screen> + + <para>Шифрлэгдсэн файлын систем &man.df.1;-д харагдаж + ашиглахад бэлэн болох ёстой.</para> + + <screen>&prompt.root; <userinput>df -H</userinput> +Filesystem Size Used Avail Capacity Mounted on +/dev/ad0s1a 248M 89M 139M 38% / +/devfs 1.0K 1.0K 0B 100% /dev +/dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr +/dev/ad0s1d 989M 1.5M 909M 0% /tmp +/dev/ad0s1e 3.9G 1.3G 2.3G 35% /var +/dev/da2.eli 150G 4.1K 138G 0% /private</screen> + + </step> + + <step> + <title>Үзүүлэгчийг холбосныг салгаж залгасныг болиулах</title> + + <para>Шифрлэгдсэн хуваалт дээрх ажил хийгдэж дуусаад + <filename role="directory">/private</filename> хуваалт + хэрэггүй болох үед <command>geli</command> шифрлэгдсэн + хуваалтыг холбосноо салган цөмд залгаснаа бас салгах нь зүйтэй + юм.</para> + + <screen>&prompt.root; <userinput>umount /private</userinput> +&prompt.root; <userinput>geli detach da2.eli</userinput></screen> + </step> + </procedure> + + <para>&man.geli.8;-ийг хэрэглэх талаарх дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас + олж болно.</para> + + <sect3> + <title><filename>geli</filename> <filename>rc.d</filename> скриптийг ашиглах нь</title> + + <para><command>geli</command> нь <command>geli</command>-ийн + хэрэглээг хялбаршуулахад ашиглаж болох <filename>rc.d</filename> + скрипттэй цуг ирдэг. <command>geli</command>-г &man.rc.conf.5;-оор + тохируулах жишээг дараахаас харж болно:</para> + + <screen>geli_devices="da2" +geli_da2_flags="-p -k /root/da2.key"</screen> + + <para>Энэ нь <filename>/dev/da2</filename>-г + Мастер түлхүүр файл нь <filename>/root/da2.key</filename>-д байрлах + <command>geli</command> үзүүлэгч гэж тохируулах бөгөөд + үзүүлэгчийг залгаж байхдаа <command>geli</command> нь + нэвтрэх үгийг ашиглахгүй (хэрэв -P сонголт <command>geli</command>-г + эхлүүлэх үед өгөгдсөн тохиолдолд энэ нь ашиглагдах боломжтой). Систем нь + <command>geli</command> үзүүлэгчийг цөмөөс систем унтрахаас өмнө + салгах болно.</para> + + <para><filename>rc.d</filename>-г тохируулах талаар дэлгэрэнгүй мэдээлэл + энэхүү гарын авлагын <link linkend="configtuning-rcd">rc.d</link> + хэсэгт байгаа болно.</para> + </sect3> + </sect2> + </sect1> + + + <sect1 id="swap-encrypting"> + <sect1info> + <authorgroup> + <author> + <firstname>Крисчан</firstname> + <surname>Брюффер</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + </sect1info> + + <title>Swap зайг шифрлэх</title> + <indexterm> + <primary>swap</primary> + <secondary>шифрлэх</secondary> + </indexterm> + + <para>&os; дээрх swap-ийн шифрлэлт нь тохируулахад амархан байдаг бөгөөд + &os; 5.3-RELEASE-с эхлээд ийм боломжтой болсон юм. &os;-ийн аль + хувилбарыг ашиглаж байгаагаас хамаараад өөр өөр тохируулгууд байдаг бөгөөд + тохиргоо нь нэлээн өөр өөр байдаг. &os; 6.0-RELEASE-с эхлээд + &man.gbde.8; эсвэл &man.geli.8; шифрлэх системүүдийг swap-ийг + шифрлэхэд ашиглаж болно. Өмнөх хувилбаруудад зөвхөн &man.gbde.8; + байдаг. Энэ хоёр систем нь хоюулаа <filename>encswap</filename> + <link linkend="configtuning-rcd">rc.d</link> скриптийг + ашигладаг.</para> + + <para>Өмнөх <link linkend="disks-encrypting">Дискийн хуваалтуудыг шифрлэх</link> + хэсэг нь өөр өөр шифрлэх системүүдийн талаарх богино хэлэлцүүлгийг агуулдаг.</para> + + <sect2> + <title>Swap яагаад шифрлэгдэх ёстой вэ?</title> + + <para>Дискийн хуваалтуудын шифрлэлтийн нэгэн адил swap зайн шифрлэлт нь эмзэг + мэдээллийг хамгаалахын тулд хийгддэг. Нууц үгстэй ажилладаг програм байлаа гэж + бодъё. Эдгээр нууц үгс нь физик санах ойд байгаа үед бүгд зүгээр байна. Гэхдээ + хэрэв үйлдлийн систем нь бусад програмуудад зориулж зайг чөлөөлөхийн тулд санах + ойн хуудаснуудыг swap хийж эхэлбэл нууц үгс нь дискийн хавтгай дээр шифрлэгдэлгүй + бичигдэж болох бөгөөд энэ нь өрсөлдөгчийн хувьд олж авахад амархан болох юм. + Swap зайг шифрлэх нь энэ тохиолдолд шийдэл болж болох юм.</para> + </sect2> + + <sect2> + <title>Бэлтгэл</title> + + <note> + <para>Энэ хэсгийн үлдсэн хэсэгт <devicename>ad0s1b</devicename> нь + swap хуваалт байх болно.</para> + </note> + + <para>Энэ хүртэл swap нь шифрлэгдээгүй байгаа билээ. Аль хэдийн нууц үгс эсвэл бусад + эмзэг өгөгдөл дискийн хавтгайнууд дээр цэвэр текстээр байж болзошгүй юм. Үүнийг + засварлахын тулд swap хуваалт дээрх өгөгдлийг санамсаргүй хаягдалаар дарж бичих + хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>dd if=/dev/random of=/dev/ad0s1b bs=1m</userinput></screen> + </sect2> + + <sect2> + <title>&man.gbde.8; ашиглан swap шифрлэлт хийх</title> + + <para>Хэрэв &os; 6.0-RELEASE болон түүнээс шинэ хувилбар ашиглагдаж байгаа бол + <literal>.bde</literal> дагаварыг <filename>/etc/fstab</filename>-ийн + тохирох swap мөр дэх төхөөрөмжид нэмэх шаардлагатай:</para> + + <screen> +# Device Mountpoint FStype Options Dump Pass# +/dev/ad0s1b.bde none swap sw 0 0 + </screen> + + <para>&os; 6.0-RELEASE хувилбараас өмнөх системүүдэд дараах мөр нь + <filename>/etc/rc.conf</filename> файлд бас хэрэгтэй:</para> + + <programlisting>gbde_swap_enable="YES"</programlisting> + </sect2> + + <sect2> + <title>&man.geli.8; ашиглан swap шифрлэлт хийх</title> + + <para>Өөрөөр, swap шифрлэлтэд зориулж &man.geli.8;-г ашиглах процедур нь + &man.gbde.8; ашиглахтай төстэй. <literal>.eli</literal> дагаварыг + <filename>/etc/fstab</filename>-ийн тохирох swap мөр дэх төхөөрөмжид + нэмэх шаардлагатай:</para> + + <screen> +# Device Mountpoint FStype Options Dump Pass# +/dev/ad0s1b.eli none swap sw 0 0 + </screen> + + <para>&man.geli.8; нь <acronym>AES</acronym> алгоритмийг анхдагчаар + 256 битийн урттай түлхүүртэй ашигладаг.</para> + + <para>Мөн эдгээр анхдагчуудыг <filename>/etc/rc.conf</filename> файлд + <literal>geli_swap_flags</literal> тохируулгыг ашиглан + өөрчилж болно. Дараах мөр нь <filename>encswap</filename> rc.d + скриптийг <quote>detach on last close</quote> тохируулгыг зааж 4 + килобайтын секторын хэмжээтэй, 128 бит түлхүүрийн урттайгаар Blowfish + алгоритм ашиглан &man.geli.8; swap хуваалт үүсгэ гэж хэлж байна:</para> + + <programlisting>geli_swap_flags="-a blowfish -l 128 -s 4096 -d"</programlisting> + + <para>&man.geli.8; гарын авлагын хуудсан дахь <command>onetime</command> тушаалын тайлбараас + боломжит тохируулгуудын жагсаалтыг лавлана уу.</para> + </sect2> + + <sect2> + <title>Ажиллаж байгаа эсэхийг шалгах</title> + + <para>Систем дахин ачаалагдсаны дараа шифрлэгдсэн swap-ийн зөв үйлдлийг + <command>swapinfo</command> тушаал ашиглан шалгаж + болно.</para> + + <para>Хэрэв &man.gbde.8; ашиглагдаж байвал:</para> + + <screen>&prompt.user; <userinput>swapinfo</userinput> +Device 1K-blocks Used Avail Capacity +/dev/ad0s1b.bde 542720 0 542720 0% + </screen> + + <para>Хэрэв &man.geli.8; ашиглагдаж байвал:</para> + + <screen>&prompt.user; <userinput>swapinfo</userinput> +Device 1K-blocks Used Avail Capacity +/dev/ad0s1b.eli 542720 0 542720 0% + </screen> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/eresources/Makefile b/mn_MN.UTF-8/books/handbook/eresources/Makefile new file mode 100644 index 0000000000..2c15bbdd94 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/eresources/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= eresources/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/eresources/chapter.sgml b/mn_MN.UTF-8/books/handbook/eresources/chapter.sgml new file mode 100644 index 0000000000..1eed04d375 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/eresources/chapter.sgml @@ -0,0 +1,1782 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.181 + + $FreeBSD$ +--> + +<appendix id="eresources"> + <title>Интернэт дэх эх үүсвэрүүд</title> + + <para>FreeBSD-ийн дэвшлийн хурдан алхаа нь хамгийн сүүлийн хөгжүүлэлтүүдийг дагахаас хамаараад + хэвлэн гаргах хэрэгцээгүй болгоход хүргэдэг. Цахим эх үүсвэрүүд нь хамгийн шилдэг + нь бөгөөд хамгийн сүүлийн үеийн дэвшилтүүдийн талаар мэдлэгтэй байх бараг цорын + ганц арга юм. FreeBSD нь сайн дурын чармайлт болохоор хэрэглэгчийн хүрээнийхэн нь + өөрсдөө цахим захидал болон тэр хүрээнийхэнд хүрэх хамгийн үр ашигтай арга болох + USENET мэдээнүүдийн тусламжтайгаар ерөнхийдөө нэгэн хэлбэрийн + <quote>техникийн дэмжлэгийн хэлтэс</quote> маягаар үйлчилдэг.</para> + + <para>FreeBSD-ийн хэрэглэгчийн хүрээнийхэнд хандах хамгийн чухал цэгүүдийг доор дурдав. + Хэрэв та энд дурдагдсанаас өөр эх үүсвэрүүдийн талаар мэдэж байвал + тэдгээрийг бас энэ жагсаалтанд оруулахаар &a.doc; уруу илгээнэ үү.</para> + + <sect1 id="eresources-mail"> + <title>Захидлын жагсаалтууд</title> + + <para>FreeBSD-ийн хөгжүүлэлтийн олон гишүүд USENET-ийг уншдаг ч гэсэн + хэрэв та <literal>comp.unix.bsd.freebsd.*</literal> бүлгүүдийн аль нэг уруу + өөрийн асуултуудаа илгээсэн бол бид таны асуултуудыг цагт нь (эсвэл бүр үгүй) авч чадна + гэж үргэлж баталгаа өгч чадахгүй билээ. Өөрийн асуултуудаа тохирох захидлын жагсаалт + уруу хаягласнаар таны асуултууд бидэнд болон төвлөрсөн FreeBSD-ийн олон нийтэд + илүү хариулт авах боломжтойгоор (буюу ядаж л хурдан) хүрэх болно.</para> + + <para>Энэ баримтын сүүл хэсэгт төрөл бүрийн жагсаалтуудад зориулсан дүрмүүд бий. + <emphasis>Аль нэг жагсаалт уруу элсэн орох эсвэл захидал илгээхээсээ өмнө + жагсаалтын дүрмийг уншина уу</emphasis>. Одоо манай захидлын жагсаалтын захиалагчдын + ихэнх нь FreeBSD-тэй холбоотой олон зуун захиануудыг өдөр бүр авдаг бөгөөд зөв хэрэглэх + талаарх дүрэм, журмуудыг гаргаснаар бид жагсаалтуудын шуугиан, дохионы харьцааг + (signal-to-noise ratio) өндөр байлгахыг хичээдэг. Бага хийх нь захидлын жагсаалтыг + энэ төсөлд зориулсан үр ашигтай холбооны зөөвөрлөгч байхыг эцсийн эцэст болиулж + болох юм.</para> + + <para>Аль жагсаалт уруу асуултаа илгээхээ мэдэхгүй эргэлзэж байгаа бол + <ulink + url="&url.articles.freebsd-questions;">FreeBSD-асуултууд захидлын жагсаалтаас + хэрхэн хамгийн их ашгийг авч болох вэ</ulink> хэсгээс үзнэ үү.</para> + + <para>Аль нэг жагсаалт уруу илгээхээсээ өмнө байнга давтагддаг хэлэлцүүлгүүдийг + үүсгэхгүй байхад хэрхэн туслах зэрэг захидлын жагсаалтыг хэрхэн хамгийн үр ашигтай + ашиглах талаар сурах хэрэгтэй. Үүнийг тулд <ulink url="&url.articles.mailing-list-faq;"> + Захидлын жагсаалтын байнга асуудаг асуултууд</ulink> (FAQ) баримтыг унших нь + зүйтэй.</para> + + <para>Бүх захидлын жагсаалтуудын хувьд архивууд хадгалагддаг бөгөөд + <ulink url="&url.base;/search/index.html">FreeBSD Дэлхий Даяарх + Вэб сервер</ulink> ашиглан хайлт хийж болно. Түлхүүр үгээр хайж болох архив нь + байнга асуугддаг асуултуудад зориулсан хариултуудыг олох хамгийн шилдэг аргыг + санал болгодог бөгөөд асуулт илгээхээсээ өмнө эдгээрээс лавлах хэрэгтэй юм.</para> + + <sect2 id="eresources-summary"> + <title>Жагсаалтын тойм</title> + + <para><emphasis>Ерөнхий жагсаалтууд:</emphasis> Дараах нь ерөнхий жагсаалтууд + бөгөөд эдгээрт хэн ч гэсэн чөлөөтэй (зоригтойгоор) элсэж болно:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Жагсаалт</entry> + <entry>Зорилго</entry> + </row> + </thead> + + <tbody> + <row> + <entry>&a.cvsall.name;</entry> + <entry>FreeBSD-ийн эх мод уруу хийгдсэн өөрчлөлтүүд</entry> + </row> + + <row> + <entry>&a.advocacy.name;</entry> + <entry>FreeBSD Evangelism</entry> + </row> + + <row> + <entry>&a.announce.name;</entry> + <entry>Чухал үйл явдлууд болон төслийн гол гол үе шатууд</entry> + </row> + + <row> + <entry>&a.arch.name;</entry> + <entry>Архитектур болон дизайны хэлэлцүүлгүүд</entry> + </row> + + <row> + <entry>&a.bugbusters.name;</entry> + <entry>FreeBSD-ийн асуудлын тайлангийн мэдээллийн бааз болон түүнтэй + холбоотой хэрэгслүүдийн арчилгаатай холбоотой хэлэлцүүлгүүд</entry> + </row> + + <row> + <entry>&a.bugs.name;</entry> + <entry>Алдааны тайлангууд</entry> + </row> + + <row> + <entry>&a.chat.name;</entry> + <entry>FreeBSD хүрээнийхэнтэй холбоотой техникийн бус зүйлс</entry> + </row> + + <row> + <entry>&a.current.name;</entry> + <entry>&os.current;-н хэрэглээтэй хамаатай хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.isp.name;</entry> + <entry>FreeBSD ашиглаж байгаа Интернетийн үйлчилгээ үзүүлэгчдийн + асуудлууд</entry> + </row> + + <row> + <entry>&a.jobs.name;</entry> + <entry>FreeBSD-тэй холбоотой ажил болон зөвлөгөөний боломжууд</entry> + </row> + + <row> + <entry>&a.policy.name;</entry> + <entry>FreeBSD-ийн Гол багийн бодлогын шийдвэрүүд. Бага хэмжээний бөгөөд + зөвхөн унших боломжтой</entry> + </row> + + <row> + <entry>&a.questions.name;</entry> + <entry>Хэрэглэгчийн асуултууд болон техникийн дэмжлэг</entry> + </row> + + <row> + <entry>&a.security-notifications.name;</entry> + <entry>Аюулгүй байдлын мэдэгдлүүд</entry> + </row> + + <row> + <entry>&a.stable.name;</entry> + <entry>&os.stable;-н хэрэглээтэй холбоотой хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.test.name;</entry> + <entry>Аль нэг жагсаалт уруу тест захиа явуулахын оронд энэ жагсаалт + ашиглагдана</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para><emphasis>Техникийн жагсаалтууд:</emphasis> Дараах жагсаалтууд нь + техникийн хэлэлцүүлэгт зориулагдсан. Эдгээр жагсаалтын агуулга болон хэрхэн ашиглах + талаар нарийн чанд зааврууд байдаг учраас аль нэг уруу нь элсэх юм уу эсвэл + захидал илгээхээсээ өмнө жагсаалт болгоны дүрэм, журмыг та унших хэрэгтэй юм.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Жагсаалт</entry> + <entry>Зорилго</entry> + </row> + </thead> + + <tbody> + <row> + <entry>&a.acpi.name;</entry> + <entry>ACPI болон тэжээлийн удирдлагын хөгжүүлэлт</entry> + </row> + + <row> + <entry>&a.afs.name;</entry> + <entry>AFS-г FreeBSD уруу хөрвүүлэх</entry> + </row> + + <row> + <entry>&a.aic7xxx.name;</entry> + <entry>&adaptec; AIC 7xxx-д зориулж драйверууд хөгжүүлэх</entry> + </row> + + <row> + <entry>&a.alpha.name;</entry> + <entry>FreeBSD-г Alpha уруу хөрвүүлэх</entry> + </row> + + <row> + <entry>&a.amd64.name;</entry> + <entry>FreeBSD-г AMD64 системүүд уруу хөрвүүлэх</entry> + </row> + + <row> + <entry>&a.apache.name;</entry> + <entry><application>Apache</application>-тай холбоотой портуудын талаарх хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.arm.name;</entry> + <entry>FreeBSD-г &arm; процессорууд уруу хөрвүүлэх</entry> + </row> + + <row> + <entry>&a.atm.name;</entry> + <entry>FreeBSD дээр ATM сүлжээг ашиглах</entry> + </row> + + <row> + <entry>&a.audit.name;</entry> + <entry>Эх код аудит хийх төсөл</entry> + </row> + + <row> + <entry>&a.binup.name;</entry> + <entry>Хоёртын шинэчлэл хийх системийн дизайн болон хөгжүүлэлт</entry> + </row> + + <row> + <entry>&a.bluetooth.name;</entry> + <entry>FreeBSD дээр &bluetooth; технологийг ашиглах</entry> + </row> + + <row> + <entry>&a.cluster.name;</entry> + <entry>FreeBSD-г кластерчлагдсан орчинд ашиглах</entry> + </row> + + <row> + <entry>&a.cvsweb.name;</entry> + <entry>CVSweb арчилгаа</entry> + </row> + + <row> + <entry>&a.database.name;</entry> + <entry>FreeBSD дээрх мэдээллийн бааз болон хөгжүүлэлтийн талаар + хэлэлцэх</entry> + </row> + + <row> + <entry>&a.doc.name;</entry> + <entry>FreeBSD-тэй холбоотой баримтуудыг үүсгэх</entry> + </row> + + <row> + <entry>&a.drivers.name;</entry> + <entry>&os;-д зориулж төхөөрөмжийн драйверуудыг бичих</entry> + </row> + + <row> + <entry>&a.eclipse.name;</entry> + <entry>Eclipse IDE, хэрэгслүүд, клиентийн баялаг програмууд болон + портуудын FreeBSD хэрэглэгчид.</entry> + </row> + + <row> + <entry>&a.embedded.name;</entry> + <entry>FreeBSD-г авсаар (embedded) програмуудад ашиглах</entry> + </row> + + <row> + <entry>&a.eol.name;</entry> + <entry>FreeBSD төслөөр дэмжигдэхээ больсон FreeBSD-тэй холбоотой + програм хангамжийн дэмжлэг.</entry> + </row> + + <row> + <entry>&a.emulation.name;</entry> + <entry>Линукс/&ms-dos;/&windows; зэрэг системүүдийн эмуляц</entry> + </row> + + <row> + <entry>&a.firewire.name;</entry> + <entry>FreeBSD &firewire; (iLink, IEEE 1394) техникийн хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.fs.name;</entry> + <entry>Файлын системүүд</entry> + </row> + + <row> + <entry>&a.geom.name;</entry> + <entry>GEOM-той холбоотой хэлэлцүүлгүүд болон шийдлүүд</entry> + </row> + + <row> + <entry>&a.gnome.name;</entry> + <entry><application>GNOME</application> болон <application>GNOME</application> програмуудыг + хөрвүүлэх</entry> + </row> + + <row> + <entry>&a.hackers.name;</entry> + <entry>Техникийн ерөнхий хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.hardware.name;</entry> + <entry>FreeBSD-г тааруулахтай холбоотой тоног төхөөрөмжийн ерөнхий хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.i18n.name;</entry> + <entry>FreeBSD Интернационалчлал</entry> + </row> + + <row> + <entry>&a.ia32.name;</entry> + <entry>IA-32 (&intel; x86) тавцан дээрх FreeBSD</entry> + </row> + + <row> + <entry>&a.ia64.name;</entry> + <entry>FreeBSD-г &intel;-ийн ирж байгаа IA64 системүүд уруу хөрвүүлэх</entry> + </row> + + <row> + <entry>&a.ipfw.name;</entry> + <entry>IP галт ханын кодны шинэ дизайны талаарх техникийн хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.isdn.name;</entry> + <entry>ISDN хөгжүүлэгчид</entry> + </row> + + <row> + <entry>&a.java.name;</entry> + <entry>&java; хөгжүүлэгчид болон &jdk;-г FreeBSD уруу хөрвүүлж байгаа хүмүүс</entry> + </row> + + <row> + <entry>&a.kde.name;</entry> + <entry><application>KDE</application> болон <application>KDE</application> програмуудыг порт хийх</entry> + </row> + + <row> + <entry>&a.lfs.name;</entry> + <entry>LFS-г FreeBSD руу порт хийх</entry> + </row> + + <row> + <entry>&a.libh.name;</entry> + <entry>Хоёр дахь үеийн суулгалт болон багцын систем</entry> + </row> + + <row> + <entry>&a.mips.name;</entry> + <entry>FreeBSD-г &mips рүү порт хийх;</entry> + </row> + + <row> + <entry>&a.mobile.name;</entry> + <entry>Хөдөлгөөнт тооцооллын талаарх хэлэлцүүлгүүд</entry> + </row> + + <row> + <entry>&a.mozilla.name;</entry> + <entry><application>Mozilla</application>-г FreeBSD руу порт хийх</entry> + </row> + + <row> + <entry>&a.multimedia.name;</entry> + <entry>Мультимедиа програмууд</entry> + </row> + + <row> + <entry>&a.newbus.name;</entry> + <entry>Шугамын архитектурын талаарх техникийн хэлэлцүүлгүүд</entry> + </row> + + <row> + <entry>&a.net.name;</entry> + <entry>Сүлжээний хэлэлцүүлэг ба TCP/IP эх код</entry> + </row> + + <row> + <entry>&a.openoffice.name;</entry> + <entry><application>OpenOffice.org</application> болон + <application>&staroffice;</application>-г FreeBSD руу порт хийх</entry> + </row> + + <row> + <entry>&a.performance.name;</entry> + <entry>Өндөр хурдтай ажиллагаа/ачааллын суулгалтуудад + зориулсан ажиллагааг тааруулах асуултууд</entry> + </row> + + <row> + <entry>&a.perl.name;</entry> + <entry>Perl-тэй холбоотой портуудын арчилгаа</entry> + </row> + + <row> + <entry>&a.pf.name;</entry> + <entry>Пакет шүүгч галт ханын системийн талаарх хэлэлцүүлэг болон + асуултууд</entry> + </row> + + <row> + <entry>&a.platforms.name;</entry> + <entry>&intel; биш архитектур тавцангууд руу порт хийх талаар</entry> + </row> + + <row> + <entry>&a.ports.name;</entry> + <entry>Портын цуглуулгын талаарх хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.ports-bugs.name;</entry> + <entry>Портын алдаанууд/PR-уудын талаарх хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.ppc.name;</entry> + <entry>FreeBSD-г &powerpc; руу порт хийх</entry> + </row> + + <row> + <entry>&a.proliant.name;</entry> + <entry>HP ProLiant сервер тавцангууд дээрх FreeBSD-ийн талаарх техникийн хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.python.name;</entry> + <entry>FreeBSD-тэй холбоотой Python-ий асуудлууд</entry> + </row> + + <row> + <entry>&a.qa.name;</entry> + <entry>Чанарын баталгааны талаарх хэлэлцүүлэг, ихэвчлэн гарах гэж байгаа хувилбар</entry> + </row> + + <row> + <entry>&a.rc.name;</entry> + <entry><filename>rc.d</filename> систем болон түүний хөгжүүлэлттэй холбоотой хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.realtime.name;</entry> + <entry>FreeBSD-ийн realtime өргөтгөлүүдийн хөгжүүлэлт</entry> + </row> + + <row> + <entry>&a.scsi.name;</entry> + <entry>SCSI дэд систем</entry> + </row> + + <row> + <entry>&a.security.name;</entry> + <entry>FreeBSD-д нөлөөлөх аюулгүй байдлын асуудлууд</entry> + </row> + + <row> + <entry>&a.small.name;</entry> + <entry>Embedded буюу авсаар програмуудад FreeBSD-г ашиглах + (хуучин; үүний оронд &a.embedded.name;-г ашигла)</entry> + </row> + + <row> + <entry>&a.smp.name;</entry> + <entry>[A]Symmetric + MultiProcessing буюу нэг ба олон процессортой холбоотой дизайны + хэлэлцүүлгүүд</entry> + </row> + + <row> + <entry>&a.sparc.name;</entry> + <entry>FreeBSD-г &sparc; дээр суурилсан системүүдэд порт хийх</entry> + </row> + + <row> + <entry>&a.standards.name;</entry> + <entry>C99 болон &posix; стандартуудтай FreeBSD-ийн нийцтэй байдал</entry> + </row> + + <row> + <entry>&a.sun4v.name;</entry> + <entry>FreeBSD-г &ultrasparc; T1 дээр суурилсан системүүд уруу порт хийх</entry> + </row> + + <row> + <entry>&a.threads.name;</entry> + <entry>FreeBSD дээрх урсгалжилт</entry> + </row> + + <row> + <entry>&a.testing.name;</entry> + <entry>FreeBSD-ийн ажиллагаа болон найдвартай байдлын тестүүд</entry> + </row> + + <row> + <entry>&a.tokenring.name;</entry> + <entry>FreeBSD дээрх Token Ring-ийн дэмжлэг</entry> + </row> + + <row> + <entry>&a.usb.name;</entry> + <entry>USB-д зориулсан &os;-ийн дэмжлэгийн талаарх хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.vuxml.name;</entry> + <entry>VuXML дэд бүтцийн талаарх хэлэлцүүлэг</entry> + </row> + + <row> + <entry>&a.x11.name;</entry> + <entry>FreeBSD дээрх X11-ийн арчилгаа ба дэмжлэг</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para><emphasis>Хязгаарлагдмал жагсаалтууд:</emphasis> Дараах жагсаалтууд нь + илүү тусгайлсан (болон шаардаж байгаа) олон нийтэд зориулагдсан бөгөөд + ерөнхий нийтийн сонирхлыг татахгүй байж болох юм. Эдгээр хязгаарлагдмал жагсаалтуудын + аль нэг уруу элсэхээсээ өмнө техникийн жагсаалтуудад орох нь зүйтэй юм. Ингэснээр та + харилцааны ёс дүрмийг ойлгох болно.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Жагсаалт</entry> + <entry>Зорилго</entry> + </row> + </thead> + + <tbody> + <row> + <entry>&a.hubs.name;</entry> + <entry>Толин тусгал сайтуудыг ажиллуулж байгаа хүмүүс (дэд бүтцийн дэмжлэг)</entry> + </row> + + <row> + <entry>&a.usergroups.name;</entry> + <entry>Хэрэглэгчийн бүлгийн зохицуулалт</entry> + </row> + + <row> + <entry>&a.vendors.name;</entry> + <entry>Үйлдвэрлэгчдийн урьдчилсан хувилбарын зохицуулалт</entry> + </row> + + <row> + <entry>&a.www.name;</entry> + <entry><ulink url="&url.base;/index.html">www.FreeBSD.org</ulink>-ийн арчлагчид</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para><emphasis>Digest буюу товч мэдээллийн жагсаалтууд:</emphasis> Дээрх + бүх жагсаалтууд нь товч хэлбэрээр байдаг. Жагсаалтад бүртгүүлсний дараа + та өөрийн бүртгэлийн тохируулгуудын хэсэгт товч мэдээлэл хүлээж авах тохируулгуудыг + өөрчилж болно.</para> + + <para><emphasis>CVS жагсаалтууд:</emphasis> Дараах жагсаалтууд нь + эх модны төрөл бүрийн талбарууд дахь өөрчлөлтүүдийн талаарх бүртгэлийн + мэдэгдлүүдийг харахыг хүссэн хүмүүст зориулагдсан байдаг. Тэдгээр нь + <emphasis>Зөвхөн Уншигдах</emphasis> жагсаалтууд бөгөөд + тэдгээр рүү захидал илгээх ёсгүй юм.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Жагсаалт</entry> + <entry>Эх талбар</entry> + <entry>Талбарын тайлбар (зориулагдсан эх)</entry> + </row> + </thead> + + <tbody> + <row> + <entry>&a.cvsall.name;</entry> + <entry><filename>/usr/(CVSROOT|doc|ports|projects|src)</filename></entry> + <entry>Модон дахь бүх газар хийгдсэн бүх өөрчлөлтүүд (бусад CVS итгэмжлэн оруулалтын + жагсаалтуудын том нь)</entry> + </row> + + <row> + <entry>&a.cvs-doc.name;</entry> + <entry><filename>/usr/(doc|www)</filename></entry> + <entry>doc болон www моднуудын бүх өөрчлөлтүүд</entry> + </row> + + <row> + <entry>&a.cvs-ports.name;</entry> + <entry><filename>/usr/ports</filename></entry> + <entry>Портын цуглуулгын бүх өөрчлөлтүүд</entry> + </row> + + <row> + <entry>&a.cvs-projects.name;</entry> + <entry><filename>/usr/projects</filename></entry> + <entry>projects модны бүх өөрчлөлтүүд</entry> + </row> + + <row> + <entry>&a.cvs-src.name;</entry> + <entry><filename>/usr/src</filename></entry> + <entry>src модны бүх өөрчлөлтүүд</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2 id="eresources-subscribe"> + <title>Хэрхэн бүртгүүлэх вэ</title> + + <para>Жагсаалтанд бүртгүүлэхийн тулд дээр байгаа жагсаалтын нэрэн дээр + дарах юм уу эсвэл &a.mailman.lists.link; руу очоод сонирхож байгаа + жагсаалт дээрээ дарах хэрэгтэй. Жагсаалтын хуудас бүртгүүлэхэд хэрэгтэй + бүх заавруудыг агуулсан байх ёстой.</para> + + <para>Өгөгдсөн жагсаалт уруу илгээхийн тулд ердөө л + <email><replaceable>листийн_нэр</replaceable>@FreeBSD.org</email> + хаяг уруу захидал илгээнэ. Дараа нь захидлын жагсаалтын дэлхий даяарх + гишүүдэд тараагдах болно.</para> + + <para>Жагсаалтаас гарахын тулд жагсаалтаас хүлээн авсан цахим захидал бүрийн + доор байрлах URL дээр дарах хэрэгтэй. Өөрийгөө бүртгэлээс хасахын тулд + бас цахим захидал + <email><replaceable>листийн_нэр</replaceable>-unsubscribe@FreeBSD.org</email> + руу илгээж болно.</para> + + <para>Дахин хэлэхэд бид техникийн захидлын жагсаалтуудад техникийн талын зүйлс + хэлэлцэхийг танаас хүсэж байна. Хэрэв та зөвхөн чухал зарлалуудыг сонирхож + байгаа бол та &a.announce;-д бүртгүүлэх нь зүйтэй юм. Энэ жагсаалт + нь зөвхөн мэдээллийн сийрэг урсгалд зориулагдсан юм.</para> + </sect2> + + <sect2 id="eresources-charters"> + <title>Жагсаалтын дүрэм, журмууд</title> + + <para>FreeBSD-ийн <emphasis>бүх</emphasis> захидлын жагсаалтууд нь тодорхой нэг + үндсэн дүрмүүдтэй байдаг. Тэдгээрийг ашиглаж байгаа болгон дагаж мөрдөх ёстой. + Эдгээр заавруудыг дагахгүй байх тохиолдолд FreeBSD Postmaster <email>postmaster@FreeBSD.org</email>-с + хоёр (2) анхааруулга бичгээр ирэх бөгөөд үүний дараа гурав дахь удаагаа зөрчсөн + тохиолдолд илгээгчийг FreeBSD-ийн бүх захидлын жагсаалтаас хасаж тэдгээр рүү дахиж + илгээхийг нь шүүх болно. Бид ийм дүрмүүд, арга хэмжээнүүд байгаад харамсаж байгаа + боловч өнөөгийн Интернет нь маш танхай балмад орчин юм шиг санагддаг бөгөөд + олон хүмүүс эдгээрийн арга замууд ямар эмзэг болохыг хүндэтгэдэггүй билээ.</para> + + <para>Дагаж мөрдөх дүрэм, журмууд:</para> + + <itemizedlist> + <listitem> + <para>Аль ч илгээлтийн сэдэв нь илгээгдсэн жагсаалтынхаа үндсэн дүрэм, журмыг + дагаж мөрдөж байх ёстой, өөрөөр хэлбэл хэрэв жагсаалт техникийн + асуудлуудын талаар бол таны илгээж байгаа захидал техникийн хэлэлцүүлэг + агуулсан байх ёстой. Хамааралгүй үргэлжлэх чалчаа эсвэл уурлаж шатсан + байдал нь захидлын жагсаалтын утгыг түүн дээр байгаа бүхний хувьд алдагдуулж + тэвчихгүй байдалд хүргэнэ. Ямар ч тодорхой сэдэвгүй чөлөөт хэлбэрийн хэлэлцүүлэгт + зориулсан &a.chat; хэлэлцүүлэг чөлөөтэй байдаг бөгөөд үүнийг ашиглах + ёстой юм.</para> + </listitem> + + <listitem> + <para>2-оос илүү захидлын жагсаалтад зэрэг илгээж болохгүй бөгөөд зөвхөн 2 + хүртэлхийг хэрэв тодорхой, илт хэрэгцээ байгаа тохиолдолд хоёр жагсаалт уруу + илгээхийг зөвшөөрдөг. Ихэнх жагсаалтуудын хувьд аль хэдийн маш их + хэмжээний бүртгэгдсэн хүмүүс давхацдаг бөгөөд ихэнх тусгай зориулагдсан + холилдлуудыг (<quote>-stable & -scsi</quote> гэх мэт) + тооцохгүй юм бол нэгэн зэрэг нэг жагсаалтаас олон жагсаалт уруу илгээх + шалтгаан жинхэнэдээ байхгүй юм. Хэрэв мэдээ ийм замаар + <literal>Cc</literal> мөрөн дээр олон захидлын жагсаалттайгаар + тань руу илгээгдсэн бол дахин илгээхээсээ өмнө <literal>Cc</literal> + мөрийг бас авч хаях ёстой юм. <emphasis> + Анхлан эхлэгч нь хэн байгаагаас үл хамааран та олон жагсаалт уруу илгээх өөрийн + илгээлтүүдийнхээ төлөө хариуцлага бас хүлээх ёстой юм.</emphasis></para> + </listitem> + + <listitem> + <para>Хувь хүн рүү чиглэсэн халдлагууд болон гутаан доромжлол нь (маргаан) + зөвшөөрөгддөггүй бөгөөд энэ нь хэрэглэгчид болон хөгжүүлэгчдийг + адилхан хамардаг. + Зөвшөөрөөгүй байхад эсвэл зөвшөөрөл өгөгдөхөөргүй байхад хувийн захиаг нээх + эсвэл дахин илгээх зэрэг сүлжээн дэх харилцааны бүдүүлэг үйлдлүүд + сайшаагддаггүй боловч хүчээр таслан зогсоогддоггүй. + <emphasis>Гэхдээ</emphasis> жагсаалтын дүрэм, журмын хүрээнд + ийм агуулга таарах зарим цөөн тохиолдол бас байдаг бөгөөд + ийм тохиолдолд анхааруулга явуулах (эсвэл хөөх) арга хэмжээнүүдийг + тухай бүрт нь авч болох юм.</para> + </listitem> + + <listitem> + <para>FreeBSD-тэй холбоогүй бүтээгдэхүүнүүд эсвэл үйлчилгээнүүдийг сурталчлахыг + хатуугаар хориглодог бөгөөд хэрэв зөрчигч спамаар сурталчилж байгаа нь илт байвал + түүнийг нэн даруй хөөхөд хүргэнэ.</para> + </listitem> + </itemizedlist> + + <para><emphasis>Жагсаалт бүрийн дүрэм, журмууд:</emphasis></para> + + <variablelist> + + <varlistentry> + <term>&a.acpi.name;</term> + + <listitem> + <para><emphasis>ACPI болон тэжээлийн удирдлагын хөгжүүлэлт</emphasis></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.afs.name;</term> + + <listitem> + <para><emphasis>Andrew File System</emphasis> буюу Эндрю файлын систем</para> + + <para>Энэ жагсаалт нь AFS-г CMU/Transarc-аас порт хийж ашиглах талаарх + хэлэлцүүлэгт зориулагдсан</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.announce.name;</term> + + <listitem> + <para><emphasis>Чухал үйл явдлууд / түүхийн гол үеүүд</emphasis></para> + + <para>Энэ нь FreeBSD-ийн чухал үйл явдлуудын талаарх тохиолдлын зарлалуудыг + сонирхсон хүмүүст зориулагдсан захидлын жагсаалт юм. Үүнд хормын + хувилбарууд болон бусад хувилбаруудын талаарх зарлалууд багтдаг. + Энэ нь бас FreeBSD-ийн шинэ боломжуудын зарлалуудыг агуулдаг. + Сайн дурынхныг уриалах гэх мэтийг бас агуулж болох юм. Энэ нь + бага ачаалалтай, чанд хянагдсан захидлын жагсаалт юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.arch.name;</term> + + <listitem> + <para><emphasis>Архитектур болон дизайны хэлэлцүүлгүүд</emphasis></para> + + <para>Энэ жагсаалт нь FreeBSD-ийн архитектурын хэлэлцүүлэгт зориулагдсан. + Захианууд нь ихэвчлэн маш техникийн шинж чанартай байх болно. + Тохиромжтой сэдвүүдийн жишээг дурдвал:</para> + + <itemizedlist> + <listitem> + <para>Нэгэн зэрэг хэд хэдэн өөрчлөн тохируулсан бүтээлтүүдийг + ажиллуулахын тулд бүтээх системийг хэрхэн засаж сэлбэх талаар.</para> + </listitem> + + <listitem> + <para>Heidemann буюу Хайдеман давхаргуудыг ажиллуулахын тулд + VFS-д юуг засварлах ёстой талаар.</para> + </listitem> + + <listitem> + <para>Ижил драйверуудыг олон шугамууд болон архитектурууд дээр цэвэрхэн ашиглаж + чаддаг байхын тулд төхөөрөмжийн драйверийн интерфэйсийг хэрхэн өөрчлөх талаар.</para> + </listitem> + + <listitem> + <para>Сүлжээний драйверийг хэрхэн бичих талаар.</para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.audit.name;</term> + + <listitem> + <para><emphasis>Эх кодын аудитийн төсөл</emphasis></para> + + <para>Энэ нь FreeBSD-ийн эх кодын аудит төсөлд зориулсан захидлын + жагсаалт юм. Хэдийгээр энэ нь анхандаа аюулгүй байдалтай холбоотой + өөрчлөлтүүдэд зориулагдсан боловч үүний дүрэм, журам кодын өөрчлөлтүүдийг + хянахаар өргөжсөн юм.</para> + + <para>Энэ жагсаалт нь засваруудаар маш их дарагдсан байдаг болохоор + FreeBSD-ийн дундаж хэрэглэгчид сонирхолгүй байх магадлалтай. Ямар нэг + кодын өөрчлөлттэй холбоогүй аюулгүй байдлын хэлэлцүүлгүүд freebsd-security + жагсаалтад явагддаг. Бүх хөгжүүлэгчдээс өөрсдийн засваруудыг + хянуулахаар илгээхийг дэмждэг. Ийм тохиолдол ялангуяа алдаа нь системийн + бүрэн бүтэн байдалд сөргөөр нөлөөлсөн тэр системийн хэсгийг тэдгээр + засварууд нь хөндөж байх үе юм.</para> + +<!-- I can't actually find a charter for this, but there's this email: http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=223347+225804+/usr/local/www/db/text/2000/cvs-all/20001210.cvs-all --> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.binup.name;</term> + + <listitem> + <para><emphasis>FreeBSD-ийн Хоёртын шинэчлэлийн төсөл</emphasis></para> + + <para>Энэ жагсаалт нь хоёртын шинэчлэлийн төсөл буюу <application>binup</application>-д + зориулсан хэлэлцүүлгийн боломжийг хангахаар байдаг. Дизайны асуудлууд, + шийдлийн талаарх дэлгэрэнгүй зүйлс, засварууд, алдааны тайлангууд, + төлөвийн тайлангууд, боломжийн хүсэлтүүд, итгэмжлэн оруулсан зүйлсийн + бүртгэлүүд болон <application>binup</application>-тай холбоотой + бусад бүх зүйлс энэ жагсаалтаар хэлэлцэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.bluetooth.name;</term> + + <listitem> + <para><emphasis>FreeBSD дээрх &bluetooth;</emphasis></para> + + <para>Энэ нь FreeBSD-ийн &bluetooth; хэрэглэгчид + цугладаг хэлэлцүүлэг юм. Дизайны асуудлууд, + шийдлийн талаарх дэлгэрэнгүй зүйлс, засварууд, алдааны тайлангууд, + төлөвийн тайлангууд, боломжийн хүсэлтүүд, итгэмжлэн оруулсан зүйлсийн + бүртгэлүүд болон &bluetooth;-тай холбоотой + бусад бүх зүйлс энэ жагсаалтаар хэлэлцэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.bugbusters.name;</term> + + <listitem> + <para><emphasis>Асуудал Тайлагналттай (Problem Report) ажиллах + хүчин чармайлтын зохицуулалт</emphasis></para> + + <para>Энэ жагсаалтын зорилго нь Алдааны маэстро (Bugmeister), түүний Цох + нядлагчид (Bugbusters) болон PR мэдээллийн баазад үнэн сэтгэлээсээ + сонирхолтой бусад талуудад зориулсан зохицуулалт болон хэлэлцүүлэг болон үйлчлэх + явдал юм. Энэ жагсаалт нь тусгайлсан алдаанууд, засварууд юм уу эсвэл + PR-уудын талаарх хэлэлцүүлгүүдэд зориулагдаагүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.bugs.name;</term> + + <listitem> + <para><emphasis>Алдааны тайлангууд</emphasis></para> + + <para>Энэ нь FreeBSD дээрх алдаануудыг тайлагнахад зориулагдсан + захидлын жагсаалт юм. Алдаануудыг аль болох &man.send-pr.1; + тушаалыг ашиглах юм уу эсвэл түүний <ulink + url="&url.base;/send-pr.html">ВЭБ + интерфэйс</ulink>ийг ашиглан илгээх ёстой.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.chat.name;</term> + + <listitem> + <para><emphasis>FreeBSD-ийн хүрээнийхэнд хамаагүй техникийн бус зүйлс</emphasis></para> + + <para>Энэ жагсаалт нь бусад жагсаалтаас хальсан техникийн бус, нийгмийн мэдээллийг + агуулдаг. Жордан хүүхэлдэйн киноны өмхий хүрэнтэй адил уу эсвэл үгүй юу, + томоор бичих үү эсвэл үгүй юу, хэн хэтэрхий их кофе ууж байна, хамгийн шилдэг + пиво хаана исгэж байна, хэн подвалдаа пиво исгэж байна гэх мэт хэлэлцүүлгүүд + үүнд багтдаг. Чухал үйл явдлуудын (болох үдэшлэгүүд, хуримнууд, төрсөн өдрүүд, + шинэ ажлууд гэх мэт) тохиолдлын зарлал техникийн жагсаалтууд уруу + хийгдэж болох боловч дараа дараагийн захианууд энэ -chat жагсаалт уруу + заагдах ёстой байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.core.name;</term> + + <listitem> + <para><emphasis>FreeBSD гол баг</emphasis></para> + + <para>Энэ нь гол гишүүдийн ашиглахад зориулсан дотоод захидлын жагсаалт юм. + FreeBSD-тэй холбоотой чухал зүйлийг шүүх эсвэл өндөр түвшний нарийвчилсан + нягтлал хийх шаардлагатай үед захидлууд энэ жагсаалт уруу илгээгдэж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.current.name;</term> + + <listitem> + <para><emphasis>&os.current;-г ашиглах талаарх хэлэлцүүлэг</emphasis></para> + + <para>Энэ нь &os.current;-ийн хэрэглэгчдэд зориулсан захидлын жагсаалт + юм. Хэрэглэгчдэд нөлөөлөх -CURRENT-с гарсан шинэ боломжуудын талаарх + анхааруулгууд болон -CURRENT байхын тулд хийх алхмуудын заавруудыг энэ + жагсаалт агуулдаг. <quote>CURRENT</quote>-г ашиглаж байгаа хэн бүхэн + энэ жагсаалтад бүртгүүлэх ёстой. Энэ нь техникийн чанартай агуулгыг хатуу чанд хүлээж + байдаг техникийн захидлын жагсаалт юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.cvsweb.name;</term> + + <listitem> + <para><emphasis>FreeBSD CVSweb төсөл</emphasis></para> + + <para>FreeBSD-CVSweb-ийн хэрэглээ, хөгжүүлэлт болон арчилгааны талаарх + техникийн хэлэлцүүлгүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.doc.name;</term> + + <listitem> + <para><emphasis>Баримтжуулах төсөл</emphasis></para> + + <para>Энэ захидлын жагсаалт нь FreeBSD-д зориулсан баримтжуулалтыг + үүсгэхтэй холбоотой төслүүд болон асуудлуудын хэлэлцүүлэгт зориулсан + билээ. Энэ захидлын жагсаалтын гишүүдийг бүхэлд нь + <quote>FreeBSD баримтжуулах төсөл</quote> гэдэг. Энэ нь нээлттэй + жагсаалт юм; чөлөөтэй нэгдэж хувь нэмрээ оруулаарай!</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.drivers.name;</term> + + <listitem> + <para><emphasis>&os;-д зориулж төхөөрөмжийн драйверууд бичих</emphasis></para> + + <para>Энэ нь &os; дээрх төхөөрөмжийн драйверуудтай холбоотой техникийн хэлэлцүүлгүүдэд + зориулсан форум юм. &os; цөм дэх API-уудыг ашиглан төхөөрөмжийн драйверуудыг + хэрхэн бичих талаар төхөөрөмжийн драйвер бичигчдийн асуух тэр талбар юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.eclipse.name;</term> + + <listitem> + <para><emphasis>Eclipse IDE, хэрэгслүүд, клиентийн баялаг програмууд болон + портуудын &os; хэрэглэгчид.</emphasis></para> + + <para>Энэ жагсаалтын зорилго нь &os; тавцан дээр Eclipse IDE, хэрэгслүүд, + клиентийн баялаг програмуудыг сонгох, суулгах, ашиглах, хөгжүүлэх болон + арчлах, Eclipse IDE болон залгаасуудыг &os; орчин уруу порт хийхэд туслахтай + холбоотой бүх зүйлсэд зориулж хамтын дэмжлэгийг хангах явдал юм.</para> + + <para>Eclipse хүрээнийхэн болон &os; хүрээнийхэнд хоюуланд нь ашигтай байхаар + тэдгээрийн хооронд мэдээлэл солилцохыг хөнгөвчлөх бас зорилготой юм.</para> + + <para>Энэ жагсаалт нь Eclipse хэрэглэгчдийн хэрэглээн дээр үндсэндээ + анхаарал тавьдаг боловч бас Eclipse тогтолцоог ашиглан &os; програмуудыг + хөгжүүлэхийг хүссэн хүмүүст зориулсан форум болдог. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.embedded.name;</term> + + <listitem> + <para><emphasis>FreeBSD-г суулгагдсан авсаар програмуудад ашиглах</emphasis></para> + + <para>Энэ жагсаалт нь FreeBSD-г суулгагдсан програмуудад ашиглахтай + холбоотой сэдвүүдийг хэлэлцдэг. Энэ нь зөвхөн техникийн агуулга хүлээж + байдаг техникийн захидлын жагсаалт юм. Энэ жагсаалтын зорилгын хувьд + бид суулгагдсан системүүдийг тодорхойлдог бөгөөд эдгээр системүүд нь + ширээний системүүд биш бөгөөд тооцоолох өрөнхий орчнуудад зориулагдаагүй + тодорхой нэг зорилгоор ашиглагддаг тооцоолох төхөөрөмжүүд юм. + Жишээнүүдэд бүх төрлийн утасны харилцуурууд, чиглүүлэгчүүд, шилжүүлэгчүүд + болон PBX-үүд, алсын хэмжих төхөөрөмж, PDA-ууд, Point of Sale буюу + POS системүүд гэх зэрэг орох бөгөөд зөвхөн энд дурдагдсанаар + хязгаарлагдахгүй юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.emulation.name;</term> + + <listitem> + <para><emphasis>Линукс/&ms-dos;/&windows; зэрэг бусад системүүдийн + эмуляц</emphasis></para> + + <para>Бусад үйлдлийн системүүдэд зориулж бичигдсэн програмуудыг &os; + дээр ажиллуулахтай холбоотой техникийн хэлэлцүүлгүүдэд зориулсан форум юм. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.eol.name;</term> + + <listitem> + <para><emphasis>FreeBSD төслийн дэмжихээ болисон FreeBSD-тэй холбоотой + програм хангамжуудын тэгш дэмжлэг.</emphasis></para> + + <para>Энэ жагсаалт нь FreeBSD төслийн албан ёсны (өөрөөр хэлбэл + аюулгүй байдлын зөвлөгөөнүүд болон засваруудын хэлбэрээр) дэмжлэг үзүүлэхээ + болисон FreeBSD-тэй холбоотой програм хангамжийн дэмжлэг үзүүлэх + эсвэл ашиглахыг хүссэн хүмүүст зориулагдсан юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.firewire.name;</term> + + <listitem> + <para><emphasis>&firewire; (iLink, IEEE 1394)</emphasis></para> + + <para>Энэ нь FreeBSD дээр &firewire; (IEEE 1394, бас + iLink гэгддэг) дэд системийн дизайн болон шийдлийн хэлэлцүүлэгт + зориулсан захидлын жагсаалт юм. Хамааралтай сэдвүүдэд + ялангуяа стандартууд, шугамын төхөөрөмжүүд болон тэдгээрийн протоколууд, + адаптер хавтангууд/картууд/бичил схемүүд, тэдгээрийг зөв дэмжих + кодын архитектур болон шийдэл ордог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.fs.name;</term> + + <listitem> + <para><emphasis>Файлын системүүд</emphasis></para> + + <para>FreeBSD файлын системтэй холбоотой хэлэлцүүлгүүд. Энэ жагсаалт нь + техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.geom.name;</term> + + <listitem> + <para><emphasis>GEOM</emphasis></para> + + <para>GEOM болон түүнтэй холбоотой шийдлүүдтэй холбоотой хэлэлцүүлгүүд. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.gnome.name;</term> + + <listitem> + <para><emphasis>GNOME</emphasis></para> + + <para>FreeBSD системүүдэд зориулсан <application>GNOME</application> Ширээний + орчны талаарх хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.ipfw.name;</term> + + <listitem> + <para><emphasis>IP Firewall буюу галт хана</emphasis></para> + + <para>Энэ нь FreeBSD дээрх IP галт ханын кодыг дахин дизайн хийхтэй + холбоотой техникийн хэлэлцүүлгүүдэд зориулсан форум юм. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.ia64.name;</term> + + <listitem> + <para><emphasis>FreeBSD-г IA64 руу порт хийх</emphasis></para> + + <para>Энэ нь FreeBSD-г &intel;-ийн IA-64 тавцан руу порт хийхээр + идэвхтэйгээр ажиллаж байгаа хувь хүмүүст зориулсан, асуудлууд гаргаж + тавих юм уу эсвэл өөр шийдлүүдийн талаар хэлэлцэх техникийн захидлын + жагсаалт юм. Техникийн хэлэлцүүлгийг дагах сонирхолтой хувь хүмүүс + бас нэгдэж болох юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.isdn.name;</term> + + <listitem> + <para><emphasis>ISDN холбоонууд</emphasis></para> + + <para>Энэ нь FreeBSD-д зориулсан ISDN-ий дэмжлэгийн хөгжүүлэлтийг + хэлэлцэхэд зориулсан захидлын жагсаалт юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.java.name;</term> + + <listitem> + <para><emphasis>&java; хөгжүүлэлт</emphasis></para> + + <para>Энэ нь FreeBSD дээр чухал &java; програмуудыг хөгжүүлэх болон + &jdk;-г порт хийх болон арчлах талаар хэлэлцэхэд зориулсан + захидлын жагсаалт юм.</para> + </listitem> + </varlistentry> + + <varlistentry id="eresources-charters-jobs"> + <term>&a.jobs.name;</term> + + <listitem> + <para><emphasis>Санал болгож байгаа болон хайж байгаа ажлууд</emphasis></para> + + <para>Энэ нь &os;-тэй ялангуяа холбоотой ажлын мэдэгдлүүд болон + CV/resume-үүдийг илгээх зориулалттай форум юм. Өөрөөр хэлбэл хэрэв + та &os;-тэй холбоотой ажил хайж байгаа эсвэл танд &os; оролцсон + зарлах ажил байгаа бол энэ нь зөв газар юм. Энэ нь ерөнхий ажилтай + холбоотой асуудлуудад зориулсан захидлын жагсаалт <emphasis>биш</emphasis> + юм. Учир нь түүнд зориулсан тохирсон форумууд хаа нэгтээ + аль хэдийн байдаг.</para> + + <para>Энэ жагсаалт нь бусад <hostid role="domainname">FreeBSD.org</hostid> + захидлын жагсаалтуудын адил дэлхий даяар тардаг. Тиймээс та + байрлал болон аялах эсвэл шинэ газар нүүхтэй холбоотой + туслалцаа байгаа эсэх тэр хир хэмжээг ойлгосон байх хэрэгтэй.</para> + + <para>Цахим захидлууд нь нээлттэй хэлбэршилтүүдийг ашиглах ёстой — + цэвэр текстийг аль болох эрхэмлэсэн байх ёстой боловч Portable Document + Format (<acronym>PDF</acronym>), HTML, болон бусад цөөн хэдэн + хэлбэршилт ихэнх уншигчдын хувьд хүлээж авах боломжтой байдаг. + µsoft; Word (<filename>.doc</filename>) зэрэг + хаалттай хэлбэршилтүүдээс захидлын жагсаалтын сервер татгалзах болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.kde.name;</term> + + <listitem> + <para><emphasis>KDE</emphasis></para> + + <para>FreeBSD системүүд дээрх <application>KDE</application>-тэй + холбоотой хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.hackers.name;</term> + + <listitem> + <para><emphasis>Техникийн хэлэлцүүлгүүд</emphasis></para> + + <para>Энэ нь жагсаалт нь FreeBSD-тэй холбоотой техникийн хэлэлцүүлгүүдэд + зориулагдсан. Энэ нь техникийн анхдагч захидлын жагсаалт юм. + Энэ нь FreeBSD дээр идэвхтэйгээр ажиллаж байгаа хувь хүмүүсд + асуудлууд гаргаж тавих эсвэл өөр шийдлүүдийг хэлэлцэхэд нь зориулагджээ. + Техникийн хэлэлцүүлгийг дагах сонирхолтой хувь хүмүүс нэгдэхэд + дуртайяа байх болно. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.hardware.name;</term> + + <listitem> + <para><emphasis>FreeBSD тоног төхөөрөмжийн ерөнхий хэлэлцүүлэг</emphasis></para> + + <para>FreeBSD-ийн ажиллаж байгаа тоног төхөөрөмжийн төрлүүд, төрөл бүрийн асуудлууд болон + юу худалдаж авах эсвэл авахгүй байхтай холбоотой саналуудын талаарх ерөнхий + хэлэлцүүлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.hubs.name;</term> + + <listitem> + <para><emphasis>Толин тусгал сайтууд</emphasis></para> + + <para>FreeBSD толин тусгал сайтуудыг ажиллуулж байгаа хүмүүсд + зориулсан зарлалууд ба хэлэлцүүлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.isp.name;</term> + + <listitem> + <para><emphasis>Интернетийн үйлчилгээ үзүүлэгчдэд зориулсан + асуудлууд</emphasis></para> + + <para>Энэ захидлын жагсаалт нь FreeBSD ашиглаж байгаа Интернетийн үйлчилгээ + үзүүлэгчидтэй (ISP-ууд) холбоотой сэдвүүдийг хэлэлцэхэд зориулагдсан. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.openoffice.name;</term> + + <listitem> + <para><emphasis>OpenOffice.org</emphasis></para> + + <para><application>OpenOffice.org</application> болон + <application>&staroffice;</application>-ийн арчилгаа болон + тэдгээрийг порт хийтэй холбоотой хэлэлцүүлгүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.performance.name;</term> + + <listitem> + <para><emphasis>FreeBSD-г тааруулах эсвэл хурдлуулах талаарх хэлэлцүүлгүүд</emphasis></para> + + <para>Энэ захидлын жагсаалт нь хакерууд, администраторууд ба/эсвэл + оролцож байгаа талууд FreeBSD-тэй хамаатай ажиллагаатай холбоотой + сэдвүүдийг хэлэлцэхэд зориулсан талбар юм. Хүлээж авах боломжтой + сэдвүүдэд их ачаалалтай, ажиллагааны асуудлуудтай учирч байгаа + эсвэл FreeBSD-ийн хязгааруудад тулж байгаа FreeBSD суулгацуудын + талаарх хэлэлцүүлэг ордог. FreeBSD-ийн ажиллагааг сайжруулах талаар + ажиллах сонирхолтой талуудыг энэ жагсаалтад бүртгүүлэхэд туйлаас + дэмждэг. Энэ нь FreeBSD-г хурдан, хүчирхэг, өргөжих боломжтой + болгох сонирхолтой, туршлагатай FreeBSD хэрэглэгчид, хакерууд эсвэл + администраторуудад туйлын таарсан техникийн жагсаалт юм. + Энэ нь баримтыг уншсанаар орлуулж болох асуулт хариултын жагсаалт + биш боловч хувь нэмэр оруулах юм уу эсвэл хариулагдаагүй бөгөөд ажиллагаатай + холбоотой сэдвүүдийн талаар лавлаж болох талбар юм.</para> + + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.pf.name;</term> + + <listitem> + <para><emphasis>Пакет шүүгч галт ханын системийн талаарх хэлэлцүүлэг ба + асуултууд</emphasis></para> + + <para>Пакет шүүгч (pf) галт ханын системийн талаарх FreeBSD-тэй холбоотой + хэлэлцүүлэг. Техникийн хэлэлцүүлэг болон хэрэглэгчийн асуултууд + аль алийг хэлэлцэх боломжтой. Энэ жагсаалт нь ALTQ QoS тогтолцоог + хэлэлцэх бас талбар юм.</para> + + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.platforms.name;</term> + + <listitem> + <para><emphasis>&intel; биш тавцангууд руу порт хийх</emphasis></para> + + <para>Тавцан хоорондох FreeBSD-ийн асуудлууд, ерөнхий хэлэлцүүлэг ба + &intel; биш FreeBSD портуудад зориулагдсан төслүүд. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.policy.name;</term> + + <listitem> + <para><emphasis>Гол багийн бодлогын шийдвэрүүд</emphasis></para> + + <para>Энэ нь FreeBSD-ийн гол багийн бодлогын шийдвэрүүдэд зориулагдсан + бага ачаалалтай, зөвхөн уншигдах захидлын жагсаалт юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.ports.name;</term> + + <listitem> + <para><emphasis><quote>Портуудын</quote> хэлэлцүүлэг</emphasis></para> + + <para>FreeBSD-ийн <quote>портын цуглуулга</quote> (<filename>/usr/ports</filename>), + портын дэд бүтэц болон портын ерөнхий зохицуулалтын чармайлтуудын талаарх + хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.ports-bugs.name;</term> + + <listitem> + <para><emphasis><quote>Портуудын</quote> алдаануудын хэлэлцүүлэг</emphasis></para> + + <para>FreeBSD-ийн <quote>портын цуглуулга</quote>д (<filename>/usr/ports</filename>) + зориулсан асуудлын тайлангууд, санал болгогдож байгаа портууд эсвэл портуудад хийгдэх + өөрчлөлтүүдтэй холбоотой хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.proliant.name;</term> + + <listitem> + <para><emphasis>HP Proliant сервер тавцангууд дээрх FreeBSD-ийн техникийн + хэлэлцүүлэг</emphasis></para> + + <para>Энэ захидлын жагсаалт нь Proliant-тай холбоотой драйверууд, + удирдлагын програм хангамж, тохиргооны хэрэгслүүд ба BIOS-ийн + шинэчлэлтүүдийн хэлэлцүүлэг зэрэг HP Proliant серверүүд дээрх + FreeBSD-ийн хэрэглээний техникийн хэлэлцүүлэгт зориулагдсан + талбар юм. Тиймээс энэ нь hpasmd, hpasmcli, болон hpacucli + модулиудын талаар хэлэлцэх үндсэн газар юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.python.name;</term> + + <listitem> + <para><emphasis>FreeBSD дээрх Python</emphasis></para> + + <para>Энэ нь FreeBSD дээр Python дэмжлэгийг сайжруулахтай холбоотой + хэлэлцүүлгүүдэд зориулсан жагсаалт юм. Энэ нь техникийн захидлын + жагсаалт юм. Энэ нь Python, түүний гуравдагч талуудын + модулиуд болон <application>Zope</application>-ийн юмсыг + FreeBSD руу порт хийхээр ажиллаж байгаа хувь хүмүүст зориулагдсан + юм. Техникийн хэлэлцүүлгийг дагах сонирхолтой хувь хүмүүс нэгдэхэд + бас дуртайяа байх болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.questions.name;</term> + + <listitem> + <para><emphasis>Хэрэглэгчийн асуултууд</emphasis></para> + + <para>Энэ нь FreeBSD-ийн талаарх асуултуудад зориулагдсан захидлын + жагсаалт юм. Та асуултаа нэлээн техникийн гэж үзэж байгаагаас + бусад тохиолдолд <quote>how to</quote> буюу <quote>хэрхэн яаж</quote> + гэсэн асуултуудыг техникийн жагсаалтууд руу илгээх ёсгүй юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.scsi.name;</term> + + <listitem> + <para><emphasis>SCSI дэд систем</emphasis></para> + + <para>Энэ нь FreeBSD-д зориулагдсан SCSI дэд систем дээр + ажиллаж байгаа хүмүүст зориулсан захидлын жагсаалт юм. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.security.name;</term> + + <listitem> + <para><emphasis>Аюулгүй байдлын асуудлууд</emphasis></para> + + <para>FreeBSD компьютерийн аюулгүй байдлын асуудлууд (DES, Kerberos, + мэдэгдэж байгаа аюулгүй байдлын цоорхойнууд болон засварууд гэх мэт). + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг. Энэ нь асуулт, хариултын жагсаалт биш гэдгийг санах + хэрэгтэй, гэхдээ FAQ-д хувь нэмэр оруулахыг (асуулт, хариултын аль нь ч + байсан гэсэн) дэмждэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.security-notifications.name;</term> + + <listitem> + <para><emphasis>Аюулгүй байдлын мэдэгдлүүд</emphasis></para> + + <para>FreeBSD-ийн аюулгүй байдлын асуудлууд ба засваруудын мэдэгдлүүд. + Энэ нь хэлэлцүүлгийн жагсаалт биш юм. Хэлэлцүүлгийн жагсаалт нь + FreeBSD-security юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.small.name;</term> + + <listitem> + <para><emphasis>FreeBSD-г суулгагдсан програмууд дээр ашиглах</emphasis></para> + + <para>Энэ жагсаалт нь ердийн биш жижиг ба суулгагдсан авсаар FreeBSD + суулгацуудтай холбоотой сэдвүүдийг хэлэлцдэг. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + + <note> + <para>Энэ жагсаалт нь &a.embedded.name;-р хуучирч ашиглагдахаа болисон.</para> + </note> + + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.stable.name;</term> + + <listitem> + <para><emphasis>&os.stable;-ийн хэрэглээний талаарх хэлэлцүүлэг</emphasis></para> + + <para>Энэ нь &os.stable;-ийн хэрэглэгчдэд зориулсан захидлын жагсаалт + юм. Хэрэглэгчдэд нөлөөлөх -STABLE-с гарсан шинэ боломжуудын талаарх + анхааруулгууд болон -STABLE байхын тулд хийх алхмуудын заавруудыг энэ + жагсаалт агуулдаг. <quote>STABLE</quote>-г ашиглаж байгаа хэн бүхэн + энэ жагсаалтад бүртгүүлэх хэрэгтэй. + Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг + хүлээж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.standards.name;</term> + + <listitem> + <para><emphasis>C99 & POSIX нийцтэй байдал</emphasis></para> + + <para>Энэ нь C99 болон POSIX стандартуудтай FreeBSD хэрхэн нийцэж байгаатай + холбоотой техникийн хэлэлцүүлгүүдэд зориулагдсан форум юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.usb.name;</term> + + <listitem> + <para><emphasis>USB-д зориулсан &os;-ийн дэмжлэгийг хэлэлцэх</emphasis></para> + + <para>Энэ нь USB-д зориулсан &os;-ийн дэмжлэгтэй холбоотой техникийн + хэлэлцүүлгүүдэд зориулсан захидлын жагсаалт юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.usergroups.name;</term> + + <listitem> + <para><emphasis>Хэрэглэгчийн бүлгийн зохицуулалтын жагсаалт</emphasis></para> + + <para>Энэ нь бүс нутгийн Хэрэглэгчдийн бүлэг бүрийн зохицуулагчид нэг нэгэнтэйгээ болон + гол багийн хариуцсан хүнтэй юмс хэлэлцэхэд зориулагдсан захидлын жагсаалт юм. + Энэ захидлын жагсаалт нь ерөнхий агуулгууд болон хэрэглэгчийн бүлгүүдэд + тархсан төслүүдийн зохицуулалтад тааран хязгаарлагдсан байх ёстой.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&a.vendors.name;</term> + + <listitem> + <para><emphasis>Үйлдвэрлэгчид</emphasis></para> + + <para>FreeBSD төсөл болон FreeBSD-д зориулсан програм хангамж ба + тоног төхөөрөмжийн үйлдвэрлэгчдийн хоорондох хэлэлцүүлгүүдийн + зохицуулалт.</para> + </listitem> + </varlistentry> + + </variablelist> + </sect2> + <sect2 id="eresources-mailfiltering"> + <title>Захидлын жагсаалтууд дээрх шүүлт</title> + + <para>&os;-ийн захидлын жагсаалтууд нь спам, вирус, болон бусад хүсээгүй + цахим захидлуудаас сэргийлэхийн тулд олон аргаар шүүгддэг. + Энэ хэсэгт тайлбарласан шүүлт хийх үйлдлүүд нь захидлын жагсаалтуудыг + хамгаалахад хэрэглэгддэг бүх зүйлсийг хамрахгүй.</para> + + <para>Захидлын жагсаалтад зөвхөн тодорхой төрлийн хавсралтууд зөвшөөрөгддөг. + Доорх жагсаалтад дурдагдаагүй MIME агуулгын төрөл бүхий бүх хавсралтууд + захидлын жагсаалтад цахим захидал түгээгдэхээс өмнө авагддаг.</para> + + <itemizedlist> + <listitem> + <para>application/octet-stream</para> + </listitem> + + <listitem> + <para>application/pdf</para> + </listitem> + + <listitem> + <para>application/pgp-signature</para> + </listitem> + + <listitem> + <para>application/x-pkcs7-signature</para> + </listitem> + + <listitem> + <para>message/rfc822</para> + </listitem> + + <listitem> + <para>multipart/alternative</para> + </listitem> + + <listitem> + <para>multipart/related</para> + </listitem> + + <listitem> + <para>multipart/signed</para> + </listitem> + + <listitem> + <para>text/html</para> + </listitem> + + <listitem> + <para>text/plain</para> + </listitem> + + <listitem> + <para>text/x-diff</para> + </listitem> + + <listitem> + <para>text/x-patch</para> + </listitem> + </itemizedlist> + + <note> + <para>Зарим захидлын жагсаалтууд бусад MIME агуулгын төрлийн + хавсралтуудыг зөвшөөрч болох боловч дээрх жагсаалт нь захидлын + жагсаалтуудын ихэнх хэсэгт хамаарах болно.</para> + </note> + + <para>Хэрэв цахим захидал HTML болон цэвэр текст хувилбарыг хоюуланг + агуулж байвал HTML хувилбарыг устгах болно. Хэрэв цахим захидал зөвхөн + HTML хувилбарыг агуулж байвал энэ нь цэвэр текст рүү хөрвүүлэгдэх болно.</para> + </sect2> + </sect1> + + <sect1 id="eresources-news"> + <title>Usenet Newsgroups буюу мэдээний бүлгүүд</title> + + <para>FreeBSD-ийн хоёр тусгай мэдээний бүлгээс гадна FreeBSD-н талаар хэлэлцдэг юм уу + эсвэл FreeBSD хэрэглэгчидтэй холбоотой бусад олон бүлгүүд байдаг. + Эдгээр мэдээний бүлгүүдэд зориулагдсан <ulink + url="http://minnie.tuhs.org/BSD-info/bsdnews_search.html">Түлхүүр үгээр + хайгдах боломжтой архивууд</ulink>ыг Warren Toomey <email>wkt@cs.adfa.edu.au</email> + санал болгодог.</para> + + <sect2> + <title>BSD-тэй холбоотой мэдээний бүлгүүд</title> + + <itemizedlist> + <listitem> + <para><ulink + url="news:comp.unix.bsd.freebsd.announce">comp.unix.bsd.freebsd.announce</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:de.comp.os.unix.bsd">de.comp.os.unix.bsd</ulink> (German)</para> + </listitem> + + <listitem> + <para><ulink + url="news:fr.comp.os.bsd">fr.comp.os.bsd</ulink> (French)</para> + </listitem> + + <listitem> + <para><ulink + url="news:it.comp.os.freebsd">it.comp.os.freebsd</ulink> (Italian)</para> + </listitem> + + <listitem> + <para><ulink + url="news:tw.bbs.comp.386bsd">tw.bbs.comp.386bsd</ulink> (Traditional Chinese)</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Бусад сонирхол татахуйц &unix;-ийн мэдээний бүлгүүд</title> + + <itemizedlist> + <listitem> + <para><ulink url="news:comp.unix">comp.unix</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.questions">comp.unix.questions</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.admin">comp.unix.admin</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.programmer">comp.unix.programmer</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.shell">comp.unix.shell</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.user-friendly">comp.unix.user-friendly</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.security.unix">comp.security.unix</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.sources.unix">comp.sources.unix</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.advocacy">comp.unix.advocacy</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.misc">comp.unix.misc</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.bugs.4bsd">comp.bugs.4bsd</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.bugs.4bsd.ucb-fixes">comp.bugs.4bsd.ucb-fixes</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.unix.bsd">comp.unix.bsd</ulink></para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>X Цонхот Систем</title> + + <itemizedlist> + <listitem> + <para><ulink + url="news:comp.windows.x.i386unix">comp.windows.x.i386unix</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.windows.x">comp.windows.x</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.windows.x.apps">comp.windows.x.apps</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.windows.x.announce">comp.windows.x.announce</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.windows.x.intrinsics">comp.windows.x.intrinsics</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.windows.x.motif">comp.windows.x.motif</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.windows.x.pex">comp.windows.x.pex</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="news:comp.emulators.ms-windows.wine">comp.emulators.ms-windows.wine</ulink></para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="eresources-web"> + <title>Word Wide Web серверүүд</title> + + &chap.eresources.www.inc; + </sect1> + + <sect1 id="eresources-email"> + <title>Цахим захидлын хаягууд</title> + + <para>Дараах хэрэглэгчийн бүлгүүд нь FreeBSD-тэй холбоотой цахим захидлын хаягуудыг + өөрсдийн гишүүддээ хангадаг. Жагсаагдсан администратор нь + хаягийг буруугаар ашигласан тохиолдолд цуцлах эрхийг эдэлдэг.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Домен</entry> + <entry>Боломжууд</entry> + <entry>Хэрэглэгчийн бүлэг</entry> + <entry>Администратор</entry> + </row> + </thead> + + <tbody> + <row> + <entry>ukug.uk.FreeBSD.org</entry> + <entry>Зөвхөн дамжуулах</entry> + <entry><email>freebsd-users@uk.FreeBSD.org</email></entry> + <entry>Ли Жонстон + <email>lee@uk.FreeBSD.org</email></entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect1> + + <sect1 id="eresources-shell"> + <title>Бүрхүүлийн бүртгэлүүд</title> + + <para>Дараах хэрэглэгчийн бүлгүүд нь FreeBSD төслийг идэвхтэйгээр дэмжиж байдаг + хүмүүст бүрхүүлийн бүртгэлүүдийг олгодог. Жагсаагдсан администратор нь + бүртгэлийг буруугаар ашигласан тохиолдолд хүчингүй болгох эрхийг эдэлдэг.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Хост</entry> + <entry>Хандалт</entry> + <entry>Боломжууд</entry> + <entry>Администратор</entry> + </row> + </thead> + + <tbody> + <row> + <entry>dogma.freebsd-uk.eu.org</entry> + <entry>Telnet/FTP/SSH</entry> + <entry>Цахим захидал, Вэб талбар, Нэргүй FTP</entry> + <entry>Ли Жонстон + <email>lee@uk.FreeBSD.org</email></entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect1> +</appendix> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../appendix.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "appendix") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/firewalls/Makefile b/mn_MN.UTF-8/books/handbook/firewalls/Makefile new file mode 100644 index 0000000000..1ec82c45e0 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/firewalls/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= firewalls/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml b/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml new file mode 100644 index 0000000000..8f8efb842b --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml @@ -0,0 +1,3032 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.74 + + $FreeBSD$ +--> + +<chapter id="firewalls"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Жозэф Ж.</firstname> + <surname>Баарбиш</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Брэд</firstname> + <surname>Дэйвис</surname> + <contrib>SGML уруу хөрвүүлж шинэчилсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Галт хана</title> + + <indexterm><primary>Галт хана</primary></indexterm> + + <indexterm> + <primary>аюулгүй байдал</primary> + + <secondary>галт хана</secondary> + </indexterm> + + <sect1 id="firewalls-intro"> + <title>Танилцуулга</title> + + <para>Галт ханын тусламжтайгаар систем уруу орж байгаа болон түүнээс гарч байгаа өгөгдлийн урсгалыг шүүн нэвтрүүлэх боломжтой болдог. +Галт хана нь сүлжээгээр дамжин өнгөрч байгаа пакетуудыг, <quote>дүрмүүдэд</quote> заасны дагуу эсвэл нэвтрүүлэх, эсвэл хаах үүргийг гүйцэтгэдэг. + Галт ханын дүрмүүд нь пакетийг протоколын төрөл, эхлэл хост хаяг, очих хост хаяг, эхлэл порт хаяг, очих порт хаяг зэрэг хэд хэдэн шинжээр нь шинжлэх боломжийг олгодог.</para> + + <para>Галт ханыг ашигласнааар тухайн хостын болон сүлжээний аюулгүй байдлыг нилээд нэмэгдүүлж чадна. Галт ханын тусламжтайгаар дараах зүйлсийг хийх боломжтой :</para> + + <itemizedlist> + <listitem> + <para>Дотоод сүлжээнд байрлаж байгаа сервер машин, түүн дээр ажиллаж байгаа програм үйлчилгээг Интернетээр дамжин орж ирж буй гадны урсгалаас хамгаалах, тусгаарлах.</para> + </listitem> + + <listitem> + <para>Дотоод сүлжээнд байрлаж байгаа хостоос Интернет уруу хандах хандалтыг хаах, хязгаарлах.</para> + </listitem> + + <listitem> + <para>Network address translation буюу Сүлжээний Хаягийн Хөрвүүлэлтийг + (<acronym>NAT</acronym>) дэмжих. Өөрөөр хэлбэл дотоод сүлжээндээ хувийн <acronym>IP</acronym> хаяг хэрэглэж, + Интернетэд гарахдаа дундаа нэг холболтыг (нэг <acronym>IP</acronym> хаяг эсвэл автоматаар оноосон бүлэг хаягаар) хуваан хэрэглэх.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>пакетийг шүүн нэвтрүүлэх дүрмүүдийг хэрхэн оновчтойгоор тодорхойлох.</para> + </listitem> + + <listitem> + <para>&os;-тэй хамт суусан галт хануудын ялгаа.</para> + </listitem> + + <listitem> + <para>OpenBSD-н + <application>PF</application> галт ханыг хэрхэн тохируулах болон хэрэглэх.</para> + </listitem> + + <listitem> + <para><application>IPFILTER</application>-г хэрхэн тохируулах болон хэрэглэх.</para> + </listitem> + + <listitem> + <para><application>IPFW</application>-г хэрхэн тохируулах болон хэрэглэх.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдсэн байх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>&os; болон Интернетийн талаарх үндсэн ойлголт.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="firewalls-concepts"> + <title>Галт ханын тухай ойлголтууд</title> + + <indexterm> + <primary>галт хана</primary> + + <secondary>дүрмүүд</secondary> + </indexterm> + + <para>Галт ханын дүрмүүдийг дараах үндсэн хоёр янзаар үүсгэж болно: + <quote>inclusive буюу хамааруулсан</quote> эсвэл <quote>exclusive буюу хамааруулаагүй</quote>. + Хамааруулаагүй галт хана нь дүрмэнд тохирсон урсгалаас бусдыг нэвтрүүлнэ. Харин хамааруулсан галт хана бол эсрэгээр нь, + дүрмэнд тохирсон урсгалыг нэвтрүүлж бусдыг хаана.</para> + + <para>Болохгүй урсгалыг галт ханаар нэвтрүүлэх эрсдэлийг + багасгадаг учраас хамааруулсан галт хана нь хамааруулаагүй + галт ханыг бодвол илүүтэйгээр аюулгүй байдлыг хангаж чаддаг.</para> + + <para><quote>Төлөвт галт ханыг</quote> ашиглан аюулгүй байдлыг цааш илүү сайжруудах боломжтой. + Төлөвт галт хана нь галт ханаар дамжин тогтсон холболтуудыг бүртгэж, + зөвхөн таарч байгаа тогтсон холболтоор эсвэл шинэ холболт үүсгэн урсгалыг нэвтрүүлдэг. + Төлөвт галт ханын нэг дутагдалтай тал гэвэл олон шинэ холболтууд нэг дор тогтох үед + Denial of Service буюу Үйлчилгээг Зогсоох(<acronym>DoS</acronym>) халдлаганд өртөмтгий болдог. Иймээс галт ханыг + зохион байгуулахдаа төлөвт ба төлөвт-бус байдлыг хослуулан хэрэглэх нь хамгийн оновчтой байдаг.</para> + </sect1> + + <sect1 id="firewalls-apps"> + <title>Галт ханын багцууд</title> + + <para>&os; дээр гурван янзын галт ханын багцууд хамрагдсан байдаг. + Нэрлэвэл: <emphasis>IPFILTER</emphasis> + (<acronym>IPF</acronym> гэж нэрлэх нь элбэг), + <emphasis>IPFIREWALL</emphasis> (<acronym>IPFW</acronym> гэж нэрлэх нь элбэг), + ба <emphasis>OpenBSD-н PacketFilter</emphasis> (<acronym>PF</acronym> гэж нэрлэх нь элбэг). + &os; нь мөн урсгалыг хязгаарлах(үндсэндээ зурвасын өргөнийг хязгаарлах) хоёр багцын хамт ирдэг: + &man.altq.4; болон &man.dummynet.4;. Dummynet нь <acronym>IPFW</acronym>-тай, харин + <acronym>ALTQ</acronym> нь <acronym>IPF</acronym>/<acronym>PF</acronym>-тай нягт холбоотой ажилладаг. IPF, + IPFW, ба PF нь бүгд систем уруу орж байгаа болон гарч байгаа урсгалыг дүрмүүдийн тусламжтай удирдах боловч + синтаксын хувьд ч, арга замын хувьд ч өөр өөр байдаг.</para> + + <para>&os; дээр олон галт ханын багцууд хамт ирдэг нь өөр өөр хэрэгцээ шаардлагатай хүмүүст + хүртээмжтэй байхыг гол зорилгоо болгосонд оршино. Түүнээс аль ч галт хана нь нөгөөгөөсөө илүү, эсвэл дутуу гэсэн үг биш юм.</para> + + <para>Зохиогч IPFILTER-г сонгон авсан нь түүний төлөвт дүрмүүд нь + <acronym>NAT</acronym> орчинд хэрэглэхэд төвөг багатай, мөн + дотроо ftp proxy агуулсан байдгаас болсон хэрэг. Энэхүү ftp proxy-г ашиглан + гадагшаа гарах FTP ургалыг зөвшөөрсөн дүрмүүдийг бичихэд хялбар байдаг.</para> + + <para>Бүх галт ханууд пакет удирдах талбарын утгыг шинжлэх зарчмаар ажиллах тул + галт ханын дүрмүүдийг бичихийн өмнө <acronym>TCP</acronym>/IP протокол хэрхэн + ажилладаг талаар болон пакет удирдах талбарын утгууд, энэ утгууд session буюу сесс + үүсэхэд хэрхэн хэрэглэгддэг талаар үндсэн ойлголттой байх шаардлагатай болдог. + Дээрх ойлголтуудын талаар дараах хаягаар орж уншина уу: + <ulink + url="http://www.ipprimer.com/overview.cfm"></ulink>.</para> + </sect1> + + <sect1 id="firewalls-pf"> + <title>OpenBSD Пакет шүүгч (PF) ба + <acronym>ALTQ</acronym></title> + + <indexterm> + <primary>галт хана</primary> + + <secondary>PF</secondary> + </indexterm> + + <para>2003 оны 7 сард OpenBSD-н галт ханын програм болох + <acronym>PF</acronym> &os; уруу шилжиж, &os; Портын Цуглуулгад + орсон бөгөөд 2004 оны 11 сард гарсан + &os; 5.3-с эхлэн <acronym>PF</acronym>-г + үндсэн системийн багцын нэг хэсэг болгон оруулсан байдаг. + <acronym>PF</acronym> нь бүрэн хэмжээнд ажиллах чадвартай + галт хана бөгөөд <acronym>ALTQ</acronym>-тай (Alternate + Queuing буюу Ээлжлэн солигдох дараалал) хамтран ажиллах боломжтой. <acronym>ALTQ</acronym>-н тусламжтай + шүүн нэвтрүүлэх дүрмүүдийг харгалзан үйлчилгээнүүдэд шаардлагатай +зурвасын өргөнийг баталгаатай олгох Quality of Service буюу Үйлчилгээний Чанарыг (<acronym>QoS</acronym>) + хангасан зурвасын өргөнийг хязгаарлах боломжоор хангадаг. +OpenBSD Төсөл нь PF-н Хэрэглэгчдийн Гарын авлагыг хөтлөн +явуулдаг тул давхардуулахгүй үүднээс энэ гарын авлагад +оруулаагүй болно.</para> + + <para>Илүү дэлгэрэнгүй мэдээллийг &os;-н PF веб хуудаснаас үзнэ үү: <ulink + url="http://pf4freebsd.love2party.net/"></ulink>.</para> + + <sect2> + <title>PF-г идэвхжүүлэх</title> + + <para>&os; 5.3-с хойших хувилбаруудад PF нь үндсэн суулгацтай +хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг. +rc.conf тохиргооны файл дотор <literal>pf_enable="YES"</literal> илэрхийлэл байгаа үед +систем PF цөмийн модулийг динамикаар ачаална. +Энэ ачаалах боломжтой модуль нь &man.pflog.4;-н тусламжтай, +бүртгэх боломжтойгоор бүтээгдсэн байдаг.</para> + + <note> + <para>Энэ модуль нь <literal>options INET</literal> ба + <literal>device bpf</literal>-г байгаа гэж тооцдог. + &os;-н 6.0-RELEASE-с өмнөх хувилбарын <literal>NOINET6</literal>, + хойших хувилбарын <literal>NO_INET6</literal>-г (жишээ нь &man.make.conf.5;) + системийг үүсгэх үед тодорхойлоогүй бол, <literal>options INET6</literal> шаардлагатай.</para> + </note> + + <para>Цөмийн модуль ачаалагдсан эсвэл цөм нь PF-н хамт + статик байдлаар бүтээгдсэн бол, <application>pf</application>-г + <command>pfctl</command> тушаалын тусламжтай идэвхжүүлж, мөн + идэвхгүй болгож болно.</para> + + <para>Энэ жишээн дээр <application>pf</application>-г хэрхэн +идэвхжүүлэхийг харуулав:</para> + + <screen>&prompt.root; <userinput>pfctl -e</userinput></screen> + + <para><command>pfctl</command> тушаалыг ашиглан +<application>pf</application> галт ханатай ажиллах боломжтой. +тушаалыг ашиглахын өмнө &man.pfctl.8; заавар хуудаснаас дэлгэрэнгүй +мэдээллийг авна уу.</para> + </sect2> + + <sect2> + <title>Цөмийн боломжууд</title> + + <indexterm> + <primary>цөмийн боломжууд</primary> + + <secondary>pf төхөөрөмж</secondary> + </indexterm> + + <indexterm> + <primary>цөмийн боломжууд</primary> + + <secondary>pflog төхөөрөмж</secondary> + </indexterm> + + <indexterm> + <primary>цөмийн боломжууд</primary> + + <secondary>pfsync төхөөрөмж</secondary> + </indexterm> + + <para>&os; цөм уруу дараах боломжуудыг эмхэтгэн PF-г +идэвхжүүлэх албагүй боловч, суурь мэдлэг болгон энд үзүүллээ. +PF-г цөм уруу хөрвүүлэн эмхэтгэснээр ачаалах боломжтой модулийг +хэрэглэх боломжгүй болдог.</para> + + <para>Цөмийн тохиргоон дахь PF илэрхийллүүд +<filename>/usr/src/sys/conf/NOTES</filename> гэсэн цөмийн +эх файлд байх ба доор сийрүүлэв:</para> + + <programlisting>device pf +device pflog +device pfsync</programlisting> + + <para><literal>device pf</literal> мөр <quote>Packet Filter</quote> +галт ханыг дэмждэг болгоно.</para> + + <para><literal>device pflog</literal> мөр +хуурамч &man.pflog.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч +төхөөрөмжийн тусламжтайгаар &man.bpf.4; дескриптор уруу урсгалыг бүртгэх +боломжтой. &man.pflogd.8; демоныг бүртгэлийг дискэн дээр хадгалахад хэрэглэнэ.</para> + + <para><literal>device pfsync</literal> мөр +хуурамч &man.pfsync.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч +төхөөрөмжийн тусламжтайгаар <quote>төлөвийн өөрчлөлтүүдийг</quote> хянах боломжтой. +Энэ төхөөрөмж нь ачаалах боломжтой модульд байдаггүй тул, түүнийг +ашиглахын тулд цөмийг шинээр бүтээх хэрэгтэй байдаг.</para> + + <para>Эдгээр тохируулгууд нь зөвхөн тэдгээрийг тохируулан, +тусгайлан цөм бүтээж суулгасны дараа идэвхждэг.</para> + </sect2> + + <sect2> + <title>rc.conf боломжууд</title> + + <para>PF-г систем ачаалах үед идэвхтэй болгохын тулд +<filename>/etc/rc.conf</filename> дотор дараах илэрхийллүүд байх +ёстой:</para> + +<programlisting>pf_enable="YES" # Enable PF (load module if required) +pf_rules="/etc/pf.conf" # rules definition file for pf +pf_flags="" # additional flags for pfctl startup +pflog_enable="YES" # start pflogd(8) +pflog_logfile="/var/log/pflog" # where pflogd should store the logfile +pflog_flags="" # additional flags for pflogd startup</programlisting> + + <para>Хэрвээ энэ галт ханын цаана LAN байгаа бөгөөд +LAN-д байгаа компьютерууд уруу пакет дамжуулах шаардлагатай бол эсвэл +NAT ашиглах бодолтой байгаа бол дараах илэрхийллийг идэвхжүүлэх хэрэгтэй:</para> + + <programlisting>gateway_enable="YES" # Enable as LAN gateway</programlisting> + </sect2> + + <sect2> + <title><acronym>ALTQ</acronym>-г идэвхжүүлэх</title> + + <para><acronym>ALTQ</acronym>-г идэвхжүүлэх ганц арга зам бол түүний боломжуудийг +&os; цөмтэй хамт хөрвүүлэн эмхэтгэх юм. Мөн сүлжээний картын драйвер болгон <acronym>ALTQ</acronym>-г +дэмждэггүй тул өөрийн тань хэрэглэж буй &os; хувилбарын хувьд дэмжигддэг драйверуудын жагсаалтыг +&man.altq.4; гарын авлагын хуудаснаас үзнэ үү. Дараах тохируулгууд +<acronym>ALTQ</acronym>-г идэвхжүүлж нэмэлт үүргүүдийг оруулдаг.</para> + + <programlisting>options ALTQ +options ALTQ_CBQ # Class Bases Queuing (CBQ) +options ALTQ_RED # Random Early Detection (RED) +options ALTQ_RIO # RED In/Out +options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) +options ALTQ_PRIQ # Priority Queuing (PRIQ) +options ALTQ_NOPCC # Required for SMP build</programlisting> + + <para><literal>options ALTQ</literal> мөр <acronym>ALTQ</acronym> +-г бүхэлд нь идэвхжүүлнэ.</para> + + <para><literal>options ALTQ_CBQ</literal> мөр Class Based Queuing +буюу Ангилалаас Хамаарсан Дараалал Үүсгэх(<acronym>CBQ</acronym>) боломжийг идэвхжүүлнэ. +<acronym>CBQ</acronym> нь шүүгч дүрмүүд дээр үндэслэн урсгалуудад эрэмбэ тогтоох зорилгоор +зурвасын өргөнийг өөр өөр ангилалуудад болон дарааллуудад хуваах боломжийг олгоно.</para> + + <para><literal>options ALTQ_RED</literal> мөр Random Early + Detection буюу Санамсаргүй Эрт Илрүүлэлт(<acronym>RED</acronym>)-г идэвхжүүлнэ. +<acronym>RED</acronym>-г сүлжээний даац хэтрэхээс сэргийлэхэд хэрэглэдэг. +<acronym>RED</acronym> дарааллын уртыг хэмжиж, түүнийг байх ёстой дээд ба +доод хэмжээтэй жиших байдлаар ажилладаг. Хэрэв дараалал дээд хэмжээнээс урт болбол +шинэ пакетууд орхигдох болно. Нэртэйгээ адилаар, <acronym>RED</acronym> нь холболтуудаас пакетийг +санамсаргүйгээр орхигдуулдаг.</para> + + <para><literal>options ALTQ_RIO</literal> мөр нь Random Early + Detection In and Out буюу Орох ба Гарах Санамсаргүй Эрт Илрүүлэлтийг идэвхжүүлнэ.</para> + + <para><literal>options ALTQ_HFSC</literal> мөр нь +Hierarchical Fair Service Curve Packet Scheduler буюу Үе давхаргат Зохимжит Үйлчилгээний Муруйн Пакет Хуваарилагчийг +идэвхжүүлнэ. <acronym>HFSC</acronym> талаар илүү дэлгэрэнгүй мэдээллийг дараах хаягаас үзнэ үү: +<ulink url="http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html"></ulink>.</para> + + <para><literal>options ALTQ_PRIQ</literal> мөр нь Priority Queuing буюу Эрэмбэт Дараалал Үүсгэх +(<acronym>PRIQ</acronym>)-г идэвхжүүлнэ. <acronym>PRIQ</acronym> нь эрэмбэ өндөртэй дараалалд байгаа +урсгалыг эхэнд нэвтрүүлэх зарчмаар ажилладаг.</para> + + <para><literal>options ALTQ_NOPCC</literal> мөр нь <acronym>ALTQ</acronym>-г +<acronym>SMP</acronym>-тай хамт ажиллах боломжтой болгоно. +<acronym>SMP</acronym> системийн хувьд энэ боломжийг заавал идэвхжүүлэх хэрэгтэй.</para> + </sect2> + + <sect2> + <title>Шүүгч дүрмүүдийг үүсгэх</title> + + <para>Пакет Шүүгч нь дүрмүүдээ &man.pf.conf.5; файлаас уншиж, энд заагдсан +дүрмүүд болон тодорхойлолтуудаас хамааран пакетийг нэвтрүүлэх, орхих, эсвэл өөрчлөхийн аль нэгийг +хийнэ. &os; суулгац нь жишээ болон тайлбарыг агуулсан анхдагч <filename>/etc/pf.conf</filename> +файлын хамт ирдэг.</para> + + <para>Хэдийгээр &os; өөрийн <filename>/etc/pf.conf</filename> +файлтай боловч синтакс нь OpenBSD-ийнхтэй адилхан байна. <application>pf</application> +галт ханыг тохируулах дэлгэрэнгүй мэдээллийг OpenBSD багийнхан бичсэн бөгөөд +<ulink url="http://www.openbsd.org/faq/pf/"></ulink> хаягаар орж үзэж болно.</para> + + <warning> + <para>pf хэрэглэгчийн гарын авлагаар аялахдаа, &os; хувилбарууд өөр өөрийн +pf хувилбарыг ашигладагийг санаарай. &os; 5.X дээрх <application>pf</application> галт хана +нь OpenBSD-н 3.5 хувилбарынхтай дүйх ба &os; 6.X дээрх <application>pf</application> галт хана +нь OpenBSD-н 3.7 хувилбарынхтай дүйдэг болохыг анхаарна уу.</para> + </warning> + + <para><application>pf</application> галт ханыг тохируулах, ажиллуулахтай холбоотой +асуултуудаа &a.pf;-с асуугаарай. Мөн асуулт асуухынхаа өмнө, захидлын жагсаалтын архиваар орж үзэхээ +мартуузай. </para> + </sect2> + </sect1> + + <sect1 id="firewalls-ipf"> + <title>IPFILTER (IPF) Галт хана</title> + + <indexterm> + <primary>галт хана</primary> + + <secondary>IPFILTER</secondary> + </indexterm> + + <note> + <para>Энэ хэсэг дээр үргэлжлүүлэн ажиллаж байна. Агуулга зарим хэсэгт буруу байхыг үгүйcгэхгүй.</para> + </note> + + <para>IPFILTER-г зохиосон хүн бол Даррин Рид билээ. IPFILTER нь +үйлдлийн системээс хамааралгүй: нээлттэй эхийн програм бөгөөд +&os;, NetBSD, OpenBSD, &sunos;, HP/UX, ба &solaris; зэрэг олон үйлдлийн систем уруу +шилжүүлэгдсэн юм. IPFILTER эрчимтэй дэмжигдэж, +сайжруулсан хувилбарууд нь тогтмол гарсаар байгаа.</para> + + <para>IPFILTER нь цөмийн талд ажиллах галт хана болон +<acronym>NAT</acronym> механизм дээр суурилсан бөгөөд түүнийг удирдах, хянахын тулд +хэрэглэгчийн интерфэйс програмыг ашиглана. Галт ханын дүрмүүдийг нэмэх болон хасахдаа +&man.ipf.8; хэрэгслийг хэрэглэнэ. <acronym>NAT</acronym> дүрмүүдийг +нэмэх болон хасахдаа &man.ipnat.1; хэрэгслийг хэрэглэнэ. &man.ipfstat.8; хэрэгсэл +нь IPFILTER-н цөмийн талд ажиллаж байгаа хэсгийн статистикийг хэвлэхэд зориулагдсан. +&man.ipmon.8; програм харин IPFILTER-н үйлдлүүдийг системийн бүргэлийн файлд +бүртгэнэ.</para> + + <para>IPF-г анх зохиохдоо <quote>сүүлд тохирсон дүрэм дийлнэ</quote> гэсэн +логикийн дагуу бүтээсэн ба зөвхөн төлөвт-бус дүрмүүдийг ашигладаг байлаа. +Цаг хугацаа өнгөрөхөд IPF илүү хөгжиж, <quote>quick</quote> тохируулга +болон төлөвт <quote>keep state</quote> тохируулгуудыг агуулах болсон нь орчин үеийн +хэрэгцээ шаардлагад илүү нийцэх болжээ. IPF-н албан ёсны баримтжуулалтанд +хуучин уламжлалт дүрмүүдийг бичих параметрүүд болон файлтай ажиллах логикууд багтсан байдаг. +Харин шинэ функцүүдийг нь зөвхөн нэмэлт боломж байдлаар оруулсан нь аюулгүй байдлыг хавьгүй +илүү хангасан галт хана бий болгож байгаа тэднийг хэт доогуур тавьсан санагддаг.</para> + + <para>Энэ бүлэгт байгаа зааврууд нь <quote>quick</quote> болон төлөвт <quote>keep state</quote> +тохируулгуудыг агуулсан дүрмүүдээс үндсэндээ бүрдсэн байгаа. Энэ бол хамааруулсан галт ханын дүрмүүдийг +бичих үндсэн арга барил юм.</para> + + <!-- XXX: something like this already in + <xref linkend="firewalls-concepts"> + AND: the para below is repeated 3 times in this chapter--> + + <para>Хамааруулсан галт хана нь зөвхөн дүрмэнд тохирсон пакетуудыг нэвтрүүлнэ. +Ийм маягаар галт ханын цаанаас Интернет уруу ямар ямар үйлчилгээнүүд +гарч болох болон эсрэгээр Интернетээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд нэвтэрч +болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон +байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд +хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар +ярилцах болно.</para> + + <para>Хуучин уламжлалт дүрмүүдтэй ажиллах аргуудын талаар дэлгэрэнгүй тайлбарыг: +<ulink url="http://www.obfuscation.org/ipf/ipf-howto.html#TOC_1"></ulink> + ба <ulink + url="http://coombs.anu.edu.au/~avalon/ip-filter.html"></ulink> хаягаар орж үзнэ үү.</para> + + <para>IPF FAQ-г <ulink + url="http://www.phildev.net/ipf/index.html"></ulink> хаягаар орж үзнэ үү.</para> + + <para>Нээлттэй эхийн IPFilter програмын захидлын жагсаалтын архивыг <ulink + url="http://marc.theaimsgroup.com/?l=ipfilter"></ulink> хаягаар орж үзнэ үү.</para> + + <sect2> + <title>IPF-г идэвхжүүлэх</title> + + <indexterm> + <primary>IPFILTER</primary> + + <secondary>идэвхжүүлэх</secondary> + </indexterm> + + <para>IPF нь &os; үндсэн суулгацтай хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг. +rc.conf тохиргооны файл дотор ipfilter_enable="YES" илэрхийлэл байгаа үед систем IPF цөмийн +модулийг динамикаар ачаална. Энэ ачаалах боломжтой модуль нь бүртгэх боломжтойгоор, +анхдагч <literal>default pass all</literal> тохируулгын хамт бүтээгдсэн байдаг. Анхдагч дүрмийг +<literal>block all</literal> болгохын тулд IPF-г цөмөд эмхэтгэх шаардлага байхгүй. Зөвхөн +дүрмүүдийнхээ төгсгөлд бүгдийг хаах дүрмийг бичиж өгөхөд хангалттай.</para> + </sect2> + + <sect2> + <title>Цөмийн тохируулгууд</title> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPFILTER</secondary> + </indexterm> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPFILTER_LOG</secondary> + </indexterm> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPFILTER_DEFAULT_BLOCK</secondary> + </indexterm> + + <indexterm> + <primary>IPFILTER</primary> + + <secondary>цөмийн тохируулгууд</secondary> + </indexterm> + + <para>&os; цөм уруу дараах боломжуудыг эмхэтгэн IPF-г идэвхжүүлэх +албагүй боловч, суурь мэдлэг болгон энд үзүүллээ. IPF-г цөм уруу хөрвүүлэн +эмхэтгэснээр ачаалах боломжтой модулийг хэрэглэх боломжгүй болдог.</para> + + <para>Цөмийн тохиргоон дахь жишээ IPF илэрхийллүүд + <filename>/usr/src/sys/conf/NOTES</filename> гэсэн цөмийн эх файлд +байх ба доор сийрүүлбэл:</para> + + <programlisting>options IPFILTER +options IPFILTER_LOG +options IPFILTER_DEFAULT_BLOCK</programlisting> + + <para><literal>options IPFILTER</literal> мөр нь <quote>IPFILTER</quote> +галт ханыг идэвхжүүлнэ.</para> + + <para><literal>options IPFILTER_LOG</literal> мөр нь <literal>log</literal> +гэсэн түлхүүр үг орсон дүрмүүдийн хувьд урсгалыг <devicename>ipl</devicename> +пакет бүртгэх хуурамч—төхөөрөмж уруу бүртгэх боломжтой болгоно.</para> + + <para><literal>options IPFILTER_DEFAULT_BLOCK</literal> мөр нь +галт ханын <literal>pass</literal> дүрмэнд тохироогүй пакетийг +хаах анхдагч чанарыг зааж өгнө.</para> + + <para>Эдгээр тохируулгууд нь зөвхөн тэдгээрийг тохируулан, +тусгайлан цөм бүтээж суулгасны дараа идэвхждэг.</para> + </sect2> + + <sect2> + <title>rc.conf тохируулгууд</title> + + <para>IPF-г систем ачаалах үед идэвхтэй болгохын тулд /etc/rc.conf дотор +дараах илэрхийллүүд байх ёстой:</para> + + <programlisting>ipfilter_enable="YES" # Start ipf firewall +ipfilter_rules="/etc/ipf.rules" # loads rules definition text file +ipmon_enable="YES" # Start IP monitor log +ipmon_flags="-Ds" # D = start as daemon + # s = log to syslog + # v = log tcp window, ack, seq + # n = map IP & port to names</programlisting> + + <para>Хэрэв энэ галт ханын цаана хувийн IP хаяг хэрэглэдэг LAN байгаа бол +<acronym>NAT</acronym> функцийг идэвхжүүлэхийн тулд дараах мөрүүдийг нэмэх хэрэгтэй:</para> + + <programlisting>gateway_enable="YES" # Enable as LAN gateway +ipnat_enable="YES" # Start ipnat function +ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat</programlisting> + </sect2> + + <sect2> + <title>IPF</title> + + <indexterm><primary><command>ipf</command></primary></indexterm> + + <para>Таны бичсэн дүрмүүдийг ачаалахад ipf тушаалыг хэрэглэнэ. Ер нь бол +та өөрийн дүрмүүдээс бүтсэн файлыг үүсгээд, түүнийгээ дээрх тушаалын ашиглан +галт ханын одоо ажиллаж байгаа дотоод дүрмүүдтэй сольж тавина гэсэн үг юм:</para> + + <screen>&prompt.root; <userinput>ipf -Fa -f /etc/ipf.rules</userinput></screen> + + <para><option>-Fa</option> нь бүх дотоод дүрмүүдийн хүснэгтийг цэвэрлэ гэсэн үг.</para> + + <para><option>-f</option> нь ачаалах дүрмүүдээ энэ файлаас унш гэсэн үг.</para> + + <para>Ийм байдлаар та өөрийн хүссэн дүрмүүдийн файлыг үүсгээд, +дээрх IPF тушаалыг ажиллуулан системийг шинээр ачаалахгүйгээр +ажиллаж байгаа галт ханын дүрмүүдийг шинээр өөрчлөх боломжтой болж байна. +Дээрх аргаар галт ханын дүрмүүдийг хэдэн ч удаа сольж болох тул энэ арга нь +шинэ дүрмүүдийг туршихад тохиромжтой арга юм.</para> + + <para>Энэ тушаалтай ажиллах боломжтой бусад тугуудын талаар +дэлгэрэнгүйг &man.ipf.8; заавар хуудаснаас үзнэ үү.</para> + + <para>&man.ipf.8; тушаал дүрмүүдийн файлыг стандарт текст файл гэж +тооцдог. Симбол орлуулалттай скрипт байдлаар бичигдсэн файлыг ойлгохгүй.</para> + + <para>Гэвч скрипт симбол орлуулалтын хүчийг ашиглан IPF дүрмүүдийг бүтээх +арга зам байгаа. Илүү дэлгэрэнгүй мэдээллийг +<xref linkend="firewalls-ipf-rules-script"> хэсгээс үзнэ үү.</para> + </sect2> + + <sect2> + <title>IPFSTAT</title> + + <indexterm><primary><command>ipfstat</command></primary></indexterm> + + <indexterm> + <primary>IPFILTER</primary> + + <secondary>статистик</secondary> + </indexterm> + + <para>&man.ipfstat.8;-н анхдагч чанар бол галт ханыг хамгийн сүүлд асааснаас хойших, +эсвэл <command>ipf -Z</command> тушаалыг өгөн хуримтлуулагчийг хамгийн сүүлд тэглэснээс хойших +галт ханаар орж байгаа болон гарч байгаа пакетуудыг хэрэглэгчийн тодорхойлж өгсөн дүрмүүдээр +шүүсэн үр дүнд бий болсон статистик тоог гаргаж ирэн, дэлгэцэнд харуулах юм.</para> + + <para>Дэлгэрэнгүйг &man.ipfstat.8; заавар хуудаснаас үзнэ үү.</para> + + <para>&man.ipfstat.8; тушаалын анхдагч үр дүн дараах байдалтай байна:</para> + + <screen>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 <acronym>TCP</acronym> 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 + <acronym>TCP</acronym> cksum fails(in): 0 (out): 0 + Packet log flags set: (0)</screen> + + <para>Дотогшоо урсгалын хувьд <option>-i</option>, +гадагшаа урсгалын хувьд <option>-o</option> тохируулгыг өгөхөд +кернелийн ашиглаж буй дүрмүүдийн жагсаалтыг гаргаж харуулна.</para> + + <para><command>ipfstat -in</command> нь дотогшоо урсгалын +дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн дугаарын хамт харуулна.</para> + + <para><command>ipfstat -on</command> нь гадагшаа урсгалын +дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн дугаарын хамт харуулна.</para> + + <para>Үр дүн нь дараах байдалтай байна:</para> + + <screen>@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</screen> + + <para><command>ipfstat -ih</command> нь дотогшоо урсгалын +дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн хэдэн удаа тохирсон тооны хамт харуулна.</para> + + <para><command>ipfstat -oh</command> нь гадагшаа урсгалын +дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн хэдэн удаа тохирсон тооны хамт харуулна.</para> + + <para>Үр дүн нь дараах байдалтай байна:</para> + + <screen>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</screen> + + <para><command>ipfstat</command> тушаалын хамгийн чухал функцүүдийн +нэг бол, &os;-н ажиллаж байгаа процессийн хүснэгтийг &man.top.1; +харуулдаг шиг төлөвийн хүснэгтийг <option>-t</option> туг харуулдаг явдал юм. +Таны галт хана гадны халдлагад өртөх үед энэ функц түүнийг илрүүлэх, шинжлэх, халдлагад +оролцож буй пакетуудыг харах боломжийг олгоно. Нэмэлт дэд тугууд нь хяналт хийх +эхлэл болон очих IP хаяг, порт, эсвэл протоколыг сонгох боломжийг олгодог. +Дэлгэрэнгүйг &man.ipfstat.8; заавар хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>IPMON</title> + + <indexterm><primary><command>ipmon</command></primary></indexterm> + + <indexterm> + <primary>IPFILTER</primary> + + <secondary>бүртгэл хөтлөлт</secondary> + </indexterm> + + <para><command>ipmon</command> тушаал зохистой ажиллахын тулд цөмийн +IPFILTER_LOG тохируулга идэвхжсэн байх ёстой. Энэ тушаал хоёр өөр горимд +ажиллах чадвартай. Төрөлх горим нь энэ тушаалыг тушаал мөрөн дээр +<option>-D</option> туггүйгээр оруулахад ажиллах анхдагч горим юм.</para> + + <para>Демон горим нь болж өнгөрсөн үйл явцийн бүртгэлийг эргэж харахын тулд +системийн бүртгэлийг тасралтгүй хөтлөн явуулахад тохиромжтой горим юм. +&os; болон IPFILTER энэ горимд ажиллахаар тохируулагдсан байдаг. &os; +нь системийн бүртгэлийг автоматаар тойруулах чадвартай. Тиймээс бүртгэлийн мэдээллийг syslogd +процесс уруу гаргах нь энгийн файл уруу гаргах анхдагч аргаас дээр байдаг. +Анхдагч <filename>rc.conf</filename> файл дотор ipmon_flags илэрхийлэл +<option>-Ds</option> тугуудыг хэрэглэсэн байхыг олж харж болно:</para> + + <programlisting>ipmon_flags="-Ds" # D = start as daemon + # s = log to syslog + # v = log tcp window, ack, seq + # n = map IP & port to names</programlisting> + + <para>Бүртгэл хөтлөн явуулахын давуу талыг дурдахад илүүц биз. +Бүртгэлийн тусламжтай ямар пакетууд орхигдсон, тэдгээр пакетууд хаанаас ирсэн, +хаашаа явж байсан зэрэг мэдээллийг эргэн харах боломжтой болдог. Энэ бүх мэдээлэл +гадны халдлагыг мөрдөхөд чухал түлхэц болно.</para> + + <para>Хэдийгээр бүртгэх боломжоор хангагдсан боловч, IPF дангаараа бүртгэлийг үүсгэж +чадахгүй. Галт ханын администратор аль дүрмийн бүртгэлийг бичихийг шийдэн, тэдгээр дүрмүүдэд +log түлхүүр үгийг нэмж өгнө. Ер нь, зөвхөн deny дүрмүүдийн бүртгэл бичигддэг.</para> + + <para>Бүгдийг хориглосон анхдагч дүрмийг log түлхүүр үгийн хамт дүрмүүдийнхээ +хамгийн төгсгөлд бичиж өгөх нь нилээд өргөн хэрэглэгддэг арга юм. Ийм байдлаар +таны дүрмүүдийн алинтай ч тохироогүй пакетуудыг мэдэх боломжтой болно.</para> + </sect2> + + <sect2> + <title>IPMON бүртгэл хөтлөлт</title> + + <para><application>Syslogd</application> нь бүртгэлийн мэдээллийг дотор нь ангилах +өөрийн тусгай аргатай. <quote>facility</quote> ба <quote>түвшин</quote> гэсэн тусгай ангилалаар ялгадаг. +<option>-Ds</option> горимон дахь IPMON нь <quote>facility</quote>-аар <literal>security</literal>-г +хэрэглэдэг. IPMON-ы бүх бүртгэлийн мэдээлэл <literal>security</literal> нэрийн дор бичигддэг. Хэрэв хүсвэл +доорх түвшнүүдийг ашиглан бүртгэгдсэн мэдээллийг илүү ангилж болно:</para> + + <screen>LOG_INFO - нэвтрүүлэх, хаахаас үл хамааран "log" түлхүүрийг үйлдэл ашиглан пакетуудыг бүртгэх. +LOG_NOTICE - нэвтэрсэн пакетуудыг бүртгэх. +LOG_WARNING - хаагдсан пакетуудыг бүртгэх. +LOG_ERR - бүртгэсэн пакетууд болон богино гэгдсэн пакетууд</screen> + + <!-- XXX: "can be considered short" == "with incomplete header" --> + + <para>IPFILTER-н бүх бүртгэлийн мэдээллийг <filename>/var/log/ipfilter.log</filename> +файл дотор бичихийн тулд, та энэ файлыг эхлээд үүсгэх хэрэгтэй. Үүний тулд дараах +тушаалыг өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>touch /var/log/ipfilter.log</userinput></screen> + + <para>syslog-н функцүүдийг <filename>/etc/syslog.conf</filename> файл доторх +тодорхойлох илэрхийллүүдээр удирдаж болно. <filename>syslog.conf</filename> файл нь +IPF мэт програмуудын үүсгэсэн системийн мэдэгдлүүдтэй ажиллахад уян хатан болгодог.</para> + + <para>Дараах илэрхийллүүдийг <filename>/etc/syslog.conf</filename> файл дотор нэмж +бичнэ үү:</para> + + <programlisting>security.* /var/log/ipfilter.log</programlisting> + + <para><literal>security.*</literal> нь бүх бүртгэгдсэн мэдэгдлүүдийг +дурдсан файлд бичихийг хэлж өгч байна.</para> + + <para><filename>/etc/syslog.conf</filename> файлд хийсэн өөрчлөлтүүдийг +идэвхжүүлэхийн тулд та системээ дахин ачаалах эсвэл <command>/etc/rc.d/syslogd reload</command> +тушаалыг ашиглан syslog процессэд <filename>/etc/syslog.conf</filename> файлыг дахин уншуулах +хэрэгтэй.</para> + + <para>Дээр шинээр үүсгэсэн бүртгэлийг тойруулахын тулд +<filename>/etc/newsyslog.conf</filename> файл дотор өөрчлөлт оруулахаа мартуузай.</para> + </sect2> + + <sect2> + <title>Бүртгэгдсэн мэдэгдлийн формат</title> + + <para><command>ipmon</command>-ы үүсгэсэн мэдэгдэл зайгаар тусгаарлагдсан +өгөгдлийн талбаруудаас бүрдэнэ. Бүх мэдэгдэлд байдаг гол талбарууд гэвэл:</para> + + <orderedlist> + <listitem> + <para>Пакетийг хүлээж авсан огноо.</para> + </listitem> + + <listitem> + <para>Пакетийг хүлээж авсан цаг. Цаг, минут, секунд, бутархай секундэд (олон орны нарийвчлалтай) +харгалзан HH:MM:SS.F форматтай байна.</para> + </listitem> + + <listitem> + <para>Пакеттай ажилласан интерфэйсийн нэр, жишээлбэл <devicename>dc0</devicename>.</para> + </listitem> + + <listitem> + <para>Дүрмийн бүлэг болон дүрмийн дугаар, жишээлбэл <literal>@0:17</literal>.</para> + </listitem> + </orderedlist> + + <para>Эдгээрийг <command>ipfstat-in</command> тушаалын тусламжтай үзэж болно.</para> + + <orderedlist> + <listitem> + <para>Үйлдэл: нэвтрүүлсэн бол р, хаасан бол b, богино пакет бол S, +аль ч дүрмэнд тохироогүй бол n, бүртгэх дүрэм бол L. Эдгээр тугуудийг дараах эрэмбээр харуулна: +S, p, b, n, L. Том P эсвэл B үсэг нь тухайн пакет ямар нэг дүрмээс биш, глобал тохиргооноос +хамааран бүртгэгдсэн болохыг заана.</para> + </listitem> + + <listitem> + <para>Хаягууд. Үндсэндээ гурван талбар байна: эхлэл +хаяг болон порт (таслалаар тусгаарлагдсан), -> тэмдэг, ба очих хаяг болон порт. +209.53.17.22,80 -> 198.73.220.17,1722.</para> + </listitem> + + <listitem> + <para><literal>PR</literal>-н дараа протоколын нэр болон дугаар, жишээлбэл PR tcp.</para> + </listitem> + + <listitem> + <para><literal>len</literal>-ы дараа толгойн урт болон +пакетийн нийт урт, жишээлбэл len 20 40.</para> + </listitem> + </orderedlist> + + <para>Хэрэв <acronym>TCP</acronym> пакет бол зураасаар эхэлж тугуудаар удаалсан +нэмэлт талбар байна. Үсгүүд болон түүнд харгалзах тугуудын талаар &man.ipmon.8; заавар +хуудаснаас үзнэ үү.</para> + + <para>Хэрэв ICMP пакет бол, төгсгөлд нь хоёр талбар байна. +Эхнийх нь үргэлж <quote>ICMP</quote> утгатай байна, дараагийнх нь налуу зураасаар тусгаарлагдсан +ICMP мэдэгдэл болон дэд мэдэгдлийн төрөл, жишээлбэл портонд хандаж чадсангүй гэсэн мэдэгдлийн хувьд ICMP 3/3 байна.</para> + </sect2> + + <sect2 id="firewalls-ipf-rules-script"> + <title>Симбол орлуулалттай скриптийг үүсгэх нь</title> + + <para>Зарим туршлагатай IPF хэрэглэгчид дүрмүүдийг агуулсан файл үүсгээд +түүнийгээ симбол орлуулалттай скрипт байдлаар ажиллуулах боломжтой болгон бичдэг. +Үүний гол давуу тал нь та зөвхөн симбол нэрд харгалзах утгыг өөрчилвөл, скриптийг ажиллуулахад +уг симбол орлуулалт орсон дүрэм бүр шинэ утгыг авах болно. Скриптийн хувьд, +олон дахин хэрэглэгддэг утгуудыг бичихэд симбол орлуулалтыг ашиглаж, тэдгээрийг +олон дүрмэнд орлуулж өгнө гэсэн үг юм. Дараах жишээн дээрээс харна уу.</para> + + <para>Энд хэрэглэгдсэн скриптийн синтакс нь sh, csh, ба tcsh бүрхүүл дээр ажиллах +боломжтой.</para> + + <para>Симбол орлуулалтын талбарууд нь урдаа долларын тэмдэгтэй байна: <literal>$</literal>.</para> + + <para>Симбол талбарууд нь $ тэмдэг урдаа байхгүй.</para> + + <para>Симбол талбарыг орлох утга нь давхар хашилтан(<literal>"</literal>) дотор байрлана.</para> + + <para>Дүрмийн файлаа дараах байдалтай үүсгэж эхлэх хэрэгтэй:</para> + + <programlisting>############# 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 +EOF +################## End of IPF rules script ########################</programlisting> + + <para>Байх ёстой бүх зүйлс бүгд байна. Энэ жишээн дээр дүрмүүд чухал биш, +харин симбол орлуулалт хэрхэн ажилладгыг харуулсан байна. Хэрэв дээрх жишээ +<filename>/etc/ipf.rules.script</filename> нэртэй файл дотор байсан бол, эдгээр +дүрмүүдийг дараах тушаалыг өгч дахин ачаалах боломжтой:</para> + + <screen>&prompt.root; <userinput>sh /etc/ipf.rules.script</userinput></screen> + + <para>Суулгагдсан симболтой дүрмийн файлийг хэрэглэхэд нэг асуудал тулгардаг: +IPF симбол орлуулалтыг ойлгохгүй, ийм скриптийг шууд уншиж чаддаггүй.</para> + + <para>Дараах скриптийг хоёр аргын нэгээр хэрэглэж болно:</para> + + <itemizedlist> + <listitem> + <para><literal>cat</literal>-р эхэлсэн мөрийг ил гарга, харин +<literal>/sbin/ipf</literal>-р эхэлсэн мөрүүдийг далдал. <literal>ipfilter_enable="YES"</literal>-г +<filename>/etc/rc.conf</filename> файл дотор байрлуул, дараа нь өөрчлөлт бүрийн дараа скриптийг +ажиллуулан <filename>/etc/ipf.rules</filename> файлыг үүсгэ эсвэл өөрчлөлт оруул.</para> + </listitem> + + <listitem> + <para><filename>/etc/rc.conf</filename> файл дотор <literal>ipfilter_enable="NO"</literal> +(энэ анхдагч утга) мөрийг нэмэн системийн эхлэл скриптэд IPFILTER-г идэвхгүй болго.</para> + + <para>Дээрхтэй адил скриптийг өөрийн <filename>/usr/local/etc/rc.d/</filename> эхлэл хавтаст +байрлуул. Энэ скрипт <filename>ipf.loadrules.sh</filename> ч юмуу ойлгомжтой нэртэй байх ёстой. + + <filename>.sh</filename> гэсэн өргөтгөлтэй байх ёстой.</para> + + <programlisting>#!/bin/sh +sh /etc/ipf.rules.script</programlisting> + + <para>Энэ скриптийн эрхүүд эзэмшигч <username>root</username>-н хувьд +унших, бичих, ажиллах эрхтэй байх ёстой.</para> + + <screen>&prompt.root; <userinput>chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh</userinput></screen> + </listitem> + </itemizedlist> + + <para>Одоо систем ачаалсны дараа таны IPF дүрмүүд ачаалагдсан байх болно.</para> + </sect2> + + <sect2> + <title>IPF Дүрмүүдийн олонлог</title> + + <!-- XXX: looks incorrect (and duplicated 2 times in this chapter): + 1. Packet can be processed two times depend of firewall + firewall configuration, but "return trip back" is + another packet. + 2. "Each TCP/IP service ... is predefined by its protocol ..." + - this shold be about packet and it's parameters + (source/destination address and port). --> + + <para>Пакет дотор агуулагдаж байгаа утгуудыг үндэслэн тухайн пакетийг +нэвтрүүлэх болон хаахыг хэлж байгаа дүрмүүдийг дүрмийн олонлог гэнэ. Хостуудын +хоорондох хоёр чиглэлтэй пакет солилцоо нь сесс харилцааг бүрдүүлнэ. галт ханын +дүрмийн олонлогоор пакет хоёр дахин шүүгдэнэ, эхний удаа Интернетээс пакетийг +хүлээн авахад, дараагийн удаа буцаж Интернетрүү гарч явахад. Бүх TCP/IP үйлчилгээнүүдийн +хувьд (жишээ нь: telnet, www, mail, г.м.) ямар протоколоор ажиллах болон эхлэл ба +очих IP хаяг, эхлэл ба очих порт хаяг зэргийг урьдаас тодорхойлж өгсөн байдаг. +Эдгээр үзүүлэлтүүд дээр үндэслэн нэвтрүүлэх болох хаах дүрмүүдийг зохиодог.</para> + + + <indexterm> + <primary>IPFILTER</primary> + + <secondary>Дүрмүүдтэй ажиллах дэс дараалал</secondary> + </indexterm> +<para>IPF-г анх зохиохдоо <quote>сүүлд тохирсон дүрэм дийлнэ</quote> +логикийн дагуу бүтээсэн ба зөвхөн төлөвт-бус дүрмүүдийг ашигладаг байлаа. +Цаг хугацаа өнгөрөхөд IPF илүү хөгжиж, <quote>quick</quote> тохируулга +болон төлөвт <quote>keep state</quote> тохируулгуудыг агуулах болсон нь орчин үеийн +хэрэгцээ шаардлагад илүү нийцэх болжээ.</para> + + <para>Энэ бүлэгт байгаа зааврууд нь <quote>quick</quote> болон төлөвт <quote>keep state</quote> +тохируулгуудыг агуулсан дүрмүүдээс үндсэндээ бүрдсэн байгаа. Энэ бол хамааруулсан галт ханын дүрмүүдийг +бичих үндсэн арга барил юм.</para> + + <!-- XXX: something like this already in + <xref linkend="firewalls-concepts"> + AND: the para below is repeated 3 times in this chapter--> + +<para>Хамааруулсан галт хана нь зөвхөн дүрмэнд тохирсон пакетуудыг нэвтрүүлнэ. +Ийм маягаар галт ханын цаанаас Интернет уруу ямар ямар үйлчилгээнүүд +гарч болох болон эсрэгээр Интернетээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд хандаж +болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон +байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд +хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар +ярилцах болно.</para> + + <warning> + <para>Галт ханын дүрмүүдтэй ажиллахдаа <emphasis>маш +анхааралтай</emphasis> байх хэрэгтэй. Зарим тохиргоо серверээс +<emphasis>бүх холбоог тань тасалж</emphasis> мэднэ. Ийм аюулаас хол +байхын тулд, галт ханын тохиргоог анхлан хийхдээ <application>ssh</application> +зэрэг алсын хандалтаас илүүтэйгээр ойрын удирдлагыг сонгоорой.</para> + </warning> + </sect2> + + <sect2> + <title>Дүрмийн синтакс</title> + + <indexterm> + <primary>IPFILTER</primary> + + <secondary>дүрмийн синтакс</secondary> + </indexterm> + + <para>Энд дурдах дүрмийн синтакс нь орчин үеийн төлөвт +дүрмүүдийн хүрээнд, <quote>сүүлд тохирсон дүрэм дийлнэ</quote> логикоор +ажиллахаар хялбаршуулан бичигдсэн байгаа. Хуучин уламжлалт дүрмүүдийн +синтаксын бүрэн тайлбарыг &man.ipf.8; заавар хуудаснаас үзнэ үү.</para> + + <para><literal>#</literal> гэсэн тэмдэгт тайлбарын эхлэлийг заах ба +дүрэм бичсэн мөрийн төгсгөлд эсвэл өөрөө бүтэн мөр байдлаар байрлана. +Хоосон мөрийг тооцохгүй.</para> + + <para>Дүрмүүд нь түлхүүр үгүүдийг агуулна. Эдгээр түлхүүр үгүүд нь +тухайн мөрөнд зүүнээс баруун тийш тодорхой дэс дараагаар бичигдэнэ. +Түлхүүр үгүүд тодоор бичигдэх тул түүгээр нь ялгаж танина. Зарим түлхүүр +үгүүд дэд-тохируулгатай байна. Тэр нь өөрөө түлхүүр үг байж болохоос гадна +цааш дэд-тохируулгуудыг агуулсан байж болно. Доорх синтаксийн үг бүр нь +дор байрлах мөрүүдэд задаргааны хамт байгаа.</para> + + <!-- This section is probably wrong. See the OpenBSD flag --> + <!-- What is the "OpenBSD flag"? Reference please --> + + <para><replaceable>ACTION IN-OUT OPTIONS SELECTION STATEFUL PROTO + SRC_ADDR,DST_ADDR OBJECT PORT_NUM TCP_FLAG + STATEFUL</replaceable></para> + + <para><replaceable>ACTION</replaceable> = block | pass</para> + + <para><replaceable>IN-OUT</replaceable> = in | out</para> + + <para><replaceable>OPTIONS</replaceable> = log | quick | on + interface-name</para> + + <para><replaceable>SELECTION</replaceable> = proto value | + source/destination IP | port = number | flags + flag-value</para> + + <para><replaceable>PROTO</replaceable> = tcp/udp | udp | tcp | + icmp</para> + + <para><replaceable>SRC_ADD,DST_ADDR</replaceable> = all | from + object to object</para> + + <para><replaceable>OBJECT</replaceable> = IP address | any</para> + + <para><replaceable>PORT_NUM</replaceable> = port number</para> + + <para><replaceable>TCP_FLAG</replaceable> = S</para> + + <para><replaceable>STATEFUL</replaceable> = keep state</para> + + <sect3> + <title>ACTION</title> + + <para>Тухайн дүрмэнд тохирч байгаа пакетийг хэрхэхийг action буюу +үйлдэл зааж өгнө. Бүх дүрэм үйлдэлтэй <emphasis>байх ёстой</emphasis>. Дараах +үйлдлүүдийг хэрэглэж болно:</para> + + <para><literal>block</literal> гэдэг нь пакеттай selection буюу сонголтын +параметрүүд тохирч байвал тухайн пакетийг орхигдуулахыг зааж өгнө.</para> + + <para><literal>pass</literal> гэдэг нь пакеттай selection буюу сонголтын +параметрүүд тохирч байвал тухайн пакетийг нэвтрүүлэхийг зааж өгнө.</para> + </sect3> + + <sect3> + <title>IN-OUT</title> + + <para>Дүрэм нь орох болон гарах урсгалын алинд үйлчлэхийг +заавал зааж өгөх ёстой. Энэ нь in эсвэл out түлхүүр үгийн аль нэг нь заавал +бичигдсэн байх ёстой гэсэн үг юм. Үгүй бол синтаксийн алдаа өгч, танигдахгүй.</para> + + <para><literal>in</literal> гэдэг нь Интернет уруу харж байгаа +интерфэйс дээр хүлээж авсан дотогшоо ирж байгаа пакетийн хувьд энэ дүрэм +үйлчлэхийг зааж өгнө.</para> + + <para><literal>out</literal> гэдэг нь Интернет уруу харж байгаа +интерфэйс уруу чиглэсэн гадагшаа явж байгаа пакетийн хувьд энэ дүрэм үйлчлэхийг +зааж өгнө.</para> + </sect3> + + <sect3> + <title>OPTIONS</title> + + <note> + <para>Эдгээр options буюу тохируулгуудыг энд үзүүлсэн дэс +дарааллын дагуу хэрэглэх ёстой.</para> + </note> + + <para><literal>log</literal> гэдэг нь пакеттай selection буюу сонголтын +параметрүүд тохирч байвал пакетийн толгой + <!-- XXX - xref here --> + + <devicename>ipl</devicename> бүртгэл уруу (дор Бүртгэл Хөтлөх хэсэгт +заасны дагуу) бичигдэхийг зааж өгнө.</para> + +<para><literal>quick</literal> гэдэг нь пакеттай selection буюу сонголтын +параметрүүд тохирч байвал энэ дүрэм нь хамгийн сүүлийн дүрэм болохыг зааж өгнө. +Ингэснээр <quote>short-circuit</quote> замыг тухайн пакетийн хувьд дараагийн +дүрмүүдийг шалгахыг болиулна. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ +тохируулгыг заавал хэрэглэнэ.</para> + + <para><literal>on</literal> гэдэг нь selection буюу сонголтын +параметрүүдийн ажиллах интерфэйсийг зааж өгнө. Интерфэйсүүдийн нэрийг +&man.ifconfig.8;-н тусламжтай харж болно. Энэ тохируулгыг хэрэглэснээр, +тухайн дүрэм зөвхөн энэ интерфэйсээр зохих чиглэлд(in/out) явж байгаа +пакетийн хувьд үйлчилнэ. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ +тохируулгыг заавал хэрэглэнэ.</para> + + <para>пакетийг бүртгэхэд, түүний толгойг IPL пакет бүртгэх +хуурамч-төхөөрөмж уруу бичнэ. log түлхүүр үгийн дараа шууд залгаад, +дараах тодотгогчдыг(дараах дэс дарааллаар) хэрэглэж болно:</para> + + <para><literal>body</literal> гэдэг нь пакетийн толгойн дараа +пакетийн агуулгын эхний 128 байтыг бүртгэхийг зааж өгнө.</para> + + <para><literal>first</literal> Хэрэв <literal>log</literal> +түлхүүр үг <quote>keep state</quote> тохируулгын хамт хэрэглэгдсэн бол, +түүний араас ирэх <quote>keep state</quote>-д тохирч байгаа бүх пакетийг +биш зөвхөн энэ тохируулгыг идэвхжүүлсэн эхний пакетийг бүртгэхийн тулд +энэ тохируулгыг хэрэглэнэ.</para> + </sect3> + + <sect3> + <title>SELECTION</title> + + <para>Энэ бүлэгт танилцуулж байгаа түлхүүр үгүүд тухайн пакетийг +дүрмэнд тохирсон эсэхийг тогтоохын тулд шалгадаг пакетийн онцлогыг +тодорхойлоход хэрэглэгддэг. Мөн subject түлхүүр үг байх ба дэд-тохируулга +түлхүүр үгийн аль нэгийг сонгон хэрэглэнэ. Дараах ерөнхий онцлогуудыг +хэрэглэх боломжтой, гэхдээ доорх дэс дарааллаар хэрэглэх хэрэгтэй:</para> + </sect3> + + <sect3> + <title>PROTO</title> + + <para><literal>proto</literal> гэдэг нь subject түлхүүр үг бөгөөд +өөрийн харгалзах дэд-тохируулгын хамт хэрэглэгдэх ёстой. Утга нь +ямар протокол дээр ажиллахыг хэлж өгнө. Орчин үеийн дүрэмтэй +ажиллах логикийн хувьд энэ тохируулгыг заавал хэрэглэнэ.</para> + + <para><literal>tcp/udp | udp | tcp | icmp</literal> эсвэл +<filename>/etc/protocols</filename> файл дотор байгаа протоколуудыг +хэрэглэж болно. Тусгай <literal>tcp/udp</literal> гэсэн түлхүүр үг +<acronym>TCP</acronym> эсвэл UDP пакетийг сонгоход хэрэглэгддэг ба, +давхар эсвэл төстэй дүрмүүдийг арилгах үүднээс нэмэгдсэн байгаа.</para> + </sect3> + + <sect3> + <title>SRC_ADDR/DST_ADDR</title> + + <para><literal>all</literal> гэсэн түлхүүр үг нь +өөр ямар ч параметргүй <quote>from any to any</quote> гэдэгтэй адил юм.</para> + + <para><literal>from src to dst</literal>: from ба to гэсэн +түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. Дүрэмд хэрэглэхдээ эхлэл ба +очих параметрийг ХОЁУЛАНГ зааж өгөх ёстой. <literal>any</literal> +гэсэн тусгай түлхүүр үгийн тусламжтай бүх IP хаягийг зөвшөөрч өгч болно. +Хэрэглэх жишээ: <quote>from any to any</quote> + эсвэл <quote>from 0.0.0.0/0 to any</quote> эсвэл <quote>from any to + 0.0.0.0/0</quote> эсвэл <quote>from 0.0.0.0 to any</quote> эсвэл + <quote>from any to 0.0.0.0</quote>.</para> + + <!-- XXX: Needs rewording --> + + <para>IP хаягийг цэгтэй тоон хэлбэр болон багийн хамт эсвэл +зүгээр цэгтэй тоон хэлбэрээр бичиж болно.</para> + + <para>Багаар хялбархан илэрхийлэх боломжгүй IP хаягуудыг +хэрэглэх боломжгүй. Баг бичих талаар тусламжийг дараах веб хуудсаар +орж үзнэ үү: <ulink url="http://jodies.de/ipcalc"></ulink>.</para> + </sect3> + + <sect3> + <title>PORT</title> + + <para>Хэрэв эхлэл эсвэл очих порт, эсвэл хоёулангаар нь тохируулах бол +энэ нь зөвхөн <acronym>TCP</acronym> ба UDP пакетуудад хамаарна. Порт жишсэн дүрэм +бичихдээ <filename>/etc/services</filename> файл доторх үйлчилгээний нэр эсвэл +бүхэл тоон портын дугаарыг хэрэглэнэ. Портыг from обьекттой хамт хэрэглэх үед +энэ нь эхлэл портын дугаарыг, to обьекттой хамт хэрэглэх үед +энэ нь очих портын дугаарыг заана. Орчин үеийн дүрэмтэй +ажиллах логикийн хувьд port тохиргоог <literal>to</literal> обьекттой +заавал хамт хэрэглэнэ. Хэрэглэх жишээ: <quote>from any to any port = 80</quote></para> + + <!-- XXX: Needs rewriting --> + + <para>Портыг жиших оператороор эсвэл порт зурвасыг зааж өгөх +зэргээр хэд хэдэн янзаар жишиж болно.</para> + + <para>port "=" | "!=" | "<" | ">" | "<=" | ">=" | + "eq" | "ne" | "lt" | "gt" | "le" | "ge".</para> + + <para>Порт зурвасыг зааж өгөхдөө, port "<>" | + "><" гэж хэрэглэнэ.</para> + + <warning> + <para>Орчин үеийн дүрэмтэй +ажиллах логикийн хувьд эхлэл болон очих порт тохируулах параметрүүдийн дараа, +дараах хоёр параметрийг заавал хэрэглэнэ.</para> + </warning> + </sect3> + + <sect3> + <title><acronym>TCP</acronym>_FLAG</title> + + <para>Тугуудыг зөвхөн <acronym>TCP</acronym> шүүлтийн үед хэрэглэнэ. +Үсгүүдээр нь <acronym>TCP</acronym> пакетийн толгойтойг шалгах боломжит тугуудыг +үзүүлсэн байна.</para> + + <para>Орчин үеийн дүрэмтэй ажиллах логик нь <literal>flags S</literal> параметрыг +tcp сесс эхлүүлэх хүсэлтийг тэмдэглэхдээ хэрэглэдэг.</para> + </sect3> + + <sect3> + <title>STATEFUL</title> + + <para><literal>keep state</literal> гэдэг нь нэвтрүүлэх төрлийн дүрмийн хувьд +сонгох параметрүүдтэй тохирсан ямар ч пакет төлөвт шүүх нэмэлт боломжийг идэвхжүүлэх ёстойг +зааж өгнө.</para> + + <note> + <para>Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ тохируулгыг заавал +хэрэглэнэ.</para> + </note> + </sect3> + </sect2> + + <sect2> + <title>Төлөвт шүүлт</title> + + <indexterm> + <primary>IPFILTER</primary> + + <secondary>төлөвт шүүлт</secondary> + </indexterm> + + <!-- XXX: duplicated --> + + <para> Хостуудын хоорондох хоёр чиглэлтэй пакет солилцоо сесс харилцаанаас бүрддэг. +Төлөвт шүүлт нь урсгалыг сесс харилцаанаас бүрдэж буй хоёр чиглэлтэй пакет +солилцоо гэж үздэг. keep-state-г идэвхжүүлсэн үед, keep-state нь хоёр чиглэлтэй сесс харилцааны +үед солилцсон бүх пакетуудын хувьд дотоод дүрмүүдийг динамик байдлаар үүсгэдэг. Мөн +энэ нь сесс эхлүүлсэн болон хүлээн авсан хостуудын хоорондох сесс харилцаа нь +хоёр чиглэлтэй пакет солилцох процедуртай зохицож байгаа эсэхийг магадлах чадвартай байдаг. +Сесс харилцааны загварт зохицоогүй пакетийг хуурамч гэж үзэн хүлээж авахгүй.</para> + + <para><acronym>TCP</acronym> эсвэл UDP сесстэй холбоотой +ICMP пакетуудыг keep state нэвтрүүлнэ. Тэгэхээр, keep state дүрмээр +зөвшөөрөгдсөн вебээр хийх аялалын хариуд ICMP type 3 code 4 хариуг хүлээн авбал +галт хана үүнийг автоматаар нэвтрүүлнэ гэсэн үг юм. Хэрэв IPF хүлээн авсан пакетийг +идэвхтэй байгаа сессын нэг хэсэг гэж баттай итгэж байвал, өөр протокол дээр байсан ч +пакетийг нэвтрүүлнэ.</para> + + <para>Үүний цаана юу болох вэ гэвэл:</para> + + <para>Интернет уруу холбогдсон интерфэйсээр гарч байгаа пакетуудыг +хамгийн түрүүнд динамик төлөвийн хүснэгтэнд шалгана. Хэрэв тухайн пакет ямар нэг +идэвхтэй байгаа сесс харилцаанд оролцож байгаа зөвшөөрөгдсөн дараагийн пакет +байх юм бол, галт ханаар нэвтрүүлэх ба динамик төлөвийн хүснэгтэн дэх +сесс харилцааны төлөв шинэчлэгдэнэ. Үлдсэн пакетуудыг гадагшаа урсгалын дүрмээр +шалгах болно.</para> + + <para>Интернет уруу холбогдсон интерфэйс дээр ирж байгаа пакетуудыг +хамгийн түрүүнд динамик төлөвийн хүснэгтэнд шалгана. Хэрэв тухайн пакет ямар нэг +идэвхтэй байгаа сесс харилцаанд оролцож байгаа зөвшөөрөгдсөн дараагийн пакет +байх юм бол, галт ханаар нэвтрүүлэх ба динамик төлөвийн хүснэгтэн дэхь +сесс харилцааны төлөв шинэчлэгдэнэ. Үлдсэн пакетуудыг дотогшоо урсгалын дүрмээр +шалгах болно.</para> + + <para>Харилцаа дуусахад динамик төлөвийн хүснэгтээс зохих бичлэг +устгагдана.</para> + + <para>Төлөвт шүүлтийн тусламжтайгаар та шинэ сесс зөвшөөрөх/хаах +үйл ажиллагаан дээр төвлөрч ажиллаж чадна. Хэрэв шинэ сесс зөвшөөрөгдсөн бол +түүний дараагийн бүх пакетуудыг автоматаар нэвтрүүлэх ба хуурамч пакетууд +автоматаар буцаагдана. Хэрэв шинэ сесс хаагдсан бол +түүний дараагийн ямар ч пакет нэвтэрч чадахгүй. Төлөвт шүүлт нь +сүүлийн үеийн халдлагуудад ашиглагдаж байгаа аргуудын эсрэг хамгаалах +чадвартай техникийн хувьд өндөр түвшний асуулга явуулах чадвартай юм.</para> + </sect2> + + <sect2> + <!-- XXX: This section needs a rewrite --> + + <title>Хамааруулсан дүрмийн олонлогийн жишээ</title> + + <para>Дараах дүрмийн олонлог нь аюулгүй байдлыг маш сайн хангасан, хамааруулсан +галт ханын дүрмүүдийг хэрхэн бичих жишээ юм. Хамааруулсан галт хана нь зөвхөн pass дүрмүүдэд +тохирсон үйлчилгээг зөвшөөрч, бусдыг бүгдийг хаана. Бүх галт ханууд хамгийн багадаа хоёр +интерфэйстэй байх ба галт хана маягаар ажиллахын тулд дүрмүүдийг тусгайлан зааж өгсөн байна.</para> + + <para>&os;-г оролцуулаад бүх &unix; төрлийн систем нь үйлдлийн систем дэх +дотоод харилцаандаа <devicename>lo0</devicename> интерфэйс болон <hostid role="ipaddr">127.0.0.1</hostid> +гэсэн IP хаягийг хэрэглэхээр бүтээгдсэн байдаг. Галт ханын дүрмүүд нь дотооддоо хэрэглэж байгаа +эдгээр пакетуудыг чөлөөтэй нэвтрүүлэх дүрмүүдийг агуулсан байх ёстой.</para> + + <para>Интернеттэй холбогдож байгаа интерфэйс дээр та өөрийн +Интернет уруу гарч байгаа болон Интернетээс ирж байгаа хандалтыг удирдах +болон хянах дүрмүүдийг байрлуулна. Энэ нь таны PPP <devicename>tun0</devicename> +интерфэйс эсвэл таны DSL эсвэл кабель модемд холбогдсон NIC байж болно.</para> + + <para>Галт ханын цаана байгаа хувийн LAN-уудад нэг болон түүнээс дээш тооны NIC-ууд +холбогдсон тохиолдолд, тэдгээр интерфэйсүүдийн хувьд тэдгээр LAN интерфэйсүүдээс ирсэн +пакетуудыг чөлөөтэй нэвтрүүлэх дүрмийг агуулсан байх ёстой.</para> + + <para>Дүрмүүд эхлээд гурван үндсэн хэсэгт хуваагдан зохион байгуулагдсан байх +ёстой: бүх чөлөөт халдашгүй интерфэйсүүд, нийтийн гадагшаа интерфэйс, ба +нийтийн дотогшоо интерфэйс.</para> + + <para>Нийтийн интерфэйс хэсэгт байгаа дүрмүүд тухайн интерфэйс болон чиглэлийн +хувьд хамгийн олон тохиолддог дүрмүүд нь хамгийн түрүүнд, цөөн тохиолддог дүрмүүдээс өмнө байхаар, +хаах болох бүртгэх дүрмүүд нь хамгийн сүүлд байхаар бичигдсэн байна.</para> + + <para>Дараах жишээн дээрх Гадагшаа хэсэг нь Интернет хандалтыг зөвшөөрч өгөх +үйлчилгээг тодорхойлох сонголтын утгуудыг агуулсан зөвхөн 'pass' дүрмүүдээс бүрдэж байна. +Бүх дүрмүүд 'quick', 'on', 'proto', 'port', ба 'keep state' тохируулгуудыг агуулсан байгаа. +'proto tcp' дүрмүүд нь төлөвт байдлыг идэвхжүүлж байгаа пакетийг тодорхойлох байдлаар, +сесс эхлүүлэх хүсэлтийг тодорхойлох зорилгоор 'flag' тохируулгыг агуулсан байна.</para> + + <para>Дотогшоо хэсэгт эхлээд хүсээгүй пакетуудыг хаах дүрмүүдийг бичсэн байна. +Энэ нь хоёр өөр шалтгаантай. Эхнийх нь, энэ дүрмүүдээр хаагдсан зүйлс нь +доор байгаа өөр нэг дүрмээр зөвшөөрөгдсөн пакетийн нэг хэсэг байж болох талтай. Хоёр дахь +шалтгаан нь, цөөхөн тоотой хүлээж авдаг ба бүртгэх хүсэлгүй байгаа пакетуудыг сонгон, тэдгээрийг +бүрнээр хаах дүрмийг эхлээд бичиж өгснөөр эдгээр пакетууд хамгийн сүүлд байгаа ямар ч дүрмүүдэд +тохироогүй пакетуудыг бүртгээд хаана гэсэн дүрмээр дайрахгүй болгож байгаа юм. Учир нь энэ хэсгийн хамгийн +сүүлд байгаа бүгдийг бүртгээд хаана гэсэн дүрэм бол өөрийн систем уруу халдаж байгаа халдлагын нотолгоог +цуглуулах таны нэг арга билээ.</para> + + <para>Өөр нэг тэмдэглэн хэлэх зүйл бол, хүсээгүй пакетуудын хариуд ямар ч хариу явуулахгүй, +тэд зүгээр л орхигдож алга болно. Ингэснээр халдлага явуулагч түүний явуулсан пакетууд +таны системд хүрсэн эсэх талаар юу ч мэдэхгүй үлдэх болно. Таны системийн талаар хэдий хэр бага мэднэ, +тэд ямар нэг муу зүйл хийж чадах хүртэл төдий чинээ урт хугацаа зарцуулна гэсэн үг юм. +Дотогшоо 'nmap OS fingerprint' оролдлогын эхний тохиолдлыг би бүртгэж байгаа, + + <!-- XXX: what? --> + + яагаад гэвэл энэ бол гадны халдлагын нэг хэлбэр юм.</para> + + <para>'log first' орсон дүрмийн хувьд та анхны бүртгэлийг харах юм бол +<command>ipfstat -hio</command> тушаалаар энэ дүрэм хэдэн удаа тохирсон байгааг +шалгаарай. Магадгүй та хадлагад өртөж байж болох юм.</para> + + <para>Хэрвээ мэдэхгүй дугаартай портын хувьд пакетууд бүртгэгдсэн байвал +<filename>/etc/services</filename> файлаас эсвэл +<ulink url="http://www.securitystats.com/tools/portsearch.php"></ulink> хаягаар тухайн +порт ямар зориулалтаар ашиглагддагийг орж шалгаарай.</para> + + <para>Троянуудын хэрэглэдэг портын дугааруудыг +<ulink url="http://www.simovits.com/trojans/trojans.html"></ulink> хаягаар орж шалгаарай.</para> + + <para>Дараах дүрмийн олонлог нь миний өөрийн систем дээрээ хэрэглэдэг +аюулгүй байдлыг бүрэн хангасан хамааруулсан галт ханын дүрмийн олонлог байгаа юм. +Та энэ дүрмүүдийг өөрийн системдээ ашиглахад буруудах юмгүй. +Зөвшөөрөхийг хүсэхгүй байгаа үйлчилгээнүүдийн хувьд харгалзах +нэвтрүүлэх дүрмийг далдлаарай.</para> + + <para>Хэрэв бүртгэлд байгаа зарим мэдэгдэлийг дахин харахыг хүсэхгүй, бүртгэхийг +хүсэхгүй байгаа бол дотогшоо хэсэгт хаах дүрэм нэмж бичээрэй.</para> + + <para>Дүрэм бүрт байгаа <devicename>dc0</devicename> гэсэн интерфэйсийн нэрийн оронд +таны системийг Интернет уруу холбож байгаа NIC картны интерфэйсийн нэрийг сольж тавиарай. +Хэрэглэгчийн PPP-н хувьд, энэ нь <devicename>tun0</devicename> байна.</para> + + <para>Дараах илэрхийллүүдийг <filename>/etc/ipf.rules</filename> дотор бичих хэрэгтэй:</para> + + <programlisting>################################################################# +# 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 + + +# 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 IP<acronym>NAT</acronym> 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 +block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918 private IP +block in quick on dc0 from 127.0.0.0/8 to any #loopback +block in quick on dc0 from 0.0.0.0/8 to any #loopback +block in quick on dc0 from 169.254.0.0/16 to any #DHCP auto-config +block in quick on dc0 from 192.0.2.0/24 to any #reserved for docs +block in quick on dc0 from 204.152.64.0/23 to any #Sun cluster interconnect +block in quick on dc0 from 224.0.0.0/3 to any #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 = 137 +block in log first quick on dc0 proto tcp/udp from any to any port = 138 +block in log first quick on dc0 proto tcp/udp from any to any port = 139 +block in log first quick on dc0 proto tcp/udp from any to any port = 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 + +# 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 #####################################</programlisting> + </sect2> + + <sect2> + <title><acronym>NAT</acronym></title> + + <indexterm><primary>NAT</primary></indexterm> + + <indexterm> + <primary>IP маскарад</primary> + + <see>NAT</see> + </indexterm> + + <indexterm> + <primary>сүлжээний хаягийн хөрвүүлэлт</primary> + + <see>NAT</see> + </indexterm> + + <para><acronym>NAT</acronym> нь Network Address Translation буюу +Сүлжээний хаягийн Хөрвүүлэлтийн товчлол юм. &linux;-н талаар ойлголттой хүмүүсийн хувьд, +энэ ойлголтыг IP маскарад гэж нэрлэдэг; <acronym>NAT</acronym> ба IP маскарад +нь нэг зүйл юм. IPF <acronym>NAT</acronym>-н бидэнд олгож байгаа олон зүйлүүдийн нэг бол +галт ханын цаана байгаа Local Area Network буюу Ойрын Зайн Сүлжээ(LAN)-н хувьд +ISP-с оноож өгсөн ганц IP хаягийг Интернетэд хуваан хэрэглэх юм.</para> + + <para>Ингэх ямар шаардлага байнаа гэж та гайхан асуух байх. +ISP-нууд өөрийн ашгийн-бус хэрэглэгчиддээ ихэвчлэн динамик IP хаяг оноодог. +Динамик гэдэг нь таныг ISP-руу залган нэвтрэн орох болгонд, кабель эсвэл +DSL модемтой хэрэглэгчдийн хувьд модемоо асааж унтраах болгонд танд +өөр өөр IP хаяг онооно гэсэн үг юм. Энэ IP хаягаар та Интернетэд гарах болно.</para> + + <para>Та гэртээ таван PC-тэй бөгөөд бүгд Интернет уруу гардаг байх хэрэгтэй гэж бодъё. + Тэгвэл та PC тус бүрт тусад нь эрх худалдан авч, таван утасны үзүүртэй байх хэрэгтэй болно.</para> + + <para>Тэгвэл <acronym>NAT</acronym>-н тусламжтай та ISP-гаасаа зөвхөн ганцхан эрх худалдан аваад, +бусад дөрвөн PC-гээ switch буюу шилжүүлэгч уруу холбож, харин switch-ээ таны LAN-нд гарц байдлаар ажиллах +&os; системийн NIC- уруу залгана. <acronym>NAT</acronym> нь LAN-д байгаа бүх PC-ны хувьд хувийн IP +хаягийг ганцхан гадаад IP хаяг уруу автоматаар хөрвүүлэх болно. <acronym>NAT</acronym> нь эргэж +ирж байгаа пакетуудын хувьд эсрэг хөрвүүлэлтийг мөн хийнэ.</para> + + <para>Ихэнх тохиолдолд <acronym>NAT</acronym>-г ISP-н зөвшөөрөлгүйгээр, +мэдэгдэлгүйгээр хийдэг бөгөөд хэрэв ISP энэ тухайн мэдвэл таны эрхийг хаах +хүртэл арга хэмжээ авдаг. Зүй нь бол хэрэглэгчид Интернет холболтондоо илүү мөнгө +төлж, хэзээ ч өөрчлөгдөхгүй бүлэг статик IP хаягийг авах явдал юм. ISP харин хэрэглэгчиддээ +итгэл хүлээлгэн хэрэглэгчид нь <acronym>NAT</acronym>-г дотоод хувийн LAN-даа хэрэглэнэ гэж боддог.</para> + + <para><acronym>NAT</acronym> хийгдсэн хувийн LAN IP хаягт зориулж бүлэг IP хаягийг тусгайлан +гаргасан байдаг. RFC 1918 стандартад зааснаар бол, дараах бүлэг IP-г хувийн сүлжээндээ ашиглах +боломжтой, эдгээр IP хэзээ ч гадаад Интернет уруу гарахгүй болно:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + + <colspec colwidth="1*"> + + <colspec colwidth="1*"> + + <tbody> + <row> + <entry>Эхлэх IP <hostid role="ipaddr">10.0.0.0</hostid></entry> + + <entry>-</entry> + + <entry>Төгсөх IP <hostid role="ipaddr">10.255.255.255</hostid></entry> + </row> + + <row> + <entry>Эхлэх IP <hostid role="ipaddr">172.16.0.0</hostid></entry> + + <entry>-</entry> + + <entry>Төгсөх IP <hostid role="ipaddr">172.31.255.255</hostid></entry> + </row> + + <row> + <entry>Эхлэх IP <hostid role="ipaddr">192.168.0.0</hostid></entry> + + <entry>-</entry> + + <entry>Төгсөх IP <hostid role="ipaddr">192.168.255.255</hostid></entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2> + <title>IP<acronym>NAT</acronym></title> + + <indexterm> + <primary>NAT</primary> + + <secondary>ба IPFILTER</secondary> + </indexterm> + + <indexterm><primary><command>ipnat</command></primary></indexterm> + + <para><acronym>NAT</acronym> дүрмүүдийг <command>ipnat</command> тушаалын +тусламжтай ачаална. Ихэвчлэн <acronym>NAT</acronym> дүрмүүд <filename>/etc/ipnat.rules</filename> +файл дотор байрлана. Дэлгэрэнгүйг &man.ipnat.1; хэсгээс үзнэ үү.</para> + + <para><acronym>NAT</acronym> ажиллаж эхэлсний дараа <acronym>NAT</acronym> дүрмүүдэд +өөрчлөлт оруулах шаардлагатай бол NAT дүрмүүд байгаа файл дотор өөрчлөлтийг хийсний дараа, +одоо хэрэглэгдэж байгаа <acronym>NAT</acronym> дүрмүүдийг устгаж, хөрвүүлэгч хүснэгтийг цэвэрлэхийн +тулд ipnat тушаалыг <option>-CF</option> тугийн хамт ажиллуулах хэрэгтэй.</para> + + <para>Харин <acronym>NAT</acronym> дүрмүүдийг дахин ачаалахдаа тушаалыг +дараах байдалтай өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>ipnat -CF -f /etc/ipnat.rules</userinput></screen> + + <para><acronym>NAT</acronym>-н талаар зарим статистикийг харъя гэвэл дараах +тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>ipnat -s</userinput></screen> + + <para><acronym>NAT</acronym> хүснэгтийн одоо ашиглаж байгаа оноолтын жагсаалтыг +харахын тулд дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>ipnat -l</userinput></screen> + + <para>Вербос буюу хэр зэрэг харуулах горимыг нээхийн тулд, дүрэмтэй ажиллах болон идэвхтэй +байгаа дүрмүүдийн хүснэгтийг харахын тулд:</para> + + <screen>&prompt.root; <userinput>ipnat -v</userinput></screen> + </sect2> + + <sect2> + <title>IP<acronym>NAT</acronym> Дүрмүүд</title> + + <para><acronym>NAT</acronym> дүрмүүд нь маш уян хатан бөгөөд хэрэглэгчдийн +хэрэгцээг хангах олон зүйлүүдийг хийж чадна.</para> + + <para>Энд үзүүлсэн дүрмийн синтаксийг ашгийн-бус орчинд ихэвчлэн хэрэглэгддэг +дүрмүүдэд зориулан хялбаршуулсан байгаа. Дүрмийн синтаксийн бүрэн тайлбарыг &man.ipnat.5; +заавар хуудаснаас үзнэ үү.</para> + + <para><acronym>NAT</acronym> дүрмийн синтакс дараах байдалтай байна:</para> + + <programlisting>map <replaceable>IF</replaceable> <replaceable>LAN_IP_RANGE</replaceable> -> <replaceable>PUBLIC_ADDRESS</replaceable></programlisting> + + <para>Дүрэм нь <literal>map</literal> гэсэн түлхүүр үгээр эхэлнэ.</para> + + <para><replaceable>IF</replaceable>-г гадаад интерфэйсээр сольж тавина.</para> + + <para><replaceable>LAN_IP_RANGE</replaceable> нь танай дотоод хэрэглэгчийн +хэрэглэж буй IP хаяглалтыг заана, ихэвчлэн <hostid role="ipaddr">192.168.1.0/24</hostid> +гэсэн маягтай байна.</para> + + <para><replaceable>PUBLIC_ADDRESS</replaceable> нь гадаад IP +байж болно эсвэл <replaceable>IF</replaceable>-д оноосон IP хаягийг +хэрэглэхийг заасан <literal>0/32</literal> гэсэн тусгай түлхүүр үг байж болно.</para> + </sect2> + + <sect2> + <title><acronym>NAT</acronym> хэрхэн ажилладаг вэ</title> + + <para>Гадаад очих хаягтай пакет галт хана дээр LAN-с хүрэлцэн ирнэ. +Эхлээд гадагшаа шүүлтийн дүрмүүдээр гарна, дараа нь <acronym>NAT</acronym>-н +ээлж ирэх ба өөрийн дүрмүүдийг дээрээс доош шалгаж эхэлнэ. Хамгийн эхэнд тохирсон нь +дийлнэ. <acronym>NAT</acronym> өөрийн дүрэм бүрийг пакетийн интерфэйсийн нэр болон +эхлэл хаягаар тулгаж шалгана. Пакетийн интерфэйсийн нэр <acronym>NAT</acronym> +дүрэмтэй тохирвол пакетийн [эхлэл IP хаяг, өөрөөр хэлбэл хувийн LAN IP хаяг] +<acronym>NAT</acronym> дүрмийн сумны зүүн талд зааж өгсөн +IP хаягийн зурвас дотор байгаа эсэхийг шалгана. Хэрэв энэ тохирвол +пакетийн эхлэл хаягийг <literal>0/32</literal> түлхүүр үгийн тусламжтай +олж авсан гадаад IP хаягаар сольж бичнэ. <acronym>NAT</acronym> +өөрийн дотоод <acronym>NAT</acronym> хүснэгтэнд бичлэг нэмэх ба энэ нь +пакет Интернетээс буцаж ирэхэд түүнийг буцаан хувийн IP хаяг уруу нь хөрвүүлэн, +цааш шүүлтийн дүрмүүдээр оруулах боломжийг олгоно.</para> + </sect2> + + <sect2> + <title>IP<acronym>NAT</acronym>-г идэвхжүүлэх</title> + + <para>IP<acronym>NAT</acronym>-г идэвхжүүлэхийн тулд эдгээр илэрхийллүүдийг +<filename>/etc/rc.conf</filename> дотор нэмж бичнэ.</para> + + <para>Өөрийн машиныг интерфэйсүүдийн хооронд пакетуудыг чиглүүлдэг +болгохын тулд:</para> + + <programlisting>gateway_enable="YES"</programlisting> + + <para>Систем ачаалахад IP<acronym>NAT</acronym>-г автоматаар ачаалдаг +болгохын тулд:</para> + + <programlisting>ipnat_enable="YES"</programlisting> + + <para>IP<acronym>NAT</acronym>-н дүрмүүдийг хаанаас ачаалахыг зааж өгөхдөө:</para> + + <programlisting>ipnat_rules="/etc/ipnat.rules"</programlisting> + </sect2> + + <sect2> + <title>Маш том LAN-д зориулсан <acronym>NAT</acronym></title> + + <para>LAN-даа олон тооны PC-тэй сүлжээний хувьд эсвэл нэгээс олон +LAN-тай сүлжээний хувьд, энэ олон хувийн IP хаягуудыг нэг гадаад IP хаяг уруу +нийлүүлэх үйл явцад <acronym>NAT</acronym> хийгдсэн олон LAN PC дээр ижил портын +дугаар олон дахин хэрэглэгдсэнээс мөргөлдөөн үүсэх гэх мэт нөөцтэй холбоотой асуудал гардаг. +Нөөцтэй холбоотой энэ асуудлаас гарахын тулд дараах хоёр арга зам байдаг.</para> + + <sect3> + <title>Хэрэглэх портуудыг оноох</title> + + <!-- What does it mean ? Is there something missing ?--> + <!-- XXXBLAH <- Apparently you can't start a sect + with a <programlisting> tag ?--> + + <para>Энгийн NAT дүрэм дараах байдалтай байна:</para> + + <programlisting>map dc0 192.168.1.0/24 -> 0/32</programlisting> + + <para>Дээрх дүрмэнд пакет IP<acronym>NAT</acronym>-р дайрч өнгөрөхөд +пакетийн эхлэл порт өөрчлөгдөхгүй. portmap гэсэн түлхүүр үгийн тусламжтай +IP<acronym>NAT</acronym> эхлэл порт зурвасыг ашиглах боломжтой болно. +Жишээ нь, дараах дүрэм IP<acronym>NAT</acronym>-г эхлэл порт хаягийг +тухайн зурвас дотор байхаар өөрчлөхийг зааж өгч байна.</para> + + <programlisting>map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000</programlisting> + + <para>Дээр нь бид <literal>auto</literal> түлхүүр үгийн тусламжтай +аль портуудыг ашиглах боломжтой байгааг өөрөө тодорхойлохыг зааж өгч болно:</para> + + <programlisting>map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto</programlisting> + </sect3> + + <sect3> + <title>Гадаад хаягийн цөөрөмийг хэрэглэх</title> + + <para>Маш том LAN-уудын хувьд дэндүү олон LAN хаягуудыг нэг гадаад +хаягт оноох нь боломжгүй болох үе ирдэг. Хэрэв бүлэг гадаад IP сул байгаа бол, +та эдгээр IP хаягуудыг <quote>цөөрөм</quote> байдлаар ашиглаж болох ба, +IP<acronym>NAT</acronym> эдгээрээс нэгийг сонгон авч гадагшаа явж байгаа +пакетийн хаягт оноох байдлаар хэрэглэх болно.</para> + + <para>Жишээ нь, доор үзүүлсэн шиг бүх пакетуудыг ганц +гадаад IP-д оноохын оронд:</para> + + <programlisting>map dc0 192.168.1.0/24 -> 204.134.75.1</programlisting> + + <para>гадаад IP хаягийн зурвасыг сүлжээний хуваалтын хамт зааж өгч болно:</para> + + <programlisting>map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0</programlisting> + + <para>эсвэл CIDR тэмдэглэгээг хэрэглэж болно:</para> + + <programlisting>map dc0 192.168.1.0/24 -> 204.134.75.0/24</programlisting> + </sect3> + </sect2> + + <sect2> + <title>Портын дахин чиглүүлэлт</title> + + <para>LAN дотор веб сервер, цахим шуудангийн сервер, өгөгдлийн +сангийн сервер болон DNS серверийг өөр өөр PC дээр тараан ажиллуулах нь +түгээмэл байдаг. Энэ тохиолдолд эдгээр серверээс гарч байгаа урсгал +мөн <acronym>NAT</acronym> хийгдсэн байх ёстой. Гэхдээ гаднаас ирж буй +урсгалыг зөв LAN PC уруу дахин чиглүүлэх арга зам байх хэрэгтэй болно. +Энэ асуудлыг шийдэхийн тулд IP<acronym>NAT</acronym> нь дахин чиглүүлэлт хийх +<acronym>NAT</acronym> нэмэлт боломжийг олгодог. Таны веб сервер +<hostid role="ipaddr">10.0.10.25</hostid> гэсэн LAN хаягтай байна, +мөн та <hostid role="ipaddr">20.20.20.5</hostid> гэсэн ганц гадаад IP-тай +байлаа гэж бодъё. Тэгвэл та дүрмээ дараах байдалтай:</para> + + <programlisting>rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80</programlisting> + + <para>эсвэл:</para> + + <programlisting>rdr dc0 0/32 port 80 -> 10.0.10.25 port 80</programlisting> + + <para>эсвэл гаднаас DNS хүсэлтүүд хүлээн авдаг +<hostid role="ipaddr">10.0.10.33</hostid> гэсэн хаягтай LAN DNS Серверийн хувьд:</para> + + <programlisting>rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp</programlisting> + + <para>гэж бичих байсан.</para> + </sect2> + + <sect2> + <title>FTP ба <acronym>NAT</acronym></title> + + <para>FTP-г Интернет одоогийнх шиг байхаас өмнөх үе, их сургуулиуд +түрээсийн шугамаар хоорондоо холбогдож, судлаач эрдэмтэд хоорондоо файл солилцохын тулд +FTP-г ашигладаг байх үес үлдсэн үлэг гүрвэл гэж хэлж болох юм. Тэр үед +өгөгдлийн аюулгүй байдлын талаар огт анхаардаггүй байлаа. Цаг хугацаа өнгөрөхөд +FTP протоколыг шинээр гарч ирж байгаа Интернетийн гол нуруу сүлжээнд хэрэглэх болсон ба +түүний хэрэглэгчийн нэр, нууц үгийг цэвэр текст хэлбэрээр дамжуулдаг байдал нь +хэзээ ч өөрчлөгдөөгүй бөгөөд орчин үеийн аюулгүй байдлын шаардлагад +нийцэхгүй болсон билээ. FTP нь active буюу идэвхтэй, passive буюу идэвхгүй гэсэн хоёр +горимд ажилладаг. Өгөгдлийн сувгийг хэрхэн ашиглаж байгаа дээр гол ялгаа нь гардаг. +Өгөгдлийн сувгийг ftp сесс хүсэгч байдлаар ажиллуулдаг тул идэвхгүй горимд ажиллах +нь аюулгүй байдлыг илүүтэйгээр хангана. FTP-н талаар илүү сайн тайлбарыг болон түүний +горимуудын талаар <ulink url="http://www.slacksite.com/other/ftp.html"></ulink> хаягаар үзнэ үү.</para> + + <sect3> + <title>IP<acronym>NAT</acronym> Дүрмүүд</title> + + <para>IP<acronym>NAT</acronym> нь дотроо <acronym>NAT</acronym> +оноолт дүрэмд тодорхойлж өгөх боломжтой тусгай FTP прокси тохируулгыг +агуулсан байдаг. Энэ нь идэвхтэй болон идэвхгүй FTP сесс эхлүүлэх хүсэлтэнд +оролцож байгаа бүх гадагшаа чиглэлтэй FTP пакетийг хянаж чадна. Мөн +өгөгдлийн сувагт үнэхээр хэрэглэгдэж байгаа порт дугаарыг агуулсан түр зуурын +шүүлтийн дүрмүүдийг динамикаар үүсгэж чадна. Ийм байдлаар FTP-с болж үүсдэг +дээд хэсгийн портуудыг өргөн зурвасаар нээх эрсдэлээс галт ханыг хамгаалж байгаа юм.</para> + + <para>Доорх дүрэм нь дотоод LAN-н бүх урсгалыг зохицуулна:</para> + + <programlisting>map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp</programlisting> + + <para>Доорх дүрэм гарцаас ирж буй FTP урсгалыг зохицуулна:</para> + + <programlisting>map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp</programlisting> + + <para>Доорх дүрэм дотоод LAN-с ирж буй бүх FTP-н биш урсгалыг зохицуулна:</para> + + <programlisting>map dc0 10.0.10.0/29 -> 0/32</programlisting> + + <para>FTP оноолтын дүрэм нь бидний ердийн оноолтын дүрмүүдийн өмнө бичигдэнэ. +Бүх пакетийг хамгийн дээр бичигдсэн дүрмээс эхлэн шалгана. +Интерфэйсийн нэр тохирвол дотоод LAN эхлэл IP хаяг, дараа нь FTP пакет эсэхийг +шалгана. Хэрэв бүгд тохирвол, тусгай FTP прокси эдгээр FTP сесс пакетуудыг +<acronym>NAT</acronym> хийхээс гадна гадагш нь болон дотогш нь нэвтрүүлэх +түр зуурын шүүлтийн дүрмийг үүсгэнэ. FTP-н биш бусад бүх LAN пакетууд эхний +дүрмэнд тохирохгүй тул гуравдугаар дүрэм уруу шилжин дахин шалгагдана. Интерфэйс болон +эхлэл IP тохирох тул <acronym>NAT</acronym> хийгдэнэ.</para> + </sect3> + + <sect3> + <title>IP<acronym>NAT</acronym> FTP Шүүлтийн Дүрмүүд</title> + + <para><acronym>NAT</acronym> FTP прокси ашиглаж байгаа тохиолдолд +FTP-н хувьд ганцхан шүүлтийн дүрэм хэрэгтэй.</para> + + <para>FTP Прокси байхгүй бол та дараах гурван дүрмийг хэрэглэнэ:</para> + + <programlisting># 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</programlisting> + </sect3> + + <sect3> + <title>FTP <acronym>NAT</acronym> Прокси Согог</title> + + <para>IPFILTER 3.4.31 хувилбарын хувьд FTP прокси нь FTP сессийн туршид болон +сесс хаах хүртэл ном журмынхаа дагуу ажиллаж байна. Харин хаах үед алсын FTP серверээс +буцаж ирж буй пакетууд хаагдаж, 21-р портон дээр ирсэн гэж бүртгэгдэнэ. <acronym>NAT</acronym> +FTP/прокси алсын FTP серверээс сессийг хааж байгаа тухай мэдэгдсэн хариуг +хүлээж авахаас өмнө, сесс төгсгөх үйл явц дутуу байхад өөрийн түр зуурын дүрмүүдийг +устгаж байгаа нь ажиглагдсан байна. Энэ асуудлын талаар IPF захидлын жагсаалтанд тайлан +бичигдсэн байгаа.</para> + + <para>Энэ асуудлыг шийдэхдээ, хэрэггүй бүртгэлээс салахын тулд +дараах шүүлтийн дүрмийг нэмж бичнэ эсвэл юу ч хийлгүй өөрийн бүртгэл дэх +дотогшоо FTP-н алдааны мэдээллийг үл хэрэгсэнэ. Ихэнх хүмүүс гадагшаа FTP-г +олон хэрэглэдэггүй.</para> + + <programlisting>block in quick on rl0 proto tcp from any to any port = 21</programlisting> + </sect3> + </sect2> + </sect1> + + <sect1 id="firewalls-ipfw"> + <title>IPFW</title> + + <indexterm> + <primary>галт хана</primary> + + <secondary>IPFW</secondary> + </indexterm> + + <note> + <para>Энэ хэсэг дээр үргэлжлүүлэн ажиллаж байгаа болно. Агуулга зарим газар +буруу байхыг үгүйсгэхгүй.</para> + </note> + + <para>IPFIREWALL (IPFW) нь &os;-ийн хандиваар &os;-ийн сайн дурын гишүүдийн бүтээсэн, +тэдний эрх мэдэлд байдаг галт ханын програм юм. Энэ нь хуучин уламжлалт төлөвт +дүрмүүдийг хэрэглэдэг бөгөөд Simple Stateful logiс буюу Хялбар Төлөвт логикийг +бий болгохын тулд уламжлалт дүрэм бичих техникийг хэрэглэдэг.</para> + + <para>Стандарт &os; суулгац дахь IPFW-н хялбар дүрмийн олонлог(<filename>/etc/rc.firewall</filename> +файл дотор байрлана) нь нилээд хялбар бөгөөд өөрт тохируулан засварласны дараа хэрэглэхээр бодолцон +бичигдсэн байдаг. Жишээн дээр ихэнх суулгацад тохиромжтой төлөвт шүүлтийг хэрэглээгүй байгаа. +Тиймээс энэ хэсэгт энэ жишээг хэрэглэхгүй болно.</para> + + <para>IPFW-н төлөвт дүрмийн синтакс нь галт хана суулгах анхан шатны мэдлэгээс +хол давсан техникийн хувьд ярвигтай сонголтын боломжуудаар хүч нэмсэн байдаг. +IPFW нь мэргэжлийн түвшний хэрэглэгчид эсвэл өндөр түвшний пакет сонголт +шаардлагатай байгаа техникийн өндөр түвшний компьютер сонирхогчид зориулагдсан юм. +IPFW-н дүрмүүдийн хүчийг мэдрэхийн өмнө протоколууд өөрийн тусгай пакетийн толгойн +мэдээллийг хэрхэн үүсгэдэг болон хэрэглэдэг талаар нилээд дэлгэрэнгүй мэдлэгийг +олж авсан байх хэрэгтэй. Тийм түвшний тайлбарыг энд өгөх нь номын энэ бүлгийн +мэдлээс халих тул энд оруулах боломжгүй юм.</para> + + <para>IPFW нь долоон хэсгээс бүрдэнэ, гол хэсэг болох цөмийн галт ханын шүүлтийн +дүрмийг боловсруулагч болон түүний бусад хэсэг болох пакет данслах боломж, бүртгэх боломж, <acronym>NAT</acronym> +боломжийг идэвхжүүлэх 'divert буюу эргүүлэх' дүрэм, болон өндөр түвшний тусгай зориулалттай боломжууд, +dummynet трафик хязгаарлагч боломжууд, 'fwd дүрэм' дамжуулах боломж, гүүр боломжууд, болон +ipstealth боломжуудаас бүрдэнэ.</para> + + + <sect2 id="firewalls-ipfw-enable"> + <title>IPFW-г идэвхжүүлэх</title> + + <indexterm> + <primary>IPFW</primary> + + <secondary>идэвхжүүлэх</secondary> + </indexterm> + + <para>IPFW нь &os; үндсэн суулгацтай хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг. +rc.conf тохиргооны файл дотор <literal>firewall_enable="YES"</literal> илэрхийлэл байгаа үед систем IPFW цөмийн +модулийг динамикаар ачаална. <acronym>NAT</acronym> функцийг ашиглахгүй бол +IPFW-г цөмд эмхэтгэх шаардлага байхгүй.</para> + + <para><filename>rc.conf</filename> файл дотор <literal>firewall_enable="YES"</literal> +илэрхийллийг нэмээд системийг дахин асаасны дараа ачаалах үйл явцын нэг хэсэг болж +дараах мессеж дэлгэцэн дээр гарах болно:</para> + + <screen>ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled</screen> + + <para>Ачаалах боломжтой модульд бүртгэх боломжийг эмхэтгээгүй байгаа. +Бүртгэлийг идэвхжүүлэхийн тулд, мөн вербос бүртгэлийн хязгаарыг тогтоохын тулд +<filename>/etc/sysctl.conf</filename> файл дотор дараах илэрхийллүүдийг нэмж өгөх +хэрэгтэй, бүртгэлийн систем дараагийн удаа ачаалахад идэвхжинэ:</para> + + <programlisting>net.inet.ip.fw.verbose=1 +net.inet.ip.fw.verbose_limit=5</programlisting> + </sect2> + + <sect2 id="firewalls-ipfw-kernel"> + <title>Цөмийн тохируулгууд</title> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPFIREWALL</secondary> + </indexterm> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPFIREWALL_VERBOSE</secondary> + </indexterm> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPFIREWALL_VERBOSE_LIMIT</secondary> + </indexterm> + + <indexterm> + <primary>IPFW</primary> + + <secondary>цөмийн тохируулгууд</secondary> + </indexterm> + + <para><acronym>NAT</acronym> функцыг хэрэглэхгүй бол &os; цөм уруу +дараах боломжуудыг эмхэтгэн IPFW-г идэвхжүүлэх албагүй болно. +Суурь мэдлэг болгон энд үзүүллээ.</para> + + <programlisting>options IPFIREWALL</programlisting> + + <para>Энэ тохируулга IPFW-г цөмийн нэг хэсэг болгон идэвхжүүлнэ</para> + + <programlisting>options IPFIREWALL_VERBOSE</programlisting> + + <para>Энэ тохируулга 'log' гэсэн түлхүүр үг орсон дүрмийн хувьд +IPFW-р дайран өнгөрөх пакетуудыг бүртгэх боломжтой болгоно.</para> + + <programlisting>options IPFIREWALL_VERBOSE_LIMIT=5</programlisting> + + <para>Энэ тохируулга &man.syslogd.8;-р нэгэн зэрэг бүртгэгдэж буй +пакетийн тоог хязгаарлана. галт ханын үйлдлүүдийг бүртгэхийг хүсэж байгаа +найрсаг орчнуудад та энэ тохируулгыг хэрэглээрэй. Энэ тохируулга нь +syslog-г живүүлэх замаар явагдах үйлчилгээг зогсоох халдлагыг хааж өгөх болно.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPFIREWALL_DEFAULT_TO_ACCEPT</secondary> + </indexterm> + + <programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT</programlisting> + + <para>Энэ тохируулга нь галт ханыг дамжин өнгөрч байгаа бүх зүйлийг нэвтрүүлэх анхдагч +төлөвт оруулна. галт ханыг анх удаа тохируулж байгаа үед энэ нь илүү тохиромжтой.</para> + + <programlisting>options IPV6FIREWALL +options IPV6FIREWALL_VERBOSE +options IPV6FIREWALL_VERBOSE_LIMIT +options IPV6FIREWALL_DEFAULT_TO_ACCEPT</programlisting> + + <para>Эдгээр тохируулгууд IPv6-н тохируулгууд боловч IPv4-ийхтэй яг адилхан юм. +Хэрэв та IPv6-г хэрэглэдэггүй бол IPV6FIREWALL-г харгалзах ямар ч дүрэмгүйгээр +хэрэглэн бүх IPv6 урсгалыг хааж болох юм.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + + <secondary>IPDIVERT</secondary> + </indexterm> + + <programlisting>options IPDIVERT</programlisting> + + <para>Энэ тохируулга <acronym>NAT</acronym> функцыг идэвхжүүлнэ.</para> + + <note> + <para>Хэрэв та IPFIREWALL_DEFAULT_TO_ACCEPT-г оруулаагүй эсвэл +ирж байгаа пакетуудыг нэвтрүүлэх дүрмүүд бичээгүй бол та энэ машинаас ирж +байгаа болон явж байгаа бүх пакетуудыг хаачихлаа гэсэн үг юм.</para> + </note> + </sect2> + + <sect2 id="firewalls-ipfw-rc"> + <title><filename>/etc/rc.conf</filename> Тохируулгууд</title> + + <para>галт ханыг идэвхжүүлэхийн тулд:</para> + + <programlisting>firewall_enable="YES"</programlisting> + + <para>&os;-тэй хамт ирдэг анхдагч галт ханын төрлүүдээс нэгийг +сонгохын тулд, <filename>/etc/rc.firewall</filename> файлыг уншсаны дараа +нэгийг сонгоод, түүнийгээ дараах илэрхийлэлд бичиж өгнө:</para> + + <programlisting>firewall_type="open"</programlisting> + + <para>Боломжит утгууд нь:</para> + + <itemizedlist> + <listitem> + <para><literal>open</literal> — бүх урсгалыг нэвтрүүлнэ.</para> + </listitem> + <listitem> + <para><literal>client</literal> — зөвхөн энэ машиныг хамгаална.</para> + </listitem> + <listitem> + <para><literal>simple</literal> — бүхэл бүтэн сүлжээг хамгаална.</para> + </listitem> + <listitem> + <para><literal>closed</literal> — loopback интерфэйсээс бусад IP +урсгалыг боломжгүй болгоно.</para> + </listitem> + <listitem> + <para><literal>UNKNOWN</literal> — галт ханын дүрмүүдийг ачаалах +боломжгүй болгоно.</para> + </listitem> + <listitem> + <para><filename>filename</filename> — галт ханын дүрмүүдийг агуулсан +файлын бүрэн зам.</para> + </listitem> + </itemizedlist> + + <para><application>ipfw</application> галт хана уруу тусгайлан бэлдсэн +дүрмүүдийг хоёр аргаар ачаалж болно. Нэг нь, <literal>firewall_type</literal> хувьсагчийн +утганд &man.ipfw.8;-д зориулсан ямар ч тушаал мөрийн тохируулгагүйгээр бичигдсэн +<emphasis>галт ханын дүрмүүд</emphasis>-г асуулсан файлын бүрэн замыг өгөх. Дүрмүүдийг агуулсан +хялбар жишээ файл дараах байдалтай байж болно:</para> + + <programlisting>add block in all +add block out all</programlisting> + + <para>Нөгөө нь, систем ачаалах үед ажиллах <command>ipfw</command> тушаалуудыг +агуулсан ажиллах боломжтой скриптийн бүрэн замыг <literal>firewall_script</literal> +хувьсагчид оноох юм. Дээр үзүүлсэн дүрмүүдийн файлтай дүйх дүрмүүдийн скрипт дараах байдалтай +байна:</para> + + <programlisting>#!/bin/sh + +ipfw -q flush + +ipfw add block in all +ipfw add block out all</programlisting> + + <note> + <para>Хэрэв <literal>firewall_type</literal> нь <literal>client</literal> +эсвэл <literal>simple</literal> утгыг авсан бол, <filename>/etc/rc.firewall</filename> +файл доторх анхдагч дүрмүүдийг тухайн машинд тохируулан өөрчлөх хэрэгтэй. +Мөн энэ бүлэгт хэрэглэж байгаа жишээнүүдийн хувьд <literal>firewall_script</literal>-н утга +<filename>/etc/ipfw.rules</filename> гэж үзэж байгаа болно.</para> + </note> + + <para>Бүртгэлийг идэвхжүүлэхийн тулд:</para> + + <programlisting>firewall_logging="YES"</programlisting> + + <warning> + <para><varname>firewall_logging</varname> хувьсагчийн +хийх ганц зүйл гэвэл <varname>net.inet.ip.fw.verbose</varname> sysctl +хувьсагчийн утгыг <literal>1</literal> болгох юм (<xref +linkend="firewalls-ipfw-enable"> хэсгийг үзнэ үү). <filename>rc.conf</filename> +дотор бүртгэлийг хязгаарлах хувьсагч байхгүй, харин үүний тулд +sysctl хувьсагчаар дамжуулан хийж болно. <filename>/etc/sysctl.conf</filename> +файл дотор эсвэл гараараа утгыг оноож өгч болно:</para> + + <programlisting>net.inet.ip.fw.verbose_limit=5</programlisting> + </warning> + + <para>Хэрэв таны машин гарц байдлаар ажиллаж байгаа бол, +жишээ нь &man.natd.8;-н тусламжтай Сүлжээний хаягийн Хөрвүүлэлт (NAT) хийж байгаа бол, +<filename>/etc/rc.conf</filename> файл доторх шаардлагатай тохируулгуудын +мэдээллийг <xref linkend="network-natd"> хэсэг уруу хандана уу.</para> + </sect2> + + <sect2 id="firewalls-ipfw-cmd"> + <title>IPFW Тушаал</title> + + <indexterm><primary><command>ipfw</command></primary></indexterm> + + <para>галт ханыг ажиллаж байх явцад түүний идэвхтэй байгаа дотоод +дүрмүүдэд шинэ дүрэм нэмэх, дүрэм хасах зэрэг өөрчлөлтүүдийг гараар хийх +гол механизм бол ipfw тушаал юм. Энэ аргыг хэрэглэхэд тулгардаг нэг асуудал +бол нэгэнт системийг унтраасан эсвэл зогсоосон бол таны нэмсэн эсвэл хассан +эсвэл өөрчилсөн бүх дүрмүүд алга болно. Бүх дүрмүүдээ нэг файлд бичээд систем +ачаалах үед энэ файлыг ашиглан дүрмүүдийг ачаалах, эсвэл одоо ажиллаж байгаа +галт ханын дүрмүүдийг файл дотор хийсэн өөрчлөлтүүдээр бүхлээр нь сольж тавих нь +энд хэрэглэж байгаа, та бүхэнд зөвлөх арга барил юм.</para> + + <para>Удирдлагын дэлгэцэн дээр ажиллаж байгаа галт ханын +дүрмүүдийг харуулахад ipfw тушаалыг одоо хэр нь хэрэглэсээр байна. +IPFW-н данс хөтлөх боломж нь дүрэм бүрийн хувьд тухайн дүрэмд тохирсон +пакетийг тоолох тоолуурыг үүсгэдэг. Ямар нэг дүрмийг шалгах үйл явцад тухайн +дүрэм ажиллаж байгаа эсэхийг тогтоох аргуудын нэг бол дүрмийг тоолуурын хамт +жагсаан харах байдаг.</para> + + <para>Бүх дүрмүүдийг дараагаар нь жагсаан харахын тулд:</para> + + <screen>&prompt.root; <userinput>ipfw list</userinput></screen> + + <para>Бүх дүрмүүдийг тухайн дүрэм хамгийн сүүлд тохирсон цагын хамт +жагсаан харахын тулд:</para> + + <screen>&prompt.root; <userinput>ipfw -t list</userinput></screen> + + <para>Данслалтын мэдээлэл болон дүрмүүдийг тохирсон пакетийн тооны +хамт харахын тулд. Эхний багана нь дүрмийн дугаар, дараа нь энэ дүрэмд +тохирсон гарч байгаа пакетийн тоо, дараа нь энэ дүрэмд тохирсон орж байгаа +пакетийн тоо, тэгээд дүрэм өөрөө байна.</para> + + <screen>&prompt.root; <userinput>ipfw -a list</userinput></screen> + + <para>Статик дүрмүүдээс гадна динамик дүрмүүдийг жагсаан харахын тулд:</para> + + <screen>&prompt.root; <userinput>ipfw -d list</userinput></screen> + + <para>Мөн хугацаа нь дууссан динамик дүрмүүдийг харахын тулд:</para> + + <screen>&prompt.root; <userinput>ipfw -d -e list</userinput></screen> + + <para>Тоолууруудыг тэглэхийн тулд:</para> + + <screen>&prompt.root; <userinput>ipfw zero</userinput></screen> + + <para>Зөвхөн <replaceable>NUM</replaceable> дугаартай тоолуурыг тэглэхийн тулд:</para> + + <screen>&prompt.root; <userinput>ipfw zero NUM</userinput></screen> + </sect2> + + <sect2 id="firewalls-ipfw-rules"> + <title>IPFW Дүрмийн Олонлог</title> + + <!-- XXX: looks incorrect (and duplicated 2 times in this chapter): + 1. Packet can be processed two times depend of firewall + firewall configuration, but "return trip back" is + another packet. + 2. "Each TCP/IP service ... is predefined by its protocol ..." + - this shold be about packet and it's parameters + (source/destination address and port). --> + + <para>Пакет дотор агуулагдаж байгаа утгуудыг үндэслэн тухайн пакетийг +нэвтрүүлэх болон хаахыг хэлж байгаа дүрмүүдийг дүрмийн олонлог гэнэ. Хостуудын +хоорондох хоёр чиглэлтэй пакет солилцоо нь сесс харилцааг бүрдүүлнэ. галт ханын +дүрмийн олонлогоор пакет хоёр дахин шүүгдэнэ, эхний удаа Интернетээс пакетийг +хүлээн авахад, дараагийн удаа буцаж Интернет уруу гарч явахад. Бүх TCP/IP үйлчилгээнүүдийн +хувьд (жишээ нь: telnet, www, mail, г.м.) ямар протоколоор ажиллах болон эхлэл ба +очих IP хаяг, эхлэл ба очих порт хаяг зэргийг урьдаас тодорхойлж өгсөн байдаг. +Эдгээр үзүүлэлтүүд дээр үндэслэн нэвтрүүлэх болох хаах дүрмүүдийг зохиодог.</para> + + <indexterm> + <primary>IPFW</primary> + + <secondary>Дүрмүүдтэй ажиллах дэс дараалал</secondary> + </indexterm> + + <!-- Needs rewording to include note below --> + + <para>пакетийг галт хана хүлээн аваад дүрмийн олонлогт байгаа хамгийн +эхний дүрэмтэй тулгах ба цааш дүрмүүдийн дугаарын өсөх дарааллын дагуу +дээрээс доош нэг нэгээр шалгаж эхэлнэ. Пакет аль нэг дүрмийн сонголтын +параметртэй тохирвол, түүнд харгалзах үйлдлийг хийж, тухайн пакетийн хувьд +цааш хайлтыг дуусгана. Энэ аргыг <quote>эхэнд тохирсон нь дийлнэ</quote> хайлтын +арга гэнэ. Хэрэв тухайн пакет ямар ч дүрэмд тохирохгүй бол, энэ пакетийг 65535 дугаартай +бүх пакетийг хааж, явуулсан хүнд нь ямар ч хариу өгөлгүй орхигдуулна гэсэн +ipfw-н анхдагч дүрэмд албаар тохируулна.</para> + + <note> + <para><literal>count</literal>, <literal>skipto</literal> ба <literal>tee</literal> +дүрмүүдийн дараа хайлт үргэлжилнэ.</para> + </note> + + <para>Энд байгаа зааварчилгаанууд нь төлөвт 'keep state', 'limit', 'in'/'out', +ба via зэрэг тохируулгуудыг агуулсан дүрмүүд дээр үндэслэгдсэн байгаа. Энэ бол хамааруулсан +галт ханын дүрмийн олонлогийг бичих үндсэн арга барил юм.</para> + + <!-- XXX: something like this already in + <xref linkend="firewalls-concepts"> + AND: the para below is repeated 3 times in this chapter. --> + +<para>Хамааруулсан галт хана нь зөвхөн дүрмүүдэд тохирсон пакетуудыг нэвтрүүлнэ. +Ийм маягаар галт ханын цаанаас Интернет уруу ямар ямар үйлчилгээнүүд +гарч болох болон эсрэгээр Интернетээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд нэвтэрч +болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон +байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд +хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар +ярилцах болно.</para> + + <warning> + <para>галт ханын дүрмүүдтэй ажиллахдаа маш анхааралтай байх хэрэгтэй. +Зарим тохиргоо серверээс <emphasis>бүх холбоог тань тасалж</emphasis> мэднэ.</para> + </warning> + + <sect3 id="firewalls-ipfw-rules-syntax"> + <title>Дүрмийн Синтакс</title> + + <indexterm> + <primary>IPFW</primary> + + <secondary>дүрмийн синтакс</secondary> + </indexterm> + + <para>Энд үзүүлсэн дүрмийн синтакс нь стандарт хамааруулсан +галт хана үүсгэхэд шаардлагатай дүрмийн олонлогийг бичих хэмжээнд +тохируулан хялбаршуулсан байгаа. Дүрмийн синтаксын бүрэн тайлбарыг &man.ipfw.8; +заавар хуудаснаас үзнэ үү.</para> + + <para>Дүрмүүд нь түлхүүр үгүүдийг агуулна. Эдгээр түлхүүр үгүүд нь +тухайн мөрөнд зүүнээс баруун тийш тодорхой дэс дараагаар бичигдэнэ. +Түлхүүр үгүүд тодоор бичигдэх тул түүгээр нь ялгаж танина. Зарим түлхүүр +үгүүд дэд-тохируулгатай байна. Тэр нь өөрөө түлхүүр үг байж болохоос гадна +цааш дэд-тохируулгуудыг агуулсан байж болно.</para> + + <para><literal>#</literal> гэсэн тэмдэгт тайлбарын эхлэлийг заах ба +дүрэм бичсэн мөрийн төгсгөлд эсвэл өөрөө бүтэн мөр байдлаар байрлана. +Хоосон мөрийг тооцохгүй.</para> + + <para><replaceable>CMD RULE_NUMBER ACTION LOGGING SELECTION + STATEFUL</replaceable></para> + + <sect4> + <title>CMD</title> + + <para>Шинэ дүрэм бүр дотоод хүснэгтэнд бичигдэхийн тулд +<parameter>add</parameter> гэсэн түлхүүр үгийг өмнөө агуулж байх ёстой.</para> + </sect4> + + <sect4> + <title>RULE_NUMBER</title> + + <para>Дүрэм бүр өөрийн дүрмийн дугаартай байх ёстой.</para> + </sect4> + + <sect4> + <title>ACTION</title> + + <para>Тухайн дүрмийн сонголтын үзүүлэлтэнд пакет тохироход +заасан action буюу үйлдлийг гүйцэтгэх ба дүрэм нь дараах үйлдлүүдийн +аль нэгтэй холбогдсон байна.</para> + + <para><parameter>allow | accept | pass | + permit</parameter></para> + + <para>Эдгээр нь бүгд нэг зүйлийг, тухайлбал: дүрэмд тохирсон пакетуудыг нэвтрүүлж, галт ханын +дүрэмтэй ажиллах явцаас гарахыг хэлж өгч байна. Эдгээр дүрмүүдийн дараа хайлт +дуусна.</para> + + <para><parameter>check-state</parameter></para> + + <para>нь динамик дүрмийн хүснэгттэй пакетуудыг +тулгана. Хэрэв тохирвол, энэ динамик дүрмийг үүсгэсэн дүрэмд харгалзах +үйлдлийг гүйцэтгэнэ, үгүй бол дараагийн дүрэмд шилжинэ. check-state дүрэмд +сонголтын шалгуур байхгүй. Хэрэв дүрмийн олонлогт check-state дүрэм байхгүй бол +эхний keep-state эсвэл limit дүрмийг динамик дүрмийн хүснэгттэй тулгана.</para> + + <para><parameter>deny | drop</parameter></para> + + <para>Энэ хоёр үг хоёул дүрэмд тохирсон пакетуудыг хаяхыг +заана. Хайлт энд дуусна.</para> + </sect4> + + <sect4> + <title>Бүртгэл хөтлөлт</title> + + <para><parameter>log</parameter> эсвэл <parameter>logamount</parameter></para> + + <para>Пакет log гэсэн түлхүүр үг орсон дүрэмд тохироход, энэ тухай мессеж +syslogd уруу SECURITY гэсэн facility нэртэйгээр бүртгэгдэнэ. Зөвхөн +тухайн дүрмийн хувьд бүртгэгдсэн пакетийн тоо logamount параметрын утгыг +даваагүй тохиолдолд бүртгэл явагдана. Хэрэв logamount-н утгыг зааж өгөөгүй бол, +sysctl-н net.inet.ip.fw.verbose_limit хувьсагчийн утгыг хязгаарын утга болгон авна. +Аль ч тохиолдолд тэг гэсэн утга бүртгэлийн хязгаарыг үгүй болгоно. Хязгаарт тулсан +тохиолдолд, бүртгэлийг дахин идэвхжүүлэхийн тулд бүртгэлийн тоолуурыг эсвэл +тухайн дүрмийн пакет тоолуурыг дахин эхлүүлнэ. ipfw reset log тушаалыг үзнэ үү.</para> + + <note> + <para>Бүртгэл нь бусад бүх пакет тохирох нөхцлүүд амжилттай нотлогдсоны дараа, +мөн тухайн пакет дээр эцсийн үйлдлийг(зөвшөөрөх, татгалзах) хийхийн өмнө явагдана. +Ямар дүрмүүдийн хувьд бүртгэл явуулахыг та шийдэх болно.</para> + </note> + </sect4> + + <sect4> + <title>Сонголт</title> + + <para>Энд танилцуулах түлхүүр үгнүүд нь тухайн пакет дүрэмд тохирч байгаа +үгүй эсэхийг тодорхойлох үед, шалгагдаж байгаа пакетийн шинжүүдийг тодорхойлно. +Дараах байнгын хэрэглээний шинжүүд өгөгдсөн байдаг ба доорх дэс дарааллаар хэрэглэнэ:</para> + + <para><parameter>udp | tcp | icmp</parameter></para> + + <para>эсвэл <filename>/etc/protocols</filename> файлд байгаа ямар ч протоколын +нэрийг хэрэглэж болно. Харин утга нь шалгагдах протоколын нэрийг заана. Энэ бол заавал +тавигдах шаардлага юм.</para> + + <para><parameter>from src to dst</parameter></para> + +<para><literal>from src to dst</literal>: from ба to гэсэн +түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. Хэрэглэх бол эхлэл ба +очих параметрийг ХОЁУЛАНГ зааж өгөх хэрэгтэй. <literal>any</literal> +гэсэн тусгай түлхүүр үгийн тусламжтай ямар ч IP хаягийг зөвшөөрч өгч болно. +Хэрэглэх жишээ: <quote>from any to any</quote> + эсвэл <quote>from 0.0.0.0/0 to any</quote> эсвэл <quote>from any to + 0.0.0.0/0</quote> эсвэл <quote>from 0.0.0.0 to any</quote> эсвэл + <quote>from any to 0.0.0.0</quote>.</para> + + <para>from ба to гэсэн түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. +Дүрмэнд хэрэглэхдээ эхлэл ба очих параметрүүдийг ХОЁУЛАНГ зааж өгөх ёстой. +<literal>any</literal> гэсэн тусгай түлхүүр үгийн тусламжтай бүх IP хаягийг +зөвшөөрч өгч болно. <literal>me</literal> гэсэн тусгай түлхүүр үг нь таны +&os; системийн аль нэг интерфэйс дээр тохируулсан IP хаягийг заах ба +галт хана ажиллаж байгаа PC-г (өөрөөр хэлбэл энэ машин) 'from 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 хаягуудыг цэгтэй тоон хэлбэр/багийн-урт байдлаар эсвэл +зүгээр цэгтэй тоон хэлбэрээр бичиж болно. Энэ бол заавал тавигдах шаардлага юм. +Багийн-уртыг бичихтэй холбоотой тусламжийг дараах хаягаар орж үзнэ үү. <ulink url="http://jodies.de/ipcalc"></ulink></para> + + <para><parameter>port number</parameter></para> + + <para>Портын дугаарыг дэмждэг протоколуудын хувьд +(<acronym>TCP</acronym> ба UDP гэх мэт), тааруулахыг хүсэж байгаа портын +дугаарыг заавал бичиж өгөх ёстой байдаг. Портын тоон утгын оронд үйлчилгээний нэрийг(<filename>/etc/services</filename> +файлаас) хэрэглэж болно.</para> + + <para><parameter>in | out</parameter></para> + + <para>Орж байгаа болон гарч байгаа пакетуудыг харгалзан тааруулна. +in ба out нь түлхүүр үгүүд бөгөөд дүрэмд тааруулах шалгуур болгож энэ хоёр +үгийн аль нэгийг заавал бичсэн байх ёстой.</para> + + <para><parameter>via IF</parameter></para> + + <para>Нэрээр нь зааж өгсөн интерфэйсээр дайран өнгөрч буй пакетуудыг +тааруулна. <literal>via</literal> гэсэн түлхүүр үг нь тухайн интерфэйсийг тааруулах үйл явцын +нэг хэсэг байдлаар байнга шалгаж байхыг зааж өгнө.</para> + + <para><parameter>setup</parameter></para> + + <para>Энэ түлхүүр үг нь <acronym>TCP</acronym> пакетуудын хувьд +сесс эхлүүлэх хүсэлтийг зааж өгч байгаа заавал хэрэглэх түлхүүр үг юм.</para> + + <para><parameter>keep-state</parameter></para> + + <para>Энэ бол заавал хэрэглэх түлхүүр үг юм. Дүрэм таарахад, галт хана +яг тэр протоколыг ашиглан эхлэл болон очих IP/портын хооронд үүсэх +хоёр чиглэлтэй урсгалыг тааруулах анхдагч чанартай динамик дүрэм үүсгэнэ.</para> + + <para><parameter>limit {src-addr | src-port | dst-addr | + dst-port}</parameter></para> + + <para>Дүрэмд заасантай адил параметрүүдтэй холболтын тоог <replaceable>N</replaceable>-р +хязгаарлана. Нэг ба түүнээс дээш тооны эхлэл болон очих хаягууд, портуудыг зааж өгч болно. +'limit' ба 'keep-state'-г нэг дүрэмд хамтад нь хэрэглэж болохгүй. Limit нь 'keep-state'-тэй адил төлөвт +функцүүдийг гүйцэтгэхээс гадна өөрийн нэмэлт функцүүлтэй.</para> + </sect4> + </sect3> + + <sect3> + <title>Төлөвт Дүрмийн Тохируулгууд</title> + + <indexterm> + <primary>IPFW</primary> + + <secondary>төлөвт шүүлт</secondary> + </indexterm> + + <!-- XXX: duplicated --> + + <para>Төлөвт шүүлт нь урсгалыг сесс харилцаанаас бүрдэж буй хоёр чиглэлтэй пакет +солилцоо гэж үздэг. Мөн энэ нь сесс эхлүүлсэн болон хүлээн авсан хостуудын хоорондох сесс харилцаа нь +хоёр чиглэлтэй пакет солилцох процедуртай зохицож байгаа эсэхийг магадлах чадвартай байдаг. +Сесс харилцааны загварт зохицоогүй пакетийг хуурамч гэж үзэн хүлээж авахгүй.</para> + + <para>'check-state' нь IPFW дүрмийн олонлогийн хаана нь пакетийг +динамик дүрмүүдийн боломжоор шалгахыг тогтооно. Таарсан тохиолдолд, +пакет галт ханыг нэвтэрч цааш явах ба энэ хоёр чиглэлт сесс харилцааны туршид +солилцох пакетуудын хувьд шинэ динамик дүрэм үүснэ. Таараагүй тохиолдолд, +пакет дүрмийн олонлогийн дараагийн дүрэмд шалгагдахаар шилжинэ.</para> + + <para>Динамик дүрмүүдийн боломж нь маш олон тооны динамик дүрмүүдийг +нээдэг SYN-живүүлэх халдлагаас үүсэх нөөцийн хомсдолд эмзэг байдаг. Энэ халдлагаас зайлсхийхийн +тулд &os; limit гэсэн шинэ тохируулгыг нэмж өгсөн байдаг. Энэ тохируулгын +тусламжтай нэгэн зэрэг явагдах сесс харилцааны тоог хязгаарлана. Limit тохируулгад +зааж өгсөн эхлэл болон очих талбаруудаар пакетийн IP хаягийг асуулга явуулах замаар шалгасны дараа, +энэ дүрэмд энэ IP хаягийн хослол хэдэн удаа таарсан тоог харгалзан хэрэв энэ тоо хязгаараас +давсан бол тухайн пакетийг гээнэ.</para> + </sect3> + + <sect3> + <title>галт ханын мессежийг бүртгэх</title> + + <indexterm> + <primary>IPFW</primary> + + <secondary>бүртгэл хөтлөлт</secondary> + </indexterm> + + <para>Бүртгэл хөтлөлтийн ашиг тус тодорхой юм: Таны бүртгэхээр идэвхжүүлсэн +дүрмүүдийн хувьд, ямар пакетууд гээгдсэн, тэдгээр нь ямар хаягаас ирсэн, хаашаа явж байсан +зэрэг мэдээллийг эргэн харах боломжийг олгох ба гадны халдлагыг мөрдөхөд танд чухал хувь +нэмэр болно.</para> + + <para>Бүртгэл хөтлөх боломжийг идэвхжүүлсэн хэдий ч, +IPFW нь өөрөө ямар ч дүрмийг үүсгэхгүй. Администратор аль дүрмүүдийн хувьд +бүртгэл явуулахыг шийдэн, тэдгээр дүрмүүддээ log гэсэн түлхүүр үгийг нэмж бичнэ. +Ихэвчлэн зөвхөн татгалзах дүрмүүдийг бүртгэдэг, жишээлбэл ирж буй <acronym>ICMP</acronym> ping-г +татгалзах гэх мэт. Хамгийн сүүлд байгаа ipfw-н анхдагч татгалзах дүрмийг хувилан log түлхүүр +үгтэйгээр үүсгэх нь элбэг байдаг. Ийм байдлаар дүрмийн олонлогийн аль ч дүрмэнд таараагүй +пакетуудыг харах боломжтой болно.</para> + + <para>Бүртгэл хөтлөлт нь хоёр талдаа иртэй сэлэмтэй адил юм, +хэрэв та хайхрамжгүй хандвал, диск дүүрэн бүртгэлийн мэдээлэл +дотроо учраа олохгүй суух болно. Дискийг дүүргэх DoS халдлага нь +хамгийн эртний халдлагуудын нэг юм. Эдгээр бүртгэлийн мессеж нь syslogd-д +бичигдэхээс гадна, root консол дэлгэцэн дээр гарах учир удахгүй ядаргаатай санагдаж +эхэлдэг.</para> + + <para><literal>IPFIREWALL_VERBOSE_LIMIT=5</literal> гэсэн +цөмийн тохируулга нь системийн бүртгэл хөтлөгч болох syslogd уруу +шидэгдэж байгаа тухайн дүрэмд тохирсон пакетад харгалзах +дараалсан мессежийн тоог хязгаарлана. Энэ тохируулгыг идэвхжүүлсэн үед, +тодорхой дүрмийн хувьд дараалсан мессежийн тоог зааж өгсөн тоогоор хязгаарлана. +Нэг ижил зүйлийг хэлсэн 200 бүртгэлийн бичлэгээс мэдэж авах зүйл хомс юм. +Жишээ нь, тодорхой дүрмийн хувьд дараалсан таван бичлэг syslogd-д бичигдэнэ, +үлдсэн дараалсан ижил бичлэгүүд тоологдоод syslogd-д дараах байдалтай бичигдэнэ:</para> + + <programlisting>last message repeated 45 times</programlisting> + + <para>Бүртгэл хөтлөгдөж байгаа бүх пакетуудын мессежүүд <filename>/etc/syslog.conf</filename> +файлд анхдагч байдлаар зааж өгсөн <filename>/var/log/security</filename> файлд бичигдэнэ.</para> + </sect3> + + <sect3 id="firewalls-ipfw-rules-script"> + <title>Дүрмийн скриптийг бүтээх</title> + + <para>Туршлагатай IPFW хэрэглэгчид дүрмүүдийг агуулсан файл үүсгээд +түүнийгээ скрипт байдлаар ажиллуулах боломжтой байхаар бичдэг. +Үүний гол давуу тал нь шинэ дүрмүүдийг идэвхжүүлэхийн тулд +системийг дахин ачаалах шаардлагагүй болно. Энэ аргыг ашиглан хэдэн ч +удаа дараалан галт ханын дүрмүүдийг ачаалж болох тул шинэ дүрмүүдийг +шалгах үед хэрэглэхэд тохиромжтой байдаг. Скрипт учраас олон дахин бичигдэж байгаа +утгын оронд симбол орлуулалтыг ашиглах боломжтой. Энэ талаар дараах жишээн дээрээс харна уу.</para> + + <para>Энд хэрэглэгдсэн скриптийн синтакс нь sh, csh, ба tcsh бүрхүүл дээр ажиллах +боломжтой. Симбол орлуулалттай талбарууд нь урдаа $ буюу долларын тэмдэгтэй байна. +Симбол талбарууд нь $ тэмдэг урдаа байхгүй. Симбол талбарыг орлох утга нь +давхар хашилтан (<literal>"</literal>) дотор байрлана.</para> + + <para>Дүрмийн файлаа дараах байдалтай үүсгэж эхлэх хэрэгтэй:</para> + + <programlisting>############### start of example ipfw rules script ############# +# +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 ############</programlisting> + + <para>Байх ёстой бүх зүйлс бүгд байна. Энэ жишээн дээр дүрмүүд чухал биш, +харин симбол орлуулалт хэрхэн ажилладагыг харуулсан байна.</para> + +<para>Хэрэв дээрх жишээ <filename>/etc/ipfw.rules</filename> нэртэй файл дотор байсан бол, +эдгээр дүрмүүдийг дараах тушаалыг өгч дахин ачаалах боломжтой:</para> + + <screen>&prompt.root; <userinput>sh /etc/ipfw.rules</userinput></screen> + + <para><filename>/etc/ipfw.rules</filename> гэсэн файл ямар ч нэртэй байж +болох ба таны хүссэн ямар ч газар байж болно.</para> + +<para>Дараах скриптийг хоёр аргын нэгээр хэрэглэж болно:</para> + + <para>Дээрхтэй адил зүйлсийг дараах тушаалыг гараар оруулан +гүйцэтгэж болно:</para> + + <screen>&prompt.root; <userinput>ipfw -q -f flush</userinput> +&prompt.root; <userinput>ipfw -q add check-state</userinput> +&prompt.root; <userinput>ipfw -q add deny all from any to any frag</userinput> +&prompt.root; <userinput>ipfw -q add deny tcp from any to any established</userinput> +&prompt.root; <userinput>ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state</userinput> +&prompt.root; <userinput>ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state</userinput> +&prompt.root; <userinput>ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state</userinput></screen> + </sect3> + + <sect3> + <title>Төлөвт дүрмийн олонлог</title> + + <para>Дараах <acronym>NAT</acronym> хийгдээгүй дүрмийн олонлог нь +аюулгүй байдлыг маш сайн хангасан, хамааруулсан галт ханын дүрмүүдийг +хэрхэн бичих жишээ юм. Хамааруулсан галт хана нь зөвхөн pass дүрмүүдэд тохирсон +үйлчилгээг зөвшөөрч, бусдыг бүгдийг хаана. Бүх галт ханууд хамгийн багадаа хоёр +интерфэйстэй байх ба галт хана маягаар ажиллахын тулд дүрмүүдийг тусгайлан зааж +өгсөн байна.</para> + + <para>&os;-г оролцуулаад бүх &unix; төрлийн систем нь үйлдлийн систем +дэх дотоод харилцаандаа lo0 интерфэйс болон 127.0.0.1 гэсэн IP хаягийг хэрэглэхээр +бүтээгдсэн байдаг. Галт ханын дүрмүүд нь дотооддоо хэрэглэж байгаа эдгээр пакетуудыг +чөлөөтэй нэвтрүүлэх дүрмүүдийг агуулсан байх ёстой.</para> + + <para>Интернеттэй холбогдож байгаа интерфэйс дээр та өөрийн Интернет уруу гарч +байгаа болон Интернетээс ирж байгаа хандалтыг удирдах болон хянах дүрмүүдийг байрлуулна. +Энэ нь таны PPP <devicename>tun0</devicename> интерфэйс эсвэл таны DSL эсвэл кабель +модемд холбогдсон NIC байж болно.</para> + + <para>Галт ханын цаана байгаа хувийн LAN-уудад нэг болон түүнээс дээш +тооны NIC-ууд холбогдсон тохиолдолд, тэдгээр интерфэйсүүдийн хувьд тэдгээр LAN +интерфэйсүүдээс ирсэн пакетуудыг чөлөөтэй нэвтрүүлэх дүрмийг агуулсан байх ёстой.</para> + + <para>Дүрмүүд эхлээд гурван үндсэн хэсэгт хуваагдан зохион байгуулагдсан +байх ёстой: бүх чөлөөт халдашгүй интерфэйсүүд, нийтийн гадагшаа интерфэйс болон нийтийн дотогшоо интерфэйс.</para> + + <para>Нийтийн интерфэйс бүр дээр байгаа дүрмүүдийн дараалал нь хамгийн олон тохиолддог + дүрмүүд нь хамгийн түрүүнд цөөн тохиолддог дүрмүүдээс өмнө байхаар, тухайн интерфэйс болон чиглэлийн + хувьд хаах болон бүртгэх дүрмүүд нь хамгийн сүүлд байхаар бичигдсэн байна.</para> + + <para>Дараах жишээн дээрх гадагшаа хэсэг нь Интернет хандалтыг зөвшөөрч өгөх +үйлчилгээг тодорхойлох сонголтын утгуудыг агуулсан зөвхөн 'allow' дүрмүүдээс бүрдэж байна. +Бүх дүрмүүд 'proto', 'port', 'in/out', 'via' ба 'keep state' тохируулгуудыг агуулсан байгаа. +'proto tcp' дүрмүүд нь төлөвт байдлыг идэвхжүүлж байгаа пакетийг keep state төлөвт хүснэгтэд нэмэх байдлаар, +сесс эхлүүлэх хүсэлтийг тодорхойлох зорилгоор 'setup' тохируулгыг агуулсан байна.</para> + + <para>Дотогшоо хэсэгт эхлээд хүсээгүй пакетуудыг хаах дүрмүүдийг бичсэн байна. +Энэ нь хоёр өөр шалтгаантай. Эхнийх нь, энэ дүрмүүдээр хаагдсан зүйлс нь доор байгаа өөр нэг дүрмээр +зөвшөөрөгдсөн пакетийн нэг хэсэг байж болох талтай. Хоёр дахь шалтгаан нь, цөөхөн тоотой хүлээж авдаг +ба бүртгэх хүсэлгүй байгаа пакетуудыг сонгон, тэдгээрийг бүрнээр хаах дүрмийг эхлээд бичиж өгснөөр +эдгээр пакетууд хамгийн сүүлд байгаа ямар ч дүрмүүдэд тохироогүй пакетуудыг бүртгээд хаана гэсэн +дүрмээр дайрахгүй болгож байгаа юм. Учир нь энэ хэсгийн хамгийн сүүлд байгаа бүгдийг бүртгээд хаана +гэсэн дүрэм бол өөрийн систем уруу халдаж байгаа халдлагын нотолгоог цуглуулах таны нэг арга билээ.</para> + + <para>Өөр нэг тэмдэглэн хэлэх зүйл бол, хүсээгүй пакетуудын хариуд ямар ч хариу явуулахгүй, +тэд зүгээр л орхигдож алга болно. Ингэснээр халдлага явуулагч түүний явуулсан пакетууд таны системд +хүрсэн эсэх талаар юу ч мэдэхгүй үлдэх болно. Таны системийн талаар хэдий хэр бага мэднэ, төдий чинээ +аюулгүй байна гэсэн үг юм. Хэрвээ мэдэхгүй дугаартай портын хувьд пакетууд бүртгэгдсэн байвал +<filename>/etc/services/</filename> файлаас эсвэл <ulink url="http://www.securitystats.com/tools/portsearch.php"> +</ulink> хаягаар тухайн порт ямар зориулалтаар ашиглагддагийг орж шалгаарай. +Троянуудын хэрэглэдэг портын дугааруудыг <ulink +url="http://www.simovits.com/trojans/trojans.html"></ulink> хаягаар орж шалгаарай.</para> + </sect3> + + <sect3> + <title>Хамааруулсан дүрмийн олонлогийн жишээ</title> + + <para>Дараах <acronym>NAT</acronym> хийгдээгүй дүрмийн олонлог нь +бүрэн хэмжээний хамааруулсан дүрмийн олонлог байгаа юм. Та энэ дүрмүүдийг өөрийн системдээ +ашиглахад буруудах юмгүй. Зөвшөөрөхийг хүсэхгүй байгаа үйлчилгээнүүдийн хувьд харгалзах +нэвтрүүлэх дүрмийг далдлаарай. Хэрэв бүртгэлд байгаа зарим мэдэгдлийг дахин харахыг хүсэхгүй, +бүртгэхийг хүсэхгүй байгаа бол дотогшоо хэсэгт хаах дүрэм нэмж бичээрэй. Дүрэм бүрт байгаа +'dc0' гэсэн интерфэйсийн нэрийн оронд таны системийг Интернет уруу холбож байгаа NIC картны +интерфэйсийн нэрээр сольж тавиарай. Хэрэглэгчийн PPP-н хувьд, энэ нь 'tun0' байна.</para> + + <para>Эдгээр дүрмүүдийг хэрэглэх явцад та хэв маяг олж харах болно.</para> + + <itemizedlist> + <listitem> + <para>Интернет уруу чиглэсэн сесс эхлүүлэх хүсэлтийг төлөөлж байгаа +илэрхийллүүд бүгд keep-state хэрэглэж байгаа.</para> + </listitem> + + <listitem> + <para>Интернетээс ирж буй бүх зөвшөөрөгдсөн үйлчилгээнүүд живүүлэх халдлагыг +зогсоох үүднээс limit гэсэн тохируулгын хамт бичигдсэн байгаа.</para> + </listitem> + + <listitem> + <para>Бүх дүрмүүд чиглэлийг тодотгохын тулд in эсвэл out-г хэрэглэсэн байгаа.</para> + </listitem> + + <listitem> + <para>Бүх дүрмүүд пакетийн дайран өнгөрөх интерфэйсийг тодорхойлж өгөхдөө via-г хэрэглэсэн байгаа.</para> + </listitem> + </itemizedlist> + + <para>Дараах дүрмүүд <filename>/etc/ipfw.rules</filename> дотор байрлана.</para> + + <programlisting>################ 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 +$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 inbound traffic from non-routable reserved address spaces +$cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP +$cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP +$cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP +$cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback +$cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback +$cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config +$cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs +$cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect +$cmd 00308 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 + +# 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 ###############################</programlisting> + </sect3> + + <sect3> + <title><acronym>NAT</acronym> болон Төлөвт дүрмийн олонлогийн жишээ</title> + + <indexterm> + <primary>NAT</primary> + + <secondary>ба IPFW</secondary> + </indexterm> + + <para>IPFW-н <acronym>NAT</acronym> функцыг идэвхжүүлэхийн тулд зарим +нэмэлт тохиргооны илэрхийллүүдийг идэвхжүүлэх хэрэгтэй болдог. Цөмийн эх кодын +бусад IPFIREWALL илэрхийллүүд дээр 'option divert' илэрхийллийг нэмж эмхэтгэн +тусгайлан бэлдсэн цөмийг гаргаж авах хэрэгтэй.</para> + + <para><filename>/etc/rc.conf</filename> доторх энгийн IPFW тохируулгууд дээр +нэмж дараах тохируулгууд хэрэгтэй болно.</para> + + <programlisting>natd_enable="YES" # Enable <acronym>NAT</acronym>D function +natd_interface="rl0" # interface name of public Internet NIC +natd_flags="-dynamic -m" # -m = preserve port numbers if possible</programlisting> + + <para>Төлөвт дүрмүүдийг divert natd (Сүлжээний хаягийн Хөрвүүлэлт) +дүрмийн хамт хэрэглэх нь дүрмийн олонлог бичих логикийг төвөгтэй болгодог. +'check-state' ба 'divert natd' дүрмүүдийн дүрмийн олонлог дахь байрлал нь маш +их нөлөөтэй. Энэ нь хялбар дайраад-өнгөрөх логик урсгал биш болно. +'skipto' гэсэн шинэ үйлдлийн төрлийг хэрэглэх болно. skipto тушаалыг хэрэглэхийн тулд +хаашаа үсрэхээ тодорхойлохын тулд бүх дүрмүүдийг дугаарлах хэрэгтэй болно.</para> + + <para>Дараах тайлбаргүй жишээн дээр пакет дүрмийн олонлогоор дайрч +өнгөрөх дарааллыг тайлбарлахаар сонгон авсан дүрэм бичих арга байгаа юм.</para> + + <para>Дүрэмтэй ажиллах процесс дүрмийн файлд байгаа хамгийн эхний +дүрмээр эхлэн цааш дүрмүүдийг нэг нэгээр уншин, файлын төгсгөл хүртэл эсвэл +пакет аль нэг дүрмийн сонголтын шалгуурт тохирч галт ханыг орхих хүртэл үргэлжилнэ. +100, 101, 450, 500, ба 510 дугаартай дүрмүүдийн байрлалыг сайн анзаарах хэрэгтэй. +Эдгээр дүрмүүд нь гадагшаа болон дотогшоо чиглэлтэй пакетуудын хөрвүүлэлтийг +удирдах бөгөөд ингэснээр keep-state динамик хүснэгтэн дэхь тэдгээрт харгалзах +мөрөнд хувийн LAN IP хаяг бүртгэгдсэн байх нөхцөлийг хангана. Дараа нь, +бүх зөвшөөрөх болон татгалзах дүрмүүдэд пакетийн явж буй чиглэл (өөрөөр хэлбэл гадагшаа эсвэл дотогшоо) +ба интерфэйсийг зааж өгсөн байгааг анзаараарай. Мөн гадагшаа сесс эхлүүлэх хүсэлтүүд, +сүлжээний хаягийн хөрвүүлэлтийн бүх skipto дүрмүүд 500-с эхэлж байгааг анзаарна уу.</para> + + <para>Нэгэн LAN хэрэглэгч веб хуудас үзэхийн тулд веб хөтөчийг хэрэглэж байна гэж бодъё. +Веб хуудсууд 80-р портыг ашиглан холбогдоно. Пакет галт хананд ирнэ, +гадагшаа чиглэж байгаа тул 100-р дүрмэнд тохирохгүй. 101-р дүрмийг мөн +өнгөрнө, яагаад гэвэл энэ нь хамгийн анхны пакет тул keep-state +динамик хүснэгтэнд хараахан бичигдэж амжаагүй байгаа. Пакет эцэст нь +125-р дүрэм дээр ирж, дүрэмд таарна. Энэ пакет Интернет уруу харсан +NIC-р гадагшаа гарч байгаа. пакетийн эхлэл IP хаяг нь хувийн LAN IP хаяг хэвээр байгаа. +Энэ дүрмэнд таарах үед хоёр үйлдэл хийгдэнэ. keep-state тохируулга энэ дүрмийг +keep-state динамик дүрмийн хүснэгтэнд нэмнэ, мөн зааж өгсөн үйлдлийг гүйцэтгэнэ. +Үйлдэл нь динамик хүснэгтэд нэмэгдсэн мэдээллийн нэг хэсэг байна. Энэ тохиолдолд +"skipto rule 500" байна. 500-р дүрэм нь пакетийн IP хаягийг <acronym>NAT</acronym> хийж, +пакетийг гадагш явуулна. Үүнийг бүү мартаарай, энэ бол маш чухал шүү. +Энэ пакет өөрийн замаар хүрэх газраа хүрээд буцаж ирэхдээ мөн л энэ дүрмийн олонлогийг дайрна. +Энэ үед харин 100-р дүрэмд тохирч, очих IP хаяг нь буцаж харгалзах LAN IP хаяг уруу хөрвүүлэгдэнэ. +Дараа нь check-state дүрмээр гарах ба хүснэгтэнд явагдаж байгаа сесс харилцаанд оролцож байгаа +гэж тэмдэглэгдсэн тул цааш LAN уруу нэвтрэн орно. Тэгээд өөрийг нь анх явуулсан LAN PC уруу очих ба +алсын серверээс өөр хэсэг өгөгдлийг авахыг хүссэн шинэ пакетийг явуулна. Энэ удаа энэ пакет +check-state дүрмээр шалгагдах ба түүний гадагшаа урсгалд харгалзах мөр олдох тул харгалзах +үйлдэл 'skipto 500'-г гүйцэтгэнэ. Пакет 500-р мөр уруу үсэрч <acronym>NAT</acronym> хийгдэн цааш +өөрийн замаар явах болно.</para> + + <para>Дотогшоо урсгал дээр, идэвхтэй сесс харилцаанд оролцож байгаа +гаднаас ирж байгаа бүх зүйлс автоматаар check-state дүрмээр болон зохих +divert natd дүрмүүдээр шийдэгдэнэ. Энд бидний хийх ёстой зүйл бол +хэрэггүй пакетуудыг татгалзаж, зөвшөөрөгдсөн үйлчилгээг нэвтрүүлэх юм. +Галт ханын байгаа машин дээр апачи сервер ажиллаж байна, тэгээд Интернетээс +хүмүүс энэ дотоод веб сайт уруу хандаж байна гэж бодъё. Шинэ дотогшоо сесс эхлүүлэх +хүсэлтийн пакет 100-р дүрэмд тохирох бөгөөд түүний IP хаяг галт ханын LAN IP +хаяг уруу оноолт хийгдэнэ. Дараа нь энэ пакет цааш бүх дүрмүүдээр шалгагдан +эцэст нь 425-р дүрэмд тохирно. Энэ дүрэмд таарах үед хоёр үйлдэл хийгдэнэ. +Энэ дүрэм keep-state динамик дүрмийн хүснэгтэнд нэмэгдэнэ, мөн зааж өгсөн үйлдлийг гүйцэтгэнэ. +Гэвч энэ тохиолдолд энэ эхлэл IP хаягнаас эхэлсэн шинэ сесс эхлүүлэх хүсэлтийн тоо 2-оор хязгаарлагдана. +Энэ нь тодорхой порт дээр ажиллаж байгаа үйлчилгээний хувьд DoS халдлагаас хамгаална. +Харгалзах үйлдэл нь зөвшөөрөгдсөн тул пакет LAN уруу нэвтэрнэ. Буцах замд check-state +дүрэм энэ пакетийг идэвхтэй сесс харилцаанд хамаарч байгааг таних тул 500-р дүрэм уруу шилжүүлэн, +пакет тэнд <acronym>NAT</acronym> хийгдээд цааш гадагшаа интерфэйсээр гарна.</para> + + <para>Жишээ дүрмийн олонлог #1:</para> + + <programlisting>#!/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 # exclude LAN traffic +$cmd 003 allow all from any to any via lo0 # 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 ##################</programlisting> + + <para>Дараах жишээ дээрхтэй нилээд төстэй боловч туршлагагүй IPFW дүрэм бичигчид зориулан +дүрмүүд юунд зориулагдсаныг тайлбарласан тайлбартай байгаагаараа онцлог юм.</para> + + <para>Жишээ дүрмийн олонлог #2:</para> + + <programlisting>#!/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. +$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 +$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 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 390 allow tcp from any to me 23 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 ###############################</programlisting> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/geom/Makefile b/mn_MN.UTF-8/books/handbook/geom/Makefile new file mode 100644 index 0000000000..bfeacb3662 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/geom/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= geom/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/geom/chapter.sgml b/mn_MN.UTF-8/books/handbook/geom/chapter.sgml new file mode 100644 index 0000000000..dd733d6f79 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/geom/chapter.sgml @@ -0,0 +1,456 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.26 + + $FreeBSD$ +--> + +<chapter id="GEOM"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </chapterinfo> + + <title>GEOM: Модульчлагдсан Диск Хувиргах Тогтолцоо</title> + + <sect1 id="GEOM-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm> + <primary>GEOM</primary> + </indexterm> + <indexterm> + <primary>GEOM Дискийн Тогтолцоо</primary> + <see>GEOM</see> + </indexterm> + + <para>Энэ бүлэг нь &os; дээр GEOM тогтолцооны хүрээнд дискийг хэрхэн хэрэглэх талаар + хамарсан. Энэ нь тохиргоонд зориулж тогтолцоог ашигладаг гол <acronym + role="Redundant Array of Inexpensive Disks">RAID</acronym> + хянагч хэрэгслүүдийг багтаадаг. Энэ бүлэг нь I/O, доор нь байгаа дэд + систем, эсвэл кодыг GEOM хэрхэн зохицуулж эсвэл хянадаг талаар гүнзгий + хэлэлцэхгүй. Энэхүү мэдээлэл нь &man.geom.4; гарын авлагын хуудас болон + төрөл бүрийн SEE ALSO баримтуудын тусламжтай хангагддаг. Бас энэ бүлэг нь + <acronym>RAID</acronym> тохиргоонуудын дэлгэрэнгүй заавар биш юм. + Зөвхөн GEOM-дэмжигдсэн <acronym>RAID</acronym> ангилалуудын талаар + хэлэлцэх болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Ямар төрлийн <acronym>RAID</acronym> дэмжлэг GEOM-ийн хүрээнд + байдаг талаар.</para> + </listitem> + + <listitem> + <para>Хэрхэн үндсэн хэрэгслүүдийг ашиглаж тохиргоо хийх, ажиллагааг хангах, болон + төрөл бүрийн <acronym>RAID</acronym> түвшнүүдийг удирдах талаар.</para> + </listitem> + + <listitem> + <para>Хэрхэн толин тусгал болон судал үүсгэх, шифрлэх, алсаас GEOM-ийн хүрээнд + диск төхөөрөмжүүдийг холбох талаар.</para> + </listitem> + + <listitem> + <para>GEOM тогтолцоонд хавсаргасан дискүүдийн алдааг хэрхэн олж засварлах талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>&os; диск төхөөрөмжүүдийг хэрхэн үздэг талаар ойлгох + (<xref linkend="disks">).</para> + <listitem> + <para>Шинэ &os; цөм хэрхэн тохируулж суулгах талаар мэдэх + (<xref linkend="kernelconfig">).</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="GEOM-intro"> + <title>GEOM-ийн Танилцуулга</title> + + <para>GEOM нь Мастер Ачаалалтын Бичлэгүүд (MBR), <acronym>BSD</acronym> хаягууд, + гэх мэт — ангилалуудад тухайн ангилалын дэмжигчид (providers) эсвэл + <filename role="directory">/dev</filename> дахь тусгай файлуудын + тусламжтайгаар хандах хандалт ба хяналтыг уг ангилалд зөвшөөрдөг. + GEOM нь төрөл бүрийн програм хангамжийн <acronym>RAID</acronym> тохиргоонуудыг + ашиглаж үйлдлийн систем болон үйлдлийн системийн хэрэгслүүдэд саадгүйгээр + хандах боломж олгодог.</para> + </sect1> + + <sect1 id="GEOM-striping"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Бичсэн </contrib> + </author> + <author> + <firstname>Мюррэй</firstname> + <surname>Стөүкли</surname> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </sect1info> + + <title>RAID0 - Судал үүсгэх</title> + + <indexterm> + <primary>GEOM</primary> + </indexterm> + <indexterm> + <primary>Судал үүсгэх</primary> + </indexterm> + + <para>Судал үүсгэх нь хэд хэдэн дискүүдийг нэг эзлэхүүн болгодог арга юм. + Олон тохиолдолд энэ нь тоног төхөөрөмжийн хянагчуудыг ашиглан хийгддэг. + GEOM дэд систем нь диск судал үүсгэх гэж бас нэрлэгддэг + <acronym>RAID</acronym>0-д зориулсан програмыг хангаж өгдөг.</para> + + <para><acronym>RAID</acronym>0 системд, дараалсан дискнүүдэд байгаа өгөгдлүүд + нь багц болж хуваагддаг. Систем дээр нэг диск рүү 256k-ийг + бичихийг хүлээснээс 64k-ийг 4 өөр диск рүү зэрэг бичих дээд зэргийн I/O буюу + оруулах гаргах ажиллагааг <acronym>RAID</acronym>0 систем нь санал болгодог. Энэ ажиллагааг + олон дискийн хянагчуудыг ашиглан нэмэгдүүлж болдог.</para> + + <para>Багцалсан олон дискүүдээс I/O хүсэлтүүд нь зэрэгцэж унших болон + бичигддэг учраас <acronym>RAID</acronym>0 дискийн хуваагдал нь бүгд ижил хэмжээтэй байх ёстой.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="geom/striping" align="center"> + </imageobject> + + <textobject> + <phrase>Диск судал үүсгэж байгаа зураг</phrase> + </textobject> + </mediaobject> + + <procedure> + <title>Хэлбэржүүлэгдээгүй ATA дискүүдийн судал үүсгэх</title> + + <step><para><filename>geom_stripe</filename> + модулийг ачаална:</para> + + <screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen> + </step> + + <step><para>Тохирох холболтын цэг байгааг шалгаарай. Хэрэв энэ эзлэхүүн нь root хуваалт + болох ёстой бол түр зуур өөр <filename + role="directory">/mnt</filename> гэх мэт холболтын цэгийг ашиглаарай:</para> + + <screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen> + </step> + + <step><para>Судал үүсгэх дискүүдэд зориулсан төхөөрөмжийн нэрийг тодорхойлоод шинэ судал + төхөөрөмж үүсгэ. Жишээ нь хоёр ашиглагдаагүй, хуваалт хийгдээгүй + <filename>/dev/ad2</filename> болон <filename>/dev/ad3</filename> гэсэн + <acronym>ATA</acronym> дискүүдэд судал үүсгэхийн тулд:</para> + + <screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen> + +<!-- + <para>A message should be returned explaining that meta data has + been stored on the devices. +XXX: What message? Put it inside the screen output above. +--> + </step> + + <step><para>Хуваалтын хүснэгт гэгддэг стандарт хаягийг шинэ эзлэхүүн дээр бичээд + анхдагч ачаалагдах кодыг суулгаарай:</para> + + <screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen> + + </step> + + <step><para>Энэ процесс хоёр төхөөрөмжийг <devicename>st0</devicename> + төхөөрөмжийн хамт <filename role="directory">/dev/stripe</filename> + санд үүсгэх ёстой. Тэдгээр нь <devicename>st0a</devicename> болон + <devicename>st0c</devicename> юм. Ингэсний дараа файлын системийг + <devicename>st0a</devicename> төхөөрөмж дээр <command>newfs</command> + хэрэгслийн тусламжтайгаар үүсгэж болно:</para> + + <screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen> + + <para>Олон тоонууд дэлгэц дээр урсан өнгөрөх бөгөөд хэдхэн хормын дараа процесс төгсөнө. + Ингээд эзлэхүүн үүсэж холболт хийгдэхэд бэлэн болно.</para> + </step> + </procedure> + + <para>Гараар үүсгэсэн дискийн судлаа холбохын тулд:</para> + + <screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen> + + <para>Энэ судал үүсгэсэн файлын системдээ ачаалах үед автоматаар холболт хийхийн + тулд эзлэхүүний мэдээллийг <filename>/etc/fstab</filename> файлд + хийгээрэй:</para> + + <screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput> + <userinput>>> /etc/fstab</userinput></screen> + + <para><filename>/boot/loader.conf</filename> файлд мөр нэмж <filename>geom_stripe</filename> модулийг + систем эхлэхэд автоматаар ачаалагдахаар болгох ёстой:</para> + + <screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' >> /boot/loader.conf</userinput></screen> + + </sect1> + + <sect1 id="GEOM-mirror"> + <title>RAID1 - Толин тусгал үүсгэх</title> + + <indexterm> + <primary>GEOM</primary> + </indexterm> + <indexterm> + <primary>Диск Толин тусгал үүсгэх</primary> + </indexterm> + + <para>Толин тусгал үүсгэх нь олон корпорацууд болон гэрийн хэрэглэгчдийн ашигладаг + өгөгдлийг тасалдалгүйгээр нөөцлөх технолог юм. Толин тусгал байх үед + энэ нь diskB нь diskA-г хувилж байгаа гэсэн үг. Эсвэл магадгүй + diskC+D нь diskA+B-г хувилж байгаа байж болно. Дискийн тохиргооноос + хамааралгүй чухал ойлголт бол нэг диск дээрх мэдээлэл болон хуваалт нь хувилагдах + явдал юм. Сүүлд нь, хадгалсан өгөгдөл нь үйлчилгээ болон хандалтын тасалдалгүйгээр, + амархан сэргээгдэж, нөөцлөгдөж бараг өгөгдлийн төмөр авдарт хадгалсан юм шиг байх болно.</para> + + <para>Эхлээд системд ижил хэмжээтэй хоёр диск байгааг шалгаарай, энэ + дасгалд уг дискнүүдэд шууд хандах (&man.da.4;) <acronym>SCSI</acronym> + дисктэй гэж үзэж байгаа болно.</para> + + <para>&os; үйлдлийн системийг нэг дэх диск дээр хоёр хуваалттайгаар суулгаарай. + Нэг нь <acronym>RAM</acronym>-ийн хэмжээг хоёр дахин авсан swap + хуваалт байх ёстой бөгөөд үлдэж байгаа зай нь root + (<filename role="directory">/</filename>) файлын системд + зориулагдана. Бусад холболтын цэгүүдэд зориулсан тусдаа хуваалтуудтай + байж болох бөгөөд гэхдээ энэ нь &man.bsdlabel.8; болон &man.fdisk.8; + тохиргоонуудыг гараар өөрчилдгөөс болж төвөгтэй байдлыг 10 дахин ихэсгэдэг.</para> + + <para>Дахин ачаалаад системийг бүрэн эхэлтэл хүлээгээрэй. Энэ үйлдэл дууссаны дараа + <username>root</username> хэрэглэгчээр нэвтэрнэ.</para> + + <para><filename>/dev/mirror/gm</filename> төхөөрөмж үүсгээд + <filename>/dev/da1</filename> файлтай холбоорой:</para> + + <screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen> + + <para>Систем дараах хариуг өгнө:</para> + <screen> +Metadata value stored on /dev/da1. +Done.</screen> + + <para>GEOM-ийг эхлүүлэхэд <filename>/boot/kernel/geom_mirror.ko</filename> + цөмийн модулийг ачаална:</para> + + <screen>&prompt.root; <userinput>gmirror load</userinput></screen> + + <note> + <para>Энэ тушаал нь <devicename>gm0</devicename> төхөөрөмжийн + цэгийг <filename role="directory">/dev/mirror</filename> + санд үүсгэх ёстой.</para> + </note> + + <para>Ерөнхий <command>fdisk</command>-ийн хаяг болон ачаалах кодыг + шинэ <devicename>gm0</devicename> төхөөрөмжид суулгаарай:</para> + + <screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen> + + <para>Одоо ерөнхий <command>bsdlabel</command> мэдээллийг суулгаарай:</para> + + <screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen> + + <note> + <para>Хэрэв олон зүсмэлүүд болон хуваалтууд байвал түрүүчийн хоёр тушаалын + тугуудыг өөрчлөх шаардлагатай. Тэд нөгөө дискийн зүсмэл болон хуваалтын + хэмжээтэй тохирох ёстой.</para> + </note> + + <para>Анхдагч <acronym>UFS</acronym> файлын системийг + <devicename>gm0s1a</devicename> төхөөрөмжийн цэг дээр байгуулахдаа + &man.newfs.8; хэрэгслийг ашиглана:</para> + + <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen> + + <para>Ингэснээр систем зарим мэдээлэл болон тоонуудыг үзүүлэх болно. + Энэ нь сайн гэсэн үг. Дэлгэц дээр алдаа байгаа эсэхийг шалгаад + төхөөрөмжийг <filename role="directory">/mnt</filename> + холболтын цэгт холбож өгөөрэй:</para> + + <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen> + + <para>Одоо ачаалах дискийн бүх өгөгдлийг энэ шинэ файлын систем уруугаа + шилжүүлээрэй. Энэ жишээ нь &man.dump.8; болон &man.restore.8; + тушаалуудыг ашиглаж байгаа; гэхдээ &man.dd.1; бас энэ тохиолдолд + ажиллах боломжтой.</para> + + <screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)</userinput></screen> + + <para>Үүнийг файлын систем бүрийн хувьд хийх шаардлагатай. Дээр дурдсан тушаалыг + ажиллуулахдаа тохирох файлын системийг зөв газар нь байрлуулна.</para> + + <para>Одоо хувилагдсан <filename>/mnt/etc/fstab</filename> файлыг засаад + swap файлтай мөрийг устгаж эсвэл тайлбар болгоорой. + <footnote> + <para><filename>fstab</filename> дахь swap файлын оруулгыг тайлбар + болгосноор танд өөр замаар swap зайг дахин нээх шаардлагатай болно. + Дэлгэрэнгүй мэдээллийн талаар <xref linkend="adding-swap-space">-д + хандана уу.</para> + </footnote>. Нөгөө файлын системийн мэдээллийг шинэ диск ашиглахаар + өөрчилж дараах жишээн дээрх шиг солино:</para> + + <programlisting># Device Mountpoint FStype Options Dump Pass# +#/dev/da0s2b none swap sw 0 0 +/dev/mirror/gm0s1a / ufs rw 1 1</programlisting> + + <para>Одоо <filename>boot.conf</filename> файлыг одоогийн болон + шинэ root хуваалт дээр үүсгэнэ. Энэ файл нь системийн <acronym>BIOS</acronym>-ийг + зөв хөтлөгчийг ачаалахад <quote>тусална</quote>:</para> + + <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /boot.config</userinput></screen> + + <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /mnt/boot.config</userinput></screen> + + <note> + <para>Бид үүнийг зөв ачаалуулахын тулд хоёр root хуваалт дээр байрлуулсан. + Хэрэв ямар нэг тохиолдлоор систем шинэ root хуваалтаас уншиж чадахгүй + бол failsafe боломж байдаг.</para> + </note> + + <para><filename>geom_mirror.ko</filename> модулийг ачаалагдах үед ажиллуулахын + тулд дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf</userinput></screen> + + <para>Системийг дахин эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> + + <para>Хэрэв бүгд зүгээр болбол систем <devicename>gm0s1a</devicename> + төхөөрөмжөөс ачаалагдаж <command>login</command> тушаал хүлээх + мөр хүлээж байх болно. Хэрэв ямар нэг юм буруу болбол доор дурдсан + алдааг олж засварлах хэсгийг үзээрэй. Одоо + <devicename>da0</devicename> дискийг <devicename>gm0</devicename> + төхөөрөмжид нэмэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput> +&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen> + + <para><option>-a</option> туг нь &man.gmirror.8;-г автомат синхрончлолыг + ашиглах ёстойг хэлж байна; өөрөөр хэлбэл дискэнд бичих бичилтүүдийг автоматаар + толин тусгалаар хуулна гэсэн үг юм. Гарын авлагын хуудас дискүүдийг хэрхэн + дахин бүтээх болон солих талаар тайлбарлах бөгөөд + <devicename>gm0</devicename>-ийн оронд <devicename>data</devicename>-г + хэрэглэсэн байгаа.</para> + + <sect2> + <title>Алдааг олж засварлах нь</title> + + <sect3> + <title>Систем ачаалахгүй байх</title> + + <para>Хэрэв систем дараах тушаал хүлээх мөр хүртэл ачаалсан бол:</para> + + <programlisting>ffs_mountroot: can't find rootvp +Root mount failed: 6 +mountroot></programlisting> + + <para>Унтраах болон дахин эхлүүлэх товчийг дарж машиныг дахин эхлүүл. + Ачаалах үеийн цэснээс (6) сонголтыг сонго. Ингэхэд системийг + &man.loader.8; тушаал хүлээх мөрд аваачна. Цөмийн модулийг гараар + ачаал:</para> + + <screen>OK? <userinput>load geom_mirror</userinput> +OK? <userinput>boot</userinput></screen> + + <para>Хэрэв энэ нь ажилласан бол модул ямар нэг шалтгаанаар буруу + ачаалагдсан байна. Дараах мөрийг:</para> + + <programlisting>options GEOM_MIRROR</programlisting> + + <para>цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай. + Ингэх нь энэ асуудлыг арилгах ёстой.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="geom-ggate"> + <title>GEOM Хаалга Сүлжээний Төхөөрөмжүүд</title> + + <para>GEOM нь хаалга хэрэгслүүдийг ашиглан дискүүд, CD-ROM-ууд, + файлууд гэх мэт төхөөрөмжүүдийг алсаас ашиглахыг дэмждэг. + Энэ нь <acronym>NFS</acronym>-тэй адил юм.</para> + + <para>Экспортын файл эхэлж үүсгэх шаардлагатай. Энэ файл нь + экспорт хийгдсэн эх үүсвэрүүдэд хэнийг хандахыг зөвшөөрсөн болон + ямар түвшний хандалтыг тэд өгч байгааг тусгадаг. Жишээ нь эхний + <acronym>SCSI</acronym> диск дээр 4 дэх зүсмэлийг экспорт + хийхийн тулд дараах + <filename>/etc/gg.exports</filename> + нь хангалттай:</para> + + <programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting> + + <para>Энэ нь дотоод сүлжээний бүх хостууд <devicename>da0s4d</devicename> + хуваалт дээрх файлын системд хандах хандалтыг зөвшөөрнө.</para> + + <para>Энэ төхөөрөмжийг экспорт хийхдээ тухайн үед холболт хийгдээгүй эсэхийг шалгаад + &man.ggated.8; сервер демонийг ажиллуулаарай:</para> + + <screen>&prompt.root; <userinput>ggated</userinput></screen> + + <para>Хэрэглэх машининаас уг экспортлогдсон төхөөрөмжид <command>холболт</command> хийхдээ + дараах тушаалыг өгнө үү:</para> + + <screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput></screen> + <screen>ggate0</screen> + <screen>&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen> + + <para>Эндээс эхлэн төхөөрөмжид <filename role="directory">/mnt</filename> + холболтын цэгийг ашиглан хандаж болно.</para> + + <note> + <para>Хэрэв төхөөрөмж тухайн үед сервер машин эсвэл сүлжээн дэх өөр бусад машин + дээр холболт хийгдсэн байсан бол энэ нь амжилтгүй болохыг сануулъя.</para> + </note> + + <para>Төхөөрөмж дахин шаардлагагүй болоход бусад дискийн төхөөрөмжүүдийн нэгэн адил + &man.umount.8; тушаалын тусламжтайгаар салгаж болно.</para> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/install/Makefile b/mn_MN.UTF-8/books/handbook/install/Makefile new file mode 100644 index 0000000000..02ab45f2d7 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/install/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= install/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/install/chapter.sgml b/mn_MN.UTF-8/books/handbook/install/chapter.sgml new file mode 100644 index 0000000000..8ec8e632db --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/install/chapter.sgml @@ -0,0 +1,4957 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.347 + + $FreeBSD$ +--> + +<chapter id="install"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Дахин засварлаж, зарим хэсгийг нь шинээр бичсэн + </contrib> + </author> + </authorgroup> + + <authorgroup> + <author> + <firstname>Рэнди</firstname> + <surname>Пратт</surname> + <contrib>Суулгацын ерөнхий дараалал болон зургийг бэлдсэн + </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Шагдарын</firstname> + <surname>Нацагдорж</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + <!-- January 2000 --> + </chapterinfo> + + <title>FreeBSD суулгах нь</title> + + <sect1 id="install-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm><primary>суулгац</primary></indexterm> + + <para>FreeBSD нь <application>sysinstall</application> гэдэг нэртэй + хэрэглэхэд амархан текст хэлбэртэй програмтай ирдэг. Энэ бол + FreeBSD-н програм суулгахад хэрэглэгддэг анхдагч програм бөгөөд хэрэв хүсвэл + програм зохиогчид нь өөрсдийнхөө програмдаа зориулж суулгах програм бас бичиж болно. + Энэ бүлэгт FreeBSD-г суулгахын тулд <application>sysinstall</application> програмыг + хэрхэн хэрэглэх талаар тайлбарлах болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD суулгадаг дискүүдийг хэрхэн үүсгэх.</para> + </listitem> + + <listitem> + <para>FreeBSD таны диск уруу хэрхэн ханддаг болон хуваадаг талаар.</para> + </listitem> + + <listitem> + <para><application>sysinstall</application>-г хэрхэн эхлүүлэх.</para> + </listitem> + + <listitem> + <para><application>sysinstall</application>-аас танд тавигдах + асуултууд, тэд ямар учиртай болох мөн хэрхэн хариулах тухай.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>Суулгах гэж буй FreeBSD-нхээ хувилбар, мөн түүний дэмжиж чаддаг төхөөрөмжүүдийн + жагсаалтыг хянаж тэр дунд таны төхөөрөмжүүд байгаа эсэхийг магадлах.</para> + </listitem> + </itemizedlist> + + <note> + <para>Ер нь, энэ суулгах заавар нь &i386; (<quote>PC төрлийн</quote>) архитектурт + зориулж бичсэн. Шаардлагатай тохиолдолд бусад тусгай тавцангуудын (жишээлбэл Alpha) хувьд + зориулагдсан заавруудыг оруулах болно. Хэдийгээр энэ гарын авлагыг аль болох + шинэчилж байгаа боловч та суулгагч болон энд дурдсан хоёрын хооронд бага зэргийн өөрчлөлтүүд + байгааг анзаарч болох юм. + Тийм болохоор энэ гарын авлагыг үгчилсэн заавар биш ерөнхий суулгах заавар болгож хэрэглэхийг танд + зөвлөж байна.</para> + </note> + + </sect1> + + <sect1 id="install-hardware"> + <title>Системд тавигдах төхөөрөмжийн шаардлага</title> + + <sect2 id="install-hardware-minimal"> + <title>Хамгийн бага тохиргоо</title> + + <para>&os;-г суулгахад шаардагдах хамгийн бага тохиргоо нь + &os;-н хувилбар болон төхөөрөмжийн төрлөөс их хамаарна.</para> + + <para>Хамгийн бага шаардагдах тохиргоог &os;-н вэб хуудасны <ulink + url="http://www.FreeBSD.org/releases/index.html">Хувилбарын + мэдээлэл</ulink> гэсэн хуудсан дотор суулгацын мэдээлэл хэсэгт харж болно. + Эдгээр мэдээллийн ерөнхий дүгнэсэн мэдээллийг энэ хэсэгт та унших болно. + &os;-г суулгах аргаасаа хамаараад танд уян диск юмуу эсвэл CDROM төхөөрөмж, + зарим тохиолдолд сүлжээний адаптер хэрэг болох болно. Энэ тухай + <xref linkend="install-floppies"> хэсэгт дурьдсан буй.</para> + + <sect3> + <title>&i386; болон pc98 архитектур</title> + + <para>&os;/&i386 болон &os;/pc98 хоёр хоёулаа 486 юмуу эсвэл түүнээс + дээш илүү төрлийн процессор шаарддаг бөгөөд хамгийн багадаа 24 MБ + RAM буюу шуурхай санах ой хэрэглэдэг. Танд хамгийн бага хэмжээгээр суулгахын + тулд ядаж 150 MБ дискийн сул хэмжээ хэрэгтэй.</para> + + <note> + <para>Хуучны тохиргоонд бол, ихэнх тохиолдолд, их хэмжээний санах ой ба дискний + хэмжээ нь хурдан процессороос илүү хэрэгтэй байдаг.</para> + </note> + </sect3> + + <sect3> + <title>Alpha архитектур</title> + + <para>&os;/alpha-г суулгахын тулд танд дэмжигдсэн төхөөрөмжүүд + (<xref linkend="install-hardware-supported"> хэсэгт харж болно) + болон &os;-д зориулсан диск байх хэрэгтэй. Одоогоор дискээ + өөр үйлдлийн системтэй хамтарч хэрэглэж болохгүй. Энэ диск нь + SCSI хянагч уруу холбогдсон байх ёстой бөгөөд тохируулах + програмын төрөл нь SRM байх ёстой юмуу эсвэл IDE дискнээс ачаалагдаж + болдог SRM гэж танигдаж болдог IDE диск байх хэрэгтэй.</para> + + <para>Таны системд SRM програмын консоль байх шаардлагатай. + Зарим тохиолдолд AlphaBIOS (эсвэл ARC) төрлөөс SRM төрлийн хооронд + хоёр тийшээгээ сэлгэж сольж болдог. Бусад тохиолдолд тухайн төхөөрөмжийг + үйлдвэрлэдэг газрын вэб хуудаснаас шаардлагатай таниулах програмуудыг нь + татаж авах нь зүйтэй.</para> + </sect3> + + <sect3> + <title>amd64 архитектур</title> + + <para>&os;/amd64 нь &amd.athlon;64, + &amd.athlon;64-FX, &amd.opteron; эсвэл түүнээс дээшхи төрлийн процессор + шаарддаг.</para> + + <para>Хэрэв таны машин nVidia nForce3 Pro-150 дээр үндэслэсэн бол + та BIOS-н тохируулга дээр IO APIC сонголтыг хорих <emphasis>ёстой</emphasis>. + Хэрэв танд ингэх сонголт байхгүй бол ACPI-г оронд нь хорих хэрэгтэй. + Pro-150 төрлийн бичил схемд алдаа байдаг бөгөөд одоогоор тэр алдаа засагдаагүй + байгаа билээ.</para> + </sect3> + + <sect3> + <title>&sparc64; архитектур</title> + + <para>&os;/&sparc64;-г суулгахын тулд түүний дэмждэг төхөөрөмжүүдийг нь + хангасан байх ёстой (<xref + linkend="install-hardware-supported"> хэсэгт харна уу).</para> + + <para>Танд &os;/&sparc64;-д зориулсан диск тусад нь байх хэрэгтэй. Одоогоор + диск дээр өөр төрлийн системүүдийг давхар суулгах боломж үгүй.</para> + </sect3> + </sect2> + + <sect2 id="install-hardware-supported"> + <title>Дэмждэг төхөөрөмжүүд</title> + + <para>Дэмждэг төхөөрөмжүүдийг &os;-н хувилбар бүрийн + Hardware Notes буюу төхөөрөмжийн мэдээлэл хэсэгт жагсаасан байдаг. + Энэ мэдээлэл нь голдуу <filename>HARDWARE.TXT</filename> нэрээр + суулгацын CDROM юмуу FTP-н хамгийн дээд сан дотор эсвэл + <application>sysinstall</application> програмын documentation буюу + баримт цэсэнд байрласан байдаг билээ. Энэ нь тухайн төрлийн архитектур бүрт + ямар ямар төхөөрөмжүүд танигдаж болохыг &os;-н хувилбар бүрт зориулж + жагсаасан байдаг. Төрөл бүрийн хувилбар болон архитектурт зориулсан жагсаалтын + бас нэг хуулбарыг &os;-н вэб хуудасны <ulink + url="http://www.FreeBSD.org/releases/index.html">Release + Information буюу хувилбарын мэдээлэл </ulink> хуудаснаас олж болно.</para> + </sect2> + </sect1> + + <sect1 id="install-pre"> + <title>Суулгацын өмнө</title> + + <sect2 id="install-inventory"> + <title>Өөрийнхөө компьютерийг судлана</title> + + <para> + Та FreeBSD-г суулгахын өмнө өөрийнхөө компьютерийн бүрдэл + хэсгүүдийг судлах хэрэгтэй. FreeBSD суулгах явцдаа таны компьютерт + буй бүрдлүүдийг (хатуу диск, сүлжээний карт, CDROM хөтлөгч гэх мэт) + тэдгээрийн загвар болон үйлдвэрлэгчийнх нь дугаартай нь харуулдаг. + Мөн FreeBSD нь тэдгээр төхөөрөмжүүдийг IRQ болон IO порт зэргүүдийг + автоматаар зөв тохируулахыг оролддог. Компьютерийн бүрдлийг + үйлдвэрлэдэгчдийн түмэн төрлөөс хамаарч зөв тохируулах энэ автомат үйлдэл нь + заримдаа тийм амжилттай болж чаддаггүй тул магадгүй та FreeBSD-н тодорхойлсон + тохируулгыг өөрчлөх хэрэг гарч болзошгүй.</para> + + <para>Хэрэв та &windows; эсвэл Линукс үйлдлийн систем суулгасан байгаа бол + тухайн төхөөрөмжүүд ямар тохируулгаар суугдсан байгааг харах нь зүйтэй. + Хэрвээ өргөтгөл картын дугаар болон нэрийг зөв танисан эсэхээ мэдэхгүй бол + уг карт дээр буй үйлдвэрлэсэн бичгийг нь харах хэрэгтэй. Байнгын хэрэглэдэг IRQ + дугаарууд нь 3, 5, мөн 7 бөгөөд ихэнх хэрэглэгдэг IO портын хаягууд нь голдуу + 0x330 гэх мэт арван зургаат тооллын систем дээр бичсэн дугаарууд байдаг.</para> + + <para>FreeBSD-г суулгахаасаа өмнө эдгээр дугааруудыг тэмдэглэж авахыг зөвлөж байна. + Та дараах маягийн хүснэгт хөтлөх хэрэгтэй:</para> + + <table pgwide="1" frame="none"> + <title>Төхөөрөмжийн бүртгэлийн жишээ</title> + + <tgroup cols="4"> + <colspec colwidth="2*"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="4*"> + <thead> + <row> + <entry>Төхөөрөмжийн нэр</entry> + + <entry>IRQ</entry> + + <entry>IO порт(ууд)</entry> + + <entry>Тэмдэглэгээ</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Эхний хатуу диск</entry> + + <entry>мэдэхгүй</entry> + + <entry>мэдэхгүй</entry> + + <entry>40 ГБ, Seagate үйлдвэрлэсэн, эхний мастер IDE </entry> + </row> + + <row> + <entry>CDROM</entry> + + <entry>мэдэхгүй</entry> + + <entry>мэдэхгүй</entry> + + <entry>Эхний хоёр дахь IDE </entry> + </row> + + <row> + <entry>Хоёр дахь хатуу диск</entry> + + <entry>мэдэхгүй</entry> + + <entry>мэдэхгүй</entry> + + <entry>20 ГБ, IBM үйлдвэрлэсэн, хоёр дахь мастер IDE</entry> + </row> + + <row> + <entry>Эхний IDE хянагч</entry> + + <entry>14</entry> + + <entry>0x1f0</entry> + + <entry></entry> + </row> + + <row> + <entry>Сүлжээний карт</entry> + + <entry>мэдэхгүй</entry> + + <entry>мэдэхгүй</entry> + + <entry>&intel; 10/100</entry> + </row> + + <row> + <entry>Модем</entry> + + <entry>мэдэхгүй</entry> + + <entry>мэдэхгүй</entry> + + <entry>&tm.3com; 56K факс модем, COM1 дээр зоогдсон</entry> + </row> + + <row> + <entry>…</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + + <sect2> + <title>Өөрийнхөө өгөгдлийг нөөцөлж авах</title> + + <para> + Хэрэв таны FreeBSD суулгах гэж байгаа компьютерт чухал мэдээлэл + байвал, уг мэдээллээ нөөцөлж хадгалж авах нь зүйтэй бөгөөд уг + нөөцөлсөн мэдээллээ зөв хадгалснаа шалгах хэрэгтэй. FreeBSD-н суулгах + явц нь диск уруу бичиж эхлэхээсээ өмнө танаас лавлаж асуудаг бөгөөд + хэрэв нэг бичигдээд эхэлбэл буцаах арга байхгүй.</para> + </sect2> + + <sect2 id="install-where"> + <title>FreeBSD-г хаана суулгахаа шийдэх</title> + + <para>Хэрэв та FreeBSD-д бүх дискээ хэрэглүүлнэ гэж бодож байвал + энэ хэсэгт анхаарлаа хандуулалгүй цааш нь унших хэрэгтэй.</para> + + <para>Харин, хэрэв та FreeBSD-г өөр үйлдлийн системтэй хамт + хэрэглэнэ гэж бодож байвал диск дээр өгөгдөл хэрхэн байрладаг + мөн хэрхэн ажилладаг талаар үндсэн мэдлэгтэй байх хэрэгтэй.</para> + + <sect3 id="install-where-i386"> + <title> &i386; дээрх дискийн өгөгдөл байрлуулалт</title> + + <para>Компьютерийн диск нь хэд хэдэн хэсэгт хэсэгчилж болдог. + Эдгээр хуваагдсан хэсгүүдийг нь <firstterm>partitions буюу хуваалтууд</firstterm> + гэж нэрлэдэг. Анхнаасаа компьютерийн нэг дискийг зөвхөн дөрөв + хувааж болохоор зохиосон байна. Эдгээр хуваалтуудыг + <firstterm>primary partitions буюу анхдагч хуваалтууд</firstterm> гэж + нэрлэдэг. Энэ хязгаарлалтыг тойрон гарч дөрвөн хуваалтаас илүүг зөвшөөрөхийн тулд шинэ + хуваалтын арга үүссэн бөгөөд түүнийг <firstterm>extended partition + буюу өргөтгөсөн хуваалт</firstterm> гэж нэрлэжээ. Диск зөвхөн + ганцхан өргөтгөсөн хуваалт агуулж болно. Өргөтгөсөн хуваалт дотор + хичнээн бол хичнээн <firstterm>logical partitions + буюу логик хуваалтууд </firstterm> агуулж болдог байна.</para> + + <para>Хуваалт болгон <firstterm>partition ID буюу хуваалтын ID дугаар</firstterm> + агуулж байдаг бөгөөд энэ дугаар нь тухайн хуваалтын төрлийг илэрхийлж + байдаг. FreeBSD төрлийн хуваалтууд нь <literal>165</literal> гэсэн + ID дугаартай байдаг.</para> + + <para>Үйлдлийн систем болгон дискийн хуваалтуудыг таних өөр + өөрийн арга хэрэглэдэг. Жишээлбэл DOS буюу түүнтэй ижил төрлийн + &windows; системүүд нь дискийн хуваалтыг танихын тулд + <firstterm>үсэгчлэн дугаарласан диск</firstterm> аргыг хэрэглэдэг бөгөөд + <devicename>C:</devicename> үсгээр эхлэж тэмдэглэдэг.</para> + + <para> + FreeBSD нь primary partition буюу дискийн анхдагч хуваалт дээр суугдах ёстой. + FreeBSD таны үүсгэсэн файлуудыг, бас өөрийнхөө файлуудыг энэ хуваалт дээр + хадгалдаг. Хэрэв танд олон диск байвал мөн та тэдгээр дээр эсвэл тэдний зарим дээр + FreeBSD төрлийн хуваалт үүсгэж болно. FreeBSD суулгах үедээ дискийн нэг хуваалтыг бэлэн байлгах хэрэгтэй. + Энэ хуваалт нь таны урьдчилан бэлдсэн хоосон хуваалт юмуу эсвэл онц шаардлагаггүй + өгөгдөл хадгалсан хуваалт байсан ч болно.</para> + + <para> + Хэрэв та өөрийн бүх диск дэх бүх хуваалтыг хэрэглэж байсан бол тэдгээрийн + нэгийг нь FreeBSD-д зориулж ямар нэгэн үйлдлийн системд байдаг + хэрэгслийг ашиглан хоосон болгох хэрэгтэй (жишээ нь, DOS or &windows; + дээр байдаг <command>fdisk</command> програм).</para> + + <para>Хэрэв танд илүүчилж болохоор хуваалт байвал тэр хэсгийг бас хэрэглэж болно. + Гэхдээ та өмнө нь байж байсан хуваалтын хэмжээг ихэсгэж юмуу багасгаж хэрэглэж + хэрэгтэй болно.</para> + + <para>FreeBSD суугдаж чадах хамгийн бага хэмжээ бол 100 MБ билээ. + Гэхдээ энэ хэмжээ бол өөрийнхөө файлуудыг хадгалахад бараг + хүрэлцэхээргүй <emphasis>хамгийн</emphasis> бага хэмжээ юм. + Арай боломжийн бага хэмжээ бол график орчныг оруулалгүйгээр 250 MБ + хэмжээ юм. Хэрэв график орчинг оруулбал 350 MБ болно. + Хэрэв та гуравдагч програм зохиогчдын програмыг суулгаж хэрэглэнэ + гэж бодож байвал мэдээж түүнээс илүү хэмжээ хэрэгтэй.</para> + + <para>Та <application>&partitionmagic;</application> гэдэг үнэтэй + програмыг, эсвэл <application>GParted</application> зэрэг үнэгүй програмыг + FreeBSD-д зориулж дискэндээ зай гаргахад хэрэглэж болох юм. Ийм үйлдэлд + зориулагдсан CDROM дээр буй <filename>tools</filename> сан дотор <application>FIPS</application> + ба <application>PResizer</application> гэсэн хоёр үнэгүй програм байдаг. + Эдгээр програмыг хэрэглэх бичиг баримт нь уг сан дотор нь бас бий. + <application>FIPS</application>, <application>PResizer</application>, мөн + <application>&partitionmagic;</application> гэсэн програмууд нь + &ms-dos; -с эхлээд &windows; ME хүртэлх үйлдлийн системд хэрэглэгддэг + <acronym>FAT16</acronym> болон <acronym>FAT32</acronym> + хуваалтуудын хэмжээг ихэсгэж багасгахад хэрэглэгддэг. + <application>&partitionmagic;</application> ба + <application>GParted</application> нар <acronym>NTFS</acronym> + төрлийн хуваалт дээр ажиллаж чаддаг.</para> + + <warning> + <para>Эдгээр хэрэгслийг буруу ашиглавал дискэн дээр байгаа мэдээлэл тань устах болно. + Тэдгээрийг хэрэглэхээсээ өмнө өөрийнхөө өгөгдлийг нөөцөлж хадгалж авах хэрэгтэй.</para> + </warning> + + <example> + <title>Байгаа дискийн хуваалтыг өөрчлөлгүйгээр хэрэглэх нь</title> + + <para>Жишээлбэл, &windows; систем суулгасан 4 ГБ диск танд байгаа + гэж бодъё. Мөн та тэр дискийг 2 ГБ хэмжээгээр <devicename>C:</devicename> ба + <devicename>D:</devicename> гэж хоёр хуваасан байгаа. Танд + <devicename>C:</devicename> дээр 1 ГБ, <devicename>D:</devicename> дээр + 0.5 ГБ өгөгдөл хадгалсан байгаа гэж үзье.</para> + + <para>Энэ бол үсэгчлэн тэмдэглэсэн хоёр хуваалт танд байна гэсэн үг. + Та <devicename>D:</devicename> дээр байгаа бүх өгөгдлийг + <devicename>C:</devicename> руу хуулж чөлөөлөөд түүн дээр + FreeBSD суулгаж болно.</para> + </example> + + <example> + <title>Байгаа хуваалтын хэмжээг сунгаж өөрчлөх</title> + + <para>Танд &windows; суулгасан 4 ГБ диск байна гэж үзье. + &windows; суулгах үедээ та зөвхөн <devicename>C:</devicename> + гэж нэрлэсэн 4 ГБ хэмжээтэй ганцхан бүхэл хуваалт үүсгэжээ. + Та одоогоор уг хэмжээний 1.5 ГБ-ийг ашигласан гэж бодоцгооё. Тэгээд та + уг дискний 2 ГБ хэмжээ дээр FreeBSD суулгахыг хүссэн гэж авч үзье.</para> + + <para>FreeBSD-г суулгахын тулд дараахаас аль нэгийг хийх болно:</para> + + <orderedlist> + <listitem> + <para>&windows; дээр байсан өгөгдлөө нөөцөлж хадгалж аваад + &windows;-г дахин суулгаж гэхдээ түүндээ 2 ГБ хэмжээ үүсгэж хэрэглэх.</para> + </listitem> + + <listitem> + <para><application>&partitionmagic;</application> мэтийн програм ашиглаж + &windows;-н дискийн хэмжээг дээрх хэмжээнд тохируулж өөрчлөх.</para> + </listitem> + </orderedlist> + </example> + + </sect3> + + <sect3> + <title>Alpha дээрх дискийн байрлуулалт</title> + + <indexterm><primary>Alpha</primary></indexterm> + + <para>Танд Alpha дээр FreeBSD-г суулгах тусгайлан бэлдсэн диск хэрэгтэй. + Өөр үйлдлийн системтэй хамт дискийг энэ үед хэрэглэж болохгүй. Танд байгаа + Alpha машины төрлөөс хамаараад хэрэв уг дискнээс ачаалж болж л байвал + энэ диск нь SCSI юмуу эсвэл IDE диск байж болно.</para> + + <para>Digital / Compaq -н гарын авлагад заасны дагуу + SRM оруулгыг том үсгээр харуулдаг. SRM-д том жижиг + үсгүүд нь ялгаатай.</para> + + <para>Машиндаа буй дискийн нэр болон төрлийг мэдэхийн тулд + <literal>SHOW DEVICE</literal> тушаалыг SRM консолд бичдэг:</para> + + <screen>>>><userinput>SHOW DEVICE</userinput> +dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 +dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 +dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 +dva0.0.0.0.1 DVA0 +ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 +pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 +pqa0.0.0.4.0 PQA0 PCI EIDE +pqb0.0.1.4.0 PQB0 PCI EIDE</screen> + + <para>Дээрх жишээ нь Digital Personal Workstation + 433au машиных бөгөөд гурван диск холбогдсон байна. Эхнийх нь + CDROM хөтлөгч <devicename>DKA0</devicename> нэртэй байгаа бөгөөд + бусад хоёр диск нь + <devicename>DKC0</devicename> ба + <devicename>DKC100</devicename> гэсэн нэртэй байна.</para> + + <para><devicename>DKx</devicename> гэж эхэлсэн дискүүд нь + SCSI диск юм. Жишээ нь <devicename>DKA100</devicename> + гэдэг нь SCSI диск бөгөөд SCSI-н эхний шугам (A) дээр буй ID 1 + дискийг илэрхийлж байхад, <devicename>DKC300</devicename> гэдэг нь + гуравдагч шугам (C) дээр буй SCSI ID 3 дискийг зааж байна. + <devicename> PKx</devicename> гэдэг нь SCSI гол үндсэн шугамыг хэлж байна. + <literal>SHOW DEVICE</literal> тушаалд харуулснаар бол SCSI + CDROM төхөөрөмж нь бусад SCSI хатуу диск шиг харуулагддаг.</para> + + <para>IDE дискүүд нь <devicename>DQx</devicename> гэж илэрхийлэгдэж байхад + гол шугам нь <devicename>PQx</devicename> гэж нэрлэгддэг.</para> + + </sect3> + </sect2> + + <sect2> + <title>Сүлжээний нарийвчилсан тохируулгаа мэдэх</title> + + <para>Хэрэв та FreeBSD-н суулгацыг интернэт холболттой хийнэ гэж + бодож байвал (жишээ нь, суулгацыг FTP эсвэл NFS серверээс татан суулгаж байвал), + та сүлжээнийхээ тохируулгыг мэдэж байх хэрэгтэй. Ийм мэдээллийг суулгах үед + танаас лавлаж асуугаад, тохируулж интернэтэд холбогддог.</para> + + <sect3> + <title>Дотоод сүлжээ эсвэл Кабель/DSL Модемоор холбогдох</title> + + <para>Хэрэв та дотоод сүлжээнд холбогдсон байгаа юмуу эсвэл кабел, DSL-ээр холбогдохоор бол + дараах тохируулах мэдээллийг мэдсэн байх хэрэгтэй:</para> + + <orderedlist> + <listitem> + <para>IP хаяг</para> + </listitem> + + <listitem> + <para>Анхны gateway буюу гарцын IP хаяг</para> + </listitem> + + <listitem> + <para>Hostname буюу серверийн нэр</para> + </listitem> + + <listitem> + <para>DNS сервер IP хаяг</para> + </listitem> + + <listitem> + <para>Subnet Mask буюу дэд сүлжээний баг (тусгаарлан ангилах дугаар)</para> + </listitem> + </orderedlist> + + <para>Хэрэв та эдгээр мэдээллийг мэдэхгүй байгаа бол уг сүлжээ хариуцагч юмуу + интернэт уруу холбогдох байгууллага уруу хандах хэрэгтэй. + Гэтэл тэд танд, эдгээр мэдээлэл нь + <firstterm>DHCP</firstterm> ашиглаж автоматаар тохируулагдана гэж хэлж магадгүй. + Хэрэв тийм бол та эдгээр мэдээллийг заавал мэдсэн байх албагүй + бөгөөд энэ хэсгийг зүгээр санаад авахад илүүдэхгүй.</para> + </sect3> + + <sect3> + <title>Модем хэрэглэж холбогдох</title> + + <para>Хэрэв та интернэтээр хангагч байгууллага уруу ердийн модем ашиглан + утсаар холбогддог бол, та мөн FreeBSD-г интернэтээр суулгаж болох бөгөөд + жаахан удах л байх даа.</para> + + <para>Дараах зүйлсийг мэдэж байх шаардлагатай:</para> + + <orderedlist> + <listitem> + <para>ISP буюу интернэтийн үйлчилгээ үзүүлэгчийн холбогдох утасны дугаар</para> + </listitem> + + <listitem> + <para>Модемийн хэрэглэх COM: портын дугаар</para> + </listitem> + + <listitem> + <para>Интернэтийн үйлчилгээ үзүүлэгчид бүртгүүлсэн хэрэглэгчийн нэр болон нууц үг</para> + </listitem> + </orderedlist> + </sect3> + </sect2> + <sect2> + <title>FreeBSD-н алдааны бүртгэл</title> + + <para>FreeBSD төсөл нь гаргаж буй хувилбар болгоноо алдаагүй баттай байлгахыг + чармайж байдаг боловч зарим тохиолдолд жижиг алдаанууд гарах тохиолдол үүсдэг. Маш ховор + үед ийм алдаа суулгах үед гардаг. Эдгээр алдааг илрүүлж засаад, энэ тухайгаа + <ulink url="http://www.FreeBSD.org/releases/&rel.current;R/errata.html">FreeBSD алдааны бүртгэл</ulink> + хуудсан дээр тэмдэглэж бичдэг. Та суулгаж байх үед ийм хүндрэлтэй тулгарахгүйн тулд энэ хуудас уруу + орж шалгах хэрэгтэй.</para> + + <para>Хувилбар бүрд гарсан алдаануудыг бүх хувилбартай нь жагсаасан бүртгэлийг + <ulink + url="&url.base;/index.html">FreeBSD-н вэб хуудасны</ulink> + <ulink + url="&url.base;/releases/index.html">хувилбарын мэдээлэл</ulink> хэсэгт харж болно.</para> + </sect2> + + <sect2> + <title>FreeBSD-н суулгац файлуудыг бэлдэх</title> + + <para>FreeBSD-г суулгах явц нь дараах байршилд буй файлаас гүйцэтгэгдэж болно:</para> + + <itemizedlist> + <title>Дотоод төхөөрөмжөөс</title> + + <listitem> + <para>CDROM эсвэл DVD</para> + </listitem> + + <listitem> + <para>Уг компьютерт буй DOS хэсгээс</para> + </listitem> + + <listitem> + <para>SCSI эсвэл QIC бичлэгээс</para> + </listitem> + + <listitem> + <para>Уян дискнээс</para> + </listitem> + </itemizedlist> + + <itemizedlist> + <title>Сүлжээ</title> + + <listitem> + <para>FTP хаягнаас. Хэрэв шаардлагатай бол галт хана эсвэл HTTP проксигоор дамжина</para> + </listitem> + + <listitem> + <para>NFS сервер</para> + </listitem> + + <listitem> + <para>Зориулалтын паралел юмуу цуваа холболт</para> + </listitem> + </itemizedlist> + + <para>Хэрэв та FreeBSD -н суулгацыг CD эсвэл DVD хэлбэрээр авсан бол + танд хэрэгтэй бүх зүйл бэлэн болох бөгөөд энэ хэсгийг алгасаад дараагийн + хэсэг уруу шилжиж болно. + (<xref linkend="install-floppies">).</para> + + <para>Хэрэв та FreeBSD-н суулгац файлуудыг бэлдэж аваагүй бол + <xref linkend="install-diff-media"> хэсэг уруу очиж дээрх байршлаас + хэрхэн бэлдэж авах талаар тайлбарласныг уншина уу. Тэр хэсгийг уншиж + дуусаад буцаж эндээс + <xref linkend="install-floppies"> хэсэг уруу орох хэрэгтэй.</para> + </sect2> + + <sect2 id="install-floppies"> + <title>Эхлэн ачаалах төхөөрөмжийг бэлдэх</title> + + <para>FreeBSD суулгац нь таны компьютер ачаалах үед эхэлдэг— + энэ нь өөр үйлдлийн системээс эхлүүлдэг програм биш. + Таны компьютер ердийн үед хатуу дискэн дээр суугдсан үйлдлийн + системээр эхлэж ачаалагддаг. Гэхдээ үүнийг бас + <quote>ачаалагдаж болдог</quote> уян дискнээс эхлүүлж болохоор + тохируулж болдог. Орчин үеийн ихэнх компьютерууд CDROM дотор буй + CDROM дискнээс эхлэн ачаалагдаж чаддаг.</para> + + <tip> + <para>Хэрэв та FreeBSD-г CDROM эсвэл DVD дээр (худалдаж авсан юмуу + эсвэл өөрөө бэлдэж авсан бол) бэлдэж авсан бөгөөд таны компьютер + CDROM эсвэл DVD-ээс эхлэн ачаалагдаж болдог (ихэнх BIOS дээр <quote>Boot + Order буюу ачаалах дараалал</quote> гэсэн эсвэл үүнтэй төсөөтэй + сонголтоор тохируулагддаг) бол энэ хэсгийг уншилгүй алгасаж болно. + FreeBSD-н CDROM болон DVD дээр байгаа файлууд нь нэмэлт зүйлс шаардалгүй + шууд суугдах боломжтой.</para> + </tip> + + <para>Ачаалагдаж болдог уян диск бэлдэхийн тулд дараах алхмыг гүйцэтгэнэ:</para> + + <procedure> + <step> + <title>Ачаалагддаг уян дискний Image буюу дүрс файлыг бэлдэх</title> + + <para>Ачаалагддаг дискнүүд нь таны суулгац файлыг хадгалсан төхөөрөмжний + <filename>floppies/</filename> сан дотор байрладаг бөгөөд мөн + <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<replaceable><arch></replaceable>/<replaceable><version></replaceable>-RELEASE/floppies/</literal>. + хаягнаас бас хуулагдаж болно. <replaceable><arch></replaceable> болон + <replaceable><version></replaceable> -ны оронд хүссэн архитектур ба хувилбараа орлуулах хэрэгтэй. + Жишээ нь &i386;-д зориулсан &os; &rel.current;-RELEASE хувилбарын ачаалагддаг уян дискийг + <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/floppies/"></ulink> + хаягаас татаж авна.</para> + + <para>Уян дискний images буюу дүрс файл нь <filename>.flp</filename> гэсэн өргөтгөлтэй байдаг. + <filename>floppies/</filename> сан нь янз бүрийн дүрс файл агуулж байдаг бөгөөд + суулгах төхөөрөмж болон FreeBSD-нхээ хувилбарт тохируулан сонголт хийдэг. + Ихэнх тохиолдолд танд гурван ширхэг уян диск хэрэг болно. Тэдгээр нь + <filename>boot.flp</filename>, + <filename>kern1.flp</filename>, мөн + <filename>kern2.flp</filename> юм. Уг санд буй + <filename>README.TXT</filename> файлаас уг уян дисктэй холбоотой сүүлийн үеийн + мэдээллийг шалгаарай.</para> + + <note><para>Нэмэлт төхөөрөмжид зориулсан таниулах програм юм уу + драйверууд нь &os; 5.3 ээс хуучин 5.X хувилбаруудад + шаардагдаж магадгүй. Эдгээр драйверууд нь + <filename>drivers.flp</filename> дүрсэнд байдаг.</para></note> + + <important> + <para>Эдгээр дүрс файлыг татаж авах FTP програм нь <emphasis>binary mode</emphasis> + буюу хоёртын файлын хэлбэр горимоор татаж авах ёстой. Зарим вэб хөтөч програмууд нь + <emphasis>текст</emphasis> (эсвэл + <emphasis>ASCII</emphasis>) горим хэрэглэдэг бөгөөд ийм үед таны уян + диск анхлан ачаалагдаж чадахгүй.</para> + </important> + </step> + + <step> + <title>Уян диск бэлдэх</title> + + <para>Татаж авсан дүрс файл болгонд нэг уян диск бэлдэх ёстой. + Уг дискүүд нь ямар нэгэн алдаагүй байх шаардлагатай. + Шалгах хамгийн амар арга бол шууд форматлах буюу цэвэрлэх + хэрэгтэй. Урьдчилан цэвэрлэсэн дискэнд итгэх хэрэггүй. + &windows; -н цэвэрлэдэг хэрэгсэл нь дискэн дээр байгаа + эвдэрсэн хэсгийг мэдээлдэггүй бөгөөд тэдгээрийг зүгээр + <quote>bad буюу муу</quote> гэж тэмдэглээд өнгөрдөг. + Шинэ диск хэрэглэн суулгах үйлдэл хийхийг танд зөвлөж байна.</para> + + <important> + <para>Хэрэв таны FreeBSD-г суулгах явц гацах, эвдрэх, ямар нэг + гаж нөлөө үзүүлбэл та хамгийн түрүүнд уян дискээ хардах хэрэгтэй. + Шинэ дискэнд дүрс файлаа бичээд дахин оролдоорой.</para> + </important> + </step> + + <step> + <title>Дүрс файлыг уян диск уруу бичих</title> + + <para><filename>.flp</filename> файлууд нь диск уруу зүгээр + хуулдаг <emphasis>энгийн</emphasis> файл биш юм. + Тэд бол дискийн бүхэл бүтцийг агуулсан дүрс файл. + Тийм болохоор ийм файлыг диск уруу шууд хуулж <emphasis>болохгүй</emphasis>. + Харин, дүрс файлыг диск уруу буулгах тусгай хэрэгсэл ашигладаг.</para> + + <indexterm><primary>DOS</primary></indexterm> + <para>Хэрэв та &ms-dos;/&windows; үйлдлийн систем дээр ажиллаж байгаа бол + <command>fdimage</command> хэрэгсэл хэрэглэх хэрэгтэй.</para> + + <para>Хэрэв уян дискнүүд CDROM дээр байгаа бөгөөд таны + CDROM <devicename>E:</devicename> гэж танигдсан бол та дараах тушаалыг өгөх + хэрэгтэй:</para> + + <screen><prompt>E:\></prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen> + + <para>Энэ тушаалыг уян дискээ сэлгэж <filename>.flp</filename> файл болгонд гүйцэтгээд + дараа нь дэс дараалан тэмдэглэх хэрэгтэй. + <filename>.flp</filename> файлын байрлалаас хамааран тушаалаа тохируулж өгөх хэрэгтэй. + Хэрэв танд CDROM байхгүй бол <command>fdimage</command> нь FreeBSD-н FTP + <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/"><filename class="directory">багажнууд</filename> + сангаас хуулагдах боломжтой</ulink>.</para> + + <para>Хэрэв та уян дискийг &unix; системээс бэлдэж байгаа бол( + өөр FreeBSD системээс) та &man.dd.1; тушаалыг ашиглан дүрс файлыг + уян диск дээр буулгаж болно. FreeBSD дээр:</para> + + <screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen> + + <para>FreeBSD дээр <filename>/dev/fd0</filename> гэхээр эхний уян дискийн + хөтлөгч уруу ханддаг ( <devicename>A:</devicename> төхөөрөмж). + <filename>/dev/fd1</filename> гэвэл + <devicename>B:</devicename> төхөөрөмж гэх мэтчилэн үргэлжилдэг. + Бусад &unix; төрлийн систем дээр уян дискийн төхөөрөмж нь өөр өөр + нэртэй байж болох бөгөөд шаардлагатай бол + тухайн системийн бичиг баримтаас лавлах хэрэгтэй.</para> + </step> + </procedure> + + <para>Та одоо FreeBSD-н суулгацыг эхлүүлэхэд бэлэн боллоо.</para> + </sect2> + </sect1> + + <sect1 id="install-start"> + <title>Суулгацыг эхлүүлэх</title> + + <important> + <para>Дараах мэдэгдлийг харах хүртэл суулгац програм нь таны + диск(нүүд)эд ямар нэгэн өөрчлөлт хийдэггүй:</para> + + <literallayout class="monospaced">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!</literallayout> + <para>Үүнийг орчуулбал:</para> + <literallayout class="monospaced"> + Сүүлийн боломж: Та суулгацыг үргэлжлүүлэхдээ ИТГЭЛТЭЙ байна уу? + + Хэрэв та хэрэгтэй мэдээллээ хадгалсан дискнээс уг суулгацыг + эхлүүлж байгаа бол, эхлүүлэхээсээ өмнө ӨӨРИЙНХӨӨ ӨГӨГДЛИЙГ НАЙДВАРТАЙ ХАДГАЛЖ + АВАХЫГ БИД ЗӨВЛӨЖ БАЙНА! + + Дискэнд буй өгөгдөлд учирсан эвдрэлд бид хариуцлага хүлээхгүй! + </literallayout> + + <para>Суулгац програм нь энэ анхааруулга хүртэл дискэнд + өөрчлөлт хийлгүйгээр цуцалж гарах боломжтой. Хэрэв та ямар нэгэн + зүйл буруу тохируулсан юмуу өөрчлөх ёстой гэж бодож байвал, энэ мөчид + та компьютерээ унтраахад ямар ч эвдрэл үүсэхгүй.</para> + </important> + + <sect2 id="install-starting"> + <title>Эхлэн ачаалалт</title> + + <sect3 id="install-starting-i386"> + <title>&i386; системд эхлэн ачаалах</title> + + <procedure> + <step> + <para>Компьютер унтарсан үеэс эхлэх хэрэгтэй.</para> + </step> + + <step> + <para>Компьютерийг асаана. Эхлэх үед дэлгэц дээр системийн BIOS-н + үндсэн тохируулга уруу ордог гарын товчлолыг харуулдаг. Энэ нь голдуу + <keycap>F2</keycap>, <keycap>F10</keycap>, + <keycap>Del</keycap>, эсвэл + <keycombo action="simul"> + <keycap>Alt</keycap> + <keycap>S</keycap> + </keycombo> гэсэн товчлолуудын нэг нь байдаг. Дэлгэцэнд юу гэж заасан байна, + уг товлолыг дарж BIOS-н тохируулга уруу орох хэрэгтэй. Зарим тохиолдолд, эхлэх + үед график зураг харуулдаг бөгөөд голдуу <keycap>Esc</keycap> товч дарсанаар + уг зургийг болиулж хүссэн текстээ дэлгэцэнд харах боломжтой.</para> + </step> + + <step> + <para>Систем аль төхөөрөмжөөс эхлэж ачаалах вэ гэсэн тохируулгыг олох хэрэгтэй. + Энэ нь голдуу <quote>Boot Order буюу эхлэх дараалал</quote> гэсэн хэсэгт байдаг + бөгөөд ачаалж болох + <literal>Floppy</literal>, <literal>CDROM</literal>, + <literal>First Hard Disk</literal> гэсэн ачаалж болох төхөөрөмжийн + жагсаалтыг агуулсан байдаг.</para> + + <para>Хэрэв та уян дискнээс ачаална гэж бодсон бол уг жагсаалтнаас + уян дискийг сонгох хэрэгтэй. Эсвэл та CDROM -ноос эхэлж ачаална гэж + бодож байвал түүнийг сонгох хэрэгтэй. Аль нь зөв эсэхээ мэдэхгүй + эргэлзэж байгаа бол уг компьютертэй цуг ирдэг гарын авлагаас хараарай.</para> + + <para>Тохирсон өөрчлөлтөө хийж хадгалаад гарна. Компьютер ингэсний дараа + шинээр дахин ачаалагдаж эхэлнэ.</para> + </step> + + <step> + <para>Хэрэв та + <xref linkend="install-floppies"> дээр заасан шиг уян диск бэлдсэн бол, + <filename>kern.flp</filename> файлыг агуулсан уян диск нь эхнийх нь бөгөөд + шинээр ачаалагдах үед тэр уян диск нь хөтлөгч дотор байх ёстой.</para> + + <para>Хэрэв та CDROM -с эхэлж ачаалж байгаа бол компьютерээ асаангуутаа + CDROM уруу дискээ хийж эхлүүлэх хэрэгтэй.</para> + + <para>Хэрэв таны компьютер асаад, өмнө суусан байсан үйлдлийн системнээс + ердийнхөөрөө эхлэж байвал шалтгаан нь дараахаас аль нэг нь байж болно:</para> + + <orderedlist> + <listitem> + <para>Ачаалах явцаас өмнө нь амжиж дискээ оруулаагүй байх. Дискээ оруулаад + компьютерээ дахин шинээр ачаал.</para> + </listitem> + + <listitem> + <para>Өмнө хийсэн BIOS -ийн өөрчлөлт зөв хийгдээгүй байх. Уг өөрчлөх үйлдлийг дахин + хийж зөв тохируулгыг хийх.</para> + </listitem> + + <listitem> + <para>Магадгүй таны бэлдсэн төхөөрөмжөөс эхлэж ачаалах үйлдлийг таны BIOS + дэмжэээгүй байж болно.</para> + </listitem> + </orderedlist> + </step> + + <step> + <para>FreeBSD ачаалагдаж эхлэнэ. Хэрэв та CDROM -ноос эхлүүлсэн бол + дараах зүйлтэй адилхан мэдэгдэл харах болно (хувилбарын хэсгийг оруулаагүй болно):</para> + + <screen>Verifying DMI Pool Data ........ +Boot from ATAPI CD-ROM : + 1. FD 2.88MB System Type-(00) +Uncompressing ... done + +BTX loader 1.00 BTX version is 1.01 +Console: internal video/keyboard +BIOS drive A: is disk0 +BIOS drive B: is disk1 +BIOS drive C: is disk2 +BIOS drive D: is disk3 +BIOS 639kB/261120kB available memory + +FreeBSD/i386 bootstrap loader, Revision 0.8 + +/kernel text=0x277391 data=0x3268c+0x332a8 | + +| +Hit [Enter] to boot immediately, or any other key for command prompt. +Booting [kernel] in 9 seconds... _</screen> + + <para>Хэрэв та уян дискнээс эхлүүлж байгаа бол дараах мэдэгдэлтэй ижил + бичиглэлийг харна (хувилбарын хэсгийг оруулаагүй болно):</para> + + <screen>Verifying DMI Pool Data ........ + +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 0.8 + +/kernel text=0x277391 data=0x3268c+0x332a8 | + +Please insert MFS root floppy and press enter:</screen> + + <para>Уг зааврын дагуу + <filename>boot.flp</filename> дискийг гаргаад + <filename>kern1.flp</filename> дискийг оруулаад + <keycap>Enter</keycap> товчийг дараарай. Эхний дискнээс эхэлж ачаалаад + дараа нь шаардсан дискнүүдийг нь дараалан оруулах хэрэгтэй.</para> + </step> + + <step> + <para>Уян диск эсвэл CDROM ны алинаас нь ч эхлүүлсэн бай + дараах хэсэгт тулж ирдэг:</para> + + <screen>Hit [Enter] to boot immediately, or any other key for command prompt. +Booting [kernel] in 9 seconds... _</screen> + + <para>Арван секунд хүлээх, эсвэл шууд <keycap>Enter</keycap> товч дарж болно.</para> + </step> + </procedure> + + </sect3> + <sect3> + <title>Alpha систем дээр эхлүүлэх</title> + + <indexterm><primary>Alpha</primary></indexterm> + + <procedure> + <step> + <para>Компьютерээ унтраастай үед эхэлнэ.</para> + </step> + + <step> + <para>Асаагаад эхлүүлэх хэсэг гарч иртэл хүлээнэ.</para> + </step> + + <step> + <para>Хэрэв та + <xref linkend="install-floppies"> дээр заасан шиг уян диск бэлдсэн бол, + <filename>boot.flp</filename> файлыг агуулсан уян диск нь эхнийх нь бөгөөд + шинээр ачаалагдах үед тэр уян диск нь хөтлөгч дотор байх ёстой. + Тэгээд дараах тушаалыг өгөх хэрэгтэй + (уян дискний хөтлөгчийн нэрийг өөрийнхөөрөө бичих хэрэгтэй):</para> + + <screen>>>><userinput>BOOT DVA0 -FLAGS '' -FILE ''</userinput></screen> + + <para>Хэрэв CDROM -оос эхлүүлсэн бол дараах тушаалыг өгнө + ( CDROM-ийн нэр нь таны компьютерийнх байх хэрэгтэй):</para> + + <screen>>>><userinput>BOOT DKA0 -FLAGS '' -FILE ''</userinput></screen> + </step> + + <step> + <para>FreeBSD ачаалагдаж эхлэнэ. Хэрэв та уян дискнээс эхэлсэн бол + дараах хэсэгт тулна:</para> + + <screen>Insert disk labelled "Kernel floppy 1" and press any key...</screen> + + <para>Уг зааврын дагуу + <filename>boot.flp</filename> дискийг гаргаад + <filename>kern1.flp</filename> дискийг оруулаад + <keycap>Enter</keycap> товчийг дараарай.</para> + </step> + + <step> + <para>Уян диск эсвэл CDROM ны алинаас нь ч эхлүүлсэн бай + дараах хэсэгт тулж ирдэг:</para> + + <screen>Hit [Enter] to boot immediately, or any other key for command prompt. +Booting [kernel] in 9 seconds... _</screen> + + <para>Арван секунд хүлээх, эсвэл шууд <keycap>Enter</keycap> товч. Энэ нь + цөмийн тохируулах цэс уруу хөтлөнө.</para> + </step> + </procedure> + + </sect3> + + </sect2> + + <sect2 id="view-probe"> + <title>Төхөөрөмжийн шалгаж бүртгэсэн хэсгийг харах</title> + + <para>Сүүлд нь урсаж өнгөрдөг хэдэн зуун мөр текст нь + дэлгэцийн түр хадгалагч уруу хадгалагддаг бөгөөд + сүүлд дахин харж болдог.</para> + + <para>Түр хадгалагдсан мөрийг дахин харахын тулд <keycap>Scroll Lock</keycap> + товч дараарай. Энэ нь дэлгэцэнд урсаж өнгөрсөн текстүүдийг дээш нь эргүүлж + харах боломж өгдөг. Та дээш заасан сум товчоор юмуу эсвэл + <keycap>PageUp</keycap> мөн <keycap>PageDown</keycap> товчнуудаар дээш доош гүйлгэн + харж болно. <keycap>Scroll Lock</keycap> товчийг дахин дарж гулгуулах үйлдлээ зогсоодог.</para> + + <para>Та уг товчийг дарж дээш гулгуулан харах хэрэгтэй. Энэ нь цөм хэрхэн төхөөрөмжүүдийг + таньсан тухай харуулдаг. Та <xref linkend="install-dev-probe"> дээр харуулсантай ижил + бичиглэл харах бөгөөд харин төхөөрөмжүүдийн нэрс нь таны компьютерийнхээс өөр байж магадгүй.</para> + + <figure id="install-dev-probe"> + <title>Төхөөрөмж таньсан бүртгэл бичлэг</title> + + <screen>avail memory = 253050880 (247120K bytes) +Preloaded elf kernel "kernel" at 0xc0817000. +Preloaded mfs_root "/mfsroot" at 0xc0817084. +md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 + +md1: Malloc disk +Using $PIR table, 4 entries at 0xc00fde60 +npx0: <math processor> on motherboard +npx0: INT 16 interface +pcib0: <Host to PCI bridge> on motherboard +pci0: <PCI bus> on pcib0 +pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 +pci1: <PCI bus> on pcib1 +pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 +isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 +isa0: <iSA bus> on isab0 +atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 +ata0: at 0x1f0 irq 14 on atapci0 +ata1: at 0x170 irq 15 on atapci0 +uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci +0 +usb0: <VIA 83572 USB controller> 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: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 +dc0: <ADMtek AN985 10/100BaseTX> 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: <Generic IEEE 802.3u media interface> on miibus0 +ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto +ed0: <NE2000 PCI Ethernet (RealTek 8029)> 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: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 +fdc0: <NEC 72065B or clone> 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: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 +atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 +kbd0 at atkbd0 +psm0: <PS/2 Mouse> irq 12 on atkbdc0 +psm0: model Generic PS/@ mouse, device ID 0 +vga0: <Generic ISA VGA> 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: <PLIP network interface> on ppbus0 +ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 +acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 +Mounting root from ufs:/dev/md0c +/stand/sysinstall running as init on vty0</screen> + </figure> + + <para>FreeBSD-дээр таны хүссэн төхөөрөмжийг зөв таньсан эсэхийг уг + бичлэг дээр тулгаж харах хэрэгтэй. Хэрэв төхөөрөмж олдоогүй бол + уг бичлэгт харуулагдахгүй. Хэрэв төхөөрөмж нь IRQ болон порт хаягаар + тохируулагдах ёстой бол, зөв дугаарууд нь оруулагдсан эсэхийг + нягтлаарай.</para> + + <para>Хэрэв та хэрэглэгчид тохируулсан энэ төхөөрөмжийг таних үйлдэлд + өөрчлөлт оруулахыг хүсвэл <application>sysinstall</application> програмаас + гараад дахин эхлүүлэх хэрэгтэй. Ингэснээр та ч гэсэн уг үйлдэлд гаршиж + сурахад дөхөм байх болно.</para> + + <figure id="sysinstall-exit"> + <title>Sysinstall-аас гарах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/sysinstall-exit" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сумтай товч хэрэглэж үндсэн цэснээс + <guimenuitem>Exit Install</guimenuitem> цэсийг сонгоно. + Дараах бичиглэл танд харуулагдана:</para> + + + <screen> User Confirmation Requested + Are you sure you wish to exit? The system will reboot + (be sure to remove any floppies from the drives). + + [ Yes ] No</screen> + + <para>Хэрэв диск хөтлөгч дотор CDROM-г үлдээсэн хэвээр байгаа бол + &gui.yes; цэсийг сонгож системийг дахин эхлүүлнэ.</para> + + <para>Хэрэв та уян дискнээс эхлүүлсэн бол дахин ачаалахаасаа өмнө + <filename>boot.flp</filename> дискийг гаргах хэрэгтэй.</para> + </sect2> + </sect1> + + <sect1 id="using-sysinstall"> + <title>Sysinstall-н танилцуулга</title> + + <para><application>sysinstall</application> бол FreeBSD төслөөс гаргасан + суулгац програм юм. Энэ нь консол дээр тулгуурлаж ажилладаг + бөгөөд зохих цэсийг нь ашиглаж суулгах явцыг хянаж тохируулдаг.</para> + + <para><application>sysinstall</application>-н цэс нь сумтай товч, + <keycap>Enter буюу мөр нугалагч</keycap>, <keycap>Space буюу зай авагч</keycap>, + гэх мэт товчнуудаар залагддаг. Эдгээр товчны тухай дэлгэрэнгүй мэдээлэл + <application>sysinstall</application>-н хэрэглэх зааварт бичээстэй буй.</para> + + <para>Эдгээр мэдээллийг харахын тулд + <guimenuitem>Usage буюу хэрэглээ</guimenuitem> хэсэгт очоод + <guibutton>[Select]</guibutton> хэсгийг сонгож <xref + linkend="sysinstall-main3">-д харуулсан шиг байдалд болгоод + <keycap>Enter</keycap> товч дарах хэрэгтэй.</para> + + <para>Цэстэй хэрхэн ажиллах талаархи заавар харуулагдана. Хэрэглэх + зааврыг уншиж дуусаад <keycap>Enter</keycap> товч дарж буцаад + үндсэн цэсэнд очно.</para> + + <figure id="sysinstall-main3"> + <title>Sysinstall-н үндсэн цэсэнд Usage буюу хэрэглээг сонгох нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <sect2 id="select-doc"> + <title>Documentation буюу бичиг баримт цэсийг сонгох</title> + + <para>Үндсэн цэснээс сумтай товч ашиглан <guimenuitem>Doc</guimenuitem> + цэсийг сонгоод <keycap>Enter</keycap> дарна.</para> + + <figure id="main-doc"> + <title>Documentation буюу бичиг баримтын цэс сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-doc" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Энэ нь бичиг баримтыг харуулах болно.</para> + + <figure id="docmenu1"> + <title>Sysinstall-н Documentation буюу бичиг баримтын цэс</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/docmenu1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хамт ирсэн бичиг баримтыг нь унших хэрэгтэй.</para> + + <para>Бичиг баримтыг үзэхийн тулд сумтай товч хэрэглэж сонгоод + <keycap>Enter</keycap> товч дарна. Уншиж дуусаад + <keycap>Enter</keycap> товч дарвал Documentation буюу бичиг баримтын + цэс уруу буцна.</para> + + <para>Суулгацын үндсэн цэсэнд буцаж очихын тулд + <guimenuitem>Exit буюу гарах</guimenuitem> гэсэн цэсийг сонгоод + <keycap>Enter</keycap> товч дараарай.</para> + </sect2> + + <sect2 id="keymap"> + <title>Keymap буюу гарын товчлуур хуваарилалт цэсийг сонгох</title> + + <para>Гарын товчлуурын хуваарилалтыг өөрчлөхийг хүсвэл + сумтай товчоор <guimenuitem>Keymap</guimenuitem> цэсийг сонгоод + <keycap>Enter</keycap> товч дарна. Энэ нь зөвхөн + стандарт буюу US америк гарын хуваарилалт хэрэглэдэггүй тохиолдолд л + танд хэрэгтэй.</para> + + <figure id="sysinstall-keymap"> + <title>Sysinstall-н үндсэн цэс</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-keymap" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Өөр өөр гарын хуваарилалтыг та сумтай товчоор сонгоод + <keycap>Space</keycap> товч дарж сонгох бөгөөд дахин + <keycap>Space</keycap> дарж сонголтоо цуцлана. + Сонгож дуусаад &gui.ok; цэсийг сумтай товч ашиглан сонгоод + <keycap>Enter</keycap> товч дараарай.</para> + + <para>Энэ харуулсан дэлгэцэнд зөвхөн зарим хэсгийг нь харуулсан болно. + <keycap>Tab</keycap> товч хэрэглэж &gui.cancel; цэсийг сонговол + анхдагч гарын хуваарилалтыг сонгоод үндсэн цэс уруу буцдаг.</para> + + <figure id="sysinstall-keymap-menu"> + <title>Sysinstall-н Keymap буюу гарын товчлуур хуваарилалт цэс</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/keymap" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + </sect2> + + <sect2 id="viewsetoptions"> + <title>Суулгацын Options буюу тохируулгууд нүүр</title> + + <para><guimenuitem>Options</guimenuitem> цэсийг сонгоод + <keycap>Enter</keycap> дарна.</para> + + <figure id="sysinstall-options"> + <title>Sysinstall-н үндсэн цэс</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-options" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <figure id="options"> + <title>Sysinstall Options хэсэг</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/options" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Анхдагч утга нь ихэнх хэрэглэгчдэд өөрчлөлтгүйгээр хэрэглэгдэхэд + хангалттай. Хувилбарын нэр нь суулгаж байгаа төрлөөсөө хамаарч өөр өөр байна.</para> + + <para>Сонгогдсон цэсийн тайлбар нь дэлгэцийн доод хэсэгт цэнхэр дэвсгэртэй + бичигддэг. Тэмдэглэж хэлэхэд, <guimenuitem>Use Defaults</guimenuitem> цэсийг сонговол + бүх утгыг анхдагч утганд нь тохируулдаг.</para> + + <para><keycap>F1</keycap> товч дарж сонголтын төрөл бүрийн мэдээлэл агуулсан + туслах мэдээллийг харж болно.</para> + + <para><keycap>Q</keycap> товч дарвал үндсэн цэсэнд буцаж очно.</para> + </sect2> + + <sect2 id="start-install"> + <title>Үндсэн суулгацыг эхлүүлэх</title> + + <para>&unix; эсвэл FreeBSD үйлдлийн системийг сурж байгаа хүнд бол + <guimenuitem>Standard</guimenuitem> цэсийг сонгож үндсэн суулгацыг + эхлүүлэх хэрэгтэй. Сумтай товч хэрэглэн <guimenuitem>Standard</guimenuitem> + цэсийг сонгоод <keycap>Enter</keycap> товч дарвал үндсэн суулгац эхэлнэ.</para> + + <figure id="sysinstall-standard"> + <title>Үндсэн суулгацыг эхлүүлэх нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/main-std" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </sect2> + </sect1> + + <sect1 id="install-steps"> + <title>Дискийн зайг зохицуулах</title> + + <para>Таны эхний үйлдэл бол FreeBSD-д зориулж дискийн зай бэлдэж түүндээ + нэр өгнө. Ингэснээр <application>sysinstall</application> уг дискийг таньж + бэлддэг. Үүнийг хийхийн тулд FreeBSD диск дээр байгаа + мэдээллийг хэрхэн уншиж хэрэглэдэг талаар мэдэх хэрэгтэй.</para> + + <sect2 id="install-drive-bios-numbering"> + <title>BIOS-н диск дугаарлалт</title> + + <para>Өөрийнхөө систем дээр FreeBSD -г суулгаж тохируулахын тулд + зарим зүйлсийг анхаарч мэдэх хэрэгтэй. Ялангуяа та олон диск + хэрэглэдэг бол энэ нь тун чухал.</para> + + <indexterm><primary>DOS</primary></indexterm> + <indexterm><primary>Microsoft Windows</primary></indexterm> + <para>Компьютер дээр BIOS-оос хамаарч ажилладаг + &ms-dos; эсвэл µsoft.windows; зэрэг үйлдлийн системүүдэд, BIOS + дискүүдийг дугаарладаг бөгөөд уг үйлдлийн системүүд нь уг дугаарласан + өөрчлөлтийг нь дагаж ажилладаг. Энэ нь <quote>primary + master буюу анхны дискээс</quote> өөр дискээс үйлдлийн систем + эхэлж ажиллах боломж өгдөг. Энэ арга нь + <application> + <trademark class="registered">Ghost</trademark> + </application> эсвэл <application>XCOPY</application> зэрэг програм ашиглан + нэг дискний ерөнхий зургийг хуулж түүнтэй адилхан хоёр дахь диск уруу + хуулан системдээ найдвартай хадгалалт хийдэг хүмүүст тун хэрэгтэй байдаг. + Тэгээд, хэрэв эхний диск эвдрэх, эсвэл вирусдаж гэмтэх зэрэг хүндрэл + гарвал, BIOS дээр дискүүдийн дарааллыг өөрчилж хуулбарласан өгөгдөлтэй + дискээс үйлдлийн системээ эхлүүлэн ажиллаж болдог. + Энэ нь бараг дискүүдийн кабелийг хайрцгийг нь нээлгүйгээр + сольж байгаатай ижил юм.</para> + + <indexterm><primary>SCSI</primary></indexterm> + <indexterm><primary>BIOS</primary></indexterm> + <para>SCSI диск хянагчтай системүүд нь голдуу + BIOS өргөтгөлтэй байдаг бөгөөд найм хүртэлх SCSI дискүүдийг + иймэрхүү зарчмаар дараалуулж чаддаг.</para> + + <para>Иймэрхүү арганд дассан хүнд FreeBSD арай өөрөөр + үйлчилдэг бөгөөд энэ нь их цочирдуулдаг. + FreeBSD BIOS-г ашигладаггүй бөгөөд <quote>BIOS-н логик дискийн дугаарлалтыг + мэддэггүй</quote>. Энэ нь ялангуяа яг адилхан дискэн дээр + дискийн зургийг хуулбарласан үед бодсоноос өөр үйлчлэл үзүүлэхэд хүргэдэг.</para> + + <para>FreeBSD-г хэрэглэх үедээ BIOS-г үргэлж өөрөөр нь диск дугаарлалт + хийлгэж, тэр чигээр нь үлдээх хэрэгтэй. Хэрэв та дискний дугаарлалтыг + өөрчлөхөөр бол, компьютерийнхээ хайрцгийг онгойлгож дискний сэлгүүр + болон залгууруудыг тохируулж залгах хэрэгтэй.</para> + + <sidebar> + <title>Билл болон Фрэд нарт тохиолдсон явдлыг авч үзэцгээе:</title> + + <para>Билл өөрийнхөө хуучин Wintel компьютерээ янзалж FreeBSD суулгаад + Фрэдэд өгөхөөр болжээ. Билл нэг SCSI хянагчтай бөгөөд түүний эхний SCSI + диск дээр FreeBSD-г суулгажээ.</para> + + <para>Фрэд суулгасан системийг хэрэглэж эхлэв. Гэвч хэсэг өдрийн дараа + хуучин SCSI дискэн дээр зарим алдаанууд гараад байна гэж Биллд хэлжээ.</para> + + <para>Хэдэн өдрийн дараа уг хүндрэлийг Билл засахаар шийджээ. + Тэгээд арынхаа өрөөнөөс уг дисктэй ижил, <quote>нөөц хадгалалт</quote> + хийсэн дискээ авчиржээ. Авчирсан дискэн дээрээ гадаргууны шалгалт хийхэд + ямар ч алдаагүй гэж гарч ирэв. Тэгэхээр нь нөхөр Билл тэр дискийг + SCSI хяналтын дөрөв дэх залгуур дээр залгаад эхний дискээс дөрөв дэх диск уруу + нөөц image буюу хуулбар дүрс хийж авч гэнэ. Шинэ залгасан диск сайхан ажиллаж + байсан тул баярласан Билл уг дискийг цаашид хэрэглэхээр шийдээд + SCSI BIOS дээр үйлдлийн системийг ачаалах дискний дугаарыг дөрөв болгож + өөрчилжээ. FreeBSD-н эхлэх ачаалалт зүгээр байсан бөгөөд маш сайхан + ажиллаж эхлэв.</para> + + <para>Фрэд цааш нь хэдэн хоног ажилласны дараа төдий удалгүй Билл болон Фрэд + хоёр FreeBSD-г шинэчлэх шинэ адал явдал хөөцөлдөх хүсэл төржээ. Билл SCSI хянагчийн + эхний дискийг аваад оронд нь үүнтэй ижилхэн өөр <quote>нөөцөлсөн</quote> диск авчирж + залгав. Билл + FreeBSD -н шинэ хувилбарбыг эхний SCSI диск дээр Фрэдийн шидэт интернэтээс FTP-ээс + татаж авсан уян дискнээс эхлүүлж суулгав. Суулгац маш амжилттай болжээ.</para> + + <para>Фрэд гуай FreeBSD -н шинэ хувилбарыг хэдэн хоног туршиж үзээд + инженерийн салбарт хэрэглэхэд тун тохиромжтой юм байна гэсэн дүгнэлт өгч гэнэ. + Ингээд хуучин хувилбар дээр хийж байсан ажлуудаа хэрэглэх хэрэг болж гэнэ. + Тэгээд Фрэд гуай дөрөвдүгээр SCSI дискээ mount буюу холболт хийж + (өмнө суулгасан FreeBSD-н хуучин хувилбар) гэнэ. Фрэд гуайн нүдэнд + дөрөв дэх SCSI дискэн дээр өөрийнх нь хийж байсан ажлууд байхгүй байлаа.</para> + + <para>Тэр өгөгдлүүд хаачсан бэ?</para> + + <para>Эхний дискнээс дөрөв дэх диск уруу Билл гуай дүрс хуулалт + хийснээр дөрөв дэх диск нь <quote>хуулбар</quote> болсон билээ. + Билл гуайн SCSI BIOS дээр дөрөв дэх дискнээс ачаалалт эхлүүлнэ + гэсэн тохиргоо бол тэнэглэл байжээ. + FreeBSD нь SCSI BIOS тохируулгыг үл харгалзан + эхний SCSI дискнээс эхлүүлсээр байсан байна. + BIOS дээр иймэрхүү өөрчлөлт хийснээр зарим ачаалах үйлдэл болон + ажиллуулагч тохируулгыг өөрчилдөг боловч, + FreeBSD эхлэх үедээ энэ тохируулгыг харгалзаж үздэггүй бөгөөд + өөрийнхөөрөө диск дугаарлалт хийж эхэлдэг. + Энд үзүүлснээр, систем нь эхний SCSI дискнээс эхэлсээр байсан бөгөөд + Фрэдийн бүх өгөгдөл дөрөв дээр биш эхний диск дээр байсан байна. + Хүмүүст бол дөрөв дэх SCSI дискнээс эхэлж байгаа мэт харагдсан байна.</para> + + <para>Ийм үйлдэл болсны дараа ямар ч өгөгдөл устаж алга болоогүй болохыг + бид танд мэдэгдэж байгаадаа баяртай байна. Учир нь, хуучин эхний SCSI + дискийг буцааж залгаад Фрэдийн бүх өгөгдлийг буцааж авч чаджээ. + (Билл эхний дискнээс эхлүүлсэн байна).</para> + + <para>Хэдийгээр бид нар SCSI дискэн дээр жишээ татсан боловч иймэрхүү үйлдэл + IDE диск дээр бас тохиолдож болно.</para> + </sidebar> + </sect2> + + <sect2 id="main-fdisk"> + <title>FDisk ашиглан дискний зүсмэл үүсгэх</title> + + <note> + <para>Энэ хэсэгт хийсэн өөрчлөлт тань диск уруу бичигдэхгүй. + Хэрэв та ямар нэгэн алдаа хийж гэж бодоод дахин шинээр эхлэхийг хүсвэл + <application>sysinstall</application>-н гарах цэсийг ашиглах, эсвэл + <keycap>U</keycap> товч дарж <guimenuitem>Undo буюу буцаж үйлдэж</guimenuitem> болно. + Хэрэв та бүр эргэлзэж юу хийхээ мэдэхгүй болоод ирвэл компьютерээ шууд + унтрааж болно.</para> + </note> + + <para>Стандарт суулгацыг сонгосны дараа + <application>sysinstall</application> танд дараах мэдэгдлийг харуулна:</para> + + <screen> 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 ]</screen> + <para> + Энэ хэсгийг орчуулбал: + </para> + <screen> + Мэдэгдэл + Дараагийн хэсэгт та өөрийнхөө дискэнд DOS-маягийн ("fdisk") + диск хуваалт хийх хэрэгтэй. Хэрэв та дискнийхээ бүх хэмжээг + FreeBSD-д зориулна гэж бодож байвал (дискэн дээр байгаа бүх өгөгдлийг + дарж бичнэ) (A)ll тушаалыг сонгоод дараа нь (Q)uit цэсийг сонгож + гараарай. Хэрэв та зөвхөн сул чөлөөтэй байгаа хэсгийг FreeBSD-д + зориулна гэж бодож байгаа бол "unused" буюу хэрэглэгдээгүй гэсэн хэсгийг + сонгоод (C)reate буюу үүсгэ гэсэн тушаалыг сонгоорой. + [ OK ] + + [ enter товч эсвэл зай авагч товч дарна уу] + </screen> + <para>Энд голдуу <keycap>Enter</keycap> товч дардаг. Ингэсний дараа + цөмд эхлэх үед таньж туршсан хатуу дискнүүдийн жагсаалтыг танд харуулах + болно. + <xref linkend="sysinstall-fdisk-drive1"> дээр IDE дисктэй системийн жишээ + харуулав. Тэдгээр нь + <devicename>ad0</devicename> болон <devicename>ad2</devicename> гэсэн + нэртэй буй.</para> + + <figure id="sysinstall-fdisk-drive1"> + <title>FDisk-н хэрэглэх дискийг сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-drive1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Та магадгүй яагаад <devicename>ad1</devicename> дискийг + энд харуулсангүй вэ? гэж гайхаж мадагүй.</para> + + <para> + Танд хоёр ширхэг IDE хатуу диск байна гэж үзье. Нэг нь + нэг IDE залгуур дээр мастер диск болж залгагдсан бөгөөд нөгөөх нь + хоёр дахь IDE залгуур дээр суугдсан байг. Хэрэв FreeBSD нь тэдгээрийг + <devicename>ad0</devicename> ба + <devicename>ad1</devicename> гэж дугаарласан бол бүх юм зүгээр л ажиллах байсан.</para> + + <para>Гэвч, хэрэв та гурав дахь дискийг эхний IDE залгуур дээрх + мастер дисктэй боол болгож залгавал уг диск <devicename>ad1</devicename> + гэж дугаарлагдах бөгөөд өмнө нь <devicename>ad1</devicename> гэж дугаарлагдсан + диск <devicename>ad2</devicename> гэж нэрлэгдэнэ. Дискэнд өгсөн нэрийг ашиглан + (жишээ нь <devicename>ad1s1a</devicename>) файл системийг хайхад хэрэглэдэг учраас + гэнэт таны дискнүүд өөр харагдаж эхлэх бөгөөд та FreeBSD-н тохируулгыг дахин хийх + шаардлага гарна.</para> + + <para>Ийм хүндрэлийг арилгахын тулд цөм нь IDE дээр залгагдсан дискнүүдийг таньсан + дарааллаар нь биш харин залгагдсан байрлалаас нь хамааран дугаарладаг. + Ийм учраас хэрэв IDE-н хоёр дахь залгуур дээр залгагдсан мастер диск нь + <emphasis>үргэлж</emphasis> <devicename>ad2</devicename> гэж нэрлэгдэх бөгөөд + <devicename>ad0</devicename> эсвэл <devicename>ad1</devicename> дискүүд + бүр байхгүй байсан ч энэ нэрээрээ л байх болно.</para> + + <para>Энэ нь FreeBSD-н цөмийн анхны тохируулга бөгөөд, ийм шалтгааны улмаас + <devicename>ad0</devicename> болон <devicename>ad2</devicename> гэж харуулж байна. + Тэгэхээр энэ зурган дээр байгаа машины IDE 2 залгуур дээр хоёр мастер + диск залгагдсан бөгөөд ямар ч боол диск байхгүй байна гэж харуулж байна.</para> + + <para>Та аль диск дээр нь FreeBSD-г суулгахаа сонгоод &gui.ok; дээр дарах хэрэгтэй. + <application>FDisk</application> эхлэх бөгөөд + дэлгэц дээр <xref linkend="sysinstall-fdisk1">-тэй төстэй зураг харуулагдах болно.</para> + + <para> <application>FDisk</application> нь дэлгэц дээр гурван хэсэгт + хуваагдаж харуулагддаг.</para> + + <para>Эхний хэсэгт нь дээд хоёр мөр хамаарагддаг бөгөөд сонгогдсон + дискний нарийвчилсан мэдээллүүдийг харуулдаг. Энэ нь FreeBSD-н + өгсөн нэр, дискний зохион байгуулалт мөн дискний нийт хэмжээ + зэргийг харуулдаг.</para> + + <para>Хоёр дахь хэсэгт дискэн дээр байгаа зүсмэлүүдийг харуулдаг ба + хаанаас эхлээд хаана дууссан, ямар хэмжээгээр зүсэгдсэн бөгөөд + FreeBSD хэрхэн нэр өгсөн, бас уг зүсмэлийг тодорхойлсон тодорхойлолт болон + дэд төрлийг нь харуулдаг. Энэ жишээ дээр, компьютер дээрх дискний хэрэглэгдээгүй хоёр + зүсмэлийг харуулсан байна. Уг зурган дээр бас нэг том <acronym>FAT</acronym> + зүсмэл байгааг харуулсан байгаа бөгөөд магадгүй энэ нь &ms-dos; / &windows; + системийн <devicename>C:</devicename> диск байж болзошгүй. + Мөн уг зурган дээр бас нэг өргөтгөсөн зүсмэл байгааг харуулсан байгаа ба, бас энэ + нь &ms-dos; / &windows; систем дээр нэг өргөтгөсөн диск байж магадгүй.</para> + + <para>Гурав дахь хэсэг нь + <application>FDisk</application> дээр хэрэглэж болох тушаалуудын жагсаалт байна.</para> + + <figure id="sysinstall-fdisk1"> + <title>Засварлаж эхлэхээс өмнөх Fdisk-н диск хуваалтын жишээ</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-edit1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Одоо таны хийх алхам дискээ хэрхэн зүсэж хуваахаас их хамаарна.</para> + + <para>Хэрэв та дискээ бүхлээр нь FreeBSD-д зориулна гэж бодож байвал + (дискэн дээр байгаа бүх өгөгдлийг дарж суугдах бөгөөд + <application>sysinstall</application> танаас суулгацын явцад лавлаж асуух болно) + <guimenuitem>Use Entire Disk буюу дискийг бүхлээр нь хэрэглэ</guimenuitem> гэсэн заалтад + буй <keycap>A</keycap> товч дарах хэрэгтэй. + Байсан бүх зүсмэлүүд арилах бөгөөд жижигхэн хэсэг нь <literal>unused буюу хэрэглэгдээгүй</literal> + гэж хуваагдаад (компьютер диск шалгахад зориулагддаг хэсэг) үлдсэн том хэсэг нь + FreeBSD-д зориулж хуваагддаг. Ингэж сонгосны дараа сумтай товч хэрэглэн + шинээр үүссэн FreeBSD-н зүсмэлийг сонгоод <keycap>S</keycap> товч дарж + уг зүсмэлээс эхлэн ачаалагддаг болгох хэрэгтэй. Таны дэлгэц + <xref linkend="sysinstall-fdisk2">-тэй төсөөтэй зураг харуулах ёстой. + Тэмдэглэж хэлэхэд, <literal>Flags</literal> баганад буй + <literal>A</literal> үсэг нь уг зүсмэлийг <emphasis>active буюу идэвхтэй</emphasis> + гэдгийг илэрхийлж байгаа бөгөөд энэ зүсмэлээс эхлэж ачаалагдах болно гэдгийг + харуулж байгаа юм.</para> + + <para>Хэрэв та өмнө нь хэрэглэгдэж байсан зүсмэлүүдээс нэгийг нь FreeBSD-д зориулна + гэж бодсон бол уг зүсмэлийг сонгоод <keycap>D</keycap> товч дарж устгах хэрэгтэй. + Дараа нь та <keycap>C</keycap> товч дарвал үүсгэх зүсмэлийн хэмжээг танаас асуудаг. + Хүссэн хэмжээгээ оруулаад <keycap>Enter</keycap> товч дарах хэрэгтэй. Уг лавлаж асуусан + цонх дээр буй анхны тоо бол уг зүсмэл дээр хэрэглэж болох хамгийн их хэмжээг зааж байдаг + тул уг зүсмэлийг бүхлээр нь хэрэглэнэ гэж бодвол шууд уг тоог өөрчлөлгүй хэрэглэх хэрэгтэй.</para> + + <para>Хэрэв та урьдчилан FreeBSD -д зориулан дискээ суллачихсан байвал (магадгүй + <application>&partitionmagic;</application> гэх мэтийн програм ашиглан дискээ бэлтгэсэн бол) + дараа нь <keycap>C</keycap> товч дарж шинэ зүсмэл үүсгээрэй. Дахин сануулахад, зүсмэл үүсгэх + үед хуваах зүсмэлийн хэмжээг танаас асуух болно. </para> + + <figure id="sysinstall-fdisk2"> + <title>Fdisk дискийг бүхлээр нь хэрэглэж буй жишээ </title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-edit2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хувааж дуусаад <keycap>Q</keycap> товч дарж гарна. + Таны өөрчилсөн өөрчлөлтүүд <application>sysinstall</application> дээр + хадгалагдах бөгөөд диск уруу одоохондоо бичигдээгүй байгаа.</para> + </sect2> + + <sect2 id="bootmgr"> + <title>Boot Manager буюу эхлэн ачаалалт зохицуулагчыг суулгах</title> + + <para>Танд одоо эхлэн ачаалт зохицуулагчыг суулгах эсэхээ сонгох + боломж гардаг. Хэрэв танд дараах нөхцлүүд биелж байвал + голдуу FreeBSD boot manager-ийг сонгох нь элбэг:</para> + + <itemizedlist> + <listitem> + <para>Танд олон дискүүд байгаа бөгөөд FreeBSD-г + эхнийх дээр нь суулгаагүй бол.</para> + </listitem> + + <listitem> + <para>Та FreeBSD-г өөр үйлдлийн системтэй хамт нэг диск дээр суулгаад + компьютер эхлэх үед FreeBSD-г эхлүүлэх үү эсвэл нөгөө үйлдлийн системийг + эхлүүлэх үү гэж сонголт хиймээр байгаа бол.</para> + </listitem> + </itemizedlist> + + <para>Хэрэв FreeBSD нь уг машин дээр байгаа цорын ганц + үйлдлийн систем байхаар бол + <guimenuitem>Standard</guimenuitem> -г сонгоход хангалттай. + Хэрэв та FreeBSD-г эхлүүлж чадах өөр ямар нэгэн програм + суулгасан бол <guimenuitem>None</guimenuitem> -г сонгоорой.</para> + + <para>Сонголтоо хийгээд <keycap>Enter</keycap> товчийг дар.</para> + + <figure id="sysinstall-bootmgr"> + <title>Sysinstall-н эхлэн ачаалалт зохицуулагчийн цэс</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/boot-mgr" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><keycap>F1</keycap> товч дарвал тусламжийн цэс харуулагдах бөгөөд + өөр үйлдлийн системтэй хамтарч хэрэглэх үед ямар хүндрэл үүсэж болох талаар + тайлбарлаж өгдөг.</para> + </sect2> + + <sect2> + <title>Бусад диск дээр зүсмэл үүсгэх</title> + + <para>Хэрэв танд нэгээс илүү олон дискүүд байгаа бол эхлэн ачаалалтын + зохицуулагчийг сонгосны дараа диск сонгох цэсэнд буцаж очдог. Хэрэв та + FreeBSD-г олон диск хэрэглэж суулгахыг хүсвэл, + <application>FDisk</application> ашиглан цааш нь зүсэж хуваах хэрэгтэй.</para> + + <important> + <para>Хэрэв та FreeBSD-г эхний дискнээс өөр диск дээр суулгаж байгаа бол + FreeBSD-н эхлэн ачаалалтыг зохицуулагчийг хоёулан дээр нь суулгах хэрэгтэй.</para> + </important> + + <figure id="sysinstall-fdisk-drive2"> + <title>Диск сонгох цэснээс гарах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/fdisk-drive2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><keycap>Tab</keycap> товч хэрэглэн дискнүүд болон &gui.ok;, эсвэл + &gui.cancel; зэрэг тушаалууд уруу сэлгэж болно.</para> + + <para<keycap>Tab</keycap> товч хэрэглэн + &gui.ok;, дээр сонгоод <keycap>Enter</keycap> товч дарж суулгацыг цааш нь + үргэлжлүүлнэ.</para> + </sect2> + + <sect2 id="bsdlabeleditor"> + <title> + <application>Disklabel буюу дискэнд нэр өгч</application> хуваалт үүсгэх</title> + + <para>Та одоо үүсгэсэн зүсмэл дотроо хуваалт үүсгэх ёстой. + Хуваалт болгон + <literal>a</literal> үсгээр эхлээд <literal>h</literal> хүртэл нэр авдаг бөгөөд + <literal>b</literal>, <literal>c</literal> болон + <literal>d</literal> гэсэн нэрнүүд нь тусгай зөвшлийн дагуу өөр + зориулалтаар хэрэглэгддэг тул + та үүнийг хүлээн зөвшөөрөх хэрэгтэй.</para> + + <para>Хэрэв олон диск дээр хуваалт үүсгэж байгаа бол + зарим програмууд нь зорилгоосоо хамаараад онцгой + хуваалтын загвар хэрэглэдэг. Гэхдээ та одоогоор + FreeBSD-г анх удаагаа суулгаж байгаа диск дээр + хэрхэн хуваалт үүсгэх тухай нэг их бодох шаардлага байхгүй. + Хамгийн чухал нь FreeBSD-г суулгаад хэрхэн хэрэглэдэг талаар сурах + явдал юм. Та үйлдлийн системд нэлээн гаршиж сайжирсан үедээ + FreeBSD-г дахин шинээр хэдийд ч суулгаж болно.</para> + + <para>Энд үзүүлж буй хуваалтын загвар нь дөрвөн хуваалттай байна. Нэг нь swap хэмжээнд, + бусад гурав нь файлын системд зориулагдсан байна.</para> + + <table frame="none" pgwide="1"> + <title>Эхний дискний хуваалт</title> + + <tgroup cols="4"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="4*"> + + <thead> + <row> + <entry>Хуваалт</entry> + + <entry>Файл систем</entry> + + <entry>Хэмжээ</entry> + + <entry>Тодорхойлолт</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>a</literal></entry> + + <entry><filename>/</filename></entry> + + <entry>100 MБ</entry> + + <entry>Энэ бол root буюу эх файл систем юм. Бусад бүх файл системүүд + ямар нэгэн аргаар энд танигдаж хэрэглэгддэг. 100 MБ хэмжээ + бол тухайн зорилгодоо таарсан хэмжээ. Та энд тийм их өгөгдөл хадгалахгүй + бөгөөд ердийн FreeBSD-н суулгац нь энд 40 MБ-г хэрэглэдэг. + <filename>/</filename> дээр үлдсэн зай нь дараа нь хэрэглэгдэх зорилгоор юмуу эсвэл түр + зуурын өгөгдөл зэрэгт зориулагддаг.</entry> + </row> + + <row> + <entry><literal>b</literal></entry> + + <entry>N/A</entry> + + <entry>2-3 x RAM</entry> + + <entry><para>Системийн swap зай нь энэ хуваагдал дээр + байрладаг. swap-д зориулж хэмжээгээ тохируулах нь + бас чухал. Хамгийн сайн хэрэглэгддэг арга бол, байгаа санах ойныхоо (RAM) + хэмжээнээс хоёр юмуу гурав дахин их хэмжээтэй байхад болно. + Хэрэв танд 32 MБ хэмжээтэй RAM санах ой байгаа бол ядаж 64 MБ + хэмжээтэй swap бэлдэх хэрэгтэй.</para><para> + + Хэрэв та нэгээс их дисктэй бол диск болгонд зориулж swap + зай үүсгэж болно. Ингэвэл, FreeBSD нь диск болгонд буй + swap зайг хэрэглэснээр илүү үр дүнтэй ажилладаг. Энэ тохиролдолд + хэрэглэх нийт swap-нхаа хэмжээг + (жишээ нь, 128 MБ) байгаа дискийнхээ тоонд хувааж + (жишээ нь хоёр дисктэй гэж үзье) гарсан хэмжээг дискэн дээр swap-д + зориулж бэлдэх хэрэгтэй бөгөөд жишээний дагуу бол 64 MБ диск болгонд + ногдож байна.</para></entry> + </row> + + <row> + <entry><literal>e</literal></entry> + + <entry><filename>/var</filename></entry> + + <entry>50 MБ</entry> + + <entry><filename>/var</filename> санд байнга өөрчлөгдөж байдаг файлууд байрладаг; + бүртгэл файл, мөн бусад удирдах болон хянах файлууд энэ төрлийн файлд ордог. Эдгээр + файлын ихэнх нь FreeBSD дээр ажилладаг програмуудаар өдрийн турш уншигдаж бас + бичигдэж байдаг. Иймэрхүү файлуудыг нэг дор байрлуулснаар + FreeBSD нь өөр файл систем уруу хандаж цаг заралгүй идэвхитэй ажиллаж чаддаг.</entry> + </row> + + <row> + <entry><literal>f</literal></entry> + + <entry><filename>/usr</filename></entry> + + <entry>Дискийн үлдсэн хэсэг</entry> + + <entry>Бараг бусад бүх файлууд нь + <filename>/usr</filename> санд болон түүн дотор буй дэд сангуудад байрладаг.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Хэрэв та FreeBSD-г олон дискүүд дээр дамнан суулгаж байгаа бол + бусад дискүүд дээр үүсгэсэн зүсмэл дотроо хуваалт үүсгэх хэрэгтэй. + Хамгийн амархан арга нь диск болгонд хоёр хуваагдал үүсгээд нэгийг нь + swap зай болгоод нөгөөх нь ямар нэгэн файл систем болгох арга байдаг.</para> + + <table frame="none" pgwide="1"> + <title>Бусад дискэн дээрх дискийн хуваалт</title> + + <tgroup cols="4"> + <colspec colwidth="1*"> + <colspec colwidth="1*"> + <colspec colwidth="2*"> + <colspec colwidth="3*"> + + <thead> + <row> + <entry>Хуваалт</entry> + + <entry>Файл систем</entry> + + <entry>Хэмжээ</entry> + + <entry>Тодорхойлолт</entry> + </row> + </thead> + + <tbody> + <row> + <entry><literal>b</literal></entry> + + <entry>N/A</entry> + + <entry>Тодорхойлолтоос уншина уу</entry> + + <entry>Өмнө дурьдсанчлан, swap хэмжээг диск болгон дээр + үүсгэж болдог. Хэдийгээр <literal>a</literal> хуваалт + сул байсан ч гэсэн зарчмын дагуу swap зай нь + <literal>b</literal> хуваалт дээр байрладаг.</entry> + </row> + + <row> + <entry><literal>e</literal></entry> + + <entry>/disk<replaceable>n</replaceable></entry> + + <entry>Дискний үлдсэн хэмжээ</entry> + + <entry>Дискний үлдсэн хэмжээ нь нэг бүхэл хуваалт болдог. + Энэ нь <literal>e</literal> хуваалт дээр биш харин <literal>a</literal> + хуваалт дээр байрлаж болох байсан ч зарчмын дагуу <literal>a</literal> + хуваагдал дээр root буюу эх файл систем (<filename>/</filename>) суугддаг. + Та энэ зарчмыг дагахгүй байж болох боловч + <application>sysinstall</application> харин дагадаг: Энэ зарчмыг дагаснаар + суулгацыг цэвэрхэн болгодог. Та энэ файл системийг хаана ч холбож болох бөгөөд + энэ жишээн дээр бол уг файл системийг + <filename>/disk<replaceable>n</replaceable></filename> гэсэн сан дотор + холбосон байна. <replaceable>n</replaceable> үсэг нь дискийн + дугааруудыг илэрхийлж байна. Гэхдээ та хүсвэл өөр газар холбож болно.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Хуваагдлынхаа загвараа ингэж хийж дуусаад + <application>sysinstall</application>-г ашиглаж үүсгэх хэрэгтэй. Үүсгэх үед дараах мэдэгдлийг + танд харуулдаг:</para> + + <screen> 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 ]</screen> +<para>Үүний хөрвүүлбэл:</para> + <screen> Мэдэгдэл + Та одоо, fdisk ашиглан бий болгосон хуваалтаар BSD хуваалт үүсгэх хэрэгтэй. + Хэрэв танд тодорхой хэмжээний дискний зай (200MБ эсвэл түүнээс дээш) байгаа + бөгөөд ямар нэгэн онцгой шаардлага тавигдаагүй бол (A)uto тушаалыг ашиглан + дискний зайг автоматаар тохируулж болно. Хэрэв танд онцгой шаардлага бий юмуу + эсвэл (A)uto тушаалаар үүсгэх байрлуулалт тийм чухал биш бол + F1 товч дарж гарын авлага дээрх нэмэлт мэдээллийг харж болно + + [ OK ] + [ enter товч эсвэл зай авагч товч дарна уу]</screen> + <para><keycap>Enter</keycap> товч дарж FreeBSD-н диск хуваалтыг үүсгэж бичдэг + <application>Disklabel</application> нэртэй програм харуулагдана.</para> + + <para><xref linkend="sysinstall-label"> дээр <application>Disklabel</application> + -г анх эхлүүлэх үеийг харуулсан. Дэлгэц гурван хэсэгт хуваагдсан байгаа.</para> + + <para>Эхний хэдэн мөрөнд, таны ажиллаж байгаа дискний нэрийг харуулсан бөгөөд + мөн хуваагдал агуулсан зүсмэлийг (энд <application>Disklabel</application> зүсмэл + гэж нэрлэлгүй харин <literal>Partition name буюу хуваалтын нэр</literal> гэж + нэрлэсэн байна) харуулсан байна. + Энэ хэсэгт мөн зүсмэлд буй сул хэсгийн хэмжээг харуулдаг бөгөөд уг зураг дээр бол + уг хэмжээ нь одоогоор ямар ч хуваалтанд хэрэглэгдээгүй байна.</para> + + <para>Дэлгэцийн дунд хэсэг үүсгэгдсэн хуваалтуудыг харуулдаг бөгөөд үүнд, + хуваалтын агуулж байгаа файл системийн нэр, түүний хэмжээ, мөн файл системд + хамаатай нэмэлт сонголтуудыг харуулдаг.</para> + + <para>Дэлгэцийн доод гурав дахь хэсэгт <application>Disklabel</application> + дээр хэрэглэж болох гарын товчлууруудыг харуулдаг юм.</para> + + <figure id="sysinstall-label"> + <title>Sysinstall-н Disklabel буюу дискэнд нэр өгөн засварлагч</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-ed1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><application>Disklabel</application> нь мөн автоматаар + хуваалтуудыг үүсгээд анхдагч хэмжээг нь үүсгэж чаддаг. + Үүнийг туршихын тулд <keycap>A</keycap> товчийг дарж үзээрэй. + Тэгвэл танд <xref linkend="sysinstall-label2">-тай төстэй зураг + харуулагдана. Таны хэрэглэж байгаа дискээс хамаараад + анхны зааж өгсөн хэмжээ нь өөр байж болох юм. Хэрэв та анхны + хэмжээг нь хүлээн зөвшөөрч л байвал энэ тийм чухал биш.</para> + + <note> + <para>Анхдагч хуваалтанд <filename>/tmp</filename> санг <filename>/</filename> + хуваалтаас тусад нь өөр хуваалтанд үүсгэдэг бөгөөд ингэснээр + <filename>/</filename> хуваалтыг түр зуурын файлуудаар түргэн + дүүргэхээс сэргийлж өгдөг.</para> + </note> + + <figure id="sysinstall-label2"> + <title>Sysinstall-н Disklabel хэрэгслийн автомат тохируулалт</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-auto" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хэрэв та энэ автомат анхдагч хуваалтыг хүсэлгүй, өөрийнхөөрөө + хуваахыг хүсвэл, сумтай товч хэрэглэж сонгоод <keycap>D</keycap> + товч дарж устгаарай. Уг товчийг дахин дахин дарж бүх санал болгосон + хуваалтыг устгана.</para> + + <para>Эхний хуваалтыг үүсгэхийн тулд (<literal>a</literal> үсэг нь + <filename>/</filename> — root буюу эх файлын систем болдог), + дэлгэцийн дээд хэсэгт буй зүсмэлийг сонгож байгаад <keycap>C</keycap> + товч дарах хэрэгтэй. Лавлаж асуух цонх гарч ирэх бөгөөд уг цонхонд + шинэ үүсгэх хуваалтын хэмжээг (<xref linkend="sysinstall-label-add"> дээр + харуулсан шиг) шаарддаг. Та хэрэв хүсвэл, уг талбарт хуваалтын хэмжээг дискний + блок хэмжээг, эсвэл тоо оруулаад ард нь <literal>M</literal> үсэг тавьж мегабайтаар, + <literal>G</literal> үсэг тавьж гигабайтаар, эсвэл + <literal>C</literal> үсэг тавьж цилиндрийн тоогоор илэрхийлж өгч болдог.</para> + + <note><para>FreeBSD 5.X хувилбараас эхлээд <acronym>UFS2</acronym>-г + хэрэглэж сонгоод (&os; 5.1 дээр бол анхнаасаа сонгогдсон байдаг бөгөөд + түүнээс дээш хувилбар дээр бас адил) <literal>Custom Newfs буюу дурын шинэ файл систем</literal> + + (<keycap>Z</keycap> товч) сонголтыг ашиглан дискийн нэрүүдийг + <literal>Auto Defaults</literal> сонголтоор үүсгээд <literal>Custom Newfs</literal> сонголт ашиглан + эсвэл <option>-O 2</option> сонголт ашиглаж үүсгэж болдог. + Програмын аргаар шинэчлэх буюу <option>-U</option> гэсэн сонголтыг + <literal>Custom Newfs</literal> сонголтоор өөрчлөх үедээ нэмэх ёстойг мартаж болохгүй!</para></note> + + <figure id="sysinstall-label-add"> + <title>Root буюу эх хуваалт дээрх сул зай</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-root1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Анхны харуулж байгаа хэмжээ нь зүсмэл дээр үлдсэн хэмжээг + зааж харуулдаг. Хэрэв та өмнө харуулсан хуваалтын хэмжээг + харж байгаа бол + <keycap>Backspace</keycap> товч дарж устгаад <xref linkend="sysinstall-label-add2"> дээр + харуулсан шиг <userinput>64M</userinput> гэж оруулаад дараа нь + &gui.ok; дээр дарах хэрэгтэй.</para> + + <figure id="sysinstall-label-add2"> + <title>Root partition буюу эх хуваалтын хэмжээ</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-root2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хуваалтанд зориулсан хэмжээг зааж өгсний дараа + танаас уг хуваалт дээр файл систем байрлуулах уу эсвэл + swap зай байрлуулах уу гэж асуудаг. Уг асуух цонхыг + <xref linkend="sysinstall-label-type"> дээр харуулав. Эхний + хуваалт заавал файл систем байх ёстой учир энэ удаад + <guimenuitem>FS</guimenuitem> гэсэн сонголтыг сонгоод + <keycap>Enter</keycap> дээр дарах хэрэгтэй.</para> + + <figure id="sysinstall-label-type"> + <title>Root Partition буюу эх хуваалтын төрлийг сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-fs" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сүүлд нь, та файл систем үүсгэж байгаа болохоор + хаана таниулж холбохыг <application>Disklabel</application> дээр + зааж өгөх хэрэгтэй. Уг заалтыг оруулдаг цонхыг + <xref linkend="sysinstall-label-mount"> дээр харуулав. root буюу + эх файл системийн холбох цэг бол <filename>/</filename> болохоор + та <userinput>/</userinput> гэж бичээд <keycap>Enter</keycap> дараарай.</para> + + <figure id="sysinstall-label-mount"> + <title> Root-г холбох цэг</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-root3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Дэлгэцэн дээр үүсгэсэн хуваалтуудыг шинэчилж + харуулах болно. Та өмнө хийсэн үйлдлээ бусад хуваалт дээр + хийх хэрэгтэй. Хэрэв та swap хуваалт үүсгэх болонгуут + swap хуваалтыг холбох шаардлага байдаггүй учир + танаас файл системийн холбох цэг гэж асуухгүй. + Сүүлийн хуваалт + <filename>/usr</filename>-г үүсгэх үед санал болгосон + хэмжээг өөрчлөлгүй тэр чигээр нь авч хэрэглэснээр зүсмэлийн + үлдсэн бүх хэмжээг ашиглаж дуусах нь тэр билээ.</para> + + <para>Таны FreeBSD DiskLabel дээрх сүүлчийн харуулалт нь + <xref linkend="sysinstall-label4"> зурагтай + төстэй байх болов уу. Гэхдээ таны сонгосон хэмжээнээс + мэдээж өөр байж болно. <keycap>Q</keycap> товч дарж + уг хэсгийг дуусгана.</para> + + <figure id="sysinstall-label4"> + <title>Sysinstall Disklabel засварлагч</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/disklabel-ed2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </sect2> + </sect1> + + <sect1 id="install-choosing"> + <title>Юу суулгахаа сонгох</title> + + <sect2 id="distset"> + <title>Суулгах түгээлтийн төрлөө сонгох</title> + + <para>Ямар түгээлтийн төрөл суулгах нь системийг ямар зорилгоор хэрэглэх + болон дискэнд байгаа сул зайнаас маш их хамаарна. + Суулгацад зориулж урьдчилан бэлдсэн суулгах хэмжээ нь + суулгаж болох хамгийн бага хэмжээнээс эхлүүлээд бүгдийг суулгах + хүртэл боломж өгнө. &unix; ба/эсвэл FreeBSD системийг шинээр сурч + байгаа хүмүүсд эдгээр сонголтоос нэгийг нь сонгох хэрэгтэй байх. + Урьдчилан бэлдсэн түгээлтийн төрлийг өөрчилж суулгах нь дадлагажсан туршлагатай + хэрэглэгчдэд илүүтэй зориулагдсан байдаг.</para> + + <para><keycap>F1</keycap> товчийг түгээлтийн төрөл бүр дээр дарж + юу агуулсан болохыг нь харж болно. Тусламж файлыг харсны дараа + <keycap>Enter</keycap> товч дээр дарвал Select Distributions буюу + түгээлтийн төрөл сонгох цэсэнд буцаж очдог.</para> + + <para>Хэрэв та график горимд ажиллана гэж бодож байвал + <literal>X</literal> ээр эхэлсэн түгээлтийн төрлүүдээс сонгох хэрэгтэй. + X серверийн тохиргоо болон анхдагч график горимын орчны сонголт нь + &os;-г суулгасны дараа хийгдэх ёстой. Х сервертэй хамаатай нэмэлт + мэдээллийг <xref linkend="x11"> хэсгээс уншаарай.</para> + + <para>X11-н анхдагч хувилбар нь таны суулгаж байгаа + FreeBSD-н түгээлтийн төрлөөс хамаарна. FreeBSD-н 5.3 гэсэн + хувилбараас өмнөх хувилбаруудын хувьд анхдагчаар суугддаг + X11 нь <application>&xfree86; 4.X</application> бөгөөд + &os; 5.3-с дээшхи хувилбаруудын анхдагч X11 нь + <application>&xorg;</application> болжээ.</para> + + <para>Хэрэв та цаашдаа өөртөө тохируулсан цөм эмхэтгэж бэлдэнэ + гэж бодож байгаа бол source code буюу эх бичлэг агуулсан сонголтыг + сонгох хэрэгтэй. Яагаад өөрчилж тохируулсан цөм хэрэгтэй талаарх + нэмэлт мэдээллийг <xref linkend="kernelconfig"> хэсгээс харна уу.</para> + + <para>Мэдээж, элдэв ид шидтэй, уян хатан систем бол + юм болгоныг л агуулдаг. Хэрэв хангалттай дискний + хэмжээ танд байгаа бол <xref linkend="distribution-set1"> + зурагт харуулсны дагуу <guimenuitem>All</guimenuitem> гэдгийг + сонгоод <keycap>Enter</keycap> товч дарах хэрэгтэй. Хэрэв танд + дискний сул зай тийм чухал бол өөртөө тохирсон түгээлтийн төрлийг нь сонгоорой. + Суулгацын дараа бусад түгээлтийн төрлөөс нэмж болох учраас та төгс сонголт байхгүй байна гэж бүү цухалдаарай.</para> + + <figure id="distribution-set1"> + <title>Суулгах түгээлтийн төрлөөс сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/dist-set" format="PNG"> + </imageobject> + </mediaobject> + </figure> + </sect2> + + <sect2 id="portscol"> + <title>Портын цуглуулгыг суулгах</title> + + <para>Хүссэн түгээлтийн төрлөө сонгосны дараа FreeBSD-н портын цуглуулгыг + суулгах боломж гардаг. Портын цуглуулга гэдэг нь програм суулгах + амарчилсан арга юм. Портын цуглуулга нь шаардлагатай програмын эх + бичлэгийг агуулдаггүй, харин гуравдагч хөгжүүлэгчдийн бүтээсэн + програмыг татаж аваад хөрвүүлж суулгах автоматжуулсан үйлдлүүд + байдаг. <xref linkend="ports"> дээр портын цуглуулгыг хэрэглэх + талаар дурьдсан буй.</para> + + <para>Порт суулгах програм нь таны дискний зай хангалттай эсэхийг шалгадаггүй. + Тийм болохоор дискэнд тань хангалттай зай байгаа тохиолдолд энэ сонголтыг хийх + хэрэгтэй. FreeBSD &rel.current; хувилбарын байдлаар бол портын цуглуулга + нь ойролцоогоор &ports.size; хэмжээг дискэн дээр эзэлдэг. FreeBSD-н хувилбар шинэчлэх + тутамд энэ хэмжээ ихсэнэ гэж тооцох хэрэгтэй.</para> + +<screen> User Confirmation Requested + Would you like to install the FreeBSD ports collection? + + This will give you ready access to over &os.numports; ported software packages, + at a cost of around &ports.size; 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</screen> + + <para>Портын цуглуулга суулгана гэвэл &gui.yes; гэдгийг сонгоно, хэрэв + суулгахгүй гэвэл &gui.no; гэдгийг сонгоод <keycap>Enter</keycap> + товч дээр дарж цааш нь үргэлжлүүлнэ. Choose Distributions буюу + суулгах түгээлтийн төрөл сонгох цэс дахин гарч ирэх болно.</para> + + <figure id="distribution-set2"> + <title>Сонгосон суулгах түгээлтийн төрлөө лавлах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/dist-set2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хэрэв сонгосон түгээлтийн төрөлдөө та сэтгэл хангалуун байгаа бол + сумтай товч ашиглан <guimenuitem>Exit</guimenuitem> цэсийг сонгоод + дараа нь &gui.ok; сонголт идэвхитэй байх үед <keycap>Enter</keycap> + дээр дарж цааш нь үргэлжлүүлнэ.</para> + + </sect2> + </sect1> + + <sect1 id="install-media"> + <title>Суулгацын төхөөрөмжөө сонгох</title> + + <para>Хэрэв CDROM эсвэл DVD-нээс суулгахаар бол сумтай товчийг ашиглан + <guimenuitem>Install from a FreeBSD CD/DVD буюу FreeBSD-г CD/DVD-нээс + суулга</guimenuitem> гэдгийг сонгоно. Дараа нь &gui.ok; товчийг сонгосны + дараа <keycap>Enter</keycap> товч дарж суулгацыг үргэлжлүүлнэ.</para> + + <para>Суулгацын бусад төрлийг сонгохоор бол тухайн тохирсон сонголтыг сонгож + харгалзах зааврыг нь дагах хэрэгтэй.</para> + + <para><keycap>F1</keycap> товч дарж суулгацын төхөөрөмжийн тухай + тусламжийг үзэж болно. <keycap>Enter</keycap> товч дарж тусламжаас гаран + суулгацын төхөөрөмж сонгох цэс рүү буцна.</para> + + <figure id="choose-media"> + <title>Суулгацын төхөөрөмж сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/media" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <note> + <title>FTP суулгацын горим</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>сүлжээ</secondary> + <tertiary>FTP</tertiary> + </indexterm> + + <para>Таны сонгож болох гурван төрлийн FTP суулгацын горим бол: + active FTP буюу идэвхитэй FTP, passive FTP буюу идэвхигүй FTP, эсвэл HTTP + proxy буюу HTTP прокси.</para> + + <variablelist> + <varlistentry> + <term>FTP Active (идэвхитэй): <guimenuitem>Install from an FTP + server (FTP серверээс суулгах)</guimenuitem></term> + + <listitem> + <para>Энэ сонголт нь бүх FTP дамжуулалтыг <quote>Active буюу идэвхитэй</quote> + горим ашиглаж гүйцэтгэдэг. Энэ холболт нь галт ханаар дамжиж ажиллахгүй бөгөөд + харин идэвхигүй горимыг дэмждэг хуучин FTP серверүүдтэй ихэвчлэн ажилладаг. + Хэрэв таны холболт идэвхигүй горимд (анхдагч горим) гацаж байвал + идэвхитэй болгоод үзэх хэрэгтэй!</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FTP Passive (идэвхигүй): <guimenuitem>Install from an FTP server through a + firewall (галт ханаар дамжиж FTP серверээс суулгах)</guimenuitem></term> + + <listitem> + <indexterm> + <primary>FTP</primary> + <secondary>идэвхигүй горим</secondary> + </indexterm> + + <para>Энэ сонголт нь <application>sysinstall</application>-г бүх FTP + үйлдлийг <quote>Passive буюу идэвхигүй</quote> горимд ажиллана гэж + тохируулдаг. Энэ нь дурын TCP порт дээр ирж байгаа холболтыг + зөвшөөрдөггүй галт ханаар дамжиж ажиллах боломж өгдөг. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FTP via a HTTP proxy (HTTP проксигоор дамжиж): <guimenuitem>Install from an FTP server + through a http proxy (HTTP проксигоор дамжин FTP серверээс суулгах)</guimenuitem></term> + + <listitem> + <indexterm> + <primary>FTP</primary> + <secondary>HTTP проксигоор дамжин</secondary> + </indexterm> + + <para>Энэ сонголт нь <application>sysinstall</application>-г + HTTP протокол ашиглан (вэб хөтлөгч шиг) прокситой холбогдож + бүх FTP үйлдлийг гүйцэтгэхээр тохируулж өгдөг. Прокси нь ирсэн + хүсэлтийг хөрвүүлээд цааш нь FTP сервер уруу дамжуулдаг. + Ингэснээр хэрэглэгчид бүх FTP холболтыг хориод HTTP холболтыг + зөвшөөрсөн галт ханын дундуур дамжих боломж олгодог. + Энэ тохиолдолд та FTP серверийг зааж өгөхөөс гадна мөн проксигийн + нэрийг зааж өгдөг.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Прокси FTP серверийн тохируулганд жинхэнэ холбогдох серверийнхээ + нэрийг хэрэглэгчийн нэрийн хэсэг мэт <quote>@</quote> тэмдгийн араас + оруулж өгөх хэрэгтэй. Ингэснээр прокси серверийг жинхэнэ сервер мэт + <quote>хуурч</quote> ажиллуулдаг. Жишээ нь та + <hostid role="fqdn">ftp.FreeBSD.org</hostid> гэсэн серверээс суулгах + хэрэгтэй бөгөөд 1234 порт дээр буй <hostid role="fqdn">foo.example.com</hostid> гэсэн + FTP проксигоор дамжих ёстой байсан гэж авч үзье.</para> + + <para>Энэ тохиолдолд та сонгох цэс рүү очоод, FTP хэрэглэгчийн нэрийг + <literal>ftp@ftp.FreeBSD.org</literal> гэж оруулаад нууц үгэнд нь + захианыхаа хаягийг бичих хэрэгтэй. Суулгацын төхөөрөмжөө FTP (эсвэл + прокси нь дэмждэг бол идэвхигүй FTP) гэж сонгоод URL хаягийг + <literal>ftp://foo.example.com:1234/pub/FreeBSD</literal> гэж оруулна.</para> + + <para><hostid role="fqdn">ftp.FreeBSD.org</hostid>-д буй + <filename>/pub/FreeBSD</filename> хаяг нь + <hostid role="fqdn">foo.example.com</hostid> гэсэн нэрээр дамжигдах бөгөөд + та суулгацыг <emphasis>энэ</emphasis> машинаас (уг машин таны файлуудыг + <hostid role="fqdn">ftp.FreeBSD.org</hostid> хаягнаас танд зуучилж өгнө) + татаж авч өгдөг.</para> + </note> + </sect1> + + <sect1 id="install-final-warning"> + <title>Суулгацыг баталж гүйцээх</title> + + <para>Хэрэв хүсвэл, одоо суулгацыг гүйцэтгэж болно. Энэ нь мөн хатуу дискэнд + өөрчлөлт оруулахаас сэргийлж цуцалж болох сүүлийн боломж юм.</para> + + <screen> 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</screen> + + <para>&gui.yes; товчийг сонгоод + <keycap>Enter</keycap> товч дарж суулгацыг гүйцэтгэнэ.</para> + + <para>Сонгосон түгээлт, суулгацын төхөөрөмж, компьютерийн хурд зэргээс + хамаараад суулгах хугацаа нь янз бүр. + Суулгацын үед явцын төлөв байдлыг илэрхийлсэн хэд хэдэн бичиглэл харуулагддаг.</para> + + <para>Дараах бичиглэл харуулагдсан үед суулгац гүйцсэн байдаг:</para> + + <screen> 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: /stand/sysinstall . + + [ OK ] + + [ Press enter to continue ]</screen> + + <para><keycap>Enter</keycap> товч дээр дарж суулгацын дараах тохируулгыг + хийх шатанд ордог.</para> + + <para>&gui.no; товчийг сонгоод <keycap>Enter</keycap> товч дарвал + суулгац цуцлагдах бөгөөд системд ямар ч өөрчлөлт хийгдэхгүй. Тэгээд + дараах мэдээллийг харуулдаг:</para> + + <screen> 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 +installation menus to retry whichever operations have failed. + + [ OK ]</screen> + + <para>Юу ч суулгаагүй тохиолдолд энэ мэдээлэл харуулагддаг. + <keycap>Enter</keycap> товч дарж суулгацаас гарч болох + Суулгацын үндсэн цэсэнд буцаж очдог.</para> + </sect1> + + <sect1 id="install-post"> + <title>Суулгацын дараах тохиргоо</title> + + <para>Амжилттай суулгацын дараа маш олон тохируулгын хэсэг эхэлдэг. + Уг тохируулгыг, шинээр FreeBSD-г ачаалахын өмнө хийж болох бөгөөд + эсвэл суулгацын дараа <command>sysinstall</command> (5.2 хувилбараас хуучин + &os; хувилбаруудад <command>/stand/sysinstall</command>)-г + ажиллуулан <guimenuitem>Configure</guimenuitem>-г сонгож тохиргоог дахин хийж болдог.</para> + + <sect2 id="inst-network-dev"> + <title>Сүлжээний тохиргоо</title> + + <para>Хэрэв та өмнө нь FTP суулгац хийхдээ РРР тохируулга хийчихсэн бол, энэ дэлгэц танд харуулагдахгүй бөгөөд хэрэв дахин тохируулах шаардлагатай бол өмнө бичсэний дагуу үйлдэх боломж буй. </para> + + <para>Дотоод сүлжээний талаархи нарийвчилсан мэдээлэл мөн FreeBSD-г сүлжээний + gateway/router буюу хаалга/дамжуулагч (гарц/чиглүүлэгч) хэрхэн болгох талаар + <link linkend="advanced-networking">Нэмэлт сүлжээ</link> хэсгээс харна уу. + </para> + + <screen> User Confirmation Requested + Would you like to configure any Ethernet or SLIP/PPP network devices? + + [ Yes ] No</screen> + + <para>Сүлжээний төхөөрөмжийг тохируулахыг хүсвэл &gui.yes; гэж сонгоод <keycap>Enter</keycap> товч дээр дарах хэрэгтэй. + Үгүй бол &gui.no; гэдгийг сонгоод цааш нь үргэлжлүүлээрэй.</para> + + <figure id="ed-config1"> + <title>Сүлжээний төхөөрөмж сонгох нь </title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ed0-conf" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Тохируулах төхөөрөмжөө сумтай товч хэрэглэж сонгоод <keycap>Enter</keycap> товч дээр дарна.</para> + + <screen> User Confirmation Requested + Do you want to try IPv6 configuration of the interface? + + Yes [ No ]</screen> + + <para>Энэ жишээ болгож авсан хувийн локал сүлжээнд одоо сонгосон байгаа интернэт төрлийн протокол нь (<acronym>IPv4</acronym>) бүрэн хангалттай болохоор &gui.no; гэж сонгогдоод <keycap>Enter</keycap> товч дарагдсан байна.</para> + + <para>Хэрэв та өмнө нь байсан <acronym>IPv6</acronym> сүлжээгээр <acronym>RA</acronym> сервер уруу холбогдсон байгаа бол &gui.yes; гэж сонгоод <keycap>Enter</keycap> дарах хэрэгтэй. Ингэсний дараа хэсэг хугацааны турш RA серверийг хайдаг. </para> + + <screen> User Confirmation Requested + Do you want to try DHCP configuration of the interface? + + Yes [ No ]</screen> + + <para>Хэрэв DHCP (Dynamic Host Configuration Protocol буюу Динамикаар компьютерийг тохируулах протокол) шаардлагаггүй бол &gui.no; гэж сонгоод <keycap>Enter</keycap> дээр дарах хэрэгтэй.</para> + + <para>&gui.yes; гэж сонгосноор <application>dhclient</application> хэрэгслийг ажиллуулдаг бөгөөд хэрэв энэ нь амжилттай болвол сүлжээний тохиргоо автоматаар хийгдсэн байдаг. Нэмэлт мэдээлэл авахыг хүсвэл + <xref linkend="network-dhcp"> хэсгээс харна уу.</para> + + <para>Дараах сүлжээг тохируулах цонхонд, уг системийг дотоод сүлжээний gateway буюу хаалга болгон тохируулж байгааг харуулж байна. + </para> + + <figure id="ed-config2"> + <title>ed0-д сүлжээний тохиргоог хийх нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ed0-conf2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para> <keycap>Tab</keycap> товч хэрэглэн тохиргооны талбаруудад сэлгэж шаардлагатай тохируулгыг нь оруулаарай:</para> + + <variablelist> + <varlistentry> + <term>Host буюу уг компьютерийн нэр</term> + + <listitem> + <para>Уг компьютерийн бүрэн нэр. Жишээ нь энэ тохиолдолд <hostid role="fqdn">k6-2.example.com</hostid>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Domain буюу домен</term> + + <listitem> + <para>Таны компьютерийн ашиглаж буй домен нэр. Энэ тохиолдолд <hostid role="domainname">example.com</hostid> болж байна.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>IPv4 Gateway буюу хаалга</term> + + <listitem> + <para>Дотоод биш компьютер уруу өгөгдөл цааш дамжуулан илгээгч компьютерийн IP хаяг. Хэрэв таны тохируулж байгаа машин тань сүлжээндээ ийм дамжуулагчийн үүрэг гүйцэтгэгч биш, харин тийм дамжуулагчийг ашигладаг бол, энэ талбарт бөглөөрэй. Хэрэв таны машин интернэт уруу оруулдаг gateway буюу хаалганы үүрэг гүйцэтгэдэг бол, энэ талбарыг <emphasis>хоосон орхих ёстой </emphasis>. IPv4 Gateway буюу хаалга нь анхдагч хаалга юмуу эсвэл анхдагч route буюу зам заагч гэж нэрлэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Name server буюу Нэр шийдвэрлэгч сервер</term> + + <listitem> + <para>Дотоод DNS серверийн IP хаяг. Хэрэв дотоод хувийн сүлжээнд DNS сервер гэж байхгүй бол интернэтээр хангагч байгууллагын DNS серверийн хаягийг оруулж өгдөг. + (энэ жишээнд <hostid role="ipaddr">208.163.10.2</hostid>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>IPv4 хаяг</term> + + <listitem> + <para>Энэ сүлжээний төхөөрөмжид өгөгдсөн IP хаяг нь + <hostid role="ipaddr">192.168.0.1</hostid> гэж тохируулагдаж байна</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Netmask буюу сүлжээний ангилагч</term> + + <listitem> + <para>Энэ дотоод сүлжээний хаягийн хувьд ашиглагдах хаягийн блок нь + <hostid role="netmask">255.255.255.0</hostid> бүхий сүлжээний ангилагчтай + байх бөгөөд ингэснээр хаяглалт нь <hostid role="ipaddr">192.168.0.0</hostid> - + <hostid role="ipaddr">192.168.255.255</hostid> хүртэл байх болно. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Extra options to ifconfig буюу ifconfig-н нэмэлт тохиргоонууд </term> + + <listitem> + <para> <command>ifconfig</command> дээр нэмэгдэх сүлжээний төхөөрөмжтэй холбоотой нэмэлт тохиргоонууд энд бичигдэнэ. Энэ жишээн дээр нэмэх зүйл байхгүй байна. </para> + </listitem> + </varlistentry> + + </variablelist> + + <para>Хэрэв дууссан бол <keycap>Tab</keycap> товч ашиглан &gui.ok; цэсийг сонгоод <keycap>Enter</keycap> товч дарна. </para> + + + <screen> User Confirmation Requested + Would you like to Bring Up the ed0 interface right now? + + [ Yes ] No</screen> + + <para>&gui.yes; гэж сонгоод <keycap>Enter</keycap> товч дарснаар уг машины сүлжээний холболтыг идэвхижүүлдэг. Нэгэнт машиныг дараа нь дахин ачаалах хэрэг гардаг болохоор энэ холболт нь нэг их ашиглагдаад байдаггүй билээ. </para> + </sect2> + + <sect2 id="gateway"> + <title>Gateway буюу сүлжээний хаалганы тохиргоо</title> + + <screen> User Confirmation Requested + Do you want this machine to function as a network gateway? + + [ Yes ] No</screen> + + <para>Хэрэв уг машин нь, дотоод сүлжээнд хаалгачийн үүрэг гүйцэтгэж машинуудын хооронд + багц мэдээллүүдийг дамжуулах үүрэгтэй бол &gui.yes; гэдгийг сонгоод <keycap>Enter</keycap> дээр дараарай. Хэрэв зөвхөн сүлжээнд холбогдох машин бол &gui.no; гэж сонгоод + <keycap>Enter</keycap> дээр дарж үргэлжлүүлнэ.</para> + </sect2> + + <sect2 id="inetd-services"> + <title>Интернэт үйлчилгээнүүдийг тохируулах</title> + + <screen> User Confirmation Requested +Do you want to configure inetd and the network services that it provides? + + Yes [ No ]</screen> + + <para>Хэрэв &gui.no; гэж сонговол, + <application>telnetd</application> гэх мэт төрөл бүрийн үйлчилгээнүүдийг + хорьдог. Ингэсэн үед алсаас холбогдох хэрэглэгч нь <application>telnet</application> + мэтийн програм хэрэглэж уг машин уруу холбогдож чадахгүй болно гэсэн үг. Харин дотоод + хэрэглэгчид бол гадаад машин уруу <application>telnet</application>-г ашиглан + холбогдож чадсаар байх болно.</para> + + <para>Эдгээр үйлчилгээнүүдийг суулгацын дараа <filename>/etc/inetd.conf</filename> + файлыг дуртай завсарлагчаараа нээж засварласнаар идэвхижүүлж болдог. + Энэ тухай дэлгэрэнгүй мэдээллийг <xref linkend="network-inetd-overview"> хэсгээс харна уу.</para> + + <para>Хэрэв та суулгаж байх явцад эдгээр үйлчилгээнүүдийг тохируулахыг хүсвэл + &gui.yes; гэж сонгоно. Нэмэлт лавлаж асуусан цонх харуулагдах болно:</para> + + <screen> 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</screen> + + <para>&gui.yes; дээр дарж үргэлжлүүлээрэй.</para> + + <screen> 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</screen> + + <para>&gui.yes; гэж сонгосноор тохируулгын файлыг засварлагч файл дээр + нээдэг бөгөөд мөрний урд нь буй + <literal>#</literal> тэмдгийг авсанаар тухайн үйлчилгээг идэвхижүүлдэг. + </para> + + <figure id="inetd-edit"> + <title><filename>inetd.conf</filename> файлыг засварлах нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/edit-inetd-conf" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хүссэн үйлчилгээгээ нэмсэний дараа <keycap>Esc</keycap> + товч дарвал, хийсэн өөрчлөлтөө хадгалаад гарах сонголттой цэс харуулагддаг.</para> + + </sect2> + + <sect2 id="ftpanon"> + <title>Anonymous буюу нэр нь үл мэдэгч FTP үйлчилгээ</title> + + <indexterm> + <primary>FTP</primary> + <secondary>anonymous буюу нэр нь үл мэдэгдэгч хэрэглэгч</secondary> + </indexterm> + + <screen> User Confirmation Requested + Do you want to have anonymous FTP access to this machine? + + Yes [ No ]</screen> + + <sect3 id="deny-anon"> + <title>Anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг хориглох</title> + + <para>Анхдагч сонгогдсон байгаа &gui.no; гэдэг дээр + <keycap>Enter</keycap> дарвал нэр нь үл мэдэгдэгчээр FTP үйлчилгээг + хориглодог бөгөөд харин FTP хандах эрхтэй ба нууц үгтэй хэрэглэгчид хандаж болдог.</para> + </sect3> + + <sect3 id="ftpallow"> + <title>Anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг зөвшөөрөх</title> + + <para>Энэ тохиолдолд хүн болгон таны машин уруу нэр нь үл мэдэгдэгч болж + FTP холболт хэрэглэн хандаж болдог. Нууцлал болон аюулгүй байдлынхаа талаар + сайн бодсоны дараа энэ үйлчилгээг хэрэглэх эсэхээ шийдэх хэрэгтэй. Нууцлал болон аюулгүй + байдлын талаар <xref linkend="security"> хуудсанд бичсэн буй.</para> + + <para>anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг зөвшөөрөхийн тулд, сумтай товч ашиглан &gui.yes; гэж сонгоод <keycap>Enter</keycap> дараарай. + Дараах дэлгэц (эсвэл үүнтэй ижил) танд харуулагдах болно:</para> + + <figure id="anon-ftp2"> + <title>Anonymous нэр нь үл мэдэгдэгч FTP үйлчилгээний анхдагч тохиргоо</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ftp-anon1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><keycap>F1</keycap> товч дарвал тусламжийн цонх гарч ирнэ:</para> + + <screen>This screen allows you to configure the anonymous FTP user. + +The following configuration values are editable: + +UID: The user ID you wish to assign to the anonymous FTP user. + All files uploaded will be owned by this ID. + +Group: Which group you wish the anonymous FTP user to be in. + +Comment: String describing this user in /etc/passwd + + +FTP Root Directory: + + Where files available for anonymous FTP will be kept. + +Upload subdirectory: + + Where files uploaded by anonymous FTP users will go.</screen> + <para>Үүнийг сийрүүлбэл:</para> + + <screen> Энэ цонх нь танд anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийн + тохиргоог хийхэд хэрэглэгдэнэ. + +Дараах хэсгүүд тохиргоонд зориулж өөрчлөгдөх боломжтой: + +UID: Нэр нь үл мэдэгдэх FTP хэрэглэгчдэд хамааруулах хэрэглэгчийн ID дугаар. + Сервер уруу илгээгдсэн бүх файлууд уг хэрэглэгчийн ID дугаарт харьяалагдаж эзэмшигдэнэ. + +Group: Аль бүлэгт нэр нь үл мэдэгдэх FTP хэрэглэгчдийг багтаах вэ. + +Comment: /etc/passwd файлд бичигдэх уг хэрэглэгчдэд оруулсан тайлбар мөр + + +FTP Root Directory: + + anonymous буюу нэр нь үл мэдэгдэх FTP хэрэглэгчдэд зориулж татаж авагдах файлуудыг байрлуулах хэсэг. + +Upload subdirectory: + + Хэрэглэгчдээс илгээгдсэн файлуудыг байрлуулах хэсэг.</screen> + + <para>ftp-н root буюу эх сан нь анхдагч тохиргоогоор <filename>/var</filename> + санд байрлагддаг. Хэрэв тэнд хангалттай зай байхгүй бол + <filename>/usr</filename> санг ашиглаж FTP эх сангаа + <filename>/usr/ftp</filename> гэж тохируулж болох юм.</para> + + <para>Хэрэв та оруулсан утгуудыг зөв болсон гэж бодож байгаа бол + <keycap>Enter</keycap> дээр дарж үргэжлүүлээрэй.</para> + + <screen> User Confirmation Requested + Create a welcome message file for anonymous FTP users? + + [ Yes ] No</screen> + + <para>Хэрэв та &gui.yes; гэж сонгоод + <keycap>Enter</keycap> дээр дарвал, танаас текст оруулуулах зорилгоор засварлагч програм + автоматаар ажилладаг. </para> + + <figure id="anon-ftp4"> + <title>FTP мэндчилгээний бичлэгийг засварлах нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ftp-anon2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Энэ бол <command>ee</command> гэгч засварлагч юм. Зааврын дагуу + мэндчилгээний захиаг өөрчилж болох бөгөөд, эсвэл дараа нь өөрийн дуртай засварлагчаар + нээж уг бичлэгийг өөрчилж бас болно. Тэмдэглэж хэлэхэд, уг файлын нэр болон байрлал нь + програмын доод хэсэгт харуулагдаж байгааг анзаарна уу.</para> + + <para><keycap>Esc</keycap> дээр дарвал, цэстэй жижиг цонх үүсэх бөгөөд түүн дотор + <guimenuitem>a) leave editor буюу засварлагчаас гарах</guimenuitem> цэс анхдагчаар + сонгогдсон байдаг. + <keycap>Enter</keycap> дарж гараад үргэлжүүлж болно. Эсвэл + <keycap>Enter</keycap> дахин дарж оруулсан өөрчлөлтүүдээ хадгалдаг.</para> + </sect3> + </sect2> + + <sect2 id="nfsconf"> + <title>Network File System буюу сүлжээний файл системийг тохируулах</title> + + <para>Network File System (NFS) нь сүлжээнд буй файлуудыг хувааж хэрэглэх боломж олгодог. Машин нь сервер, хэрэглэгч эсвэл хоёулангаар нь болж тохируулагдаж болдог. + <xref linkend="network-nfs"> хэсгээс нэмэлт мэдээллийг харна уу.</para> + + <sect3 id="nsf-server-options"> + <title>NFS сервер</title> + + <screen> User Confirmation Requested + Do you want to configure this machine as an NFS server? + + Yes [ No ]</screen> + + <para>Хэрэв танд сүлжээний файл системийн сервер шаардлагагүй бол + &gui.no; гэж сонгоод + <keycap>Enter</keycap> дараарай.</para> + + <para>Хэрэв сервер хэрэгтэй гэвэл &gui.yes; гэж сонгох хэрэгтэй бөгөөд + танд жижиг цонхон дээр <filename>exports</filename> файл үүсгэгдэх + ёстой гэсэн сануулга гарч ирдэг.</para> + + <screen> 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 ]</screen> + + <para> <keycap>Enter</keycap> дарж үргэлжлүүлдэг. Текст засварлагч ажиллаж, түүнд + <filename>exports</filename> файлуудыг үүсгэх ба засварлах үйлдлүүдийг гүйцэтгэдэг.</para> + + <figure id="nfs-server-edit"> + <title><filename>exports</filename> файлыг засварлах нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/nfs-server-edit" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Заавар ашиглан, одоо байгаа файл системийг нэмэх эсвэл сүүлд дуртай засварлагчаараа + нээж засварлаж болох юм. Файлын нэр болон байршлыг дэлгэцийн доод хэсэгт харуулсан байгааг анзаарна уу.</para> + + <para> <keycap>Esc</keycap> дарахад цэстэй цонх үүсэх бөгөөд + <guimenuitem>a) leave editor буюу засварлагчийг орхи</guimenuitem> цэс анхлан сонгогдсон байдаг. + <keycap>Enter</keycap> дарж гараад цааш нь үргэлжлүүлнэ.</para> + </sect3> + + <sect3 id="nfs-client-options"> + <title>NFS Client буюу хэрэглэгч</title> + + <para>NFS хэрэглэгчид нь NFS сервер уруу холбогддог.</para> + + <screen> User Confirmation Requested + Do you want to configure this machine as an NFS client? + + Yes [ No ]</screen> + + <para>Сумтай товч ашиглан &gui.yes; + эсвэл &gui.no; сонголтыг шийдвэрээсээ шалтгаалан сонгоод <keycap>Enter</keycap> + дээр дараарай.</para> + </sect3> + </sect2> + + <sect2 id="console"> + <title>Системийн консол тохиргоо</title> + + <para>Системийнхээ консолыг өөрчлөх хэд хэдэн тохиргоо байдаг.</para> + + <screen> User Confirmation Requested + Would you like to customize your system console settings? + + [ Yes ] No</screen> + + <para>Тохиргооны сонголтуудыг харах юмуу тохируулахын тулд + &gui.yes; гэж сонгоод + <keycap>Enter</keycap> дарна.</para> + + <figure id="saver-options"> + <title>Системийн консолын тохируулгын сонголтууд</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Дэлгэц амраах тохиргоо байнга хэрэглэгддэг. Сумтай товчоор + <guimenuitem>Saver</guimenuitem> гэж сонгоод + <keycap>Enter</keycap> дараарай.</para> + + <figure id="saver-select"> + <title>Дэлгэц амраах тохиргоо</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сум товч ашиглаж хүссэн дэлгэц амраах хөтөлбөрөө сонгоод <keycap>Enter</keycap> + дарна. Системийн консол тохируулах цонх буцаж гарч ирдэг.</para> + + <para>Дэлгэц амраах хөтөлбөрийн ажиллах анхдагч хугацаа нь 300 секунд байдаг. + Цагийн энэ хугацааг өөрчлөхийнх тулд <guimenuitem>Saver</guimenuitem> гэдгийг дахин + сонгоно. Түүн дотор байгаа сонголтуудаас <guimenuitem>Timeout</guimenuitem> + гэдгийг сумтай товч ашиглаж сонгоод <keycap>Enter</keycap> дээр дарна. Ингэхэд танд + жижиг цонх харуулагддаг:</para> + + <figure id="saver-timeout"> + <title>Дэлгэц амраагчийн ажиллах хугацаа</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Утгыг өөрчлөөд &gui.ok; гэж сонгон + <keycap>Enter</keycap> дээр дарж буцаад системийн консолын тохиргооны цэсэнд очдог.</para> + + <figure id="saver-exit"> + <title>Системийн консолын тохиргооноос гарах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/console-saver4" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><guimenuitem>Exit</guimenuitem> гэдгийг сонгоод + <keycap>Enter</keycap> дээр дарвал суулгацын дараах тохиргоогоо + үргэлжлүүлэх хэсэгт очино.</para> + </sect2> + + <sect2 id="timezone"> + <title>Цагийн бүсийг тохируулах</title> + + <para>Машиныхаа цагийн бүсийг тохируулснаар тухайн бүсийн цагтай холбогдолтой + өөрчлөлтүүд автоматаар хийгдэх давуу талтай байдаг.</para> + + <para>Жишээн дээр, Америкийн Нэгдсэн Улсын Eastern буюу зүүн хэсгийн цагийн + бүсийг тохируулж байна. Таны тохируулга байгаа газраасаа шалтгаалж өөр байх болно.</para> + + <screen> User Confirmation Requested + Would you like to set this machine's time zone now? + + [ Yes ] No</screen> + + <para> &gui.yes; гэж сонгоод + <keycap>Enter</keycap> дарвал цагийн бүсийг тохируулах болно.</para> + + <screen> 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 ]</screen> + + <para>Машиныхаа цагийн тохируулгаасаа хамаарч &gui.yes; + эсвэл &gui.no; гэдгийг сонгоод <keycap>Enter</keycap> дарна ( мэдэхгүй бол &gui.no; гэдгийг сонгоорой ) .</para> + + <figure id="set-timezone-region"> + <title>Оршин буй бүсээ сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/timezone1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Тохирсон бүсээ сумтай товч хэрэглэж сонгоод + <keycap>Enter</keycap> дээр дарна.</para> + + <figure id="set-timezone-country"> + <title>Оршин буй улсаа сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/timezone2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Тохирох улсаа сонгоод <keycap>Enter</keycap> дээр дарна.</para> + + <figure id="set-timezone-locality"> + <title>Цагийн бүсээ сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/timezone3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сумтай товч хэрэглэж тохирсон цагийн бүсээ сонгоод + <keycap>Enter</keycap> дээр дарна.</para> + + <screen> Confirmation + Does the abbreviation 'EDT' look reasonable? + + [ Yes ] No</screen> + + <para>Цагийн бүсийн товчлол нэрийг лавлаж асуух хэсэг гарч ирдэг. + Хэрэв уг товчлол нь танд тохирч байвал <keycap>Enter</keycap> дарж суулгацын дараах + тохиргоог цааш нь үргэлжлүүлээрэй.</para> + </sect2> + + <sect2 id="linuxcomp"> + <title>Линукс тохиромж</title> + + <screen> User Confirmation Requested + Would you like to enable Linux binary compatibility? + + [ Yes ] No</screen> + + <para>&gui.yes; гэж сонгоод + <keycap>Enter</keycap> дээр дарвал Линуксын програмууд FreeBSD дээр + ажиллах боломжтой болдог. Суулгац нь Линукстай тохиромжтой ажиллуулах + нэмэлт багцыг нэмдэг.</para> + + <para>Хэрэв та FTP-р суулгаж байгаа бол машин интернэт уруу холбогдох + хэрэгтэй болно. Заримдаа алсад буй ftp байрлалд Линуксийн тохиромжийн файлууд + байхгүй байдаг. Гэвч үүнийг сүүлд суулгах боломжтой.</para> + </sect2> + + <sect2 id="mouse"> + <title>Хулганы тохиргоо</title> + + <para>Энэ тохиргоо нь таныг 3 товчтой хулганаар, програм болон консолд + текст тасдаж сануулах болон буулгах боломж өгдөг. Хэрэв 2 товчит хулгана + хэрэглэж байгаа бол &man.moused.8; гарын авлагаас лавлаж хэрхэн гурван товчтой хулгана болгон ажиллуулж болдгийг харж болно. Энэ жишээн дээр USB биш төрлийн хулганы тохируулгыг харуулж байна (PS/2 эсвэл COM портоор холбогддог хулгана):</para> + + <screen> User Confirmation Requested + Does this system have a non-USB mouse attached to it? + + [ Yes ] No </screen> + + <para>&gui.yes; гэж USB биш төрлийн хулганыг сонгох юм уу эсвэл + &gui.no; гэж USB төрлийн хулганыг сонгоод + <keycap>Enter</keycap> товч дээр дараарай.</para> + + <figure id="mouse-protocol"> + <title>Хулганы холбогдох төрлийг сонгох нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сумтай товч ашиглан <guimenuitem>Type</guimenuitem> гэж сонгоод <keycap>Enter</keycap> дарна.</para> + + <figure id="set-mouse-protocol"> + <title>Хулганы холбогдох төрлийг тохируулах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Энэ жишээнд хэрэглэгдэж байгаа хулгана PS/2 төрлийнх бөгөөд анхдагч + <guimenuitem>Auto</guimenuitem> буюу автомат гэсэн тохируулга таарч байдаг. + Энэ холбогдох төрлийг нь өөрчлөнө гэвэл сумтай товч ашиглан сонгоорой. Дараа нь &gui.ok;-г гэрэлтүүлж сонгогдсон эсэхийг магадлаад <keycap>Enter</keycap> дээр дарж энэ цэснээс гарах болно.</para> + + <figure id="config-mouse-port"> + <title>Хулганы холбогдох портыг нь сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сумтай товч ашиглан <guimenuitem>Port</guimenuitem> цэсийг сонгоод <keycap>Enter</keycap> дээр дарна.</para> + + <figure id="set-mouse-port"> + <title>Хулганы портыг тохируулах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse4" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Энэ системд PS/2 төрлийн хулгана хэрэглэгдэж байгаа болохоор + анхдагч тохируулга болох + <guimenuitem>PS/2</guimenuitem> сонгогдсон байдаг. Портыг солихын тулд сумтай товч ашиглаж сонгоод <keycap>Enter</keycap> дээр дараарай.</para> + + <figure id="test-daemon"> + <title>Хулганы Daemon буюу далд чөтгөрийг идэвхижүүлэх нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse5" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Эцэст нь сумтай товч ашиглаад + <guimenuitem>Enable</guimenuitem> буюу идэвхижүүл гэж сонгоод + <keycap>Enter</keycap> товч дээр дарж хулганыг ажиллуулагч далд чөтгөрийг + ажиллуулж эхэлдэг.</para> + + + <figure id="test-mouse-daemon"> + <title>Хулганы далд чөтгөрийг шалгах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mouse6" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хулганаа дэлгэцэн дээр хөдөлгөж шалгаж үзэх хэрэгтэй. + Хэрэв зүгээр байх юм бол &gui.yes; гэж сонгоод <keycap>Enter</keycap> дарна. + Хэрэв үгүй бол хулгана зөв тохируулагдаагүй байна гэсэн үг — тийм болохоор + &gui.no; гэж сонгоод өөр тохируулга хийж турших хэрэгтэй.</para> + + <para><guimenuitem>Exit</guimenuitem> буюу гарах гэдгийг сумтай товчоор очиж + сонгоод <keycap>Enter</keycap> дээр дарж суулгацын дараах тохируулга уруу буцаж очиж үргэлжлүүлнэ.</para> + </sect2> + + <sect2 id="network-services"> + <sect2info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + <title>Сүлжээний үйлчилгээний нэмэлт тохиргоо </title> + + <para>Сүлжээний үйлчилгээнүүдийг тохируулах нь, энэ талын мэдлэггүй шинэ хэрэглэгчдэд нэлээн хатуу боорцог мэт санагддаг. Сүлжээний тохиргоог хийж интернэт хэрэглэнэ гэдэг бол &os;-г оруулаад орчин үеийн үйлдлийн системүүдэд маш чухал үйлдэл бөгөөд ингэж сурах явцдаа &os;-н сүлжээтэй холбоотой нэмэлт боломжуудыг ойлгож авдаг. Суулгацын явцад энэ үйлдлийг хийхээсээ өмнө, хэрэглэгч нь хэрэглэх үйлчилгээнийхээ тухай тодорхой ойлголттой байх ёстой.</para> + + <para>Сүлжээний үйлчилгээнүүд нь, сүлжээгээр ямар нэгэн оруулга хүлээж авдаг програмуудыг хэлж байгаа юм. Эдгээр програмуудыг <quote> эвдэлж сөнөөдөг </quote> төрлийнх биш байлгах гэж маш их хичээсэн байдаг. + Харамсалтай нь програмчид төгс биш байдаг болохоор сүлжээний үйлчилгээнд байгаа ямар нэг цоорхой нүх хорхойг довтлогчид ашиглан муу юманд хэрэглэдэг. Та зөвхөн өөрийнхөө мэддэг болон хэрэгтэй сүлжээний үйлчилгээгээ идэвхижүүлэх нь чухал. Хэрэв танд эргэлзээтэй байгаа бол, уг үйлчилгээг хэрэгцээтэй болох хүртлээ хорьсон байх нь дээр байдаг. Та үүнийг сүүлд <application>sysinstall</application> ашиглаад юмуу эсвэл +<filename>/etc/rc.conf</filename> файлын тусламжтайгаар хэзээд идэвхижүүлж болно. </para> + + <para><guimenu>Networking</guimenu> тохируулгыг сонгоход доорхтой төстэй + цэсийг үзүүлэх болно:</para> + + <figure id="network-configuration"> + <title>Сүлжээний дээд түвшний тохиргоо</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/net-config-menu1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Эхний тохиргоо <guimenuitem>Interfaces</guimenuitem> буюу сүлжээний төхөөрөмжийн талаар бид өмнө нь <xref linkend="inst-network-dev"> хэсэгт үзсэн болохоор энд алгаслаа.</para> + + <para><guimenuitem>AMD</guimenuitem> сонголтыг сонгосноор + <acronym>BSD</acronym> automatic mount буюу автоматаар таньж холбох хэрэгслийг нэмж өгдөг. + Энэ нь голдуу + <acronym>NFS</acronym> холболт (өмнө тайлбарласан буй) ашиглах үед, алсад буй файл системийг таньж холбоход хэрэглэгддэг. + Ямар нэгэн онцгой тохируулга энд шаардлагаггүй.</para> + + <para>Дараагийн тохируулга, <guimenuitem>AMD Flags</guimenuitem> + сонголт. Хэрэв энэ сонгогдвол жижиг цэстэй цонх үсэрч гарч ирдэг бөгөөд ямар <acronym>AMD</acronym> тохиргоо хийхийг зааж өгдөг. + Уг цэсэнд анхдагч тохируулгууд нь заагдчихсан байдаг:</para> + + <screen>-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map</screen> + + <para><option>-a</option> сонголт нь анхдагч таньж холбох байршлыг зааж өгдөг бөгөөд энэ тохиолдолд + <filename>/.amd_mnt</filename> гэсэн байна. <option>-l</option> + сонголт анхдагч <filename>log</filename> буюу бүртгэл файлыг зааж өгдөг боловч хэрэв <literal>syslogd</literal> хэрэглэгдэж байгаа бол бүх бүртгэж бичих үйлдлүүд системийн log daemon буюу далд ажилладаг бүртгэл бичигч чөтгөр уруу илгээгддэг. + <filename class="directory">/host</filename> сан нь алсад буй копмьютерийн экспортлосон файлуудыг таньж холбох санг илэрхийлж байхад, <filename class="directory">/net</filename> + сан нь + <acronym>IP</acronym> хаягаас экспортлогдсон файлуудыг таньж холбох санг зааж өгч байна. + <filename>/etc/amd.map</filename> файл нь <acronym>AMD</acronym>-н экспортын анхдагч тохируулгуудыг заасан байна.</para> + + <indexterm> + <primary>FTP</primary> + <secondary>anonymous</secondary> + </indexterm> + + <para><guimenuitem>Anon FTP</guimenuitem> сонголт нь anonymous буюу нэр үл мэдэгдэгч + <acronym>FTP</acronym> холболтыг зөвшөөрдөг. Үүнийг сонгосноор, уг машиныг + нэр нь үл мэдэгдэгч холболт хүлээж авдаг <acronym>FTP</acronym> сервер болгож байна. + Энэ сонголтыг дагаад үүсэх нууцлал болон аюулгүй байдлыг бодох хэрэгтэй. + Өөр цэс үүсэж аюулгүй байдалтай холбоотой нөхцлүүд болон тохируулгын талаар сануулга өгдөг.</para> + + <para><guimenuitem>Gateway</guimenuitem> тохируулга нь өмнө тайлбарласны дагуу машиныг хэрхэн сүлжээний хаалга болгож тохируулах тохиргоонуудыг санал болгодог. Энэ хэсэгт та өмнө нь суулгацын үед санамсаргүй хүсэлгүйгээр тохируулснаа <guimenuitem>Gateway</guimenuitem> сонголт ашиглаж буцааж болно.</para> + + <para> <guimenuitem>Inetd</guimenuitem> сонголтоор өмнө тайлбарласан &man.inetd.8; далд чөтгөрийг тэр чигээр нь хорьж болно.</para> + + <para><guimenuitem>Mail</guimenuitem> сонголтоор системийн + андагч <acronym>MTA</acronym> буюу Mail Transfer Agent буюу захиа дамжуулагч агентыг тохируулдаг. + Энэ сонголтыг сонгох үед дараах цэс харуулагддаг:</para> + + <figure id="mta-selection"> + <title>Анхдагч MTA-г сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mta-main" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Та энэ хэсэгт, суулгах анхдагч <acronym>MTA</acronym>-г сонгох гэж байна. <acronym>MTA</acronym> бол системийн хэрэглэгчид уруу юмуу эсвэл интернэтэд байгаа хэрэглэгчид уруу захиа илгээгч энгийн сервер билээ.</para> + + <para><guimenuitem>Sendmail</guimenuitem>-г сонгосноор, та &os;-н анхдагч бөгөөд алдаршиж тархсан <application>sendmail</application> серверийг суулгах болно. <guimenuitem>Sendmail local</guimenuitem> сонголт нь + <application>sendmail</application>-г анхдагч + <acronym>MTA</acronym> болгож суулгах боловч интернэтээс ирж байгаа захиануудыг хүлээж авахгүйгээр тохируулдаг. Бусад сонголтууд болох + <guimenuitem>Postfix</guimenuitem> болон + <guimenuitem>Exim</guimenuitem> нар нь + <guimenuitem>Sendmail</guimenuitem>-тэй ижил үүрэг гүйцэтгэдэг. Тэд хоёулаа захиа илгээдэг бөгөөд зарим хэрэглэгчид + <application>sendmail</application>-н оронд + <acronym>MTA</acronym> болгож хэрэглэж болдог.</para> + + <para> <acronym>MTA</acronym>-г сонгосны дараа юмуу эсвэл MTA-г сонголгүйгээр цаашлах үед, <guimenuitem>NFS client</guimenuitem> тохируулгыг хийх сүлжээний тохиуулгын цэс гарч ирдэг.</para> + + <para><guimenuitem>NFS client</guimenuitem> сонголт нь системийг + <acronym>NFS</acronym> сүлжээгээр сервертэй холбоход хэрэглэгддэг. <acronym>NFS</acronym> сервер нь <acronym>NFS</acronym> протокол ашиглан, файл системийг сүлжээгээр бусад машинд хандах боломж өгдөг. Хэрэв энэ нь дангаараа ажилладаг машин бол, энэ сонголтыг сонгохгүйгээр үлдээж болно. Систем танаас нэмэлт тохируулга хийхийг шаардаж магадгүй; сервер хэрэглэгч хоёрын тохиргооны талаарх дэлгэрэнгүй мэдээллийг + <xref linkend="network-nfs"> хэсгээс харна уу.</para> + + <para>Саяны сонголтын доор нь <guimenuitem>NFS server</guimenuitem>-н тохируулга байгаа бөгөөд системийг + <acronym>NFS</acronym> сервер болгоход хэрэглэгдэнэ. Энэ хэсэгт <acronym>RPC</acronym> буюу алсад буй компьютерт програм ажиллуулагч үйлчилгээг эхлүүлэх тохиргоо хийдэг. <acronym>RPC</acronym> нь компьютер болон програм хоёрын хоорондох холболтыг зохицуулахад хэрэглэгддэг.</para> + + <para>Түүний дараа <guimenuitem>Ntpdate</guimenuitem> гэсэн сонголт байгаа ба энэ нь цаг тохируулах үүрэгтэй. Хэрэв үүнийг сонговол, дараах цэс танд харуулагдана:</para> + + <figure id="Ntpdate-config"> + <title>Ntpdate тохиргоо</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/ntp-config" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Энэ хэсэгт, өөртөө хамгийн ойрхон буй серверийг сонгох хэрэгтэй. Ойрхон сервер сонгосноор, таны цагийн тохиргоог хол байгаа сервер уруу мэдээлэл авах гэж цаг алдалгүйгээр илүү нарийвчлалтай хийх боломж ихсэнэ.</para> + + <para>Дараагийн сонголт бол <acronym>PCNFSD</acronym> юм. + Энэ сонголт + <filename role="package">net/pcnfsd</filename> багцыг +Портын цуглуулгаас суулгадаг. Энэ нь Microsoft-н + &ms-dos; зэрэг таньж бүртгэн нэвтрэх үйлчилгээ хийж чаддаггүй үйлдлийн системүүдэд + <acronym>NFS</acronym> таньж нэвтрүүлэх үйлчилгээг санал болгодог тун хэрэгтэй систем юм. </para> + + <para>Та одоо жаахан доош нь гулгуулж цаашхи сонголтуудыг харах хэрэгтэй:</para> + + <figure id="Network-configuration-cont"> + <title>Доод түвшний сүлжээний тохируулга</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/net-config-menu2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>&man.rpcbind.8;, &man.rpc.statd.8;, болон + &man.rpc.lockd.8; хэрэгслүүд бүгдээрээ Remote Procedure + Calls (<acronym>RPC</acronym>) буюу алс компьютерт процедур ажиллуулагчид хэрэглэгдэнэ. + <command>rpcbind</command> хэрэгсэл <acronym>NFS</acronym> сервер болон хэрэглэгчийн хоорондох холболтыг зохицуулдаг бөгөөд <acronym>NFS</acronym> серверийг зөв ажиллаж байх нөхцөл шаарддаг. <application>rpc.statd</application> далд чөтгөр нь өөр компьютер дээр буй <application>rpc.statd</application> далд чөтгөртэй харилцаж төлөв байдлыг хянаж байдаг. Мэдээлэгдэх ёстой төлөв байдлууд нь +<filename>/var/db/statd.status</filename> файлд хадгалагаж байгаа. + Дараагийн сонголт нь <guimenuitem>rpc.lockd</guimenuitem> бөгөөд энэ нь сонгогдвол файлуудыг түгжих үйлдлийг хангаж өгдөг. Энэ голдуу + <application>rpc.statd</application>-тэй хэрэглэгддэг бөгөөд ямар компьютер ямар файлыг хорихыг хүсэж байна, хэр давтамжтай хүсэж байгаа зэргийн төлвийг хянаж байдаг. + Сүүлийн хоёр сонголт нь дибаг хийхэд маш гайхамшигтай байдаг боловч эдгээр нь <acronym>NFS</acronym> сервер болон хэрэглэгч зөв + ажиллахад шаардлагагүй. </para> + + <para>Цааш нь харвал + <guimenuitem>Routed</guimenuitem> сонголт буй. Энэ нь дамжуулга хийгч далд чөтгөр юм. &man.routed.8; хэрэгсэл нь сүлжээний дамжуулах хүснэгтийг удирдаж multicast дамжуулагчдыг олж хүсэлтийн дагуу сүлжээн дэх физик холболттой машинд өөрийнхөө дамжуулах хүснэгтийг нийлүүлж байдаг. Энэ хэрэгсэл нь голдуу дотоод сүлжээндээ хаалганы үүрэг гүйцэтгэж байгаа машинд хэрэглэгддэг. Үүнийг сонговол цэс гарч ирэн уг хэрэгслийн байрлах анхдагч байршлыг асуудаг. Уг цэсэн дээр анхдагч байршил нь аль хэдийнээ сонгогдсон байдаг болохоор шууд <keycap>Enter</keycap> дарж болно. Танд дахин өөр цэс харуулагдах бөгөөд, энэ үед танаас <application>routed</application> далд чөтгөрийг ажиллууллах нэмэлт сонголт оруулахыг асуудаг. Анхдагч сонголт нь +<option>-q</option> байдаг бөгөөд үргэлж энэ сонголттойгоо харуулагдах болно.</para> + + <para>Дараагийн тохиргооны сонголт бол <guimenuitem>Rwhod</guimenuitem> бөгөөд хэрэв энэ сонгогдвол, системийн эхлэн ачаалах үед &man.rwhod.8; далд чөтгөрийг ажиллуулдаг. <command>rwhod</command> хэрэгсэл нь сүлжээгээр байнга системийн мэдээнүүдийг цацах, эсвэл <quote>consumer</quote> горимдоо байгаа бол уг мэдээнүүдийг цуглуулж байдаг. Дэлгэрэнгүй мэдээллийг &man.ruptime.1; юмуу + &man.rwho.1;-н гарын авлагаас харж болно.</para> + + <para>Жагсаалтын сүүлийн өмнөх сонголт бол + &man.sshd.8;далд чөтгөр юм. Энэ нь <application>OpenSSH</application>-д зориулсан, нууцлалын хувиргууртай бүрхүүлийн сервер бөгөөд энгийн хэрэглээнд байдаг <application>telnet</application> болон <acronym>FTP</acronym> серверүүдийн оронд хэрэглэхийг санал болгодог. <application>sshd</application> сервер нь нэг компьютерээс нөгөө уруу нууцлалын хувиргалттай холболт тогтоож байдаг.</para> + + <para>Эцэст нь <guimenuitem>TCP Extensions</guimenuitem> + сонголт байгаа. Энэ хэрэв сонгогдвол, <acronym>RFC</acronym> 1323 болон + <acronym>RFC</acronym> 1644-д заасан байдаг <acronym>TCP</acronym> өргөтгөлийг идэвхижүүлдэг. Ихэнх компьютер дээр энэ нь сүлжээний хурдыг ихэсгэдэг ч гэсэн зарим холболтыг унагаж болзошгүй. Энэ нь зөвхөн дангаараа ажилладаг серверт санал болгогдож байдаг.</para> + + <para>Ингээд та сүлжээнийхээ үйлчилгээнүүдийг тохируулж дууслаа. Та хамгийн сүүлд байгаа <guimenuitem>Exit</guimenuitem> буюу Гарах цэсийг сонгож дараагийн тохируулгын хэсэг уруу үргэлжлүүлж болно.</para> + + </sect2> + + <sect2 id="x-server"> + <title>X Серверийг тохируулах</title> + + <note> + <para>&os; 5.3-ХУВИЛБАРААС эхлэн X серверийн тохиргоо + <application>sysinstall</application>-с салаад, &os;-г суулгасны дараа X серверийг тохируулдаг болсон билээ. + X серверийг суулгах болон тохируулах талаарх нэмэлт мэдээллийг <xref + linkend="x11"> хэсэгт харж болно. Хэрэв та 5.3-ХУВИЛБАРААС өмнөх хувилбарын &os;-г суулгаагүй байгаа бол энэ хэсгийг алгасаж болно. + </para> + </note> + + <para>График дүрслэлтэй хэрэглэгчийн харьцах нүүр + <application>KDE</application>, <application>GNOME</application>, + гэх мэтчилэн бусад програмыг хэрэглэхийн тулд Х сервер заавал тохируулагдах ёстой.</para> + + <note> + <para><username>root</username> биш эрхээр <application>&xfree86;</application>-г ажиллуулдаг болохын тулд, та <filename role="package">x11/wrapper</filename>-г суулгасан байх шаардлагатай. FreeBSD 4.7-с эхлэн энэ нь анхнаасаа суугддаг болсон билээ. Өмнөх хувилбаруудад үүнийг портын цуглуулгаас олж нэмж болно.</para> + </note> + + <para>Таны дэлгэцийн карт дэмжигдсэн эсэхийг <ulink url="http://www.xfree86.org/">&xfree86;</ulink> вэб хуудаснаас шалгаарай.</para> + + <screen> User Confirmation Requested + Would you like to configure your X server at this time? + + [ Yes ] No</screen> + + <warning> + <para>Дэлгэцийнхээ төрөл болон дэлгэцийн картныхаа тухай мэдээллийг мэдэж байх нь тун чухал. Хэрэв буруу тохируулбал төхөөрөмж эвдэрч болзошгүй. Хэрэв танд эдгээр мэдээллүүд байхгүй бол + &gui.no; гэж сонгоод суулгасны дараа + <command>sysinstall</command> ( &os;-н 5.2 хувилбараас өмнөх хувилбаруудад <command>/stand/sysinstall</command> гэж буй) програм ашиглан + <guimenuitem>Configure</guimenuitem> гэж сонгоод + <guimenuitem>XFree86</guimenuitem> гэж сонгож тохируулна. Энэ байрлалд Х серверийн буруу тохиргоо нь таны машиныг гацаадаг. Х серверийг суулгаж дууссаны дараа тохируулахыг үргэлж санал болгож байдаг. + </para> + </warning> + + <para>Хэрэв танд дэлгэцийн болон картын тань мэдээлэл байгаа бол + &gui.yes; гэж сонгоод <keycap>Enter</keycap> дээр дарж Х серверийг тохируулахаар үргэлжлүүлэх болно.</para> + + <figure id="xserver2"> + <title>Тохируулах горимыг сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/xf86setup" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Х серверийг тохируулах хэд хэдэн арга бий. + Сумтай товч ашиглан аль нэг аргыг нь сонгоод + <keycap>Enter</keycap> дээр дарах хэрэгтэй. Бүх заавруудыг нь тун анхааралтай уншаарай.</para> + + <para> <application>xf86cfg</application> болон + <application>xf86cfg -textmode</application> арга нь хэдэн секундын турш дэлгэцийг тань хар болгож магадгүй. Тэвчээртэй хүлээгээрэй. + </para> + + + <para>Дараах хэсэгт + <application>xf86config</application> тохируулгыг харуулав. Тохируулах зарим хэсгүүд нь төхөөрөмжийн төрлөөс хамаарах тул, энд үзүүлсэн зарим тохиргоо нь таныхаас зөрж магадгүй юм:</para> + + <screen> Message + You have configured and been running the mouse daemon. + Choose "/dev/sysmouse" as the mouse port and "SysMouse" or + "MouseSystems" as the mouse protocol in the X configuration utility. + + [ OK ] + + [ Press enter to continue ]</screen> + + <para>Энэ нь хулганы далд чөтгөр өмнө нь тохируулагдсан байна гэж харуулж байна. + <keycap>Enter</keycap> дарж үргэлжлүүлнэ.</para> + + <para><application>xf86config</application> эхлэхдээ богино заавар харуулдаг:</para> + + <screen>This program will create a basic XF86Config file, based on menu selections you +make. + +The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample +XF86Config file is supplied with XFree86; it is configured for a standard +VGA card and monitor with 640x480 resolution. This program will ask for a +pathname when it is ready to write the file. + +You can either take the sample XF86Config as a base and edit it for your +configuration, or let this program produce a base XF86Config file for your +configuration and fine-tune it. + +Before continuing with this program, make sure you know what video card +you have, and preferably also the chipset it uses and the amount of video +memory on your video card. SuperProbe may be able to help with this. + +Press enter to continue, or ctrl-c to abort.</screen> + + <para> <keycap>Enter</keycap> дээр дарвал хулганы тохиргоог эхлүүлдэг. + Зааврын дагуу явж + <quote>Mouse Systems</quote>-г хулганы холбогдох төрөл гэж тооцох ба доор харуулсан шиг + PS/2 төрөл байсан ч гэсэн <filename>/dev/sysmouse</filename>-г хулганы төрөл гэж авч үзэх хэрэгтэй.</para> + + <screen>First specify a mouse protocol type. Choose one from the following list: + + 1. Microsoft compatible (2-button protocol) + 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol + 3. Bus Mouse + 4. PS/2 Mouse + 5. Logitech Mouse (serial, old type, Logitech protocol) + 6. Logitech MouseMan (Microsoft compatible) + 7. MM Series + 8. MM HitTablet + 9. Microsoft IntelliMouse + +If you have a two-button mouse, it is most likely of type 1, and if you have +a three-button mouse, it can probably support both protocol 1 and 2. There are +two main varieties of the latter type: mice with a switch to select the +protocol, and mice that default to 1 and require a button to be held at +boot-time to select protocol 2. Some mice can be convinced to do 2 by sending +a special sequence to the serial port (see the ClearDTR/ClearRTS options). + +Enter a protocol number: 2 + +You have selected a Mouse Systems protocol mouse. If your mouse is normally +in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options +may cause it to switch to Mouse Systems mode when the server starts. + +Please answer the following question with either 'y' or 'n'. +Do you want to enable ClearDTR and ClearRTS? n + +You have selected a three-button mouse protocol. It is recommended that you +do not enable Emulate3Buttons, unless the third button doesn't work. + +Please answer the following question with either 'y' or 'n'. +Do you want to enable Emulate3Buttons? y + +Now give the full device name that the mouse is connected to, for example +/dev/tty00. Just pressing enter will use the default, /dev/mouse. +On FreeBSD, the default is /dev/sysmouse. + +Mouse device: /dev/sysmouse</screen> + + <para>Дараа нь гар тохируулагддаг. Ердийн + 101-товчтой гар хүртэл танд харуулагдана. Тохирох гараа сонгох юмуу эсвэл бүр болохгүй бол шууд <keycap>Enter</keycap> дарж анхдагч тохиргоог нь хэрэглэж болно.</para> + + <screen>Please select one of the following keyboard types that is the better +description of your keyboard. If nothing really matches, +choose 1 (Generic 101-key PC) + + 1 Generic 101-key PC + 2 Generic 102-key (Intl) PC + 3 Generic 104-key PC + 4 Generic 105-key (Intl) PC + 5 Dell 101-key PC + 6 Everex STEPnote + 7 Keytronic FlexPro + 8 Microsoft Natural + 9 Northgate OmniKey 101 + 10 Winbook Model XP5 + 11 Japanese 106-key + 12 PC-98xx Series + 13 Brazilian ABNT2 + 14 HP Internet + 15 Logitech iTouch + 16 Logitech Cordless Desktop Pro + 17 Logitech Internet Keyboard + 18 Logitech Internet Navigator Keyboard + 19 Compaq Internet + 20 Microsoft Natural Pro + 21 Genius Comfy KB-16M + 22 IBM Rapid Access + 23 IBM Rapid Access II + 24 Chicony Internet Keyboard + 25 Dell Internet Keyboard + +Enter a number to choose the keyboard. + +1 + + +Please select the layout corresponding to your keyboard + + + 1 U.S. English + 2 U.S. English w/ ISO9995-3 + 3 U.S. English w/ deadkeys + 4 Albanian + 5 Arabic + 6 Armenian + 7 Azerbaidjani + 8 Belarusian + 9 Belgian + 10 Bengali + 11 Brazilian + 12 Bulgarian + 13 Burmese + 14 Canadian + 15 Croatian + 16 Czech + 17 Czech (qwerty) + 18 Danish + +Enter a number to choose the country. +Press enter for the next page + +1 + + +Please enter a variant name for 'us' layout. Or just press enter +for default variant + +us + + +Please answer the following question with either 'y' or 'n'. +Do you want to select additional XKB options (group switcher, +group indicator, etc.)? n</screen> + + <para>Дараа нь бид дэлгэцээ тохируулах болно. Дэлгэцийнхээ тохируулах давтамжийг хэтрүүлж болохгүй. Ингэвэл эвдэрч болзошгүй. Хэрэв та энэ тал дээр эргэлзэж байвал, мэдээлэл авсан хойноо сүүлд суулгаж болно.</para> + + <screen>Now we want to set the specifications of the monitor. The two critical +parameters are the vertical refresh rate, which is the rate at which the +whole screen is refreshed, and most importantly the horizontal sync rate, +which is the rate at which scanlines are displayed. + +The valid range for horizontal sync and vertical sync should be documented +in the manual of your monitor. If in doubt, check the monitor database +/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there. + +Press enter to continue, or ctrl-c to abort. + + + +You must indicate the horizontal sync range of your monitor. You can either +select one of the predefined ranges below that correspond to industry- +standard monitor types, or give a specific range. + +It is VERY IMPORTANT that you do not specify a monitor type with a horizontal +sync range that is beyond the capabilities of your monitor. If in doubt, +choose a conservative setting. + + hsync in kHz; monitor type with characteristic modes + 1 31.5; Standard VGA, 640x480 @ 60 Hz + 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz + 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) + 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz + 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz + 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz + 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz + 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz + 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz +10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz +11 Enter your own horizontal sync range + +Enter your choice (1-11): 6 + +You must indicate the vertical sync range of your monitor. You can either +select one of the predefined ranges below that correspond to industry- +standard monitor types, or give a specific range. For interlaced modes, +the number that counts is the high one (e.g. 87 Hz rather than 43 Hz). + + 1 50-70 + 2 50-90 + 3 50-100 + 4 40-150 + 5 Enter your own vertical sync range + +Enter your choice: 2 + +You must now enter a few identification/description strings, namely an +identifier, a vendor name, and a model name. Just pressing enter will fill +in default names. + +The strings are free-form, spaces are allowed. +Enter an identifier for your monitor definition: Hitachi</screen> + + <para>Жагсаалтаас тохирох дэлгэцийн картаа сонгох нь дараагийн алхам билээ. Хэрэв жагсаалтыг алгасаад + <keycap>Enter</keycap> дарвал жагсаалт дахин харуулагдах болно. Энэ жагсаалтад зөвхөн зарим хэсгийг нь харуулсан байгаа:</para> + + <screen>Now we must configure video card specific settings. At this point you can +choose to make a selection out of a database of video card definitions. +Because there can be variation in Ramdacs and clock generators even +between cards of the same model, it is not sensible to blindly copy +the settings (e.g. a Device section). For this reason, after you make a +selection, you will still be asked about the components of the card, with +the settings from the chosen database entry presented as a strong hint. + +The database entries include information about the chipset, what driver to +run, the Ramdac and ClockChip, and comments that will be included in the +Device section. However, a lot of definitions only hint about what driver +to run (based on the chipset the card uses) and are untested. + +If you can't find your card in the database, there's nothing to worry about. +You should only choose a database entry that is exactly the same model as +your card; choosing one that looks similar is just a bad idea (e.g. a +GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of +hardware as can be). + +Do you want to look at the card database? y + + + +288 Matrox Millennium G200 8MB mgag200 +289 Matrox Millennium G200 SD 16MB mgag200 +290 Matrox Millennium G200 SD 4MB mgag200 +291 Matrox Millennium G200 SD 8MB mgag200 +292 Matrox Millennium G400 mgag400 +293 Matrox Millennium II 16MB mga2164w +294 Matrox Millennium II 4MB mga2164w +295 Matrox Millennium II 8MB mga2164w +296 Matrox Mystique mga1064sg +297 Matrox Mystique G200 16MB mgag200 +298 Matrox Mystique G200 4MB mgag200 +299 Matrox Mystique G200 8MB mgag200 +300 Matrox Productiva G100 4MB mgag100 +301 Matrox Productiva G100 8MB mgag100 +302 MediaGX mediagx +303 MediaVision Proaxcel 128 ET6000 +304 Mirage Z-128 ET6000 +305 Miro CRYSTAL VRX Verite 1000 + +Enter a number to choose the corresponding card definition. +Press enter for the next page, q to continue configuration. + +288 + +Your selected card definition: + +Identifier: Matrox Millennium G200 8MB +Chipset: mgag200 +Driver: mga +Do NOT probe clocks or use any Clocks line. + +Press enter to continue, or ctrl-c to abort. + + + +Now you must give information about your video card. This will be used for +the "Device" section of your video card in XF86Config. + +You must indicate how much video memory you have. It is probably a good +idea to use the same approximate amount as that detected by the server you +intend to use. If you encounter problems that are due to the used server +not supporting the amount memory you have (e.g. ATI Mach64 is limited to +1024K with the SVGA server), specify the maximum amount supported by the +server. + +How much video memory do you have on your video card: + + 1 256K + 2 512K + 3 1024K + 4 2048K + 5 4096K + 6 Other + +Enter your choice: 6 + +Amount of video memory in Kbytes: 8192 + +You must now enter a few identification/description strings, namely an +identifier, a vendor name, and a model name. Just pressing enter will fill +in default names (possibly from a card definition). + +Your card definition is Matrox Millennium G200 8MB. + +The strings are free-form, spaces are allowed. +Enter an identifier for your video card definition:</screen> + + <para>Дараа нь, дэлгэцийнхээ нягтрал/зуралтыг тохируулах болно. Нүдэнд тохиромжтой болон дэлгэцийн хэмжээ, дэлгэцийн картны чадвараас хамаардаг ч ердийн хэрэглэдэг зуралтууд бол 640x480, 800x600, болон 1024x768 + юм. Өнгөнийхөө нягтралыг сонгосны дараа, дэлгэцийнхээ зурж чадах хамгийн их зуралтыг нь сонгоорой.</para> + + <screen>For each depth, a list of modes (resolutions) is defined. The default +resolution that the server will start-up with will be the first listed +mode that can be supported by the monitor and card. +Currently it is set to: + +"640x480" "800x600" "1024x768" "1280x1024" for 8-bit +"640x480" "800x600" "1024x768" "1280x1024" for 16-bit +"640x480" "800x600" "1024x768" "1280x1024" for 24-bit + +Modes that cannot be supported due to monitor or clock constraints will +be automatically skipped by the server. + + 1 Change the modes for 8-bit (256 colors) + 2 Change the modes for 16-bit (32K/64K colors) + 3 Change the modes for 24-bit (24-bit color) + 4 The modes are OK, continue. + +Enter your choice: 2 + +Select modes from the following list: + + 1 "640x400" + 2 "640x480" + 3 "800x600" + 4 "1024x768" + 5 "1280x1024" + 6 "320x200" + 7 "320x240" + 8 "400x300" + 9 "1152x864" + a "1600x1200" + b "1800x1400" + c "512x384" + +Please type the digits corresponding to the modes that you want to select. +For example, 432 selects "1024x768" "800x600" "640x480", with a +default mode of 1024x768. + +Which modes? 432 + +You can have a virtual screen (desktop), which is screen area that is larger +than the physical screen and which is panned by moving the mouse to the edge +of the screen. If you don't want virtual desktop at a certain resolution, +you cannot have modes listed that are larger. Each color depth can have a +differently-sized virtual screen + +Please answer the following question with either 'y' or 'n'. +Do you want a virtual screen that is larger than the physical screen? n + + + +For each depth, a list of modes (resolutions) is defined. The default +resolution that the server will start-up with will be the first listed +mode that can be supported by the monitor and card. +Currently it is set to: + +"640x480" "800x600" "1024x768" "1280x1024" for 8-bit +"1024x768" "800x600" "640x480" for 16-bit +"640x480" "800x600" "1024x768" "1280x1024" for 24-bit + +Modes that cannot be supported due to monitor or clock constraints will +be automatically skipped by the server. + + 1 Change the modes for 8-bit (256 colors) + 2 Change the modes for 16-bit (32K/64K colors) + 3 Change the modes for 24-bit (24-bit color) + 4 The modes are OK, continue. + +Enter your choice: 4 + + + +Please specify which color depth you want to use by default: + + 1 1 bit (monochrome) + 2 4 bits (16 colors) + 3 8 bits (256 colors) + 4 16 bits (65536 colors) + 5 24 bits (16 million colors) + +Enter a number to choose the default depth. + +4</screen> + + <para>Эцэст нь энэ тохируулга хадгалагдах ёстой. <filename>/etc/X11/XF86Config</filename> гэж тохиргоог хадгалахыг танаас лавлаж асууна.</para> + + <screen>I am going to write the XF86Config file now. Make sure you don't accidently +overwrite a previously configured one. + +Shall I write it to /etc/X11/XF86Config? y</screen> + + <para>Хэрэв тохиргоо амжилтгүй болсон бол дараах сануулга харуулагдах бөгөөд &gui.yes; гэж сонгоод дахин тохируулга хийж болно:</para> + + <screen> User Confirmation Requested +The XFree86 configuration process seems to have +failed. Would you like to try again? + + [ Yes ] No</screen> + + <para>Хэрэв та <application>&xfree86;</application>-г тохируулах явцад хүндрэл гарсан бол &gui.no; гэж сонгоод <keycap>Enter</keycap> + дээр дараад суулгах явцыг цааш нь үргэлжлүүлэх хэрэгтэй. Суулгасны дараа + <username>root</username> эрхээр <command>xf86cfg -textmode</command> юмуу эсвэл + <command>xf86config</command> гэж тушаалын мөрний горимд тохируулга хийж болно. <application>&xfree86;</application>-г тохируулах тухай нэмэлт мэдээлэл + <xref linkend="x11">-д заасан буй. Хэрэв та энэ үед + <application>&xfree86;</application>-г тохируулахгүй гэж сонговол, програмын багц суулгах хэсэг рүү цаашаагаа үргэлжлэх болно.</para> + + <para>Серверийг шууд зогсоох анхдагч тохиргоо бол <keycombo action='simul'> + <keycap>Ctrl</keycap><keycap>Alt</keycap> + <keycap>Backspace</keycap></keycombo> гэсэн гарын товчлуурын хослол байдаг. Үүнийг ямар нэгэн зүйл буруудах юмуу төхөөрөмж эвдрэхээс сэргийлж хэрэглэх хэрэгтэй. </para> + + <para>Х серверийг ажиллаж байх үед нь дэлгэцийн зуралтын горимыг өөрчилж туршиж болох товчлуурын хослол бол + <keycombo action='simul'> + <keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>+</keycap> + </keycombo> эсвэл + <keycombo action='simul'> + <keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>-</keycap> + </keycombo> юм. + </para> + + <para><application>&xfree86;</application>-г ажиллуулсны дараа дэлгэцийнхээ өргөн болон өндрийг + <application>xvidtune</application> ашиглан тохируулж болно.</para> + + <para>Буруу тохиргоо нь төхөөрөмжийг эвддэг талаархи сануулга танд харуулагдах болно. Тэднийг анхаарах хэрэгтэй. Хэрэв эргэлзэж байгаа бол хийх хэрэггүй. Харин түүний оронд дэлгэцэн дээрх товчоор өөрчилж үзсэн нь дээр. Ингэсэн үед текст горим болон дэлгэцийн горим хоёрын хооронд ялгаа гарч магадгүй. Гэвч энэ нь дэлгэц эвдрэхээс мэдээж илүү билээ.</para> + + <para>&man.xvidtune.1;-н гарын авлагын хуудсыг ямар нэгэн тохируулга хийхээсээ өмнө уншиж үзнэ үү.</para> + + <para><application>&xfree86;</application>-г амжилттай тохируулсны дараах алхам бол анхдагч график орчныг сонгох юм.</para> + </sect2> + + <sect2 id="default-desktop"> + <title>X-н анхдагч график орчинг сонгох нь </title> + + <note> + <para>&os; 5.3-RELEASE хувилбараас эхлэн X график орчны сонголт нь + <application>sysinstall</application>-с хасагдсан бөгөөд, та &os;-г суулгасны дараа X график орчныг суулгаарай. Х орчныг суулгах болон тохируулах тухай нэмэлт мэдээллийг <xref linkend="x11">-с харж болно. Та хэрэв 5.3-RELEASE-с өмнөх хувилбарыг суулгаагүй бол энэ хэсгийг алгасаж болно.</para> + </note> + + <para>График орчны маш олон орчин бий. Энгийн үндсэн орчноос эхлээд олон програмаар цэнэглэгдсэн төгс дүүрэн орчин хүртэл буй. Зарим нь маш бага дискийн зай шаарддаг байхад зарим нь ихийг шаардах нь бий. Аль нь танд илүү тохирох вэ гэдгийг сонгох сайн арга бол, тэднээс хэд хэдийг нь туршиж үзэх юм. Эдгээр нь портын цуглуулгад байдаг ба суулгацын дараа бас суулгаж болдог.</para> + + <para>Та олонд дэлгэрсэн орчнуудаас нэгийг нь анхдагч орчин болгож сонгож болно. Ингэснээр суулгац дууссан хойно уг график орчноор эхлэх боломж олгодог. </para> + + <figure id="x-desktop"> + <title>Анхдагч график орчныг сонгох нь</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/desktop" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сумтай товч ашиглан орчноо сонгоод + <keycap>Enter</keycap> дээр дараарай. Сонгосон орчныг суулгах явц эхлэх болно.</para> + </sect2> + + <sect2 id="packages"> + <title>Програмын багц суулгах</title> + + <para>Багцууд нь урьдчилан хөрвүүлэгдсэн програмууд бөгөөд програм суулгах хамгийн эвтэйхэн арга юм.</para> + + <para>Үзүүлэх журмаар нэг багцыг суулгах явцыг энд харуулав. + Хэрэв шаардлагатай бол нэмэлт багцууд мөн давхар суугддаг. + <command>sysinstall</command> (&os;-н 5.2-с доошхи хувилбаруудад <command>/stand/sysinstall</command> гэж буй)-г нэмэлт багц суулгахад хэрэглэж болно.</para> + + <screen> 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</screen> + + <para>&gui.yes; гэж сонгоод <keycap>Enter</keycap> дарвал багц програмуудыг сонгох цонхонд очих болно:</para> + + <figure id="package-category"> + <title>Багцын төрлийг сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-cat" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Зөвхөн тухайн үед сонгогдсон байгаа суулгацын төрөл дээр байгаа багцууд харуулагдах болно.</para> + + <para>Хэрэв + <guimenuitem>All</guimenuitem> гэж сонговол, байгаа бүх багцыг харж болно. Сумтай товч ашиглан сонгоод <keycap>Enter</keycap> дээр дараарай.</para> + + <para>Байгаа бүх багцууд сонгогдож болохоор танд харуулагдах болно:</para> + + <figure id="package-select"> + <title>Багц сонгох</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-sel" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Энд харуулснаар <application>bash</application> бүрхүүл сонгогдсон байна. <keycap>Space</keycap> товч ашиглаж суулгахыг хүссэн бүх багцаа сонгоорой. Сонгох бүрд дэлгэцийн доод хэсэгт багцны товч тайлбар гардаг.</para> + + <para><keycap>Tab</keycap> товчоор сонгогдсон багц болон +&gui.ok;, ба &gui.cancel; сонголтуудын хооронд дамжиж болно.</para> + + <para>Суулгахаар хүссэн багцаа сонгож дууссаны дараа + <keycap>Tab</keycap> товч дарж &gui.ok; гэж сонгоод + <keycap>Enter</keycap> дээр дарж багц сонгох цэс рүү буцаж очдог.</para> + + <para>Зүүн ба баруун товчоор бас &gui.ok; ба + &gui.cancel;-н хооронд сэлгэж болно. Энэ аргаар та бас &gui.ok; гэж сонгоод <keycap>Enter</keycap> дээр дарж багц сонгох хэсэгт буцаж очиж бас болно. + </para> + + <figure id="package-install"> + <title>Багц суулгах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-install" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para><keycap>Tab</keycap> юмуу эсвэл сумтай товч ашиглан <guibutton>[ Install ]</guibutton> гэж сонгоод <keycap>Enter</keycap> дарах хэрэгтэй. Таны сонгосон багцуудыг танд харуулж суулгахыг хүсэж байгааг тань лавлаж асуух болно:</para> + + <figure id="package-install-confirm"> + <title>Багц суулгалтын лавлалт</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/pkg-confirm" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>&gui.ok; гэж сонгоод <keycap>Enter</keycap> дарж багц суулгалтыг гүйцэтгэдэг. Суулгах явцын мэдэгдлүүд суулгаж дуустал танд харуулагддаг. Хэрэв ямар нэг алдаа гарвал тэмдэглэж авах хэрэгтэй. </para> + + <para>Багц суулгасны дараа сүүлийн тохиргоог хийдэг. Та багц суулгаж дууссан ч гэсэн сүүлийн тохируулгыг хийхийн тулд + <guibutton>Install</guibutton> гэдгийг бас дарж болно.</para> + </sect2> + + <sect2 id="addusers"> + <title>Хэрэглэгч/Бүлэг нэмэх</title> + + <para>Суулгацын явцад та хамгийн багадаа нэг хэрэглэгчийн эрх нээх хэрэгтэй бөгөөд, энэ эрхээрээ <username>root</username> эрх хэрэглэлгүйгээр системдээ нэвтэрч болно. root хуваалт нь голдуу тун бага хэмжээтэй байдаг болохоор +<username>root</username> эрхээр програм ажиллуулбал түргэн дүүрдэг. Хамгийн хэцүү хүндрэлийг доор мэдүүлж байна:</para> + + <screen> 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</screen> + + <para>&gui.yes; гэж сонгоод + <keycap>Enter</keycap> дарж шинэ хэрэглэгч нэмэх болно.</para> + + <figure id="add-user2"> + <title>User буюу хэрэглэгч гэж сонгоно</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/adduser1" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сумтай товч хэрэглэн <guimenuitem>User</guimenuitem> гэж сонгоод + <keycap>Enter</keycap> дээр дарна.</para> + + <figure id="add-user3"> + <title>Хэрэглэгчийн мэдээллийг оруулах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/adduser2" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para> <keycap>Tab</keycap> товч хэрэглэн талбаруудад дамжин оруулга хийх бүр доор харуулсан тайлбарууд талбар бүрд харуулагдах болно:</para> + + <variablelist> + <varlistentry> + <term>Login ID</term> + + <listitem> + <para>Хэрэглэгчийн нэвтрэх шинэ нэр(заавал шаардлагатай).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>UID</term> + + <listitem> + <para>Уг хэрэглэгчийн ID дугаар (хоосон орхивол автоматаар сонгогдох болно).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Group</term> + + <listitem> + <para>Уг хэрэглэгчийн хамрагдах бүлгийн нэр (хоосон орхивол автоматаар сонгогдох болно).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Password</term> + + <listitem> + <para>Тухайн хэрэглэгчийн нууц үг (энэ талбарт тун анхааралтай оруулах хэрэгтэй!).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Full name</term> + + <listitem> + <para>Хэрэглэгчийн бүтэн нэр (дэлгэрэнгүй мэдээлэл).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Member groups</term> + + <listitem> + <para>Энэ хэрэглэгчийн хамрагдаж болох бүлгүүд (өөрөөр хэлбэл хандаж болох бүлгүүд).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Home directory</term> + + <listitem> + <para>Хэрэглэгчийн эхлэл сан (хоосон орхивол автоматаар сонгогдох болно ).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Login shell</term> + <listitem> + <para>Хэрэглэгчийн холбогдох бүрхүүл (хоосон орхивол анхдагч бүрхүүл сонгогдох болно. Өөрөөр хэлбэл, + <filename>/bin/sh</filename>).</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Жишээн дээр <application>bash</application>-г суулгасан болохоор, <filename>/bin/sh</filename> гэдгийг + <filename>/usr/local/bin/bash</filename> гэж орлуулж болно. + Суугдаагүй бүрхүүл хэрэглэвэл систем уруугаа нэвтэрч чадахгүй болно. + BSD ертөнцөд хамгийн өргөн хэрэглэдэг бүрхүүл бол C бүрхүүл бөгөөд + <filename>/bin/tcsh</filename> гэж олддог.</para> + + <para>Мөн энэ хэрэглэгч нь <groupname>wheel</groupname> бүлэг рүү нэмэгдсэн бөгөөд ингэснээр + <username>root</username> эрхүүдтэй супер хэрэглэгч болох боломжтой болно.</para> + + <para>Хэрэв та оруулсан мэдээллээ зөв боллоо гэж бодож байгаа бол &gui.ok; дээр дарахад хэрэглэгч ба бүлэг нэмэх цонх дахин харуулагддаг:</para> + + <figure id="add-user4"> + <title>Хэрэглэгч ба бүлэг зохицуулах хэсгээс гарах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/adduser3" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Хэрэгцээтэй бол энэ үед бүлэг нэмж болно. + Хэрэв шаардлага гарвал суулгацын дараа + <command>sysinstall</command> (&os;-н 5.2-с доошхи хувилбарт <command>/stand/sysinstall</command> гэж буй) ашиглан нэмж болно.</para> + + <para>Хэрэв та хэрэглэгч нэмж дууссан бол сумтай товч ашиглан <guimenuitem>Exit</guimenuitem> гэж сонгоод + <keycap>Enter</keycap> дээр дарж суулгацаа үргэжлүүлээрэй.</para> + </sect2> + + <sect2 id="rootpass"> + <title><username>root</username> нууц үг оруулах</title> + + <screen> 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 to continue ]</screen> + + <para><keycap>Enter</keycap> дээр дарж <username>root</username> + нууц үг оруулна.</para> + + <para>Нууц үгийг хоёр удаа зөв оруулах ёстой. Мартахааргүй нууц үг оруулаарай гэж сануулах нь илүүдэх байх. Таны оруулсан нууц үгийг давтаж харуулах юмуу эсвэл одоор дүрсэлж харуулахгүй болохыг сануулж байна.</para> + + <screen>Changing local password for root. +New password : +Retype new password :</screen> + + <para>Нууц үгийг амжилттай оруулсны дараа суулгац цаашаагаа үргэлжлэх болно.</para> + </sect2> + + <sect2 id="exit-inst"> + <title>Суулгацаас гарах</title> + + <para>Хэрэв та одоо нэмэлт сүлжээний тохиргоо юмуу эсвэл ямар нэгэн өөр тохиргоо хийхийг хүсвэл, та яг одоо юмуу эсвэл суулгасны дараа + <command>sysinstall</command> + (&os;-н 5.2-с доошхи хувилбарт <command>/stand/sysinstall</command> гэж буй ) ашиглаж суулгана.</para> + + <screen> User Confirmation Requested + Visit the general configuration menu for a chance to set any last + options? + + Yes [ No ]</screen> + + <para>Сумтай товчоор &gui.no; гэж сонгоод + <keycap>Enter</keycap> дээр дарж үндсэн суулгацын цэс рүү буцах болно.</para> + + <figure id="final-main"> + <title>Суулгацаас гарах</title> + + <mediaobject> + <imageobject> + <imagedata fileref="install/mainexit" format="PNG"> + </imageobject> + </mediaobject> + </figure> + + <para>Сумтай товчоор <guibutton>[X Exit Install]</guibutton> гэдгийг сонгон <keycap>Enter</keycap> дээр дарна. Танаас гарах гэж буйг тань лавлаж асуух болно:</para> + + <screen> User Confirmation Requested + Are you sure you wish to exit? The system will reboot (be sure to + remove any floppies from the drives). + + [ Yes ] No</screen> + + <para>Хэрэв уян дискнээс эхлүүлсэн бол &gui.yes; гэж сонгоод уян дискийг авах хэрэгтэй. CDROM хөтлөгч нь машиныг шинээр ачаалагдах хүртэл түгжигдсэн байдаг болохоор ачаалагдах үед CDROM-с гаргах хэрэгтэй (аль болох түргэн).</para> + + <para>Систем одоо шинээр ачаалагдах бөгөөд ямар нэгэн алдаа гарахыг ажиглах хэрэгтэй.</para> + </sect2> + + <sect2 id="freebsdboot"> + <title>FreeBSD эхлэн ачаалалт</title> + + <sect3 id="freebsdboot-i386"> + <title>&i386; машин дээрх FreeBSD-н эхлэн ачаалалт</title> + + <para>Хэрэв бүх зүйл амжилттай болсон бол дэлгэцэн дээр тань мэдэгдлүүд урсаж өнгөрөөд нэвтрэх хэсэгт тулж ирэх болно. Урсаж өнгөрсөн мэдэгдлүүдийг эргэж харахын тулд <keycap>Scroll-Lock</keycap> товчийг дараад + <keycap>PgUp</keycap> болон <keycap>PgDn</keycap> товчоор дээш доош нь гулгуулдаг. + <keycap>Scroll-Lock</keycap> товчийг дахин дарсанаар нэвтрэх хэсэгт буцаж ирдэг.</para> + + <para>Бүх мэдэгдэл харуулагдахгүй байх нөхцөл үүсвэл (түр хадгалагчийн хэмжээнээс болж) сүүлд нь тушаал өгдөг горим дээр + <command>dmesg</command> тушаалаар харж болдог.</para> + + <para>Суулгацын үед нэмж оруулсан хэрэглэгчийн нэр болон нууц үгээр нэвтэрч орох хэрэгтэй (энэ тохиолдолд <username>rpratt</username> гэж буй). Шаардлага гараагүй бол + <username>root</username> эрхээр орохоос сэргийлэх хэрэгтэй.</para> + + <para>Ердийн эхлэн ачаалах үеийн мэдэгдэл (хувилбарын тухай хэсгийг оруулалгүйгээр):</para> + +<screen>Copyright (c) 1992-2002 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. + +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<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> + 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: <Host to PCI bridge> on motherboard +pci0: <PCI bus> on pcib0 +pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 +pci1: <PCI bus> on pcib1 +pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 +isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 +isa0: <ISA bus> on isab0 +atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 +ata0: at 0x1f0 irq 14 on atapci0 +ata1: at 0x170 irq 15 on atapci0 +uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 +usb0: <VIA 83C572 USB controller> 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: <VIA 82C586B ACPI interface> at device 7.3 on pci0 +ed0: <NE2000 PCI Ethernet (RealTek 8029)> 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: <NEC 72065B or clone> 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: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 +atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 +kbd0 at atkbd0 +psm0: <PS/2 Mouse> irq 12 on atkbdc0 +psm0: model Generic PS/2 mouse, device ID 0 +vga0: <Generic ISA VGA> 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: <PLIP network interface> on ppbus0 +lpt0: <Printer> on ppbus0 +lpt0: Interrupt-driven port +ppi0: <Parallel I/O> on ppbus0 +ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 +ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 +acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> 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<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 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<UP,LOOPBACK,RUNNING,MULTICAST> 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 root@k6-2.example.com + creating ssh DSA host key +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 root@k6-2.example.com. +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:</screen> + + <para> RSA болон DSA түлхүүрүүдийг үүсгэх явц нь удаан машин дээр хэсэг хугацаа авч мадагүй. Энэ явц нь зөвхөн суулгацын дараах анхны эхлэн ачаалах үед л хийгддэг. Дараагийн ачаалах үед хийгддэггүй болохоор хурдан байх болно. </para> + + <para>Хэрэв Х сервер тохируулагдаад анхдагч график орчин сонгогдсон байгаа бол, <command>startx</command> гэсэн тушаалаар тэдгээрийг ажилуулж болно.</para> + + </sect3> + + <sect3> + <title>Alpha машин дээрх FreeBSD-н эхлэн ачаалалт </title> + + <indexterm><primary>Alpha</primary></indexterm> + + <para>Суулгац дууссан бол, FreeBSD-г эхлүүлэхийн тулд + SRM тушаал оруулах мөрөнд дараахийг бичнэ:</para> + + <screen>>>><userinput>BOOT DKC0</userinput></screen> + + <para>Энэ нь уг машинд тухайн бичсэн дискнээс эхлэн ачаалахыг зааж өгч байна. + Цаашдаа FreeBSD-г автоматаар эхлүүлдэг болгохын тулд дараах тушаалыг өгөх хэрэгтэй:</para> + + <screen><prompt>>>></prompt> <userinput>SET BOOT_OSFLAGS A</userinput> +<prompt>>>></prompt> <userinput>SET BOOT_FILE ''</userinput> +<prompt>>>></prompt> <userinput>SET BOOTDEF_DEV DKC0</userinput> +<prompt>>>></prompt> <userinput>SET AUTO_ACTION BOOT</userinput></screen> + + <para>Эхлэн ачаалагдах явц нь &i386; машиныхтай ойролцоо ижил (гэх бүр ижил биш) байх болно.</para> + </sect3> + </sect2> + + <sect2 id="shutdown"> + <title>FreeBSD-г унтраах</title> + + <para>Үйлдлийн системийг зөв унтраах нь тун чухал. Шууд хүч хэрэглэн унтрааж болохгүй. Эхлээд <command>su</command> гэсэн тушаал оруулаад + <username>root</username> нууц үгээ бичиж өгөн супер хэрэглэгч болох хэрэгтэй. Энэ нь зөвхөн тухайн хэрэглэгч + <groupname>wheel</groupname> бүлэгт хамаарагдсан үед биелнэ. + Эсвэл <username>root</username> хэрэглэгч болж нэвтрэх хэрэгтэй. Ингээд + <command>shutdown -h now</command> тушаалыг оруулна.</para> + + <screen>The operating system has halted. +Please press any key to reboot.</screen> + + <para>Унтраах тушаал өгсний дараа <quote>Please press any key to reboot буюу дурын товч дарж шинээр ачаална уу</quote> гэсэн мэдэгдэл гарсан үед унтраах нь зөв юм. Хэрэв шууд унтраалгүйгээр ямар нэгэн товч дарвал систем шинээр ачаалагдах болно. </para> + + <para>Та мөн + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>Alt</keycap> + <keycap>Del</keycap> + </keycombo> + товчлуурын хослол хэрэглэн шинээр ачаалж болох боловч, ердийн үед энэ нь тийм ч их хэрэглэгддэг арга биш.</para> + + </sect2> + </sect1> + + <sect1 id="install-trouble"> + <title>Хүндрэл тулгарвал</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>хүндрэл тулгарвал</secondary> + </indexterm> + <para>Дараах хэсэгт хүмүүсийн мэдээлсний дагуу тэдэнд тулгарч байсан + энгийн хүндрэлийн тухай авч хэлэлцэх болно. Мөн энэ хэсэгт &ms-dos; + үйлдлийн системийг FreeBSD-тэй хамт хэрхэн нэг компьютерт суулгаж + ачаалах тухай хүмүүсийн асуусан асуулт болон хариултыг агуулсан буй.</para> + + <sect2> + <title>Хэрэв буруу тийшээ эргээд эхэлбэл юу хийх хэрэгтэй вэ</title> + + <para>Компьютерийн төрлөөс хамааран бүх юмыг 100% цэвэр гүйцэтгэж болохгүй + ч гэсэн хэрэв ямар нэгэн зүйл буруу болбол, та хэд хэдэн арга хэмжээг + авч чадна.</para> + + <para>FreeBSD-н хувилбартай хамт ирдэг төхөөрөмжийн бүртгэл + бичлэгт таны төхөөрөмжийг дэмжсэн эсэхийг нь шалгах хэрэгтэй.</para> + + <para>Хэрэв таны төхөөрөмж дэмжигдсэн мөртлөө хүндрэл гарвал, компьютерээ + шинээр ачаалаад цөмийн тохиргоо хийх сонголт гарч ирэх үед түүнийг сонгоорой. + Ингэснээр, системдээ буй төхөөрөмжийнхөө болон дэмжигдсэн мэдээллийг + харах болно. Ачаалагч дискэн дээр буй цөм нь таны төхөөрөмжүүдийг + IRQ-үүд, IO хаяг, мөн DMA суваг зэрэг тохиргоог үйлдвэрээс зааж өгсөн + анхныхаа утгатайгаа байгаа гэж авч үздэг. Хэрэв та төхөөрөмжийнхөө + тохируулгыг өөрчилсөн бол, FreeBSD-д юуг өөрчилсөн эсэхээ зааж өгөх + хэрэгтэй.</para> + + <para>Мөн залгаж туршигдаагүй төхөөрөмжүүд сүүлд залгагдаад туршигдах үед + алдаа үүсгэх тохиолдол гардаг. Ийм үед хүндрэлтэй байгаа төхөөрөмжийн + драйвер буюу таниулагч файлуудыг нь хорих хэрэгтэй.</para> + + <note> + <para>Ихэнх суулгацын хүндрэлүүд нь төхөөрөмжийн үйлдвэрээс гаргасан + сүүлийн үеийн таниулагч файлуудыг нь татаж авч суулгаснаар илаарших + нөхцөл бүрддэг бөгөөд ялангуяа motherboard буюу эх хавтан дээр иймэрхүү + үзэгдэл их гардаг. Эх хавтангийн үйлдвэрээс гаргасан програмыг ер нь + <acronym>BIOS</acronym> гэж нэрлэдэг ба бараг бүх + үйлдвэрүүд өөрсдийн гэсэн вэб хуудастай бөгөөд уг програмыг хэрхэн + сүүлийн үеийн хэлбэрт шинэчлэх тухай мэдээлэл болон файлууд агуулж байдаг. + </para> + + <para>Ихэнх үйлдвэрлэгчид нь, ямар нэгэн ноцтой хүндрэл гарахаас + зайлсхийж хүндтэй нөхцөл үүсээгүй бол + <acronym>BIOS</acronym>-г шинэчлэж хэрэггүй гэж зөвлөдөг. + Шинэчлэх явц амжилтгүй болох <emphasis>нөхцөл нь</emphasis> + <acronym>BIOS</acronym> цахилгаан схемд ноцтой эвдрэл гаргаж + болзошгүйг анхаарна уу.</para> + </note> + + <warning> + <para>Суулгах явцад хэрэгтэй байдаг дэлгэцийн (<devicename>sc0</devicename>) + таниулагч драйвер файл зэргийг хорьж хэрэггүй. + Тохиргооны дараа суулгац дуусах юмуу ямар нэгэн алдаа үүсэж гарах тохиолдол + гарвал, та ямар нэгэн болохгүй юмыг зөөсөн юмуу өөрчилсөн байж таарна. + Компьютерээ шинээр ачаалаад дахин оролдоорой.</para> + </warning> + + <para>Тохиргооны үед та дараах зүйлсийг хийж болно:</para> + + <itemizedlist> + <listitem> + <para>Цөмд буй төхөөрөмжийн таниулагч файлуудын жагсаалтыг харах.</para> + </listitem> + + <listitem> + <para>Таны системд байхгүй байгаа төхөөрөмжийн таниулагч файлуудыг хорих.</para> + </listitem> + + <listitem> + <para>Төхөөрөмжийн таниулагч файлд хэрэглэгддэг IRQs, DRQs, болон IO порт хаяг зэргийг өөрчлөх.</para> + </listitem> + </itemizedlist> + + <para>Цөмд төхөөрөмжийнхөө тохируулгыг хийснийхээ дараа + <command>Q</command> товч дарж шинэ тохиргоотойгоор шинээр ачаалах хэрэгтэй. + Суулгац дууссаны дараа таны тохируулгын горимд хийсэн өөрчлөлт тань хадгалагдаж + үлдэх бөгөөд шинээр ачаалах тоолонд шинээр тохируулах шаардлага гарахгүй. + Энэ нь бараг <link + linkend="kernelconfig">өөрчлөн тохируулсан цөм</link> бүтээхтэй ижил үйлдэл юм.</para> + </sect2> + + <sect2> + <title>Өмнө нь байсан дискийн &ms-dos; хуваалттай ажиллах</title> + + <indexterm><primary>DOS</primary></indexterm> + <para>Ихэнх хэрэглэгчид &os;-г өмнө нь µsoft;-н үйлдлийн систем + суусан копьютер дээр суулгахыг хүсдэг. Ийм нөхцөлд &os;-д + <application>FIPS</application> нэртэй хэрэгсэл байдаг. Энэ хэрэсэл нь + суулгац CD-ROM-ын <filename>tools</filename> сан дотор байдаг бөгөөд + эсвэл <link linkend="mirrors">&os; толин салбаруудаас</link> татаж авч болно.</para> + + <para><application>FIPS</application> хэрэгсэл нь оршин байгаа + &ms-dos; хуваалтыг хоёр хэсэгт салгаж хуваадаг бөгөөд өмнө байсан + системийг эхнийхэд нь байрлуулаад хоёр дахь хэсэг дээр нь таныг өөр + үйлдлийн систем суулгах боломж өгдөг. + Эхлээд та өөрийнхөө &ms-dos; хуваалт дээр defragment буюу эмхэлж + ангилах үйлдлийг &windows; дээр байдаг <application>Disk Defragmenter</application> + хэрэгслээр хийх хэрэгтэй (Explorer буюу файл болон сан цэгцлэгч дээр + хатуу диск дээрээ хулганы баруун товчийг дараад defrag цэсийг сонгоно). Эсвэл + <application>Norton Disk Tools</application> багажийг ашиглаж болно. + Дараа нь та <application>FIPS</application> хэрэгслийг ажиллуулна. + Энэ нь танд тухайн үйлдэлдээ тохирсон лавлаж асуусан мэдээлэл харуулдаг + бөгөөд дэлгэцэнд заасан зааврын дагуу цааш нь явах хэрэгтэй. + Ингэсний дараа компьютерээ шинээр ачаалаад шинэ зүсмэл хэсэг дээрээ + &os;-г суулгаж болно. <guimenuitem>Distributions</guimenuitem> цэсэн дээр + тухайн суулгахыг хүссэн төрөлд хичнээн хэмжээний дискний зай хэрэглэгдэхийг + харж болно.</para> + + <para>Мөн PowerQuest-с гаргасан + (<ulink url="http://www.powerquest.com/">http://www.powerquest.com</ulink>) + <application>&partitionmagic;</application> нэртэй маш хэрэгтэй програм байдаг. + Энэ програм нь <application>FIPS</application>-г бодвол илүү их үйлдэл + хийх чадвартай байдаг бөгөөд хэрэв та байнга үйлдлийн системүүдээ устгаж суулгаж + оролддог бол үүнийг хэрэглэх нь зүйтэй. Гэвч энэ нь үнэтэй бөгөөд + хэрэв та &os;-г суулгаад тэр чигт нь өөрчлөхгүй гэж бодож байвал <application>FIPS</application> + танд илүү тохиромжтой байх болов уу.</para> + </sect2> + + <sect2> + <title>&ms-dos; болон &windows;-н файл системийг хэрэглэх нь</title> + + <para>&os; нь одоогийн байдлаар <application>Double Space™</application> + програмаар шахсан файл системийг дэмждэггүй. Тийм болохоор, хэрэв ийм төрлийн + файл системд хандахаар бол эхлээд уг файл системийн шахалтыг задлаад, дараа нь + файл уруу хандах хэрэгтэй. Задлах энэ үйлдэл нь <application>Compression Agent</application> + програмыг <guimenuitem>Start</guimenuitem>> <guimenuitem>Programs</guimenuitem> > доторхи + <guimenuitem>System Tools</guimenuitem> цэснээс гүйцэтгэгдэж болно.</para> + + <para>&os; нь &ms-dos; дээр үндэслэгдсэн файл системүүдийг дэмждэг. + Ийм файл систем рүү хандахдаа &man.mount.msdosfs.8; тушаалыг холбогдох + параметртай нь хэрэглэдэг. Энэ хэрэгслийн ерөнхий хэрэглэх бичлэг нь:</para> + + <screen>&prompt.root; <userinput>mount_msdosfs /dev/ad0s1 /mnt</userinput></screen> + + <para>Энэ жишээн дээр, &ms-dos; файл систем нь эхний дискний эхний хуваалт + дээр байрласныг харуулж байна. Мэдээж таны систем дээр янз бүр байх бөгөөд + <command>dmesg</command> болон <command>mount</command> тушаалуудын гаралтын + мэдээллийг харах хэрэгтэй. Эдгээр тушаалууд нь дискийн хуваалтын + талаарх хангалттай мэдээллийг өгч чаддаг.</para> + + <note><para>Өргөтгөсөн &ms-dos; файл системүүд нь голдуу + &os;-н суусан хуваалтын дараа байдаг. Өөрөөр хэлбэл, дискийн хуваалтын дугаар нь + &os;-н суусан хуваалтын дугаараас их байна. Жишээ нь, + эхний &ms-dos; хуваалт + <filename>/dev/ad0s1</filename> дээр, &os; хуваалт + <filename>/dev/ad0s2</filename> дээр, өргөтгөсөн &ms-dos; хуваалт + <filename>/dev/ad0s3</filename> дээр гэж байрласан байж болно. Зарим хүнд + энэ нь үл ойлгогдохоор байж болох юм.</para></note> + + <para>NTFS хуваалтыг бас таниулан холбохдоо өмнөхтэй ижил аргаар + &man.mount.ntfs.8; тушаал хэрэглэж болно.</para> + </sect2> + + <sect2> + <title>Alpha системийн хэрэглэгчдийн асуулт болон хариултууд</title> + + <indexterm><primary>Alpha</primary></indexterm> + + <para>Энэ хэсэгт FreeBSD-г Alpha систем дээр суулгах үед гарч болох + зарим асуултанд хариулна.</para> + + <qandaset> + <qandaentry> + <question> + <para>Би ARC эсвэл Alpha BIOS Консолоос эхлэн ачаалалт хийж болох уу?</para> + </question> + + <indexterm><primary>ARC</primary></indexterm> + <indexterm><primary>Alpha BIOS</primary></indexterm> + <indexterm><primary>SRM</primary></indexterm> + + <answer> + <para>Үгүй. &os; нь, Compaq Tru64 болон VMS системүүдтэй адилхан зөвхөн + SRM консолоос ачаалагддаг.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Надад ямар ч дискний зай байхгүй болчихлоо! Туслаарай? + Өмнө байгаа файлуудаа эхлээд устгасан нь дээр үү?</para> + </question> + + <answer> + <para>Харамсалтай нь, устгахаас өөр арга үгүй.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Би өөрийнхөө Compaq Tru64 эсвэл VMS файл системийг таниулж холбож болох уу?</para> + </question> + + <answer> + <para>Одоохондоо лав үгүй.</para> + </answer> + </qandaentry> + </qandaset> + </sect2> + </sect1> + + <sect1 id="install-advanced"> + <sect1info> + <authorgroup> + <author> + <firstname>Валентино</firstname> + <surname>Вашетто</surname> + <contrib>Хамтарч бэлтгэсэн </contrib> + </author> + <!-- May 2001 --> + </authorgroup> + </sect1info> + + <title>Суулгацын нэмэлт гарын авлага</title> + + <para>Энэ хэсэгт FreeBSD-г хэрхэн онцгой тохиолдолд суулгах талаар + өгүүлэх болно.</para> + + <sect2 id="headless-install"> + <title>FreeBSD-г дэлгэц юмуу гар үгүй систем дээр суулгах нь</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>headless буюу толгойгүй (serial console)</secondary> + </indexterm> + <indexterm><primary>serial console</primary></indexterm> + <para>Энэ төрлийн суулгацыг FreeBSD-г суулгаж байгаа + машин нь дэлгэцгүй юмуу тэр байтугай дэлгэцийн залгуургүй + байдаг учраас <quote>headless + install буюу толгойгүй суулгац</quote> гэж нэрлэдэг. + Яаж ингэж болдог юм бол? гэж та гайхаж байвал, serial console буюу + цуваа консоль хэрэглэснээр ийм суулгац хийж болдог. + Цуваа консолоор өөр машиныг дэлгэц болон гар болгож ашиглаж болдог. + Үүнийг гүйцэтгэхийн тулд <xref + linkend="install-floppies"> дээр заасан зааврын дагуу суулгац уян дискийг + бэлдэх хэрэгтэй.</para> + + <para>Энэ уян дискийг өөрчилж цуваа консолоос эхлэн ачаалахын тулд + дараах алхмуудыг биелүүлэх хэрэгтэй:</para> + + <procedure> + <step> + <title>Эхлэн ачаалагч уян дискүүдийг цуваа консол уруу холбогдохыг зөвшөөрөх</title> + <indexterm> + <primary><command>mount</command></primary> + </indexterm> + <para>Хэрэв та урьд нь уян дискнээс эхлэн ачаалж байсан бол, FreeBSD + нь ердийн энгийн суулгацын горимоор эхлэн ачаалах болно. + Гэхдээ бид нар суулгацаа цуваа холболт уруу орж эхлүүлэх ёстой билээ. + Ингэхийн тулд FreeBSD уруу <filename>kern.flp</filename> дискийг + &man.mount.8; тушаал ашиглаж таниулж холбох хэрэгтэй.</para> + + <screen>&prompt.root; <userinput>mount /dev/fd0 /mnt</userinput></screen> + + <para>Одоо та уян дискээ таниулж холбосон болохоор + <filename class="directory">/mnt</filename> сан уруу орох хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /mnt</userinput></screen> + + <para>Энд одоо цуваа консолоос хэрхэн эхлэн ачаалах тохируулга эхэлж байна. + Та эхлээд <filename>boot.config</filename> нэртэй файл үүсгээд тэрэн дотроо + <literal>/boot/loader -h</literal> гэж бичих хэрэгтэй. + Ингэснээр та цуваа консолоос эхлэн ачаалах болно гэж тохируулж байна.</para> + + <screen>&prompt.root; <userinput>echo "/boot/loader -h" > boot.config</userinput></screen> + + <para>Ингээд та уян дискээ зөв тохируулчихсан учраас таниулсан дискээ + &man.umount.8; тушаалаар буцааж салгах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /</userinput> +&prompt.root; <userinput>umount /mnt</userinput></screen> + + <para>Одоо та уян дискээ дискний төхөөрөмжөөс авч болно.</para> + </step> + + <step> + <title>Null-modem кабелаар холбох</title> + + <indexterm><primary>null-modem кабел</primary></indexterm> + <para>Та одоо хоёр машинаа <link linkend="term-cables-null">null-modem кабелаар</link> + холбох хэрэгтэй. Уг хоёр машины цуваа холболтын залгууранд нь тус тусад нь + залгах хэрэгтэй. <emphasis>Ердийн цуваа залгуур энэ тохиолдолд ажилладаггүй + </emphasis> бөгөөд дундаа сэлгэж залгагдсан null-modem залгуур танд хэрэгтэй.</para> + </step> + + <step> + <title>Суулгац эхлүүлэх гэж шинээр ачаалах</title> + + <para>Одоо суулгацаа эхлүүлэх цаг боллоо. <filename>kern.flp</filename> + дискээ толгойгүй машиндаа хийгээд асаах хэрэгтэй.</para> + </step> + + <step> + <title>Толгойгүй машин уруугаа холбогдох</title> + <indexterm> + <primary><command>cu тушаал</command></primary> + </indexterm> + <para>Та одоо тэр машин уруугаа &man.cu.1; тушаал хэрэглэж + холбогдох хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cu -l /dev/cuaa0</userinput></screen> + </step> + </procedure> + + <para>Ингээд л боллоо! Та одоо нөгөө толгойгүй машинаа + <command>cu</command> тушаалын хэсгээр удирдах боломжтой боллоо. + Энэ хэсэгт таныг <filename>mfsroot.flp</filename> дискээ хийхийг шаардах бөгөөд + дараа нь ямар төрлийн тэрминал хэрэглэхийг асуух болно. Тэр үед нь + FreeBSD color console буюу өнгөт консоль гэдгийг сонгоод цааш нь + суулгацаа үргэлжлүүлээрэй!</para> + + </sect2> + </sect1> + + <sect1 id="install-diff-media"> + <title>Өөртөө зориулж тусгай суулгацын төхөөрөмж бэлдэх нь</title> + + <note> + <para>Дахин нуршихаас сэргийлж таны худалдаж авсан юм уу бэлдэж авсан + CDROM эсвэл DVD нарыг <quote>FreeBSD диск</quote> гэж нэрлэв.</para> + </note> + + <para>Заримдаа танд өөрийн гэсэн өөрчилж тохируулсан FreeBSD суулгацын + төхөөрөмжөөс суулгах хэрэг гарч болзошгүй. Энэ нь физик төхөөрөмж + болох бичлэгт хальс юмуу эсвэл <application>sysinstall</application> + дээр зааж өгсөн FTP хуудас эсвэл &ms-dos; хуваалтанд буй файлаас + суулгаж болзошгүй.</para> + + <para>Жишээ нь:</para> + + <itemizedlist> + <listitem> + <para>Танд маш олон компьютер холбогдсон дотоо сүлжээ байгаа бөгөөд + зөвхөн нэг л FreeBSD диск байж болох юм. Та дотоод FTP хуудас үүсгээд + тэрэндээ FreeBSD дискээ байрлуулж, уг хуудаснаас бусад компьютерууд холбогдож + суулгац хийж болохоор тохируулж болно.</para> + </listitem> + + <listitem> + <para>Танд FreeBSD диск байгаа боловч таны CD/DVD төхөөрөмж уг дискийг + танихгүй харин &ms-dos;/&windows; дээр таньдаг байг. Та уг компьютерийнхээ + DOS хуваалт дээрээ FreeBSD суулгацыг хуулаад дараа нь уг файл уруу + FreeBSD-г суулгах үед хандаж болно.</para> + </listitem> + + <listitem> + <para>Таны суулгахыг хүссэн компьютерт CD/DVD төхөөрөмж болон сүлжээний картын + аль нь ч байхгүй бөгөөд та зөвхөн + <quote>Laplink-style</quote> цуваа юм уу зэрэгцээ холболтын кабелаар холбогдож + гүйцэтгэж болно.</para> + </listitem> + + <listitem> + <para>Та FreeBSD суулгаж болдог бичлэгт хальс бэлдэж болно.</para> + </listitem> + </itemizedlist> + + <sect2 id="install-cdrom"> + <title>Суулгацын CDROM үүсгэх</title> + + <para>Хувилбар бүрд зориулж хоёр ширхэг CDROM дүрс бэлтгэдэг (<quote>ISO images буюу дискний дүрс</quote>). + Эдгээр буулгац дүрс нь хэрэв танд CD бичигч байвал CD дээр буулгагдаж (<quote>бичигдэж</quote>) болдог. + Хэрэв танд CD бичигч байдаг бөгөөд хямд үнэтэй интернэт сайн холболт байвал энэ нь + FreeBSD-г суулгах хамгийн амархан арга болно.</para> + + <procedure> + <step> + <title>Зөв ISO Images буюу буулгац дүрсийг татаж авах</title> + + <para>Хувилбар бүрд зориулсан ISO буулгац дүрсийг <filename>ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-<replaceable>arch</replaceable>/<replaceable>version</replaceable></filename> + хаягаас юмуу эсвэл хуулбар толин тусгалуудаас татаж авч болно. + Машины төрөл болон хувилбарыг <replaceable>arch</replaceable> болон + <replaceable>version</replaceable> гэсэн хэсгүүдэд тус тусад нь орлуулж бичих хэрэгтэй.</para> + + <para>Уг сан нь дараах буулгац дүрсүүдийг агуулж байдаг:</para> + + <table frame="none"> + <title>FreeBSD 4.<replaceable>X</replaceable> ISO буулгац дүрсний нэр болон агуулга</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Файлын нэр</entry> + + <entry>Агуулалт</entry> + </row> + </thead> + + <tbody> + <row> + <entry><filename><replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-miniinst.iso</filename></entry> + + <entry>FreeBSD-г суулгахад хэрэгтэй бүх юм бий.</entry> + </row> + + <row> + <entry><filename><replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc1.iso</filename></entry> + + <entry>FreeBSD-г суулгахад хэрэгтэй бүх юмс мөн дискэнд багтахаар нь + шингээсэн гуравдагчдын бүтээсэн програмын багцууд.</entry> + </row> + + <row> + <entry><filename><replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc2.iso</filename></entry> + + <entry><quote>live filesystem буюу амьд файл систем</quote> гэж нэрлэгддэг + бөгөөд <application>sysinstall</application>-д хэрэглэгдэхээр + <quote>Repair буюу засварлах </quote> хэсгийг агуулсан байдаг. + FreeBSD-н CVS модон бүтцийг агуулдаг. Мөн дискэнд багтах хэмжээгээр нь + гуравдагчдын бүтээсэн програмын багцыг агуулсан байдаг.</entry> + </row> + </tbody> + </tgroup> + </table> + + <table frame="none"> + <title>FreeBSD 5.<replaceable>X</replaceable> ISO буулгац дүрсний нэр болон агуулга</title> + + <tgroup cols="2"> + <thead> + <row> + <entry>Файлын нэр</entry> + + <entry>Агуулга</entry> + </row> + </thead> + + <tbody> + <row> + <entry><filename><replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-bootonly.iso</filename></entry> + + <entry>FreeBSD цөмөөс эхлүүлж суулгацын хэсгийг эхлүүлэхэд хэрэглэгдэх + бүх хэсэг буй. Энэ суулгаж болдог файлуудыг FTP юмуу бусад эх сурвалжаас + татаж авч болно.</entry> + </row> + + <row> + <entry><filename><replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-miniinst.iso</filename></entry> + + <entry>FreeBSD-г суулгахад хэрэглэгдэх бүх юм бий.</entry> + </row> + + <row> + <entry><filename><replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc1.iso</filename></entry> + + <entry>&os;-г суулгахад хэрэгтэй бүх юм болон <application>sysinstall</application> + дээр хэрэглэгдэх <quote>Repair буюу засварлах</quote>ад хэрэглэгддэг + <quote>live filesystem буюу амьд файл систем</quote>.</entry> + </row> + + <row> + <entry><filename><replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc2.iso</filename></entry> + + <entry>&os;-н бичиг баримт болон дискэн дээр багтахаар нь шингээсэн + гуравдагчдын бүтээсэн програмын багцууд.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Та miniinst ISO юмуу эсвэл нэгдүгээр диск хоёрын аль нэгийг + татаж авах <emphasis>ёстой</emphasis>. Нэгдүгээр диск нь + miniinst ISO дискийн бүтцийг агуулж байдаг болохоор энэ хоёрыг хоёуланг + татаж авч хэрэггүй.</para> + + <para>miniinst ISO-г интернэт холболт хямд газарт суулгах хэрэгтэй. + Үүгээр та FreeBSD-г суулгаад, дараа нь гуравдагч програмуудыг интернэтээр татаж + авч суулгаж болно ( + <xref linkend="ports">-с харна уу).</para> + + <para>Нэгдүгээр дискийг хийгээд &os;-г суулгах юмуу эсвэл дискэн дээр байгаа + гуравдагчдын багц програмыг суулгана гэж сонгох хэрэгтэй.</para> + + <para>Бусад дискнүүд нь хэрэв танд хурдтай интернэт холболт байхгүй л бол + тийм чухал шаардлагатай биш.</para> + </step> + + <step> + <title>CD-нүүдийг бичих</title> + + <para>Та хуулбар дүрс нарыг дискэн дээр бичих хэрэгтэй. Хэрэв та энэ алхмыг + өөр FreeBSD систем дээр гүйцэтгэж байгаа бол + <xref linkend="creating-cds"> хэсгээс нэмэлт мэдээллийг үзэх хэрэгтэй ( + <xref linkend="burncd"> болон + <xref linkend="cdrecord"> хэсгүүдэд зарим нь буй).</para> + + <para>Хэрэв та энэ үйлдлийг өөр үйлдлийн систем дээр гүйцэтгэж байгаа бол, + уг систем дээр байгаа CD бичигчээ удирддаг дурын програмыг нь ашиглаж бичих + нь зүйтэй. Эдгээр дүрс нь стандарт ISO хэлбэрээр байгаа тул маш олон бичигч + нар энэ төрлийг дэмждэг билээ.</para> + </step> + </procedure> + + <note><para>Хэрэв өөрийн гэсэн FreeBSD хувилбар бүтээнэ гэх юм бол + <ulink url="&url.articles.releng;">Хувилбарыг инженерчлэх мэдээллээс</ulink> + хараарай.</para></note> + + </sect2> + + <sect2 id="install-ftp"> + <title>FreeBSD дисктэй дотоод FTP хуудас бэлтгэх нь</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>сүлжээ</secondary> + <tertiary>FTP</tertiary> + </indexterm> + + <para>FreeBSD дискний зохион байгуулалт нь FTP хуудастайгаа ижил байрлуулагдсан буй. + Ингэснээр танд дотоод FTP хуудас байгуулж сүлжээгээр FreeBSD-г суулгахад + тун дөхөм болж өгдөг.</para> + + <procedure> + <step> + <para>FTP хуудас эрхэлж байх ёстой FreeBSD компьютерт CDROM төхөөрөмж байх + шаардлагатай бөгөөд <filename>/cdrom</filename> санд таниулж холбосон + байх ёстой.</para> + + <screen>&prompt.root; <userinput>mount /cdrom</userinput></screen> + </step> + + <step> + <para>anonymous FTP эрх + <filename>/etc/passwd</filename> дотор үүсгэх хэрэгтэй. Ингэхийн тулд + &man.vipw.8; хэрэгслийг ашиглан + <filename>/etc/passwd</filename> файлыг засварлахдаа дараах мөрийг нэмэх + хэрэгтэй:</para> + + <programlisting>ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting> + </step> + + <step> + <para> + <filename>/etc/inetd.conf</filename> дотор FTP service буюу үйлчилгээ + зөвшөөрөгдсөн эсэхийг лавлах хэрэгтэй.</para> + </step> + </procedure> + + <para>Ингээд одоо таны компьютертэй сүлжээгээр холбогдож чадах машин болгон + суулгац эхлүүлэхийн тулд, суулгах төхөөрөмжөө сонгох цэснээс <quote>Other буюу бусад</quote> + гэдгийг сонгоод цааш нь FTP гэж сонгон + <userinput>ftp://<replaceable>машины нэр</replaceable></userinput> + гэж оруулах хэрэгтэй.</para> + + <note> + <para>Хэрэв таны FTP үйлчилгээг ашиглаж байгаа хэрэглэгчийн эхлэн ачаалах + төхөөрөмж нь (голдуу уян диск байдаг) FTP дээр буй хувилбартай яг ижил хувилбар + биш бол, <application>sysinstall</application> нь таны суулгацыг бүрэн + гүйцэтгэж чаддаггүй. Хэрэв хувилбарууд ижил биш байсан ч гэсэн дарж + бичихийг та хүсэж байгаа бол <guimenu>Options буюу Сонголт</guimenu> цэснээс + distribution name буюу тархацын нэрийг <guimenuitem>any</guimenuitem> гэж + бичих хэрэгтэй.</para> + </note> + + <warning> + <para>Энэ арга нь галт ханаар хамгаалагдсан дотоод сүлжээнд бол найдвартай + ажилладаг. Энэ FTP үйлчилгээгээ интернэтээр дамжуулан өөр машинд + (таны дотоод сүлжээнээс гадуурх сүлжээнд буй компьютерт) санал болговол + зарим компьютерийн сүлжээ эвдэгч хүмүүсийн анхаарлыг татаж эвгүй үр дүнд + хүргэж болзошгүй. Хэрэв та нууцлалын маш сайн дадлагатай биш л бол ингэж + гадуурх сүлжээнд ил гаргахаас болгоомжлохыг бид танд зөвлөж байна.</para> + </warning> + </sect2> + + <sect2> + <title>Суулгацын уян дискийг бэлдэх нь</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>уян дискнүүд</secondary> + </indexterm> + + <para>Хэрэв таны компьютер өөр дэмжлэггүйгээс болоод юмуу эсвэл та + юмыг хүндрүүлж хийхийг хүссэнээс ч болоод юмуу, суулгацыг уян дискнээс + суулгах ёстой бол (энэ аргыг + <emphasis>хэрэглэхгүй </emphasis> байхыг санал болгож байна), та эхлээд + уян дискнүүдийг суулгацад бэлдэх ёстой.</para> + + <para>Хамгийн багадаа л гэхэд <filename>bin</filename> санд буй хоёртын + файлуудыг багтаахад шаардлагатай хэд л бол хэдэн 1.44 MБ эсвэл 1.2 MБ-н + дискнүүдийг бэлдэх ёстой. Хэрэв уян дискээ DOS-с бэлдэж байгаа бол + &ms-dos;-н <command>FORMAT</command> командыг ашиглан дискнүүдийг шинэчлэж + бэлдэх <emphasis>ёстой</emphasis>. Хэрэв та &windows;-с бэлдэхээр бол, + Explorer дээр дискийг форматлаж болдог ( + <devicename>A:</devicename> төхөөрөмж дээр хулганы баруун товчийг дараад + <quote>Format</quote> цэсийг сонгоорой).</para> + + <para>Үйлдвэрээс урьдчилан бэлтгэж цэвэрлэсэн дискэнд итгэж + <emphasis>болохгүй шүү</emphasis>. Найдвартай байхын тулд тэдгээрийг дахин + цэвэрлэх хэрэгтэй. Сүүлийн үед маш олон хэрэглэгчид зөв цэвэрлэж янзлаагүй + дискнээсээ болж маш их алдаа гарлаа гэж мэдээлсэн учраас бид ингэж танд + анхааруулж байгаа билээ.</para> + + <para>Хэрэв та уян дискээ DOS файл систем дээр биш харин өөр FreeBSD машин дээр + бэлтгэж байсан ч гэсэн цэвэрлэх нь зөв санаа гэдгийг дахин сануулмаар байна. + Та <command>bsdlabel</command> болон <command>newfs</command> + тушаалуудыг ашиглаж UFS файлын систем суулгахыг хүсвэл ( 3.5" 1.44 MБ диск дээр) + дараах тушаалуудыг өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440</userinput> +&prompt.root; <userinput>bsdlabel -w -r fd0.1440 floppy3</userinput> +&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0</userinput></screen> + + <note> + <para>5.25" 1.2 MБ дискэнд бол <literal>fd0.1200</literal> болон + <literal>floppy5</literal> гэж өгөх хэрэгтэй.</para> + </note> + + <para>Дараа нь дискээ таниулаад жирийн файл систем шиг бичиж болно.</para> + + <para>Уян дискнүүдээ цэвэрлэж бэлтгэсний дараа файлуудаа хуулах хэрэгтэй. + Тархцын файлууд нь зохицох зорилгоор тааруулж хуваагддаг бөгөөд таван ширхэг + 1.44 MБ диск дээр багтахаар тохируулагдсан байдаг. Бүх уян диск болгондоо + багтах хэмжээгээр нь тулгаж хуулах зарчмаар тархцын бүх файлуудыг багтааж + хуулах хэрэгтэй. Тархац бүр уян диск дээр : + <filename>a:\bin\bin.aa</filename>, + <filename>a:\bin\bin.ab</filename> гэх мэтчилэн хуулагдах ёстой.</para> + + <para>Суулгацын явцад суулгах төхөөрөмжөө сонгох Media цэс гарах үед + <guimenuitem>Floppy буюу уян диск</guimenuitem> цэсийг сонгоод цаашаагаа + суулгацаа үргэжлүүлээрэй.</para> + </sect2> + + <sect2 id="install-msdos"> + <title>&ms-dos; хуваалтаас суулгах нь</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>MS-DOS оос</secondary> + </indexterm> + <para>&ms-dos; хуваалтаас суулгацыг бэлтгэхийн тулд, уг хуваалтын эх хэсэг дээр + <filename>freebsd</filename> нэртэй сан үүсгэж дотор нь тархцын файлуудыг + хуулах хэрэгтэй. Жишээ нь, <filename>c:\freebsd</filename>. CDROM юмуу FTP + хуудсанд байсан файлуудын сангын бүтэц нь уг сан доторхтой ижил байх ёстой бөгөөд + хуулахын тулд DOS-н + <command>xcopy</command> тушаалыг ашиглан CD-с хуулаарай. + Жишээ нь, FreeBSD-н хамгийн бага суулгацыг гүйцэтгэхийн тулд:</para> + + <screen><prompt>C:\></prompt> <userinput>md c:\freebsd</userinput> +<prompt>C:\></prompt> <userinput>xcopy e:\bin c:\freebsd\bin\ /s</userinput> +<prompt>C:\></prompt> <userinput>xcopy e:\manpages c:\freebsd\manpages\ /s</userinput></screen> + + <para>Энд <devicename>C:</devicename> дискийг сул зайтай гэж үзсэн бөгөөд + <devicename>E:</devicename> диск дээр CDROM-г таниулсан гэж авч үзэв.</para> + + <para>Хэрэв танд CDROM төхөөрөмж байхгүй бол тархац файлыг + <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">ftp.FreeBSD.org</ulink> + -с татаж авч болно. Тархац бүр өөрсдийн сан дотроо байгаа бөгөөд, + жишээ нь, <emphasis>base</emphasis> тархац <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/base/">&rel.current;/base/</ulink> + сан дотор буй.</para> + + <para>&ms-dos;-с суулгахыг хүссэн тархац болгоныг (хэрэв танд хангалттай сул + зай байгаа л бол) <filename>c:\freebsd</filename> сан дотор хуулах хэрэгтэй + бөгөөд — зөвхөн хамгийн багаар суулгах зориулалттай файлууд л + <literal>BIN</literal> сан дотор байх шаардлагатай.</para> + </sect2> + + <sect2> + <title>Суулгацын бичлэг тууз бэлтгэх нь</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>QIC/SCSI бичлэгт туузнаас</secondary> + </indexterm> + <para>Бичсэн туузнаас суулгах нь FTP юмуу CDROM-с суулгаснаас + хамаагүй амархан арга байж болох юм. Суулгац програм нь + бичлэг дээр tar хэлбэрээр нэгтгэж бичигдсэн байх ёстой. + Суулгахыг хүссэн тархцаа авсны дараа туузан дээр + шахаж бичих хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput> +&prompt.root; <userinput>tar cvf /dev/rwt0 dist1 ... dist2</userinput></screen> + + <para>Суулгацыг гүйцэтгэх явцдаа туузан дээр түр зуур хэрэглэхээр + (сонголтоос хамаарч) туузан дээрх файлуудыг <emphasis>бүхлээр</emphasis> нь + хуулахад багтаахаар сул зайг үлдээх ёстой. + Шуурхай санамсаргүй хандалт хийгдэж болдоггүй учраас туузан дээр их хэмжээний + сул зай бэлэн байлгах шаардлага гардаг юм.</para> + + <note> + <para>Суулгацыг эхлүүлэх үед уян дискнээс эхлүүлэхээсээ <emphasis>өмнө</emphasis> + туузыг төхөөрөмж рүү нь хийсэн байх ёстой. Ингэхгүй бол суулгац олохгүй байх + магадлалтай.</para> + </note> + </sect2> + + <sect2> + <title>Сүлжээгээр суулгахаасаа өмнө</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>сүлжээ</secondary> + <tertiary>цуваа холболт (SLIP эсвэл PPP)</tertiary> + </indexterm> + <indexterm> + <primary>суулгац</primary> + <secondary>сүлжээ</secondary> + <tertiary>зэрэгцээ холболт (PLIP)</tertiary> + </indexterm> + <indexterm> + <primary>суулгац</primary> + <secondary>сүлжээ</secondary> + <tertiary>Ethernet</tertiary> + </indexterm> + <para>Сүлжээгээр суулгах гурван төрлийн арга бий. + Цуваа холболт (SLIP эсвэл PPP), Зэрэгцээ холболт (PLIP (laplink cable)), + эсвэл Ethernet сүлжээгээр (стандарт Ethernet төхөөрөмжөөр ( + PCMCIA-г оруулаад)).</para> + + <para>SLIP-р холбох нь цуваа холболтын залгуураар нэг компьютерийг + өөр копьютертой холбодог явцуу арга юм. SLIP суулгац нь утсан холбоогоор + залгах боломжгүй болгож зөвхөн шууд залгасан залгуураар л залгагдах болно. + Энэ боломж нь хэрэв SLIP-ийг хэрэглэж болохоор үед л РРР тохируулгаар + хэрэгждэг.</para> + + <para>Хэрэв та модем хэрэглэж байгаа бол PPP таны бараг цорын ганц сонголт + байх болов уу. Суулгацаа бүр эхлүүлэхээсээ өмнө интернэт хөтлөгч байгууллага + уруугаа холбогдох мэдээллээ сайн бэлтгэж авсан байх хэрэгтэй.</para> + + <para>Хэрэв та ISP руугаа PAP эсвэл CHAP хэрэглэж холбогддог бол + (өөрөөр хэлбэл, ISP уруугаа ямар нэгэн скрипт буюу гүйцэтгэдэг бичлэг + хэрэглэлгүйгээр &windows;-с холбогдож байвал), <application>ppp</application>-н + тушаал оруулах мөрөнд <command>dial</command> гэж оруулахад болно. + Өөр тохиолдолд, PPP хэрэглэж утасдах горим нь тун энгийн тэрминал үйлчилгээгээр + хангагдсан байдаг болохоор, та ISP руугаа модемондоо тохирсон <quote>AT тушаал</quote> + хэрэглэж холбогдох хэрэгтэй. Хэрэглэгчийн ppp бүртгэлийн <link + linkend="userppp">гарын авлага</link> эсвэл <ulink + url="&url.books.faq;/ppp.html">FAQ буюу байнга асуудаг асуулт хариулт</ulink> + хэсгээс нэмэлт мэдээллийг харж болно. + Хэрэв танд хүндрэл тулгарвал, <command>set log local ...</command> тушаал + ашиглаж ерөнхий явцын бүртгэл бичлэгийг дэлгэцэн дээрээ зэрэг хянаж болно.</para> + + <para>Хэрэв та өөр FreeBSD (2.0-R эсвэл түүнээс дээшхи хувилбар) машин уруу + шууд залгаж холбогдох боломжтой бол <quote>laplink</quote> зэрэгцээ кабелаар + гүйцэтгэж болох юм. Зэрэгцээ холболтоор өгөгдөл нь цуваа холболтыг бодвол + арай хурдан дамжигдах (50 кбайт/сек хүртэл) бөгөөд, ингэснээр илүү + түргэн суулгацаа гүйцэтгэж болох юм.</para> + + <para>Эцэст нь сүлжээний картаа ашиглаж интернэт суулгах арга бол мэдээж хамгийн + сайн сонголт байх болно! FreeBSD нь ихэнх сүлжээний картуудыг дэмжиж + таньдаг бөгөөд Hardware Notes буюу төхөөрөмжийн тухай мэдээлэл хэсэгт + дэмждэг картуудыг (мөн тэдгээрт шаардагдах тохируулгатай нь) жагсаасан буй. + Хэрэв та аль нэгэн дэмжигдсэн PCMCIA сүлжээний карт хэрэглэж байвал зөөврийн + компьютерээ асаахаасаа <emphasis>өмнө нь</emphasis> залгаарай. Харамсалтай нь + одоогоор PCMCIA төрлийн картуудыг явцын дунд шууд залгаж хараахан чадахгүй + байгаа билээ.</para> + + <para>Та мөн сүлжээнийхээ IP хаягаа салгаж ангилсан netmask буюу сүлжээний + шүүлт хаягтай нь хамт мэдэж байх ёстой. Хэрэв та PPP холболт ашиглаж + холбогдож байгаа бол, ISP газраас тань автоматаар хаяглалт хийдэг болохоор + тогтмол зааж өгсөн IP хаяг бүү зоож тохируулаарай. Таны сүлжээ тохируулагч тань + ямар ямар тохируулга шаардлагатайг танд мэдэгдэх байх. Хэрэв та IP хаяг биш + харин ямар нэгэн серверийн нэр оруулж тохируулах ёстой бол, танд бас + name server буюу серверүүдийн нэрүүдийг зохицуулагч серверийн нэрийг мөн + магадгүй gateway серверийн хаягийг бас оруулах хэрэгтэй болох байх + (хэрэв та PPP хэрэглэж байгаа бол энэ нь таны интернэтээр хангагч байгууллагын тань + IP хаяг байх ёстой). Хэрэв та HTTP проксигоор дамжин FTP-нээс суулгац хийх + ёстой бол, та мөн проксигийн хаягийг оруулж өгөх хэрэгтэй. Хэрэв та + эдгээр олон асуултанд хариулж мэдэхгүй байгаа тохиолдолд, сүлжээ тохируулагчаасаа + юмуу эсвэл ISP-аасаа суулгацаа эхлүүлэхээсээ <emphasis>өмнө</emphasis> + лавлаж асуух нь чухал.</para> + + <sect3> + <title>NFS-р суулгахаасаа өмнө</title> + + <indexterm> + <primary>суулгац</primary> + <secondary>сүлжээ</secondary> + <tertiary>NFS</tertiary> + </indexterm> + <para>NFS суулгац бол харьцангуй хурдан шулуухан байдаг. NFS сервер + дээрээ FreeBSD тархалтынхаа хуулбарыг хуулаад дараа нь суулгац гүйцэтгэх + төхөөрөмжийг сонгох цэсэн дээр NFS гэж зааж өгөхөд болно.</para> + + <para>Хэрэв сервер зөвхөн <quote>заагдсан порт</quote> ашиглах ёстой бол + (Sun төрлийн компьютерт энэ нь анхнаасаа заагдсан байдаг шиг), та + <guimenu>Options</guimenu> цэсэн дээр <literal>NFS Secure</literal> сонголтыг + сонгож тохируулаад суулгацаа цааш нь үргэлжлүүлээрэй.</para> + + <para>Хэрэв таны сүлжээний карт тийм сайн биш бөгөөд хурдан дамжуулалт хийдэггүйг + та мэддэг бол <literal>NFS Slow</literal> гэдгийг бас сонгож тохируулаарай.</para> + + <para>NFS суулгацыг ажиллуулахын тулд сервер нь дэд санг + таньдаг байх ёстой. Жишээ нь, хэрэв таны FreeBSD &rel.current; тархац: + <filename>ziggy:/usr/archive/stuff/FreeBSD</filename> санд байгаа бол, + <hostid>ziggy</hostid> нь <filename>/usr</filename> эсвэл + <filename>/usr/archive/stuff</filename> гэх мэтчилэн дамжиж таниулах биш + харин шууд <filename>/usr/archive/stuff/FreeBSD</filename> + санг таньж байхаар тохируулагдах ёстой.</para> + + <para>FreeBSD-н <filename>/etc/exports</filename> файл дотор үүнийг тохируулахын + тулд <option>-alldirs</option> гэсэн сонголт оруулж өгдөг. Бусад NFS серверүүд + өөр зохион байгуулалттай байж болох юм. Хэрэв та + <errorname>permission denied буюу хандах эрх зөвшөөрөгдөхгүй</errorname> + гэсэн мэдээлэл серверээс хүлээж авбал, та саяны сонголтыг оруулж өгөөгүй + байна гэсэн үг юм.</para> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/install/example-dir1.dot b/mn_MN.UTF-8/books/handbook/install/example-dir1.dot new file mode 100644 index 0000000000..e9e812c5fe --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/install/example-dir1.dot @@ -0,0 +1,8 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/"; + root -> "A2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/install/example-dir2.dot b/mn_MN.UTF-8/books/handbook/install/example-dir2.dot new file mode 100644 index 0000000000..4ca5f95a0e --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/install/example-dir2.dot @@ -0,0 +1,9 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/" -> "B1/"; + "A1/" -> "B2/"; + root -> "A2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/install/example-dir3.dot b/mn_MN.UTF-8/books/handbook/install/example-dir3.dot new file mode 100644 index 0000000000..70c1e61def --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/install/example-dir3.dot @@ -0,0 +1,9 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/"; + root -> "A2/" -> "B1/"; + "A2/" -> "B2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/install/example-dir4.dot b/mn_MN.UTF-8/books/handbook/install/example-dir4.dot new file mode 100644 index 0000000000..5bb08ce483 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/install/example-dir4.dot @@ -0,0 +1,10 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/"; + root -> "A2/" -> "B1/" -> "C1/"; + "B1/" -> "C2/"; + "A2/" -> "B2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/install/example-dir5.dot b/mn_MN.UTF-8/books/handbook/install/example-dir5.dot new file mode 100644 index 0000000000..47cb3b3bdf --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/install/example-dir5.dot @@ -0,0 +1,10 @@ +// $FreeBSD$ +// Original revision: 1.1 + +digraph directory { + root [label="Root\n/"]; + root -> "A1/" -> "C1/"; + "A1/" -> "C2/"; + root -> "A2/" -> "B1/"; + "A2/" -> "B2/"; +} diff --git a/mn_MN.UTF-8/books/handbook/introduction/Makefile b/mn_MN.UTF-8/books/handbook/introduction/Makefile new file mode 100644 index 0000000000..2648160c5d --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/introduction/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= introduction/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml new file mode 100644 index 0000000000..cb1303a4d4 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml @@ -0,0 +1,880 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.118 + + $FreeBSD$ +--> + +<chapter id="introduction"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Дахин бүтцийг өөрчилж зохион байгуулсан, зарим хэсгийг дахин бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </chapterinfo> + + <title>Танилцуулга</title> + + <sect1 id="introduction-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>FreeBSD-г сонирхсон танд баярлалаа! Дараах бүлэг FreeBSD төслийн түүх, зорилго, + хөгжүүлэх загвар зэрэг бусад төрөл бүрийн ойлголтуудыг хамарна.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD бусад компьютерийн үйлдлийн системүүдтэй ямар хамааралтай талаар.</para> + </listitem> + <listitem> + <para>FreeBSD төслийн түүх.</para> + </listitem> + <listitem> + <para>FreeBSD төслийн зорилгууд.</para> + </listitem> + <listitem> + <para>FreeBSD-ийн нээлттэй-эх хөгжүүлэх загварын үндсүүд.</para> + </listitem> + <listitem> + <para>Мөн мэдээж <quote>FreeBSD</quote> нэр хаанаас гарсан талаар.</para> + </listitem> + </itemizedlist> + + </sect1> + + <sect1 id="nutshell"> + <title>FreeBSD-д тавтай морилно уу!</title> + <indexterm><primary>4.4BSD-Lite</primary></indexterm> + + <para>FreeBSD нь Интел (x86 болон &itanium;), AMD64, <trademark>Alpha</trademark>, + Sun &ultrasparc; компьютеруудад зориулагдсан 4.4BSD-Lite дээр үндэслэсэн үйлдлийн систем + юм. Мөн өөр бусад архитектур уруу порт хийгдэж байгаа болно. Та мөн + <link linkend="history">FreeBSD-ийн түүх</link> эсвэл + <link linkend="relnotes">одоогийн хувилбар</link>ыг унших боломжтой. Хэрэв та + энэ төсөлд (код, тоног төрөөхөмж, тэмдэглээгүй тооцоонууд) хувь нэмэр оруулахыг сонирхож + байгаа бол <ulink url="&url.articles.contributing;/index.html"> + FreeBSD-д хувь нэмэр оруулах нь</ulink> нийтлэлийг уншина уу.</para> + + <sect2 id="os-overview"> + <title>FreeBSD юу хийж чадах вэ?</title> + + <para>FreeBSD олон тооны дурдахад буруудахгүй боломжуудтай. Эдгээрийн зарим нь:</para> + + <itemizedlist> + <indexterm><primary>Илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол</primary></indexterm> + <listitem> + <para>Компьютерийг их ачаалалтай байсан ч програмууд болон хэрэглэгчдийн хооронд бартаагүй, + ижил хуваалцах нөхцлийг бүрдүүлэх, динамик дараалал тохируулалттай, + <emphasis>илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол</emphasis>.</para> + </listitem> + + <indexterm><primary>Олон-хэрэглэгчийн боломжууд</primary></indexterm> + <listitem> + <para><emphasis>Олон-хэрэглэгчийн боломжууд</emphasis> нь олон хүмүүс FreeBSD + системийг төрөл бүрийн зүйлд зориулан зэрэгцэн хэрэглэх боломжийг зөвшөөрдөг. + Энэ нь, жишээ нь, хэвлэгчүүд болон касетний хөтлөгчүүд зэрэг системийн захын + төрөөрөмжүүд нь систем эсвэл сүлжээн дэх бүх хэрэглэгчдийн дунд зөвөөр хуваалцах + ба эх үүсвэр бүр дэх хязгаарууд нь маш чухал системийн эх үүсвэрүүдийг илүү + ашиглахаас хамгаалж хэрэглэгчдэд болон бүлэг хэрэглэгчдэд тавигдаж болно гэсэн үг + юм.</para> + </listitem> + + <indexterm><primary>TCP/IP сүлжээ</primary></indexterm> + <listitem> + <para>SLIP, PPP, NFS, DHCP, ба NIS зэрэг үйлдвэрлэлийн стандартуудын + дэмжлэгтэй, хүчирхэг <emphasis>TCP/IP сүлжээ</emphasis>. + Энэ нь таны FreeBSD машин бусад үйлдлийн системүүдтэй хялбар харилцан + ажиллаж чадахаас гадна мөн NFS (файлд алсаас хандах) + цахим захидлын үйлчилгээнүүд зэрэг чухал боломжуудыг хангадаг + эсвэл Интернетэд WWW, FTP, чиглүүлэх эсвэл галт ханын (аюулгүй байдал) + үйлчилгээнүүдийн хамт та өөрийнхөө байгууллагыг байрлуулах Enterprise + сервер шиг ажиллаж чадна гэсэн үг юм.</para> + </listitem> + + <indexterm><primary>санах ойн хамгаалалт</primary></indexterm> + <listitem> + <para><emphasis>Санах ойн хамгаалалт</emphasis> нь програмууд + (эсвэл хэрэглэгчид) өөр хоорондоо нөлөөлөхгүй нөхцлийг хангадаг. + Нэг програм сүйрэхэд бусдад аль ч замаар нөлөөлөхгүй.</para> + </listitem> + + <listitem> + <para>FreeBSD нь <emphasis>32-бит</emphasis> үйлдлийн систем + (Альфа дээр <emphasis>64-бит</emphasis>, &itanium;, AMD64, болон &ultrasparc;) + бөгөөд бүр анхнаасаа эхлэн дизайн хийгдсэн юм.</para> + </listitem> + + <indexterm> + <primary>X Цонхны Систем</primary> + <seealso>XFree86</seealso> + </indexterm> + + <listitem> + <para> + Үйлдвэрлэлийн стандарт болох <emphasis>X Цонхны Систем</emphasis> (X11R6) + нь ердийн VGA карт ба дэлгэцийн үнэнд хэрэглэгчийн график интерфэйсийг (GUI) + хангадаг бөгөөд бүрэн эхийн хамт ирдэг.</para> + </listitem> + + <indexterm> + <primary>хоёртын нийцлэг</primary> + <secondary>Линукс</secondary> + </indexterm> + <indexterm> + <primary>хоёртын нийцлэг</primary> + <secondary>SCO</secondary> + </indexterm> + <indexterm> + <primary>хоёртын нийцлэг</primary> + <secondary>SVR4</secondary> + </indexterm> + <indexterm> + <primary>хоёртын нийцлэг</primary> + <secondary>BSD/OS</secondary> + </indexterm> + <indexterm> + <primary>хоёртын нийцлэг</primary> + <secondary>NetBSD</secondary> + </indexterm> + <listitem> + <para>Линукс, SCO, SVR4, BSDI ба NetBSD-д зориулан бүтээгдсэн + олон програмуудтай <emphasis>хоёртын нийцлэг</emphasis>.</para> + </listitem> + + <listitem> + <para>Олон мянган <emphasis>ажиллахад бэлэн</emphasis> програмууд + FreeBSD-ийн <emphasis>портууд</emphasis> болон <emphasis>багцуудын</emphasis> + цуглуулганд байдаг. Эндээс бүгдийг олж болж байхад яагаад сүлжээнээс хайх + хэрэгтэй гэж?</para> + </listitem> + + <listitem> + <para>Олон мянган нэмэлт болон <emphasis>амархан порт хийх</emphasis> + боломжтой програмууд Интернетэд байдаг. FreeBSD нь эх кодын хувьд + ихэнх олны мэддэг арилжааны &unix; системүүдтэй нийцтэй бөгөөд + ихэнх програмуудыг хөрвүүлэхэд хэрэв байгаа бол цөөн өөрчлөлтүүдийг + шаарддаг.</para> + </listitem> + + <indexterm><primary>виртуал санах ой</primary></indexterm> + <listitem> + <para>Шаардлагаар хуудасладаг (demand paged) <emphasis>виртуал санах ой</emphasis> + ба <quote>нийлүүлсэн VM/түр хадгалагч</quote> дизайн нь санах ойн хувьд + их хэрэглэдэг програмуудын хүслийг үр ашигтайгаар хангадаг бөгөөд ингэхдээ бусад + хэрэглэгчдэд харилцан хариу өгөх боломжийг олгосоор байдаг.</para> + </listitem> + + <indexterm> + <primary>Адил Хэмт Олон-Боловсруулалт (SMP)</primary> + </indexterm> + <listitem> + <para>Олон CPU-тай машинуудад зориулсан <emphasis>SMP</emphasis> + дэмжлэг.</para> + </listitem> + + <indexterm> + <primary>хөрвүүлэгчид</primary> + <secondary>C</secondary> + </indexterm> + <indexterm> + <primary>хөрвүүлэгчид</primary> + <secondary>C++</secondary> + </indexterm> + <indexterm> + <primary>хөрвүүлэгчид</primary> + <secondary>ФОРТРАН</secondary> + </indexterm> + <listitem> + <para><emphasis>C</emphasis>, + <emphasis>C++</emphasis>, болон <emphasis>ФОРТРАН</emphasis> + хөгжүүлэх багажуудын бүрэн бүрэлдэхүүн. Нарийн судалгаа болон хөгжүүлэлтэд + зориулсан олон нэмэлт хэлнүүд бас портууд болон багцуудын цуглуулганд байдаг.</para> + </listitem> + + <indexterm><primary>эх код</primary></indexterm> + <listitem> + <para>Бүх системд зориулсан <emphasis>эх код</emphasis> гэдэг нь + та орчноо хамгийн ихээр хянана гэсэн үг юм. Та жинхэнэ нээлттэй системтэй мөртлөө + яагаад үйлдвэрлэгчийн буянд хаалттай шийдэлд цоожтой байх ёстой гэж?</para> + </listitem> + + <listitem> + <para>Дэлгэрэнгүй <emphasis>онлайн + баримтжуулалт</emphasis>.</para> + </listitem> + + <listitem> + <para><emphasis>гэх мэт өөр илүү олныг дурдаж болно!</emphasis></para> + </listitem> + </itemizedlist> + + <indexterm><primary>4.4BSD-Lite</primary></indexterm> + <indexterm> + <primary>Компьютерийн Системийн судалгааний Бүлэг (CSRG)</primary> + </indexterm> + <indexterm><primary>К.И.С. Беркли</primary></indexterm> + <para>FreeBSD нь Беркли дэх Калифорнийн Их Сургуулийн Компьютерийн Системийн + Судалгааны Бүлгээс (CSRG) гаргасан 4.4BSD-Lite хувилбар дээр үндэслэсэн + бөгөөд BSD системийн хөгжүүлэлтийн бусдаас ялгаатай уламжлалыг үргэлжлүүлсээр + байна. CSRG-ээс гаргасан сайхан ажлаас гадна FreeBSD Төсөл нь жинхэнэ амьдрал + дээрхи ачааллын үеийн найдвартай болон хамгийн сайн ажиллагааг хангах системийг + нарийн тохируулахад олон мянган цагийг зориулжээ. Улам олон арилжааны аваргууд + ийм боломжууд, ажиллагаа болон найдвартай байдал бүхий PC үйлдлийн системийг + гаргах гэж тэмцэж байхад FreeBSD тэдгээрийг <emphasis>одоо</emphasis> + санал болгож чадна!</para> + + <para>FreeBSD-г ямар хэрэглээнд ашиглах нь зөвхөн таны төсөөллийн хүрээнд байна. + Програм хангамжийн хөгжүүлэлтээс эхлээд үйлдвэрлэлийн автоматжуулалт, төлвийн + хяналтаас авахуулаад алсын хиймэл дагуулын антеннуудын азимут засварлалт; + хэрэв үүнийг арилжааны &unix; бүтээгдэхүүнээр хийж чадах бол мэдээж та үүнийг + FreeBSD-ээр ч бас хийж чадна! Мөн FreeBSD дэлхий даяар судалгааны төвүүд болон их + сургуулиудад хөгжүүлсэн ихэнхдээ бага эсвэл үнэгүй байдаг олон мянган өндөр чанарын + програмуудаас мэдэгдэхүйц үр ашгийг авдаг. Арилжааны програмууд бас байдаг бөгөөд + өдөр ирэх тусам их хэмжээгээр нэмэгдэж байна.</para> + + <para>FreeBSD-ийн өөрийн эх код ерөнхийдөө байгаа болохоор + тусгай програмууд эсвэл төслүүдэд зориулж системийг бараг сонсоогүй хэмжээнд + өөрчлөх боломжтой бөгөөд ерөнхийдөө бусад ихэнх том том арилжааны + үйлдвэрлэгчдийн үйлдлийн системүүдэд үүнийг хийх боломжгүй байдаг. Энд + FreeBSD-г ашиглаж байгаа хүмүүсийн хэрэглээний зарим нэг байна:</para> + + <itemizedlist> + <listitem> + <para><emphasis>Интернетийн Үйлчилгээнүүд:</emphasis> FreeBSD дэх хүчирхэг TCP/IP + сүлжээ нь төрөл бүрийн Интернетийн үйлчилгээнүүдэд хамгийн тохирсон тавцан болгодог:</para> + + <itemizedlist> + <indexterm><primary>FTP серверүүд</primary></indexterm> + <listitem> + <para>FTP серверүүд</para> + </listitem> + + <indexterm><primary>вэб серверүүд</primary></indexterm> + <listitem> + <para>Дэлхий Даяарх Вэб серверүүд (стандарт эсвэл нууцлаг [SSL])</para> + </listitem> + + <indexterm><primary>гал хана</primary></indexterm> + <indexterm><primary>NAT</primary></indexterm> + <listitem> + <para>Галт ханууд болон NAT (<quote>IP маскарад хийх</quote>) + гарцууд</para> + </listitem> + + <indexterm> + <primary>цахим захидал</primary> + <see>захидал</see> + </indexterm> + <indexterm> + <primary>захидал</primary> + </indexterm> + <listitem> + <para>Цахим Захидлын серверүүд</para> + </listitem> + + <indexterm><primary>USENET</primary></indexterm> + <listitem> + <para>USENET Мэдээнүүд эсвэл Зарлалын Самбарын Системүүд</para> + </listitem> + + <listitem> + <para>гэх мэт өөр илүү олныг дурдаж болно...</para> + </listitem> + </itemizedlist> + + <para>Та FreeBSD-тэй байхад хямд 386 ангилалын PC-тэй жижигээс хялбархнаар эхлээд + таны Enterprise өсөхийн хэрээр RAID хадгалалт бүхий 4 процессортой Xeon + хүртэл шинэчилж болно.</para> + </listitem> + + <listitem> + <para><emphasis>Боловсрол:</emphasis> Та компьютерийн шинжлэх ухаан эсвэл + түүнтэй холбоотой инженерчлэлийн салбарын оюунтан уу? Үйлдлийн систем, компьютерийн + архитектур болон сүлжээний талаар сурахад FreeBSD-ийн далд хангаж өгдөг боломж шиг + илүү сайн арга байхгүй. Чөлөөтэй байдаг хэд хэдэн CAD, математикийн болон графикийн + дизайн хийх багцууд нь <emphasis>өөр бусад</emphasis> ажлуудыг хийхийн тулд + компьютерийг ашигладаг хүмүүст FreeBSD-г илүү их ашигтай болгодог!</para> + </listitem> + + <listitem> + <para><emphasis>Судалгаа:</emphasis> Бүхэл системийн хувьд эх кодтой FreeBSD + нь үйлдлийн системүүд болон компьютерийн шижлэх ухааны бусад салбаруудын + хувьд судалгааны маш сайн тавцан болдог. FreeBSD-ийн чөлөөтэй байдаг чанар нь + алсад байгаа бүлгүүд тусгай лицензийн гэрээ эсвэл нээлттэй форум дээр хэлэлцэж болох + хязгааруудад санаа зоволгүйгээр шинэ санаанууд болон хуваалцсан хөгжүүлэлт дээр + хамтран ажиллах боломжийг бүрдүүлдэг.</para> + </listitem> + + <indexterm><primary>чиглүүлэгч</primary></indexterm> + <indexterm><primary>DNS Сервер</primary></indexterm> + <listitem> + <para><emphasis>Сүлжээ:</emphasis> Шинэ чиглүүлэгч? Нэрийн сервер (DNS)? + Хүмүүсийг дотоод сүлжээнээс гадуур байлгах галт хана хэрэгтэй байна уу? + FreeBSD нь ашиглаагүй, буланд хэвтэж байгаа 386 эсвэл 486 PC-г пакет + шүүлт хийх сайжруулсан боломжуудтай өргөтгөсөн чиглүүлэгч болгон хялбархан + хувиргаж чадна.</para> + </listitem> + + <indexterm> + <primary>X Цонхны Систем</primary> + <secondary>XFree86</secondary> + </indexterm> + <indexterm> + <primary>X Цонхны Систем</primary> + <secondary>Хурдасгасан-X</secondary> + </indexterm> + <listitem> + <para><emphasis>X Цонхны ажлын станц:</emphasis> FreeBSD нь + чөлөөтэй байдаг X11 серверийг ашиглан хямд X терминалийн шийдэлд + зориулсан сайн сонголт болдог. X терминалаас ялгаатай нь хэрэв хүсвэл олон + програмуудыг FreeBSD ажиллуулахыг зөвшөөрдөг бөгөөд ингэснээр төв + серверийн ачааллыг хөнгөвчилдөг. FreeBSD нь <quote>дискгүй</quote> + ачаалж чадаснаар ажлын станцуудыг хямд, амархан удирдах боломжтой болгодог.</para> + </listitem> + + <indexterm><primary>GNU Хөрвүүлэгчийн Цуглуулга</primary></indexterm> + <listitem> + <para><emphasis>Програм Хангамжийн Хөгжүүлэлт:</emphasis> Үндсэн + FreeBSD систем нь нийтэд алдаршсан GNU C/C++ хөрвүүлэгч болон алдаа ологч зэрэг + програмчлалын үндсэн хэрэгслүүдтэй ирдэг.</para> + </listitem> + </itemizedlist> + + <para>FreeBSD нь CDROM, DVD, болон нэргүй FTP дээр эх болон хоёртын хэлбэрээр байдаг. + FreeBSD-г олж авах талаар дэлгэрэнгүй мэдээллийг <xref linkend="mirrors"> хаягаас + үзнэ үү.</para> + </sect2> + + <sect2> + <title>FreeBSD-г хэн ашигладаг вэ?</title> + + <indexterm> + <primary>хэрэглэгчид</primary> + <secondary>FreeBSD ажиллуулдаг том сайтууд</secondary> + </indexterm> + + <para>FreeBSD нь интернет дэх зарим нэг хамгийн томоохон вэб хуудсуудыг ажиллуулдаг:</para> + + <itemizedlist> + <indexterm><primary>Yahoo!</primary></indexterm> + <listitem> + <para><ulink url="http://www.yahoo.com/">Yahoo!</ulink></para> + </listitem> + + <indexterm><primary>Apache</primary></indexterm> + <listitem> + <para><ulink url="http://www.apache.org/">Apache</ulink></para> + </listitem> + + <indexterm><primary>Blue Mountain Arts</primary></indexterm> + <listitem> + <para><ulink url="http://www.bluemountain.com/">Blue Mountain + Arts</ulink></para> + </listitem> + + <indexterm><primary>Pair Networks</primary></indexterm> + <listitem> + <para><ulink url="http://www.pair.com/">Pair + Networks</ulink></para> + </listitem> + + <indexterm><primary>Sony Japan</primary></indexterm> + <listitem> + <para><ulink url="http://www.sony.co.jp/">Sony + Japan</ulink></para> + </listitem> + + <indexterm><primary>Netcraft</primary></indexterm> + <listitem> + <para><ulink url="http://www.netcraft.com/">Netcraft</ulink> + </para> + </listitem> + + <indexterm><primary>Weathernews</primary></indexterm> + <listitem> + <para><ulink url="http://www.wni.com/">Weathernews</ulink> + </para></listitem> + + <indexterm><primary>Supervalu</primary></indexterm> + <listitem> + <para><ulink + url="http://www.supervalu.com/">Supervalu</ulink></para> + </listitem> + + <indexterm><primary>TELEHOUSE America</primary></indexterm> + <listitem> + <para><ulink url="http://www.telehouse.com/">TELEHOUSE + America</ulink></para> + </listitem> + + <indexterm><primary>Sophos Anti-Virus</primary></indexterm> + <listitem> + <para><ulink url="http://www.sophos.com/">Sophos + Anti-Virus</ulink></para> + </listitem> + + <indexterm><primary>JMA Wired</primary></indexterm> + <listitem> + <para><ulink + url="http://www.jmawired.com/">JMA Wired</ulink></para> + </listitem> + </itemizedlist> + + <para>гэх мэт өөр илүү олон вэб хуудсуудыг дурдаж болно.</para> + </sect2> + + </sect1> + + <sect1 id="history"> + <title>FreeBSD Төслийн тухай</title> + + <para>Дараах хэсэг төслийн товч түүх, төслийн зорилгууд,болон төслийн + хөгжүүлэлтийн загвар зэрэг төслийн талаархи зарим нэг мэдээллийг өгнө.</para> + + <sect2 id="intro-history"> + <sect2info role="firstperson"> + <authorgroup> + <author> + <firstname>Жордан</firstname> + <surname>Хаббард</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + + <title>FreeBSD-ийн товч түүх</title> + + <indexterm><primary>386BSD Залруулах багц</primary></indexterm> + <indexterm><primary>Хаббард, Жордан</primary></indexterm> + <indexterm><primary>Вилльямс, Нэйт</primary></indexterm> + <indexterm><primary>Граймс, Род</primary></indexterm> + <indexterm> + <primary>FreeBSD Төсөл</primary> + <secondary>түүх</secondary> + </indexterm> + <para>FreeBSD төслийн үүсэл 1993 оны эхэн хэсэгт үүдэлтэй бөгөөд залруулах багцын + сүүлийн 3 зохицуулагчид болох Нэйт Вилльямс, Род Граймс болон миний биеийн хамтран + гаргасан <quote>Албан ёсны бус 386BSD Залруулах багц</quote>аас + хэсэгчилэн хөгжсөн юм.</para> + + <indexterm><primary>386BSD</primary></indexterm> + <para>Бидний анхны зорилго хэд хэдэн асуудлуудыг шийдэхийн тулд 386BSD-ийн дундын + хормын хувилбарыг гаргаж авах явдал байсан бөгөөд залруулах багцын механизм үүнийг шийдэж + чаддаггүй байлаа. Та нарын зарим нэг нь төслийн ажлын анхны нэр тэр явдалтай холбоотой + <quote>386BSD 0.5</quote> эсвэл <quote>386BSD Дундын</quote> гэж байсныг + санаж магадгүй юм.</para> + + <indexterm><primary>Жолиц, Билл</primary></indexterm> + <para>386BSD нь бараг жил орчмын үл ойшоолтоос болж ихээхэн зовж байсан тэр үед хүрсэн + Билл Жолицийн үйлдлийн систем байсан юм. Залруулалтын багц нь өдөр өнгөрөх бүр + улам эвгүйгээр томорч байсан бөгөөд бид ямар нэг юм хийх ёстойг 100 хувь зөвшөөрч + Биллд туслахаар шийдэж энэхүү дундын <quote>цэвэрлэсэн</quote> хормын хувилбарыг + гаргасан юм. Тэдгээр төлөвлөгөөнүүд нь Билл Жолицийг юу хийгдэж болохыг тодорхой + харуулахын оронд ямар ч зүйлгүйгээр төслийн өөрийн санкцаас гэнэт татгалзах шийдвэрт + хүргэж бүдүүлэг зогсоолтод хүргэсэн юм.</para> + + <indexterm><primary>Грийнмэн, Дэйвид</primary></indexterm> + <indexterm><primary>Волнат Крийк CDROM</primary></indexterm> + <para>Биллийн дэмжлэггүй ч гэсэн зорилго маань харамсахааргүй хэвээрээ үлдэхийг + бид нэг их удалгүй шийдсэн бөгөөд Дэйвид Грийнмэний бодож олсноор + <quote>FreeBSD</quote> нэрийг авсан юм. Бидний эхний зорилгууд + системийн одоогийн хэрэглэгчидтэй зөвлөлдсөний дараа тодорхойлогдсон бөгөөд + төсөл эхэлсэн нь тодорхой болсоны дараа бүр магадгүй амьдрал дээр биеллээ олохын + тулд би Интернет уруу хялбар хандах боломжгүй олон золгүйчүүдэд зориулж + FreeBSD-ийн түгээлтийн сувгуудыг сайжруулах зорилготойгоор Волнат Крийк + CDROM-той холбоо тогтоосон юм. + Волнат Крийк CDROM нь FreeBSD-г CD дээр түгээх санааг дэмжээд зогсоогүй + ажиллах машин бас хурдан Интернетийн холболтыг төсөлд зориулан хангасан юм. + Волнат Крийк CDROM-ийн тэр үед тэр чигээрээ үл мэдэгдэх төсөлд бараг л + урьдчилан тооцох аргагүй өгсөн итгэлгүйгээр FreeBSD одоогийн хүрсэн шиг ийм + хол түвшинд, ийм хурдан хүрэхгүй байсан биз ээ.</para> + + <indexterm><primary>4.3BSD-Lite</primary></indexterm> + <indexterm><primary>Net/2</primary></indexterm> + <indexterm><primary>К.И.С. Беркли</primary></indexterm> + <indexterm><primary>386BSD</primary></indexterm> + <indexterm><primary>Чөлөөт Програм Хангамжийн Сан</primary></indexterm> + <para>Анхны CDROM (ерөнхийдөө сүлжээнд өргөнөөр) түгээлт 1993 оны 12 сард гаргасан + FreeBSD 1.0 байлаа. Энэ нь Берклигийн К.И.С-ийн 4.3BSD-Lite + (<quote>Net/2</quote>) касет дээр тулгуурласан, бас 386BSD болон Чөлөөт Програм + Хангамжийн Сангаас хангасан олон хэсгүүдээс тогтсон байсан билээ.Энэ бол эхний удаад нэлээн + боломжийн амжилт байсан бөгөөд дараа нь бид маш өндөр амжилт олсон FreeBSD 1.1 + хувилбарыг 1994 оны 5 сард гаргасан юм.</para> + + <indexterm><primary>Новэлл</primary></indexterm> + <indexterm><primary>К.И.С. Беркли</primary></indexterm> + <indexterm><primary>Net/2</primary></indexterm> + <indexterm><primary>AT&T</primary></indexterm> + <para>Энэ үед урт удаан үргэлжилсэн Берклигийн Net/2 касетний хууль эрх зүйн статустай + холбоотой Новэлл ба Берклигийн К.И.С нарын хоорондох зарга шийдэгдэж гэнэтийн хар + үүлс бий болсон юм. Тэр тохиролцооны нөхцөл нь <quote>саад болсон</quote> код ба + Новэллийн урьд нь AT&T-ээс авсан өмч болох Net/2-ийн ихэнх хэсэг дээр хийсэн + Берклигийн К.И.С-ийн буулт байлаа. Хариуд нь Новэллийн <quote>адислал</quote> + 4.4BSD-Lite хувилбар байсан бөгөөд энэ нь гарсаныхаа дараа саадгүйгээр тунхаглагдаж + түүн уруу Net/2-ийн бүх хэрэглэгчид маш хүчтэйгээр шилжихийг дэмжих явдал байлаа. + Үүнд FreeBSD бас орсон бөгөөд төсөлд 1994 оны 7 сараас хүртэл хугацаа өгч өөрийн + Net/2 дээр тулгуурласан бүтээгдэхүүнээ гаргахыг хориглосон юм. Тэр гэрээнийн хүрээнд + эцсийн хугацаанаас өмнө төсөлд сүүлийн нэг хувилбар гаргахыг зөвшөөрсөн бөгөөд тэр + хувилбар нь FreeBSD 1.1.5.1 байлаа.</para> + + <para>Дараа нь FreeBSD бараг тэр чигээрээ шинэ, бүрэн биш 4.4BSD-Lite-ийн хэсгээс + өөрийгээ дахин бүтээх хүнд бэрх бодлогыг тогтоосон юм. The <quote>Lite</quote> + хувилбарууд нь зарим талаараа хөнгөн байсан, учир нь ачаалагдаж ажиллах системийг + бүтээхэд шаардлагатай кодын ихээхэн хэсгийг Берклигийн CSRG арилгасан + (төрөл бүрийн хууль эрх зүйн шаардлагаар) бөгөөд 4.4-ийн Интелийн хэсэг бас нэлээн + бүрэн биш байлаа. Энэ шилжилтийг хийсээр төсөл 1994 оны 11 сар хүргэсэн бөгөөд + тэр үед сүлжээ болон CDROM (12 сарын сүүлээр) дээр FreeBSD 2.0-ийг гаргасан + байна. Хэдийгээр гадуураа бага зэрэг түүхий байсан боловч энэ хувилбар нь ихээхэн амжилттай + болсон бөгөөд удалгүй илүү хүчирхэг, амархан суулгадаг FreeBSD 2.0.5 хувилбарыг + 1995 оны 6 сард гаргасан билээ.</para> + + <para>1996 оны 8 сард FreeBSD 2.1.5-ыг бид гаргасан бөгөөд энэ нь ISP болон + арилжааны хүрээнийхэнд нэлээн алдаршсан ба 2.1-STABLE салбарын бас нэг өөр хувилбар + сайшаагдсан билээ. Энэ нь 1997 оны 2 сард гарсан FreeBSD 2.1.7.1 бөгөөд 2.1-STABLE + -ийн зонхилох хөгжүүлэлтийн төгсгөл болсон юм. Одоо үйл ажиллагааг хангах горимд + зөвхөн аюулгүй байдлын өргөжүүлэлт болон бусад ноцтой алдааны засварлалтууд энэ салбарын + (RELENG_2_1_0) хувьд хийгдэх болно.</para> + + <para>FreeBSD 2.2 нь хөгжүүлэлтийн гол салбараас (<quote>-CURRENT</quote>) + 1996 оны 11 сард RELENG_2_2 салбар болон салбарлан гарсан бөгөөд анхны + бүрэн хувилбар (2.2.1) 1997 оны 4 сард гарсан юм. 2.2 салбарын дараагийн + хувилбарууд 97 оны зун болон намар гарцгаасан бөгөөд тэдгээрийн сүүлийнх (2.2.8) + 1998 оны 11 сард гарчээ. Анхны албан ёсны 3.0 хувилбар 1998 оны 10 сард + гарсан бөгөөд 2.2 салбарын хувьд төгсгөл болох эхлэлийг тавьсан юм.</para> + + <para>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-нд гарсан бөгөөд + хэдхэн хоногийн дараагаар Kerberos-т сүүлийн минутын аюулгүй байдлын засваруудыг + оруулсан багахан хувилбар шинэчлэл 3.5.1-ийг гарахад хүргэсэн юм. Энэ нь 3.X салбар + дахь сүүлийн хувилбар юм.</para> + + <para>2000 оны 3 сарын 13-нд нэг салбар гарсан нь 4.X-STABLE салбар бий болсон + явдал юм. Үүнээс хэд хэдэн хувилбарууд гарсан: 4.0-RELEASE 2000 оны 3 сард + танилцуулагдсан бөгөөд сүүлийн 4.11-RELEASE 2005 оны 1 сард гарсан юм.</para> + + <para>Удаан хүсэн хүлээсэн 5.0-RELEASE 2003 оны 1 сарын 19-нд зарлагдсан. Ойролцоогоор + 3 жилийн ажлыг шингээсэн энэ хувилбар нь FreeBSD-г өргөжүүлсэн олон процессор, + програмын урсгал дэмжлэгийн замд гаргаж &ultrasparc; ба <literal>ia64</literal> + тавцангуудад зориулсан дэмжлэгийг танилцуулсан билээ. Энэ хувилбарын дараагаа 2003 оны + 6 сард 5.1 хувилбар гарсан. -CURRENT салбарын сүүлийн 5.X хувилбар 2004 оны 2 сард + танилцуулагдсан 5.2.1-RELEASE байв.</para> + + <para>RELENG_5 салбар 2004 оны 8 сард үүссэн бөгөөд дараагаар нь + 5-STABLE салбар хувилбаруулын эхлэлийг тэмдэглэсэн 5.3-RELEASE гарсан юм. + Хамгийн сүүлийн &rel2.current;-RELEASE &rel2.current.date; гарсан. + RELENG_5 салбараас дахиж нэмэлт хувилбарууд гарахгүй.</para> + + <para>2005 оны 7 сард энэ удаа RELENG_6-д зориулж мод дахин салбарлажээ. + 6.X салбарын анхны хувилбар болох 6.0-RELEASE 2005 оны 11 сард гарчээ. + Хамгийн сүүлийн &rel.current;-RELEASE &rel.current.date; гарсан. + RELENG_6 салбарын нэмэлт хувилбарууд гарах болно.</para> + + <para>Одоогоор урт хугацааны хөгжүүлэлтийн төслүүд 7.X-CURRENT (транк) салбарт + үргэлжлэх бөгөөд ажил урагшлах бүр CDROM дээрх (мэдээж сүлжээнд бас) 7.X-ийн + SNAPshot хувилбарууд + <ulink url="ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/"> + Хормын агшны сервэр</ulink>ээс үргэлжлэн гарсаар байх болно.</para> + </sect2> + + <sect2 id="goals"> + <sect2info> + <authorgroup> + <author> + <firstname>Жордан</firstname> + <surname>Хаббард</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + + <title>FreeBSD Төслийн Зорилгууд</title> + + <indexterm> + <primary>FreeBSD Төсөл</primary> + <secondary>зорилгууд</secondary> + </indexterm> + <para>FreeBSD Төслийн зорилгууд нь ямар нэг хязгаарлалтгүйгээр дурын зорилгоор ашиглаж + болох програм хангамжийг хангах явдал юм. Бидний олонхи нь кодонд (болон төсөлд) + чухал хөрөнгө оруулалт хийцгээсэн бөгөөд одоо болон ирээдүйд багахан санхүүгийн нөхөн + олговороос мэдээж татгалзахгүй, гэхдээ бид мэдээж үүнийг шаардахаар бэлтгэгдээгүй юм. + Бидний анхны бөгөөд нэн тэргүүний <quote>даалгавар</quote> бол ирсэн дурын болон + бүгдэд аль ч зорилгоор ашиглагдаж болох кодоор хангах бөгөөд код нь аль болох өргөн + хэрэглэгдэж, аль болох өргөн үр ашгийг өгөх явдал юм. Энэ нь Чөлөөт Програм + Хангамжийн хамгийн үндсэн зорилгуудын нэг бөгөөд бид үүнийг санаачлагатайгаар + дэмжих ёстой гэдэгт би итгэж байна.</para> + + <indexterm> + <primary>GNU General Public License (GPL)</primary> + </indexterm> + <indexterm> + <primary>GNU Lesser General Public License (LGPL)</primary> + </indexterm> + <indexterm><primary>BSD Зохиогчийн Эрх</primary></indexterm> + <para>Бидний эх модонд байгаа GNU General Public License (GPL) эсвэл + Library General Public License (LGPL) хүрээнд байдаг код нь арай илүү + хязгаарлалттай бөгөөд ядаж л эсрэгээрээ байх биш харин ч хүчилсэн хандлагын талд байдаг. + GPL програм хангамжийг арилжааны зорилгоор ашиглахад гарах нэмэлт төвөгтэй асуудлуудаас + болоод бид ингэж хийхэд боломжийн сонголт байгаа нөхцөлд арай зөөлөн BSD Зохиогчийн + Эрхийн доор програм хангамжийг ирүүлэхийг илүүд үздэг.</para> + </sect2> + + <sect2 id="development"> + <sect2info> + <authorgroup> + <author> + <firstname>Сатоши</firstname> + <surname>Асами</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + + <title>FreeBSD Хөгжүүлэх Загвар</title> + + <indexterm> + <primary>FreeBSD Төсөл</primary> + <secondary>хөгжүүлэх загвар</secondary> + </indexterm> + <para>FreeBSD-ийн хөгжүүлэлт нь бидний <ulink + url="&url.articles.contributors;/article.html">хувь нэмэр + оруулагчдын жагсаалт</ulink>аас харахад дэлхий даяар хэдэн зуун хүмүүсийн оруулсан + хувь нэмэр дээр бүтээгдсэн, их нээлттэй, уян хатан процесс юм. + FreeBSD-ийн хөгжүүлэлтийн дэд бүтэц нь эдгээр хэдэн зуун хөгжүүлэгчдийг + Интернетээр хамтран ажиллах боломжийг нээж өгдөг. + Бид шинэ хөгжүүлэгчид, болон санаануудыг тогтмол хайж байдаг бөгөөд + төсөлтэй илүү ойртохыг сонирхсон хэн ч гэсэн &a.hackers; хаягаар бидэнд + хандаарай. Мөн бусад FreeBSD хэрэглэгчдэд гол гол ажлуудын талаар мэдээлэх + &a.announce; бас байгаа болно.</para> + + <para>Чөлөөтэй болон нягт хамтын ажиллагаан доор ажилладагаас үл хамааран FreeBSD + төсөл болон түүний хөгжүүлэлтийн процессийн талаар ашигтай зүйлсийн талаар мэдэхийг + хүсвэл:</para> + + <variablelist> + <varlistentry> + <term>CVS репозитор<anchor + id="development-cvs-repository"></term> + + <indexterm> + <primary>CVS</primary> + <secondary>репозитор</secondary> + </indexterm> + <indexterm> + <primary>Зэрэгцээ Хувилбаруудын Систем</primary> + <see>CVS</see> + </indexterm> + <listitem> + <para>FreeBSD-ийн гол эх мод нь FreeBSD-тэй цуг багцалсан чөлөөтэй байдаг + эх кодыг хянах багаж болох + <ulink url="http://ximbiot.com/cvs/wiki/">CVS</ulink>-ээр + (Зэрэгцээ Хувилбаруудын Систем) тэтгэгдэж байдаг. Үндсэн + <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi">CVS + репозитор</ulink> АНУ-ийн Калифорнийн Санта Клара дахь машин дээр + байрладаг бөгөөд тэндээс дэлхий даяар байрласан хэд хэдэн толин тусгалын + машинууд уруу хувилагддаг. <link + linkend="current">-CURRENT</link> болон <link + linkend="stable">-STABLE</link> модуудыг агуулсан CVS мод + таны өөрийн машин дээр ч гэсэн амархан хувилагдах боломжтой. + Үүнийг хэрхэн хийх талаар дэлгэрэнгүй мэдээллийг + <link linkend="synching">Өөрийн эх модоо хамгийн сүүлийн түвшинд + аваачих</link> хэсэг уруу хандаж үзээрэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Итгэмжлэн оруулагчдын жагсаалт<anchor + id="development-committers"></term> + + <indexterm><primary>итгэмжлэн оруулагчид</primary></indexterm> + <listitem> + <para><firstterm>Итгэмжлэн оруулагчид</firstterm> нь CVS мод уруу + <emphasis>бичих</emphasis> эрхтэй бөгөөд FreeBSD-ийн эхэд + өөрчлөлтүүд хийх зөвшөөрөлтэй хүмүүс юм (<quote>итгэмжлэн оруулагч</quote> гэсэн + ойлголт нь CVS репозитор уруу шинэ өөрчлөлтүүдийг хийдэг &man.cvs.1;-ийн + <command>commit</command> тушаалаас гаралтай). + + Итгэмжлэн оруулагчдад илгээсэн зүйлээ хянуулахаар өгөх хамгийн шилдэг арга нь + &man.send-pr.1; тушаал юм. Хэрэв ямар нэг зүйл систем дээр гацвал + &a.committers; уруу та цахим захидал бас илгээн холбогдож болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FreeBSD-ийн гол баг<anchor id="development-core"></term> + + <indexterm><primary>гол баг</primary></indexterm> + <listitem> + <para>FreeBSD-г компани гэж бодох юм бол <firstterm>FreeBSD-ийн гол баг</firstterm> + нь захирлуудын зөвлөлтэй ижил утгатай юм. Гол багийн үндсэн үүрэг нь + төсөл бүхэлдээ сайн байж, түүнийг зөв чиглэлээр явуулахыг хянаж байх явдал юм. + Өөрийгөө бүрэн дайчилсан, хариуцлагатай хөгжүүлэгчдийг итгэмжлэн оруулагчдын + бүлэгт урих нь гол багийн үүргүүдийн нэг бөгөөд зарим гишүүд шилжихэд гол багийн + шинэ гишүүдийг шинээр авах нь бас нэг үүрэг нь юм. + Одоогийн гол баг нь нэр дэвшигч итгэмжлэн оруулагчдаас 2006 оны 7 сард сонгогдсон. + Сонгууль 2 жилд нэг удаа явагддаг.</para> + + <para>Гол багийн зарим гишүүд тусгай хариуцлагатай бөгөөд системийн ихээхэн хэсэг + сурталчилсан хэмжээгээрээ ажиллаж байхыг хянаж бие сэтгэлээ зориулж байдаг. + FreeBSD хөгжүүлэгчдийн жагсаалт болон тэдний аль хэсэгт хариуцлагатайг + <ulink url="&url.articles.contributors;/article.html">Хувь + нэмэр оруулагчдын жагсаалт</ulink>аас үзнэ үү.</para> + + <note> + <para>Гол багийн ихэнх гишүүд FreeBSD-ийн хөгжүүлэлтэд сайн дураар оролцдог бөгөөд + төслөөс санхүүгийн хувьд ашиг олдоггүй болохоор <quote>commitment</quote> + гэдэг нь <quote>баталгаатай дэмжлэг</quote> гэсэн үг гэж ойлгож болохгүй юм. + Дээрх <quote>захирлуудын зөвлөл</quote> гэсэн аналог нь тийм ч зөв биш бөгөөд + эдгээр хүмүүс нь FreeBSD-ийн тусын тулд өөрсдийнхөө илүү шийдлийн эсрэг амьдралаа + орхисон хүмүүс гэвэл магадгүй илүү тохирох биз ээ!</para> + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term>Гаднын хувь нэмэр оруулагчид</term> + + <indexterm><primary>хувь нэмэр оруулагчид</primary></indexterm> + <listitem> + <para>Эцэст нь, гэхдээ мэдээж хамгийн сүүлийх биш, хамгийн том бүлэг + хөгжүүлэгчид нь санал сэтгэгдэл болон алдааны засваруудыг бидэнд + бараг л тогтмол илгээдэг хэрэглэгчид юм. FreeBSD-ийн илүү + төвлөрсөн бус хөгжүүлэлттэй холбоотой байх үндсэн арга нь + тийм зүйлсийн талаар хэлэлцдэг &a.hackers;-д бүртгүүлэх явдал юм. + FreeBSD-ийн төрөл бүрийн захидлын жагсаалтын талаар дэлгэрэнгүйг + <xref linkend="eresources">-ээс үзнэ үү.</para> + + <para><citetitle><ulink + url="&url.articles.contributors;/article.html">FreeBSD-ийн + Хувь нэмэр оруулагчдын Жагсаалт</ulink></citetitle> нь урт бөгөөд + өсөн нэмэгдэж байгаагийн нэг, тийм болохоор яагаад өнөөдөр FreeBSD-д + хувь нэмэр оруулж энэ жагсаалтад нэгдэж болохгүй гэж?</para> + + <para>Код ирүүлэх нь төсөлд хувь нэмэр оруулах ганц арга биш юм; + Хийх шаардлагатай байгаа зүйлсүүдийн бүрэн жагсаалтын талаар + <ulink url="&url.base;/index.html">FreeBSD Төслийн вэб хуудсын + хаяг</ulink>т хандаж үзнэ үү.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Дүгнэж хэлэхэд бидний хөгжүүлэлтийн загвар нь нэг нь нөгөөдөө багтсан, чөлөөтэй + тойргууд маягаар зохион байгуулагдсан загвар юм. Төвлөрсөн загвар нь ирээдүйтэй хувь + нэмэр оруулагчдыг цааш түлхэлгүйгээр нэг төвийн кодын сууриийг хялбар хянах боломжийг + олгож FreeBSD-ийн <emphasis>хэрэглэгчдэд</emphasis> эвтэй байхаар зориулагдан + дизайн хийгдсэн юм. Бидний хүсэл бол хэрэглэгчид амархан суулгаж ашиглаж болдог + ихээхэн хэмжээний уялдаа холбоотой <link linkend="ports">хэрэглээний програмууд</link>тай + тогтвортой үйлдлийн системийг бий болгох явдал юм — энэнд хүрэхэд энэ загвар нь + маш сайн тохирон ажиллаж байна.</para> + + <para>Төслийн амжилттай байсаар байгаад хүргэж байгаа одоогийн хүмүүсийн адил бие + сэтгэлийнхээ зарим ч гэсэн хэсгийг зориулахыг FreeBSD хөгжүүлэгч болон бидэнтэй нэгдэж + байгаа хүмүүсээс хүсэж байгаа бидний цорын ганц хүсэлт юм!</para> + </sect2> + + <sect2 id="relnotes"> + <title>Одоогийн FreeBSD хувилбарууд</title> + + <indexterm><primary>NetBSD</primary></indexterm> + <indexterm><primary>OpenBSD</primary></indexterm> + <indexterm><primary>386BSD</primary></indexterm> + <indexterm><primary>Чөлөөт Програм Хангамжийн Сан</primary></indexterm> + <indexterm><primary>К.И.С. Беркли</primary></indexterm> + <indexterm> + <primary>Компьютерийн Системийн судалгааний Бүлэг (CSRG)</primary> + </indexterm> + <para>FreeBSD нь чөлөөтэй байдаг, Интел &i386;, &i486;, &pentium;, + &pentium; Pro, + &celeron;, + &pentium; II, + &pentium; III, + &pentium; 4 (эсвэл нийцтэй), + &xeon;, DEC <trademark>Alpha</trademark> + болон Sun &ultrasparc;-д зориулагдсан бүрэн эх 4.4BSD-Lite дээр тулгуурласан + хувилбар юм. Энэ нь үндсэндээ NetBSD, OpenBSD, 386BSD, болон Чөлөөт Програм + Хангамжийн Сангийн зарим өргөжүүлэлт хийгдсэн Берклигийн К.И.С.-ийн CSRG бүлгээс + гаргасан програм хангамжууд дээр үндэслэсэн.</para> + + <para>94 оны сүүлд гарсан FreeBSD 2.0 хувилбараас хойш FreeBSD-ийн хурдан + ажиллагаа, боломжууд болон тогтвортой байдал мэдэгдэхүйц сайжирсан. + <!-- XXX is the rest of this paragraph still true ? --> + Хамгийн том өөрчлөлт нь нийлсэн VM/файл буфферийн кэш бүхий засварласан виртуал санах ойн систем + бөгөөд энэ нь ажиллагааг хурдасгаад зогсохгүй FreeBSD-ийн санах ойн мөрийг багасгаж + 5 MB тохиргоог илүү боломжийн хамгийн бага хэмжээнд хүргэсэн. Бусад + өргөтгөлүүдийг дурдвал гүйцэд NIS клиент ба серверийн дэмжлэг, шилжилтийн TCP дэмжлэг, + шаардлагаар залгах PPP, цогц DHCP дэмжлэг, сайжруулсан SCSI дэд систем, ISDN + дэмжлэг, ATM-ийн дэмжлэг, FDDI, Хурдан болон Гигабит Ethernet (1000 Mbit) + картууд, сүүлийн үеийн Адаптек хянагчууд болон олон мянган алдаануудын засварууд зэрэг юм.</para> + + <para>Үндсэн түгээлтүүдээс гадна FreeBSD нь мянга мянган байнга хайгддаг програмуудтай + хөрвүүлсэн програм хангамжийн цуглуулгатай байдаг. Энэ авлагыг хэвлэж байх үед + &os.numports; гаруй портууд байсан! Портуудын жагсаалтад http (WWW) серверүүдээс + тоглоомууд, хэлнүүд, засварлагчид, зэрэг бараг л бүх төрлийн програмууд байдаг. + Портуудын Цуглуулга бүхэлдээ ойролцоогоор &ports.size; хэмжээний хадгалалт шаарддаг + бөгөөд бүх портууд өөрсдийн жинхэнэ эхийн хувьд <quote>дельта</quote> болж илэрхийлэгддэг. + Энэ нь бидэнд портуудыг шинэчлэхэд хялбар болгож хуучин 1.0 Портуулын Цуглуулгын шаарддаг + байсан дискийн зайн шаардлагыг ихээхэн багасгаж өгдөг. Портыг хөрвүүлэхийн тулд та + суулгахыг хүсэж байгаа програмын сан уруу шилжиж <command>make install</command> + хэмээн бичихэд систем цааш үлдсэнийг хийх болно. Таны бүтээх порт болгоны жинхэнэ эх бүрэн + түгээлт динамикаар CDROM эсвэл локаль FTP хаягаас татагдах бөгөөд танд зөвхөн хүссэн портоо + бүтээх хангалттай дискийн зай л шаардлагатай. Порт бүр урьдчилан хөрвүүлсэн <quote>багц</quote> + хэлбэрээр бас байх бөгөөд өөрийн портыг эхээс хөрвүүлэх хүсэлгүй хүмүүс хялбар тушаалаар + (<command>pkg_add</command>) ийм портыг суулгаж болдог. Багцууд болон портуудын + талаар дэлгэрэнгүй мэдээллийг <xref linkend="ports"> хаягаар олж болно.</para> + + <para>Танд FreeBSD суулгаж ашиглах явцад маш их тус болохуйц хэд хэдэн баримтуудыг + хамгийн сүүлийн үеийн дурын FreeBSD машин дээр + <filename>/usr/share/doc</filename> + сангаас бас олох боломжтой юм. Локалиар суусан гарын авлагуудыг та HTML боломжтой + хөтөчүүдийг ашиглан дараах хаягаас үзэж болно:</para> + + <variablelist> + <varlistentry> + <term>FreeBSD Гарын авлага</term> + + <listitem> + <para><ulink type="html" + url="file://localhost/usr/share/doc/handbook/index.html"><filename>/usr/share/doc/handbook/index.html</filename></ulink></para> + </listitem> + </varlistentry> + + <varlistentry> + <term>FreeBSD-ийн БХА (байнга хариулагддаг асуултууд FAQ)</term> + + <listitem> + <para><ulink type="html" + url="file://localhost/usr/share/doc/faq/index.html"><filename>/usr/share/doc/faq/index.html</filename></ulink></para> + </listitem> + </varlistentry> + </variablelist> + + <para>Мөн та мастер (болон бусдаас их шинэчлэгддэг) хуулбаруудыг + <ulink url="http://www.FreeBSD.org/"></ulink> хаягаас үзэж болно.</para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/jails/chapter.sgml b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml new file mode 100644 index 0000000000..d49b837285 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml @@ -0,0 +1,477 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.3 + + $FreeBSD$ +--> +<chapter id="jails"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Матео</firstname> + <surname>Риондато</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Jails буюу Шоронгууд</title> + + <indexterm><primary>шоронгууд</primary></indexterm> + + <sect1 id="jails-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>Энэ бүлэг нь &os;-ийн шоронгууд гэж юу болох, тэдгээрийг хэрхэн ашиглах + талаар тайлбарлах болно. Шоронгууд буюу заримдаа <emphasis>chroot орчнууд</emphasis>ын + өргөжүүлсэн орлуулалт гэгддэг энэ боломж нь системийн администраторуудад + зориулагдсан маш хүчтэй хэрэгсэл боловч тэдгээрийн үндсэн хэрэглээ нь + илүү дэвшилтэт хэрэглэгчдэд бас үр ашигтай байдаг.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Шорон гэж юу болох, &os;-ийн суулгалтуудад ямар зорилгоор + ашиглагдаж болох талаар.</para> + </listitem> + + <listitem> + <para>Шоронг хэрхэн бүтээх, эхлүүлэх, болон зогсоох талаар.</para> + </listitem> + + <listitem> + <para>Шоронгийн гадна болон дотор талаас хийгдэж болох + удирдлагын үндсүүд.</para> + </listitem> + </itemizedlist> + + <para>Шоронгийн талаарх ашигтай мэдээллийн өөр бусад эхүүдийг дурдвал:</para> + + <itemizedlist> + <listitem> + <para>&man.jail.8; гарын авлагын хуудас. Энэ нь <command>jail</command> + хэрэгслийн бүрэн гүйцэд авлага юм — <command>jail</command> нь &os; + дээр &os; шоронгуудыг эхлүүлэх, зогсоох, болон хянахад ашиглагдаж болох + удирдлагын хэрэгсэл юм.</para> + </listitem> + + <listitem> + <para>Захидлын жагсаалтууд болон тэдгээрийн архивууд. &a.questions; + болон бусад захидлын жагсаалтуудын архивууд нь &a.mailman.lists; дээр + байрладаг бөгөөд шоронгуудын талаар маш баялаг материалуудыг агуулсан байдаг. + Архивуудаас хайх юм уу эсвэл &a.questions.name; захидлын жагсаалт уруу + шинэ асуултаа илгээх нь үргэлж сонирхолтой байдаг.</para> + </listitem> + </itemizedlist> + + </sect1> + + <sect1 id="jails-terms"> + <title>Шоронгуудтай холбоотой ойлголтууд</title> + + <para>Шоронгуудтай холбоотой &os; системийн хэсгүүд, тэдгээрийн дотоод хэсгүүд болон + &os;-ийн бусад хэсэгтэй хэрхэн харилцдаг арга замыг илүүтэй ойлгохыг хөнгөвчлөхийн тулд + энэ хэсэгт дараах ойлголтуудыг ашиглах болно:</para> + + <variablelist> + <varlistentry> + <term>&man.chroot.2; (тушаал)</term> + <listitem> + <para>Процесс болон түүний бүх үр удмуудын root санг өөрчилдөг + &os;-ийн системийн дуудлага.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&man.chroot.2; (орчин)</term> + <listitem> + <para><quote>chroot</quote>-д ажиллаж байгаа процессуудын орчин. + Үүнд харагдаж байгаа файлын системийн хэсэг, байгаа хэрэглэгч болон + бүлэг, сүлжээний интерфэйсүүд болон бусад IPC арга замууд гэх + мэт эх үүсвэрүүд ордог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&man.jail.8; (тушаал)</term> + <listitem> + <para>Шоронгийн орчин дотор процессуудыг ажиллуулах боломжийг олгох + системийн удирдлагын хэрэгсэл.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>хост (систем, процесс, хэрэглэгч, гэх мэт.)</term> + <listitem> + <para>Шоронгийн системийн хяналтын систем. Хост систем нь байгаа бүх тоног + төхөөрөмжийн эх үүсвэрүүдэд хандах боломжтой байдаг бөгөөд + шоронгийн орчны болон түүний гаднах процессуудыг хянаж чаддаг. + Хост системийн шоронгоос ялгарах нэг чухал ялгаа нь шорон доторх + супер хэрэглэгчийн процессуудад хамаарах хязгаарлалтууд + хост системийн процессуудын хувьд үйлчилдэггүй явдал юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>хост хийгдсэн (систем, процесс, хэрэглэгч, гэх мэт.)</term> + <listitem> + <para>&os; шоронгоор эх үүсвэрүүдэд ханддаг хандалт нь хязгаарлагддаг + процесс, хэрэглэгч эсвэл бусад зүйлс.</para> + </listitem> + </varlistentry> + </variablelist> + </sect1> + + <sect1 id="jails-intro"> + <title>Танилцуулга</title> + + <para>Системийн удирдлага нь хэцүү, самууруулмаар ажил болохоор администраторын + амьдралыг хялбар болгох үүднээс олон хүчирхэг хэрэгслүүд хийгдэж хөгжүүлэгдсэн + байдаг. Эдгээр хэрэгслүүд нь системийг суулгах, тохируулах, болон арчлахад + нэгэн төрлийн өргөтгөлүүдийг ихэвчлэн хангаж өгдөг. Администраторуудын + хийх ёстой эдгээр ажлуудын нэг хэсэг нь системийн аюулгүй байдлыг зөв тохируулах + явдал юм. Ингэснээр аюулгүй байдлын зөрчлүүдгүйгээр систем өөрийн жинхэнэ + зорилгоороо үйлчлэх болно.</para> + + <para>&os; системийн аюулгүй байдлыг сайжруулахад ашиглагдаж болох хэрэгслүүдийн + нэг нь <emphasis>jails</emphasis> буюу <emphasis>шоронгууд</emphasis> + юм. Шоронгуудыг &os;-4.X дээр &a.phk; анх танилцуулсан юм. Гэхдээ тэдгээрийг + хүчирхэг, уян хатан дэд систем болгохын тулд &os;-5.X дээр илүү ихээр сайжруулсан + билээ. Тэдгээрийн ашигтай тал, ажиллагаа болон найдвартай байдлыг өргөжүүлэн + тэдгээрийн хөгжүүлэлт үргэлжилсэн хэвээр болой.</para> + + <sect2 id="jails-what"> + <title>Шорон гэж юу вэ</title> + + <para>BSD-тэй төстэй үйлдлийн системүүд нь 4.2BSD-ийн үеэс эхлэн &man.chroot.2; + боломжтой болсон билээ. &man.chroot.8; хэрэгсэл нь процессуудын олонлогийн + root санг өөрчлөхөд ашиглагдаж + аюулгүй орчин үүсгэн системийн бусад хэсгээс тэдгээрийг тусгаарладаг. + chroot хийгдсэн орчинд үүсгэгдсэн процессууд нь өөрийн орчноос гаднах файлууд + болон эх үүсвэрүүдэд хандаж чаддаггүй. Энэ шалтгаанаар chroot хийгдсэн + орчинд ажиллаж байгаа үйлчилгээг эвдэх нь халдагчид бүхэл системийг + эвдэх боломжийг олгох ёсгүй юм. &man.chroot.8; хэрэгсэл нь маш их уян хатан + чанар эсвэл төвөгтэй, дэвшилтэт боломжуудыг шаарддаггүй хялбар ажлуудад + сайн байдаг. Мөн chroot ойлголтын эхлэлээс эхлээд л chroot хийгдсэн орчноос + зугтах олон арга замууд олдсон бөгөөд хэдийгээр тэдгээр нь &os; цөмийн + орчин үеийн хувилбаруудад засагдсан боловч &man.chroot.2; нь үйлчилгээнүүдийг + аюулгүй болгоход зориулагдсан туйлын шийдэл биш нь тодорхой байсан юм. + Үүнтэй холбоотой шинэ дэд систем хийгдэх шаардлагатай болсон байна.</para> + + <para>Энэ нь <emphasis>шоронгууд</emphasis> яагаад хөгжүүлэгдсэн + гол шалтгаануудын нэг юм.</para> + + <para>Шоронгууд нь уламжлалт &man.chroot.2; орчны ойлголтуудыг хэд хэдэн + аргаар сайжруулдаг. Уламжлалт &man.chroot.2; орчинд процессууд нь + өөрийн хандаж болох файлын системийн нэг хэсэгт хязгаарлагдаж байдаг. + Системийн бусад эх үүсвэрүүд (системийн хэрэглэгчид, ажиллаж байгаа процессууд, + эсвэл сүлжээний дэд систем зэрэг) нь chroot хийгдсэн процессууд болон + хост системийн процессуудын хооронд хуваалцан хэрэглэгддэг. Шоронгууд нь + зөвхөн файлын систем уруу хандах хандалт биш бас хэрэглэгчид, &os; цөмийн + сүлжээний дэд систем болон бусад хэд хэдэн зүйлсүүдийг виртуалчлан энэ загварыг + өргөтгөдөг байна. Шорон болгосон орчны хандалтыг тааруулахад зориулсан + илүү бүрэн гүйцэд нарийн тааруулсан хяналтуудын олонлог байдаг нь + <xref linkend="jails-tuning"> хэсэгт тайлбарлагдсан байгаа.</para> + + <para>Шорон дөрвөн элементээр тодорхойлогддог:</para> + + <itemizedlist> + <listitem> + <para>Сангийн дэд мод — шоронгийн орж ирдэг эхлэл цэг. + Шорон дотор орсны дараа процессийг энэ дэд модноос гадна + зугтахыг зөвшөөрдөггүй. Анхдагч &man.chroot.2; дизайныг + зовоосон аюулгүй байдлын уламжлалт асуудлууд нь &os; шоронгуудад + байдаггүй.</para> + </listitem> + + <listitem> + <para>Хостын нэр — шорон дотор ашиглагдах хостын нэр. Шоронгууд нь + сүлжээний үйлчилгээнүүдийг хост хийхэд (байрлуулах) ихэвчлэн ашиглагддаг + болохоор шорон бүрийн хувьд тодорхойлсон нэртэй байх нь системийн администраторт + ихээхэн тус болж чадах юм.</para> + </listitem> + + <listitem> + <para><acronym>IP</acronym> хаяг — энэ нь шорон бүрт өгөгдөх + бөгөөд шоронгийн оршин тогтнох хугацаанд ямар ч талаараа өөрчлөгдөх + ёсгүй. Шоронгийн IP хаяг нь ихэвчлэн байгаа сүлжээний интерфэйсийн alias хаяг + байх боловч заавал тийм байх шаардлагагүй юм.</para> + </listitem> + + <listitem> + <para>Тушаал — шорон дотор ажиллах програм/тушаалын зам. + Энэ нь шоронгийн орчны root сантай харьцангуй байх бөгөөд + шоронгийн тусгай очны төрлөөс хамаараад асар өөр өөр байж болох + юм.</para> + </listitem> + </itemizedlist> + + <para>Эдгээрээс гадна шоронгууд нь өөрийн гэсэн хэрэглэгчид болон өөрийн + <username>root</username> хэрэглэгчтэй байж болдог. Мэдээжийн хэрэг + <username>root</username> хэрэглэгчийн хүч чадал шоронгийн орчин дотор + хязгаарлагддаг бөгөөд хост системийн үүднээс авч үзвэл шоронгийн <username>root</username> + хэрэглэгч нь бүхнийг чадагч хэрэглэгч биш юм. Мөн шоронгийн <username>root</username> + хэрэглэгчид өөрийнх нь харгалзах &man.jail.8; орчноос гадна осолтой үйлдлүүдийг + систем дээр хийлгэхийг зөвшөөрдөггүй. <username>root</username> хэрэглэгчийн + боломжууд болон хязгаарлалтуудын талаарх дэлгэрэнгүй мэдээллийг <xref + linkend="jails-tuning"> хэсэгт доор хэлэлцэх болно.</para> + </sect2> + </sect1> + + <sect1 id="jails-build"> + <title>Шоронг үүсгэж хянах нь</title> + + <para>Зарим администраторууд шоронг дараах хоёр төрөлд хуваадаг: эдгээр нь + жинхэнэ &os; системтэй адил төстэй <quote>бүрэн</quote> шоронгууд болон + нэг програм юм уу эсвэл үйлчилгээнд зориулагдсан, магадгүй зөвшөөрлүүдтэй ажиллах + <quote>үйлчилгээ</quote> шоронгууд юм. Энэ нь зөвхөн ухагдахууны хуваагдал + бөгөөд шоронг бүтээх процесс үүнд хамаагүй юм. &man.jail.8; гарын авлагын + хуудас шоронг бүтээх аргачлалын талаар маш тодорхой зааварласан буй:</para> + + <screen>&prompt.root; <userinput>setenv D <replaceable>/here/is/the/jail</replaceable></userinput> +&prompt.root; <userinput>mkdir -p $D</userinput> <co id="jailpath"> +&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make world DESTDIR=$D</userinput> <co id="jailworld"> +&prompt.root; <userinput>cd etc/</userinput> <footnote><para>Энэ алхам нь +&os; 6.0 болон түүнээс хойшхи хувиилбаруудад шаардлагагүй.</para></footnote> +&prompt.root; <userinput>make distribution DESTDIR=$D</userinput> <co id="jaildistrib"> +&prompt.root; <userinput>mount_devfs devfs $D/dev</userinput> <co id="jaildevfs"></screen> + + <calloutlist> + <callout arearefs="jailpath"> + <para>Шоронгийн байрлалыг сонгох нь хамгийн шилдэг эхлэх цэг юм. + Энэ нь шорон физикээр өөрийн хостын файлын систем дотор байрлах байрлал юм. Сайн сонголт нь + <filename + role="directory">/usr/jail/<replaceable>jailname</replaceable></filename> + байж болох бөгөөд энд байгаа <replaceable>jailname</replaceable> нь + шоронг таниулж байгаа хостын нэр юм. <filename + role="directory">/usr/</filename> файлын систем нь + шоронгийн файлын системийн хувьд ихэвчлэн хангалттай зайтай байдаг. + Үндсэндээ <quote>бүрэн</quote> шоронгуудын хувьд энэ шоронгийн + файлын систем нь үндсэн &os; системийн андагч + суулгацад байдаг бүх файлуудын хуулбар байдаг.</para> + </callout> + + <callout arearefs="jailworld"> + <para>Энэ тушаал нь шоронгийн физик байрлал болгон сонгосон сангийн дэд модыг + файлын систем дээр шаардлагатай хоёртын файлууд, сангууд, гарын авлагын + хуудаснууд гэх зэргүүдийг тараан байрлуулах болно. Бүгд хэвшмэл &os; + загвараар хийгдэнэ — эхлээд бүгд бүтээгдэнэ/эмхэтгэгдэнэ, дараа нь + хүрэх замд суулгагдана.</para> + </callout> + + <callout arearefs="jaildistrib"> + <para><application>make</application> тушаалд зориулагдсан + <maketarget>distribution</maketarget> тохируулга нь бүх шаардлагатай + тохиргооны файлыг суулгана, өөрөөр хэлбэл энэ нь + <filename role="directory">/usr/src/etc/</filename> сангийн + бүх суулгаж болох файлуудыг шоронгийн орчны + <filename role="directory">/etc</filename> сан болох + <filename role="directory">$D/etc/</filename> руу хуулдаг.</para> + </callout> + + <callout arearefs="jaildevfs"> + <para>Шорон дотор &man.devfs.8; файлын системийг холбох шаардлагагүй. + Нөгөө талаас авч үзвэл дурын, бараг бүх програм өөрийн зорилгоосоо хамааран + хамгийн багаар бодоход ядаж ганц төхөөрөмжид хандах шаардлагатай байдаг. + Шорон дотроос төхөөрөмжид хандах хандалтыг хянах нь маш чухал байдаг. + Учир нь буруу тохируулгууд халдагчид шорон дотор муухай зүйлс хийх боломжийг + олгож болох юм. &man.devfs.8; дээрх хяналтыг &man.devfs.8; болон + &man.devfs.conf.5; гарын авлагын хуудаснуудад тайлбарласан дүрмийн + олонлогуудаар удирддаг.</para> + </callout> + </calloutlist> + + <para>Шорон суулгагдсаны дараа &man.jail.8; хэрэгсэл ашиглан түүнийг + эхлүүлж болно. &man.jail.8; хэрэгсэл дөрвөн зайлшгүй шаардлагатай + нэмэлт өгөгдлийг авдаг бөгөөд эдгээр нь <xref + linkend="jails-what"> хэсэгт тайлбарлагдсан байгаа болно. + Өөр бусад нэмэлт өгөгдлүүдийг бас зааж өгч болох бөгөөд жишээ нь + шорон хийгдсэн процессийг тухайн нэг хэрэглэгчийн итгэмжлэлүүдтэй ажиллуулж болох юм. + <command>command</command>-н нэмэлт өгөгдөл нь + шоронгийн төрлөөс хамаарна; <emphasis>виртуал системийн</emphasis> + хувьд <filename>/etc/rc</filename> нь боломжийн сонголт байна. + Энэ нь жинхэнэ &os; системийн эхлүүлэх дарааллыг хуулбарлах учраас тэр + юм. <emphasis>Үйлчилгээ</emphasis> шоронгийн хувьд шорон дотор + ажиллах үйлчилгээ эсвэл програмаас энэ нь хамаарна.</para> + + <para>Шоронгууд нь ихэвчлэн ачаалах үед эхлүүлэгддэг бөгөөд &os; + <filename>rc</filename> арга зам нь үүнийг хийх хялбар аргаар + хангадаг.</para> + + <procedure> + <step> + <para>Ачаалах үед эхлэхээр идэвхжүүлэгдсэн шоронгуудын жагсаалтыг + &man.rc.conf.5; файлд нэмэх ёстой:</para> + + <programlisting>jail_enable="YES" # Set to NO to disable starting of any jails +jail_list="<replaceable>www</replaceable>" # Space separated list of names of jails</programlisting> + </step> + + <step> + <para>Шорон бүрийг тайлбарласан &man.rc.conf.5; тохируулгуудын бүлэг + <varname>jail_list</varname>-д жагсаагдсан шорон бүрийн + хувьд дараахийг нэмэх ёстой:</para> + + <programlisting>jail_<replaceable>www</replaceable>_rootdir="/usr/jail/www" # jail's root directory +jail_<replaceable>www</replaceable>_hostname="<replaceable>www</replaceable>.example.org" # jail's hostname +jail_<replaceable>www</replaceable>_ip_="192.168.0.10" # jail's IP address +jail_<replaceable>www</replaceable>_devfs_enable="YES" # mount devfs in the jail +jail_<replaceable>www</replaceable>_devfs_ruleset="<replaceable>www_ruleset</replaceable>" # devfs ruleset to apply to jail</programlisting> + + <para>&man.rc.conf.5;-д тохируулагдсан шоронгуудын анхдагч + эхлүүлэлт нь шоронг бүрэн виртуал систем гэж тооцдог шоронгийн + <filename>/etc/rc</filename> скриптийг ажиллуулах болно. Үйлчилгээний + шоронгуудын хувьд + <varname>jail_<replaceable>jailname</replaceable>_exec_start</varname> + тохируулгыг зохистойгоор тохируулан шоронгийн анхдагч эхлүүлэх тушаалыг + өөрчлөх ёстой.</para> + + <note> + <para>Тохируулгуудын бүрэн жагсаалтыг &man.rc.conf.5; гарын + авлагын хуудаснаас үзнэ үү.</para> + </note> + </procedure> + + <para>Шоронд зориулагдсан оруулга <filename>rc.conf</filename> файлд байгаа + тохиолдолд <filename>/etc/rc.d/jail</filename> скрипт шоронг гараар эхлүүлэх + эсвэл зогсооход ашиглагдаж болох юм:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/jail start <replaceable>www</replaceable></userinput> +&prompt.root; <userinput>/etc/rc.d/jail stop <replaceable>www</replaceable></userinput></screen> + + <para>Одоогоор &man.jail.8;-г зогсоох цэвэр зам байхгүй байгаа. + Цэвэр системийн зогсолтыг хийх тушаалуудыг шорон дотор ашиглах боломжгүй + байдаг болохоор тэр юм. Шоронг зогсоох хамгийн шилдэг арга бол + дараах тушаалыг шорон дотроос ажиллуулах эсвэл шоронгийн гадна + &man.jexec.8; хэрэгслийг ашиглах явдал юм:</para> + + <screen>&prompt.root; <userinput>sh /etc/rc.shutdown</userinput></screen> + + <para>Үүний талаар дэлгэрэнгүй мэдээллийг &man.jail.8; гарын авлагын хуудаснаас + олж болно.</para> + </sect1> + + <sect1 id="jails-tuning"> + <title>Нарийн тааруулалт болон удирдлага</title> + + <para>Аль ч шоронд зориулж тохируулж болох хэд хэдэн тохируулгууд байдаг бөгөөд + өндөр түвшний програмуудыг хийхийн тулд хост &os; системийг шоронгуудтай цуг + хослуулах төрөл бүрийн аргууд бас байдаг. Энэ хэсэг нь дараах зүйлсийг үзүүлнэ:</para> + + <itemizedlist> + <listitem> + <para>Ажиллагаа болон шоронгийн суулгалтаар хийгдсэн аюулгүй байдлын + хязгаарлалтуудыг тааруулахад зориулагдсан зарим тохируулгууд.</para> + </listitem> + + <listitem> + <para>&os;-ийн портын цуглуулгад байх, шорон дээр суурилсан шийдлүүдийг + хийхэд ашиглагдаж болох шорон удирдах зарим нэг өндөр түвшний + програмууд.</para> + </itemizedlist> + + <sect2 id="jails-tuning-utilities"> + <title>&os; дээр шорон тааруулах системийн хэрэгслүүд</title> + + <para>Шоронгийн тохиргооны нарийн сайн тааруулалтыг &man.sysctl.8; + хувьсагчуудыг тохируулснаар ихэвчлэн хийдэг. Бүх хамаатай тохируулгуудыг + зохион байгуулах үндэс болон sysctl-ийн тусгай дэд мод байдаг; + &os; цөмийн тохируулгуудын <varname>security.jail.*</varname> шатлал + юм. Энд шоронтой холбоотой гол sysctl-уудын жагсаалтыг тэдгээрийн + анхдагч утгуудтайгаар харуулав. Нэрс нь өөрийгөө тайлбарласан байгаа, + гэхдээ тэдгээрийн талаар илүү мэдээллийг &man.jail.8; болон &man.sysctl.8; + гарын авлагын хуудаснуудаас лавлана уу.</para> + + <itemizedlist> + <listitem> + <para><varname>security.jail.set_hostname_allowed: + 1</varname></para> + </listitem> + + <listitem> + <para><varname>security.jail.socket_unixiproute_only: + 1</varname></para> + </listitem> + + <listitem> + <para><varname>security.jail.sysvipc_allowed: + 0</varname></para> + </listitem> + + <listitem> + <para><varname>security.jail.enforce_statfs: + 2</varname></para> + </listitem> + + <listitem> + <para><varname>security.jail.allow_raw_sockets: + 0</varname></para> + </listitem> + + <listitem> + <para><varname>security.jail.chflags_allowed: + 0</varname></para> + </listitem> + + <listitem> + <para><varname>security.jail.jailed: 0</varname></para> + </listitem> + </itemizedlist> + + <para><username>root</username> хэрэглэгчид анхдагчаар ноогдуулсан хязгаарлалтуудын + заримыг нэмэх эсвэл хасахын тулд эдгээр хувьсагчуудыг <emphasis>хост системийн</emphasis> + администратор ашиглаж болно. Зарим нэг хязгаарлалтуудыг хасаж болохгүйг + тэмдэглэе. <username>root</username> хэрэглэгчид &man.jail.8; + дотор файлын системүүдийг холбох эсвэл салгахыг зөвшөөрдөггүй. Шорон + доторх <username>root</username> хэрэглэгч &man.devfs.8; дүрмийн + олонлогуудыг дуудах эсвэл буцааж болиулах, галт ханын дүрмүүдийг тохируулах, + эсвэл цөмийн <varname>securelevel</varname> хувьсагчийг тохируулах зэрэг + цөм дэх өгөгдлийн өөрчлөлтүүдийг шаарддаг өөр олон бусад удирдлагын + ажлуудыг хийж чадахгүй байж болох юм.</para> + + <para>&os;-ийн үндсэн систем нь идэвхтэй шоронгуудын талаарх мэдээллийг үзүүлэх болон + удирдлагын тушаалуудыг ажиллуулахын тулд шоронд залгагдаж болох хялбар хэрэгслүүдийн + цуглуулгыг агуулдаг. &man.jls.8; болон &man.jexec.8; нь &os;-ийн үндсэн системийн + хэсэг бөгөөд дараах хялбар ажлуудыг хийж гүйцэтгэхэд ашиглагдаж болно:</para> + + <itemizedlist> + <listitem> + <para>Идэвхтэй байгаа шоронгуудын жагсаалт болон тэдгээрийн харгалзах + шорон танигч (<acronym>JID</acronym>), <acronym>IP</acronym> + хаяг, хостын нэр болон замыг үзүүлнэ.</para> + </listitem> + + <listitem> + <para>Өөрийнх нь хост системээс ажиллаж байгаа шоронд залгагдаж + шорон дотроос шоронгийн удирдлагын ажлуудаас тушаалыг ажиллуулна. + <username>root</username> хэрэглэгч шоронг цэвэрхэн + зогсоож унтраахыг хүсэх үед энэ нь ялангуяа ашигтай байдаг. + Шорон дотор удирдлага хийхийн тулд түүн дотор бүрхүүл эхлүүлэхэд + &man.jexec.8; хэрэгсэл бас ашиглагдаж болдог; жишээ нь:</para> + + <screen>&prompt.root; <userinput>jexec <replaceable>1</replaceable> tcsh</userinput></screen> + </listitem> + </itemizedlist> + </sect2> + + <sect2 id="jails-tuning-admintools"> + <title>&os;-ийн портын цуглуулга дахь өндөр түвшний удирдлагын хэрэгслүүд</title> + + <para>Шорон удирдлагад зориулагдсан гуравдагч талуудын олон хэрэгслүүдийн дундаас + хамгийн бүрэн гүйцэд, ашигтай нь <filename + role="package">sysutils/jailutils</filename> юм. Энэ нь + &man.jail.8;-ийн удирдлагад хувь нэмэр болсон жижиг програмуудын цуглуулга + юм. Дэлгэрэнгүй мэдээллийн талаар түүний веб хуудсанд хандана уу.</para> + </sect2> + </sect1> +</chapter> diff --git a/mn_MN.UTF-8/books/handbook/kernelconfig/Makefile b/mn_MN.UTF-8/books/handbook/kernelconfig/Makefile new file mode 100644 index 0000000000..ab32a0f8ae --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/kernelconfig/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= kernelconfig/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml new file mode 100644 index 0000000000..51147746a2 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml @@ -0,0 +1,1325 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.171 + + $FreeBSD$ +--> + +<chapter id="kernelconfig"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Шинэчилж дахин бүтцийг өөрчилсөн </contrib> + <!-- Mar 2000 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Жэйк</firstname> + <surname>Хэмби</surname> + <contrib>Анхлан хувь нэмэр болгож оруулсан </contrib> + <!-- 6 Oct 1995 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Nov 2006 --> + </author> + </authorgroup> + </chapterinfo> + + <title>FreeBSD цөмийг тохируулах нь</title> + + <sect1 id="kernelconfig-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm> + <primary>цөм</primary> + <secondary>өөрчлөн тохируулж цөм бүтээх нь</secondary> + </indexterm> + + <para>Цөм нь &os; үйлдлийн системийн гол зүрх юм. Энэ нь санах ойг удирдах, + аюулгүй байдлын хяналтуудыг хийх, сүлжээнд холбогдох, диск уруу хандах + зэрэг олон үйлдлүүдийг хариуцан хийдэг. &os; улам илүү динамикаар тохируулагдах + болсон боловч зарим тохиолдолд цөмийг дахин тохируулж хөрвүүлэх шаардлага гардаг.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para> Та магадгүй яагаад өөрт тохируулсан цөм бүтээх хэрэгтэй талаар.</para> + </listitem> + + <listitem> + <para>Цөмийн тохиргооны файлыг хэрхэн бичих эсвэл байгаа тохиргооны файлыг + хэрхэн өөрчлөх талаар.</para> + </listitem> + + <listitem> + <para>Цөмийн тохиргооны файлыг хэрхэн ашиглаж шинэ цөм үүсгэж бүтээх талаар.</para> + </listitem> + + <listitem> + <para>Шинэ цөмийг хэрхэн суулгах талаар.</para> + </listitem> + + <listitem> + <para>Хэрэв юм буруугаар эргэвэл хэрхэн алдааг олох талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэхүү бүлгийн жишээнүүд дэх тушаалууд нь амжилттай болохын тулд + <username>root</username> эрхээр ажиллах ёстой.</para> + </sect1> + + <sect1 id="kernelconfig-custom-kernel"> + <title>Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ?</title> + + <para>Уламжлалаар бол &os; нь <quote>monolithic</quote> цөмтэй байсан байна. + Энэ нь цөм тоотой хэдэн төхөөрөмжүүдийн жагсаалтыг дэмжсэн нэг том програм + байсан гэсэн үг бөгөөд хэрэв та цөмийн ажиллагааг өөрчлөх бол шинэ цөм хөрвүүлж + дараа нь компьютераа шинэ цөмөөр ачаалан эхлүүлэх шаардлагатай байсан билээ.</para> + + <para>Өнөөдөр &os; нь цөмийн ихэнх ажиллагаагаа шаардлагын дагуу динамикаар ачаалдаг + ба цөмөөс буцааж буулгах боломж бүхий модулиудаар тусгаарлагдсан загвар уруу шилжиж + байна. Энэ нь цөм шинэ тоног төхөөрөмжид (зөөврийн компьютер дэх PCMCIA + картууд зэрэг) дасан зохицож түүнийг хурдан хүртээмжтэй болгох, эсвэл цөм анх + хөрвүүлэгдэхдээ цөмд хэрэггүй байсан шинэ ажиллагааг цөмд бий болгох боломжийг + бүрдүүлдэг. Үүнийг модульчлагдсан цөм хэмээдэг юм.</para> + + <para>Тэгсэн ч гэсэн зарим статик цөмийн тохиргоог заавал хийх шаардлагатай. Зарим + тохиолдолд ажиллагаа нь цөмтэй нягт холбоотой учраас динамикаар ачаалахаар хийх + боломжгүй байдаг юм. Бас энэ нь энгийнээр бол тэр үйл ажиллагаанд зориулж динамикаар + ачаалах модулийг бичих цаг хэнд ч олдоогүй байж болох юм.</para> + + <para>Өөрчлөн тохируулсан цөм бүтээх нь BSD хэрэглэгчийн хувьд хамгийн чухал тэсвэрлэн давж гарах + ажиллагаануудын нэг юм. Энэ процесс нь цаг их зарцуулах боловч таны &os; системд + олон ашиг өгөх болно.Өргөн хүрээний тоног төхөөрөмжүүдийг дэмжих ёстой + <filename>GENERIC</filename> цөмтэй харьцуулахад өөрчлөн тохируулсан цөм нь + зөвхөн таны PC-ний тоног төхөөрөмжүүдийг дэмждэг. Энэ нь дараах хэд хэдэн ашигтай:</para> + + <itemizedlist> + <listitem> + <para>Хурдан ачаалах хугацаа. Цөм нь таны систем дэх тоног төхөөрөмжүүдийг зөвхөн + шалгах учраас системийг ачаалах хугацаа мэдэгдэхүйц багасдаг.</para> + </listitem> + + <listitem> + <para>Санах ойн ашиглалт багасна. Өөрчлөн тохируулсан цөм нь ихэнхдээ + <filename>GENERIC</filename> цөмөөс бага санах ойг ашигладаг бөгөөд + энэ нь их чухал юм, яагаад гэвэл цөм үргэлж жинхэнэ санах ойд байж байх + шаардлагатай байдаг. Ийм учраас өөрчилсөн цөм нь бага хэмжээний RAM-тай систем + дээр ялангуяа ашигтай байдаг.</para> + </listitem> + + <listitem> + <para>Нэмэлт тоног төхөөрөмжийн дэмжлэг. Дууны картууд зэрэг + <filename>GENERIC</filename> цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг + нэмэх боломжийг танд өөрчлөн тохируулсан цөм олгоно.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="kernelconfig-building"> + <title>Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь</title> + <indexterm> + <primary>цөм</primary> + <secondary>бүтээх / суулгах</secondary> + </indexterm> + + <para>Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь + <filename>/usr/src/sys</filename> сан байх бөгөөд + <filename>/sys</filename> гэсэн замаар бас хандах боломжтой. + Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд + бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог + засварлах <filename><replaceable>arch</replaceable>/conf</filename> + сангууд болон таны цөм бүтээгдэх шатны талбар <filename>compile</filename> + сан юм. <replaceable>arch</replaceable> нь + <filename>i386</filename>, <filename>alpha</filename>, + <filename>amd64</filename>, <filename>ia64</filename>, + <filename>powerpc</filename>, <filename>sparc64</filename>, эсвэл + <filename>pc98</filename> (Японд их ашиглагддаг PC тоног төхөөрөмжийн + өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх + код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь &os; порт хийгдэх + боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн + логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд + санд байгаа тохируулга бүртэй хамт байгааг харж болно.</para> + + <para>Энэ бүлэг жишээн дээр таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ. + Хэрэв энэ нь таны хувьд өөр байх юм бол та өөрийн системийн архитектурын хувьд замуудын + нэрнүүддээ тохирох өөрчлөлтүүдийг хийгээрэй.</para> + + <note> + <para>Хэрэв таны систем дээр <filename>/usr/src/sys</filename> сан + <emphasis>байхгүй</emphasis> бол цөмийн эх суугаагүй байна. Үүнийг хамгийн хялбар аргаар + хийхийн тулд <username>root</username> эрхээр <command>sysinstall</command> + ажиллуулж <guimenuitem>Configure</guimenuitem> сонгоод, дараа нь + <guimenuitem>Distributions</guimenuitem> сонгоод, + <guimenuitem>src</guimenuitem> сонгоод, дараа нь + <guimenuitem>base</guimenuitem> болон + <guimenuitem>sys</guimenuitem>-г сонгож татаж авна. Хэрэв та + <application>sysinstall</application> -д дургүй ба + <quote>албан ёсны</quote> &os; CDROM-д хандах боломжтой бол + тушаалын мөрөөс эхийг бас суулгаж болно:</para> + + <screen>&prompt.root; <userinput>mount /cdrom</userinput> +&prompt.root; <userinput>mkdir -p /usr/src/sys</userinput> +&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput> +&prompt.root; <userinput>cat /cdrom/src/ssys.[a-d]* | tar -xzvf -</userinput> +&prompt.root; <userinput>cat /cdrom/src/sbase.[a-d]* | tar -xzvf -</userinput></screen> + </note> + + <para>Дараа нь <filename><replaceable>arch</replaceable>/conf</filename> + сан уруу шилжээд <filename>GENERIC</filename> тохиргооны файлыг та өөрийн цөмдөө өгөх + нэр уруу хуул. Жишээ нь:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput> +&prompt.root; <userinput>cp GENERIC MYKERNEL</userinput></screen> + + <para>Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн &os; + машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм. + Бид энэ жишээнийхээ зорилгоор <filename>MYKERNEL</filename> гэж нэрлэе.</para> + + <tip> + <para>Өөрийн цөмийн тохиргооны файлаа шууд <filename>/usr/src</filename> + доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол + <filename>/usr/src</filename> -ийг устгаад л дахиж эхлэх нь зоригтой + алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн + өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно. + Мөн <filename>GENERIC</filename> файлыг шууд засварлах хэрэггүй бөгөөд + дараагийн удаа <link linkend="cutting-edge">өөрийн эх модыг шинэчлэх</link> + үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй.</para> + + <para>Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь + <filename><replaceable>i386</replaceable></filename> сан дахь + файл уруу тэмдэгт холбоос үүсгэж болно.</para> + + <para>Жишээ нь:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput> +&prompt.root; <userinput>mkdir /root/kernels</userinput> +&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput> +&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen> + </tip> + + <para>Одоо <filename>MYKERNEL</filename> -ийг өөрийн дуртай текст засварлагч дээр + засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь + <application>vi</application> байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий + төвөгтэй боловч <link linkend="bibliography">номын жагсаалтад</link> + байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ &os; нь <application>ee</application> + гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь + таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл <filename>GENERIC</filename> + файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг + чөлөөтэй өөрчлөөрэй.</para> + <indexterm><primary>SunOS</primary></indexterm> + + <para>Хэрэв та &sunos; эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол + энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн + системээс ирж байгаа бол нөгөө талаасаа <filename>GENERIC</filename> + тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд + <link linkend="kernelconfig-config">Тохиргооны файл</link> хэсгийн + тайлбаруудыг удаан нухацтай дагаарай.</para> + + <note> + <para>Хэрэв та &os; төслийн хамгийн сүүлийн эхээр <link + linkend="cutting-edge">өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан</link> бол + шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө <filename>/usr/src/UPDATING</filename> + файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай + анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг. + <filename>/usr/src/UPDATING</filename> нь үргэлж таны &os; + хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх + байдаг.</para> + </note> + + <para>Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай. + +<!-- Marc Fonveille removed this + + Үүнийг хийхдээ 2 аргыг та + ашиглаж болох бөгөөд яагаад та цөмийг дахин бүтээж байгаа болон таны ажиллуулж байгаа + &os; -ийн хувилбараас хамааран алийг ашиглах нь хамаарна.</para> + + <itemizedlist> + <listitem> + <para>Хэрэв та <emphasis>зөвхөн</emphasis> цөмийн эх кодыг суулгасан бол + 1-р аргыг ашигла.</para> + </listitem> + + <listitem> + <para>Хэрэв та шинэ цөмийг эх кодыг шинэчлэлгүйгээр бүтээж байгаа бол + (<literal>IPFIREWALL</literal> зэрэг магадгүй шинэ тохируулга нэмэх гэж байгаа бол) + аль ч аргыг ашиглаж болно.</para> + </listitem> + + <listitem> + <para>Хэрэв та цөмийг <command>make buildworld</command> процессийн + хүрээнд бүтээж байгаа бол 2-р аргыг хэрэглэ. + </para> + </listitem> + </itemizedlist> + + <indexterm> + <primary><command>cvsup</command></primary> + </indexterm> + <indexterm><primary>CTM</primary></indexterm> + <indexterm> + <primary>CVS</primary> + <secondary>anonymous</secondary> + </indexterm> + + <para>Хэрэв та эх модоо + <maketarget>buildworld</maketarget>-<maketarget>installworld</maketarget> -ийн + хүрээнд амжилттай дууссанаас хойш огт <emphasis>шинэчлээгүй</emphasis> бол + (та <application>CVSup</application>, + <application>CTM</application> ажиллуулаагүй, эсвэл + <application>anoncvs</application> ашиглаагүй бол) + <command>config</command>, <command>make depend</command>, + <command>make</command>, <command>make install</command> дарааллаар + тушаалуудыг айлгүй ашиглаж болно. + </para> +--> + + <procedure> + <title>Цөмийг бүтээх нь</title> + + <step> + <para> <filename + role="directory">/usr/src</filename> сан уруу орно:</para> + + <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen> + </step> + + <step> + <para>Цөмийг хөрвүүлнэ:</para> + + <screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> + </step> + + <step> + <para>Шинэ цөмийг суулгана:</para> + + <screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> + </step> + </procedure> + + <note> + <para>Цөмийг бүтээхэд гүйцэд &os;-ийн эх мод байх шаардлагатай.</para> + </note> + + <tip> + <para> Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд <emphasis>бүх</emphasis> + цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг + эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж + эхлэхээсээ өмнө <filename>/etc/make.conf</filename> файлыг засварлах + хэрэгтэй:</para> + + <programlisting>MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs</programlisting> + + <para>Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог. + Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад хувьсагчуудын тухайд + &man.make.conf.5; гарын авлагын хуудсанд хандаж үзнэ үү.</para> + </tip> + + <indexterm> + <primary><filename class="directory">/boot/kernel.old</filename></primary> + </indexterm> + + <para>Шинэ цөм <filename class="directory">/boot/kernel</filename> санд + <filename>/boot/kernel/kernel</filename> нэрээр хуулагдах бөгөөд + хуучин цөм нь <filename>/boot/kernel.old/kernel</filename> уруу хуулагдана. + Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол + энэ бүлгийн төгсгөлд байгаа <link linkend="kernelconfig-trouble">алдааг олж засварлах</link> + заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм <link + linkend="kernelconfig-noboot">ачаалахгүй</link> тохиолдолд хэрхэн сэргээх + талаар тайлбарсан хэсгийг заавал уншаарай.</para> + + <note> + <para>Ачаалах &man.loader.8; ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд + <filename>/boot</filename> -д хадгалагдана. Гуравдагч этгээдийн + эсвэл өөрчлөн тохируулсан модулиуд <filename class="directory">/boot/kernel</filename>-д + байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг + хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь + тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм.</para> + </note> + </sect1> + + <sect1 id="kernelconfig-config"> + <sect1info> + <authorgroup> + <author> + <firstname>Жоэл</firstname> + <surname>Даль</surname> + <contrib>&os; 6.X -д зориулан шинэчилсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>Тохиргооны файл</title> + <indexterm> + <primary>цөм</primary> + <secondary>ТЭМДЭГЛЭЛҮҮД</secondary> + </indexterm> + <indexterm><primary>ТЭМДЭГЛЭЛҮҮД</primary></indexterm> + <indexterm> + <primary>цөм</primary> + <secondary>тохиргооны файл</secondary> + </indexterm> + + <para>Тохиргооны файлын ерөнхий хэлбэр нь маш энгийн билээ. + Мөр болгон түлхүүр үг бөгөөд нэг болон хэд хэдэн нэмэлт өгөгдлөөс тогтоно. + Амархан болгох үүднээс ихэнх мөрүүд нь зөвхөн нэг нэмэлт өгөгдөлтэй байна. + <literal>#</literal> тэмдэгтийн ард байгаа зүйлс тайлбар бөгөөд + хаягдаж тооцогдоно. Дараах хэсэгт түлхүүр үг болгоныг <filename>GENERIC</filename> -д + жагсаасан дарааллаар нь тайлбарлаж байна. + <anchor id="kernelconfig-options"> Архитектураас хамааралтай + тохируулгууд болон төхөөрөмжийн ядраамаар жагсаалтын талаар + <filename>GENERIC</filename> файл байгаа сангийн нэгэн адил санд байрлах + <filename>NOTES</filename> файлаас үзнэ үү. + Архитектураас хамааралгүй тохируулгуудын талаар + <filename>/usr/src/sys/conf/NOTES</filename> файлаас үзнэ үү. + </para> + <note> + <para>Тест хийх зорилгоор ихэнхдээ бүх байгаа тохируулгууд агуулсан файлыг бүтээхдээ + дараах тушаалыг <username>root</username> эрхээр ажиллуулна:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf && make LINT</userinput></screen> + </note> + + <indexterm> + <primary>цөм</primary> + <secondary>тохиргооны файл</secondary> + </indexterm> + + <para>Дараах жишээ нь шаардлагатай бол тодотгох зорилгоор оруулсан төрөл бүрийн нэмэлт тайлбар бүхий + <filename>GENERIC</filename> цөмийн тохиргооны файл юм. Энэ жишээ нь + таны <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename> + дахь хуулбартай их ойрхон таарах ёстой.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>machine</secondary> + </indexterm> + + <programlisting>machine i386</programlisting> + + <para>Энэ нь машины архитектур юм. Энэ нь + <literal>alpha</literal>, <literal>amd64</literal>, + <literal>i386</literal>, <literal>ia64</literal>, + <literal>pc98</literal>, <literal>powerpc</literal>, эсвэл + <literal>sparc64</literal> -ийн аль нэг байх ёстой.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>cpu</secondary> + </indexterm> + <programlisting>cpu I486_CPU +cpu I586_CPU +cpu I686_CPU</programlisting> + + <para>Дараах тохируулга нь таны системд байгаа CPU-ийн төрлийг заана. + Та олон CPU мөртэй байж болох боловч (хэрэв, жишээ нь та + <literal>I586_CPU</literal> эсвэл <literal>I686_CPU</literal> + хоёрын алийг ашиглахаа сайн мэдэхгүй байгаа бол) өөрчлөн тохируулсан + цөмийн хувьд зөвхөн байгаа CPU-гээ заах нь зүйтэй юм. Хэрэв та өөрийн + CPU-ийн төрлийг сайн мэдэхгүй байгаа бол <filename>/var/run/dmesg.boot</filename> + файлыг шалгаж ачаалах үеийн мэдээллүүдийг үзэж болно.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>ident</secondary> + </indexterm> + + <programlisting>ident GENERIC</programlisting> + + <para>Энэ нь цөмийг тодорхойлох нэр юм. Хэрэв та + түрүүний жишээнүүдэд дурдсан заавруудыг дагасан бол өөрийн цөмийг нэрлэсэн + шигээ өөрөөр хэлбэл <literal>MYKERNEL</literal> хэмээн өөрчлөх + хэрэгтэй. <literal>ident</literal> мөрд оруулсан утга нь таныг цөмийг ачаалах + үед хэвлэгдэн гарах учир та өөрийн ердийн цөмөөс шинэ цөмөө тусад нь хадгалахыг хүсвэл + шинэ цөмдөө өөр нэр өгөх нь ашигтай байдаг (өөрөөр хэлбэл та туршилтын цөм бүтээхийг + хүсвэл).</para> + + <programlisting>#To statically compile in device wiring instead of /boot/device.hints +#hints "GENERIC.hints" # Default places to look for devices.</programlisting> + + <para>&man.device.hints.5; нь төхөөрөмжүүдийн драйверуудын тохируулгуудыг + хийхэд ашиглагдана. &man.loader.8;-ийн ачаалах үе шалгах анхдагч байрлал нь + <filename>/boot/device.hints</filename> байна. + <literal>hints</literal> тохируулгыг ашиглаад та эдгээр зөвлөгөөнүүдийг + статикаар хөрвүүлж болно. Тэгэхэд <filename>/boot</filename> дотор + <filename>device.hints</filename> файл үүсгэх шаардлагагүй + болох юм.</para> + + <!-- XXX: Add a comment here that explains when compiling hints into + the kernel is a good idea and why. --> + + <programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting> + + <para>&os; -г бүтээх ердийн процесс нь дибаг (debug) хийх мэдээллийг агуулдаг + бөгөөд цөмийг бүтээх үед <option>-g</option> тохируулгыг &man.gcc.1; + уруу өгснөөр дибаг (debug) хийх мэдээлэл идэвхиждэг. Үүнтэй нэгэн адилаар + хэрэв та <quote>уламжлалт</quote> аргаар өөрийн цөмийг бүтээж байгаа бол + (дэлгэрэнгүйг <xref linkend="kernelconfig-building"> -ээс үзнэ үү) + &man.config.8; <option>-g</option> тохируулгыг ашиглаж болно.</para> + + <programlisting>options SCHED_4BSD # 4BSD scheduler</programlisting> + + <para>&os; -ийн уламжлалт, анхдагч системийн төлөвлөгч/хуваарилагч. Үүнийг үлдээ.</para> + + <programlisting>options PREEMPTION # Enable kernel thread preemption</programlisting> + + <para>Цөм дэх урсгалуудыг (thread) өөр илүү өндөр давуу эрхтэй урсгалуудаар + солих боломжийг бүрдүүлнэ. Энэ нь харилцан ажиллах болон таслах урсгалуудыг + (interrupt threads) хүлээлгэлгүйгээр аль болох түргэн ажиллуулахад тусалдаг.</para> + + <programlisting>options INET # InterNETworking</programlisting> + + <para>Сүлжээний дэмжлэг. Сүлжээнд холбогдохгүй ч гэсэн энэ тохиргоог үлдээгээрэй. + Ихэнх програмууд эргэн холбогдох (loopback буюу өөрөөр хэлбэл өөрийн PC + дотор сүлжээний холболт хийх) сүлжээг шаарддаг учир энэ нь үндсэндээ зайлшгүй + шаардлагатай.</para> + + <programlisting>options INET6 # IPv6 communications protocols</programlisting> + + <para>Энэ нь IPv6 холбооны протоколуудыг идэвхижүүлдэг.</para> + + <programlisting>options FFS # Berkeley Fast Filesystem</programlisting> + + <para>Энэ нь энгийн хатуу дискийн файлын систем. Энэ тохируулгыг хатуу дискээс + ачаалах бол үлдээгээрэй.</para> + + <programlisting>options SOFTUPDATES # Enable FFS Soft Updates support</programlisting> + + <para>Энэ тохируулга нь Зөөлөн Шинэчлэлүүдийг цөм идэвхижүүлдэг бөгөөд + диск уруу бичих хандалтыг хурдасгахад тусалдаг. Хэдийгээр энэ боломжийг + цөмөөр хангадаг боловч диск дээр идэвхижүүлэх шаардлагатай. + Таны системийн дискүүд дээр Зөөлөн Шинэчлэлүүд идэвхижсэн эсэхийг + &man.mount.8; -ийн үр дүнгээр хянаарай. Хэрэв та <literal>soft-updates</literal> + тохируулгыг олж харахгүй байгаа бол &man.tunefs.8; (одоо байгаа системийн хувьд) + эсвэл &man.newfs.8; (шинэ файлын системийн хувьд) ашиглан идэвхижүүлэх хэрэгтэй.</para> + + <programlisting>options UFS_ACL # Support for access control lists</programlisting> + + <para>Энэ тохируулга нь хандалтыг хянах жагсаалтын дэмжлэгийг цөмд идэвхижүүлдэг. + Энэ нь өргөтгөсөн шинж чанарууд ба <acronym>UFS2</acronym>-ийг ашиглахад + тулгуурлаж байгаа бөгөөд энэ боломжийн талаар <xref linkend="fs-acl"> дээр + дэлгэрэнгүй тайлбарласан байдаг. <acronym>ACL</acronym>-үүд эхэндээ + идэвхижүүлсэн байдаг бөгөөд хэрэв урьд нь файлын систем дээр ашиглагдаж байсан + бол хандалтыг хянах жагсаалтыг устгаж файлуудыг хамгаалсан аргыг урьдчилан тааж + болшгүй байдалт хүргэдэг учир энэ тохируулгыг хааж болохгүй.</para> + + <programlisting>options UFS_DIRHASH # Improve performance on big directories</programlisting> + + <para>Энэ тохируулга нь нэмэгдэл санах ойг зарлагадаж том сангуудад хийх дискийн + үйлдлүүдийг хурдасгах ажиллагааг оруулдаг. Та том сервер эсвэл харилцан ажиллах + ажлын станцад зориулж энэ тохируулгыг ерөнхийдөө хадгалах хэрэгтэй бөгөөд + хэрэв та &os;-г санах ой чухал жижиг систем ба дискийн хандалтын хурдны ач + холбогдол багатай галт хана мэтийн систем дээр ашиглаж байгаа бол устгаарай.</para> + + <programlisting>options MD_ROOT # MD is a potential root device</programlisting> + + <para>Энэ тохируулга нь санах ой дээр тулгуурласан, root төхөөрөмж болж ашиглагдах + виртуал дискийн дэмжлэгийг идэвхижүүлдэг.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>NFS</secondary> + </indexterm> + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>NFS_ROOT</secondary> + </indexterm> + <programlisting>options NFSCLIENT # Network Filesystem Client +options NFSSERVER # Network Filesystem Server +options NFS_ROOT # NFS usable as /, requires NFSCLIENT</programlisting> + + <para>Сүлжээний файлын систем. Хэрэв та TCP/IP-аар &unix; файлын серверээс + хуваалтыг холболт хийх төлөвлөгөөгүй бол эдгээрийг тайлбар болгон хааж болно.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>MSDOSFS</secondary> + </indexterm> + <programlisting>options MSDOSFS # MSDOS Filesystem</programlisting> + + <para>&ms-dos; файлын систем. Хэрэв та DOS хэлбэржүүлсэн хатуу дискийн хуваалтыг + ачаалах үед холболт хийх төлөвлөгөөгүй бол үүнийг айлгүйгээр тайлбар болгон хааж болно. + Энэ нь дээр тайлбарласны дагуу эхний удаа DOS хуваалтыг холболт хийхэд автоматаар ачаалагдах + болно. Мөн маш сайн <filename role="package">emulators/mtools</filename> + програм хангамж нь холболт болон салгалт хийлгүйгээр DOS уян дискүүдэд хандах боломжийг + бүрдүүлдэг (энэ нь <literal>MSDOSFS</literal>-ийг огт шаарддаггүй).</para> + + <programlisting>options CD9660 # ISO 9660 Filesystem</programlisting> + + <para>CDROM-уудад зориулсан ISO 9660 файлын систем. Хэрэв та CDROM хөтлөгч + байхгүй эсвэл CD-ээс өгөгдлийг хааяа холболт хийдэг бол (таныг анх өгөгдлийн CD-г + холболт хийх үед динамикаар ачаалагддаг учраас) тайлбар болгож хааж болно. + Дууны CD-үүд энэ файлын системийг хэрэглэдэггүй.</para> + + <programlisting>options PROCFS # Process filesystem (requires PSEUDOFS)</programlisting> + + <para>Процессийн файлын систем. Энэ нь &man.ps.1; шиг програмууд процессуудын + ажиллаж байгаа талаар дэлгэрэнгүй мэдээлэл танд өгөх боломжийг бүрдүүлдэг + <filename>/proc</filename> дээр холболт хийгдсэн <quote>хуурамч</quote> + файлын систем юм. Ихэнх дибаг хийх ба монитор хийх хэрэгслүүд + <literal>PROCFS</literal> -гүйгээр ажиллахаар хийгдсэн байдаг: + суулгалтууд нь энэ файлын системийг анхдагчаар холболт хийхгүй, тиймээс + <literal>PROCFS</literal>-ийг ашиглах нь ихэнх тохиолдолд + шаардлагагүй байдаг.</para> + + <programlisting>options PSEUDOFS # Pseudo-filesystem framework</programlisting> + + <para>6.X цөмүүд <literal>PROCFS</literal> ашиглаж байгаа бол бас + <literal>PSEUDOFS</literal> дэмжлэгийг оруулах шаардлагатай.</para> + + <programlisting>options GEOM_GPT # GUID Partition Tables.</programlisting> + + <para>Энэ тохируулга нь нэг диск дээр их олон тооны хуваалт байх боломжийг + авчирна.</para> + + <programlisting>options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]</programlisting> + + <para>4.3BSD-тэй нийцтэй байх. Үүнийг энэ чигээр орхи; хэрэв үүнийг тайлбар болгож + хаавал зарим програмууд сонин ажиллаж эхэлнэ.</para> + + <programlisting>options COMPAT_FREEBSD4 # Compatible with &os;4</programlisting> + + <para>Энэ тохируулга нь &os; 5.X &i386; ба Alpha системүүд дээр &os;-ийн хуучин + хувилбарууд дээр хөрвүүлэгдсэн, хуучин системийн дуудлагуудын интерфэйсүүдийг ашигладаг + програмуудыг дэмжихэд шаардлагатай. Энэ тохируулгыг хуучин програмууд ашиглаж болзошгүй + бүх &i386; болон Alpha системүүд дээр ашиглахыг зөвлөж байна; ia64 ба &sparc64; + зэрэг 5.X дээр зөвхөн дэмжлэг хийгдсэн тавцангууд энэ тохируулгыг шаарддаггүй.</para> + + <programlisting>options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI</programlisting> + + <para>Энэ нь цөмийг SCSI төхөөрөмжүүдийг шалгаж эхлэхээс өмнө 5 секунд түр зогсооно. Хэрэв + та зөвхөн IDE хатуу дисктэй бол үүнийг орхиж болно, эсрэг тохиолдолд ачаалалтыг хурдасгахын + тулд энэ тоог багасгаж болно. Мэдээж та үүнийг хийгээд &os; таны SCSI төхөөрөмжүүдийг + танихгүй бол та дахин үүнийг ихэсгэж болно.</para> + + <programlisting>options KTRACE # ktrace(1) support</programlisting> + + <para>Энэ нь дибаг хийхэд ашигтай, цөмийн процессийг дагах боломжийг идэвхижүүлдэг.</para> + + <programlisting>options SYSVSHM # SYSV-style shared memory</programlisting> + + <para>Энэ тохируулга нь System V хуваалцсан санах ойн боломж бүрдүүлдэг. Энэ боломжийн + өргөн хэрэглээнүүдийн нэг нь X дэх XSHM өргөтгөл бөгөөд үүнийг график их шаарддаг олон програмууд + автоматаар илүү хурд авахын тулд ашигладаг. Хэрэв та X ашигладаг бол үүнийг заавал оруулахыг + хүсэх болно.</para> + + <programlisting>options SYSVMSG # SYSV-style message queues</programlisting> + + <para>System V мэдээллүүдийн дэмжлэг. Энэ тохируулга нь зөвхөн хэдхэн зуун байтыг + цөмд нэмдэг.</para> + + <programlisting>options SYSVSEM # SYSV-style semaphores</programlisting> + + <para>System V семафорын дэмжлэг. Нэг их өргөн ашиглагддаггүй боловч + хэдхэн зуун байтыг цөмд нэмдэг.</para> + + <note> + <para>&man.ipcs.1; тушаалын <option>-p</option> тохируулга нь эдгээр + System V боломж бүрийг ашигласан процессуудыг жагсаадаг.</para> + </note> + + <programlisting>options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions</programlisting> + + <para>Жинхэнэ-хугацааны (real-time) өргөтгөлүүд 1993 оны &posix;-д нэмэгдсэн.Портуудын + цуглуулгаас зарим програмууд эдгээрийг ашигладаг (<application>&staroffice;</application>).</para> + + <programlisting>options KBD_INSTALL_CDEV # install a CDEV entry in /dev</programlisting> + + <para>Энэ тохируулга нь гартай холбоотой. Энэ нь CDEV оруулгыг <filename>/dev</filename>-д + суулгадаг.</para> + + <programlisting>options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver.</programlisting> + + <para>Энэ нь дибаг хийхэд тусалж уншихад зориулж регистрийн амархан тодорхойлолтуудыг + хэвлэдэг.</para> + + <programlisting>options ADAPTIVE_GIANT # Giant mutex is adaptive.</programlisting> + + <para>Giant гэдэг нь харилцан нэгийгээ оруулахгүй байх зарчмын (унтах мутекс) нэр бөгөөд + энэ нь цөмийн их эх үүсвэрүүдийг хамгаалдаг. Өнөөдөр энэ нь үйл ажиллагааны саатаж + байгаа хүлээн авах боломжгүй хэсэг бөгөөд үүнийг эх үүсвэр бүрийг хамгаалах цоожуудаар + идэвхтэйгээр солиж байгаа билээ. <literal>ADAPTIVE_GIANT</literal> тохируулга нь + хэсэг бүлэг мутексуудад Giant-ийг адаптиваар эргэхээр оруулдаг. Энэ нь урсгал (thread) + Giant мутексийг цоожлохыг хүсэж байх үед, гэхдээ энэ нь өөр CPU дээр урсгалаар цоожлогдсон + байна, эхний урсгал цоож сулрахыг хүлээн ажилласаар байна. Хэвийн үед урсгал унтаа байдалд + эргэж орох бөгөөд өөрийн дараагийн ажиллах боломжийг хүлээнэ. Та итгэлгүй байгаа бол + үүнийг орхино уу.</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>SMP</secondary> + </indexterm> + <programlisting>device apic # I/O APIC</programlisting> + + <para>apic төхөөрөмж нь I/O APIC-ийг тасалдал хүргэхэд ашиглах боломжийг нээдэг. + apic төхөөрөмж нь UP болон SMP цөмүүдэд хоюуланд нь ашиглагдаж болох бөгөөд + гэхдээ SMP цөмд зайлшгүй шаардлагатай. <literal>options SMP</literal> + мөрийг нэмж олон процессорын дэмжлэгийг оруулна уу.</para> + + <programlisting>device eisa</programlisting> + + <para>Хэрэв та EISA эх хавтантай бол үүнийг оруулаарай. Энэ нь EISA шугамын бүх + төхөөрөмжүүдийн хувьд автомат илрүүлэлт болон тохиргооны дэмжлэгийг нээж өгдөг.</para> + + <programlisting>device pci</programlisting> + + <para>Хэрэв та PCI эх хавтантай бол үүнийг оруулаарай. Энэ нь PCI картуудыг автомат + илрүүлэлт болон PCI-аас ISA шугам уруу гарах дэмжлэгийг нээж өгдөг.</para> + + <programlisting># Floppy drives +device fdc</programlisting> + + <para>Энэ нь уян диск хөтлөгчийн хянагч.</para> + + <programlisting># ATA and ATAPI devices +device ata</programlisting> + + <para>Энэ драйвер бүх ATA болон ATAPI төхөөрөмжүүдийг дэмждэг. Орчин үеийн машинуудын + бүх PCI ATA/ATAPI төхөөрөмжүүдийг илрүүлэхийн тулд зөвхөн нэг + <literal>device ata</literal> мөр таны цөмд хэрэгтэй.</para> + + <programlisting>device atadisk # ATA disk drives</programlisting> + + <para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA дискийн + төхөөрөмжүүдэд хэрэгтэй.</para> + + <programlisting>device ataraid # ATA RAID drives</programlisting> + + <para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA RAID + хөтлөгчүүдэд хэрэгтэй.</para> + + <programlisting><anchor id="kernelconfig-atapi"> +device atapicd # ATAPI CDROM drives</programlisting> + + <para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA CDROM + хөтлөгчүүдэд хэрэгтэй.</para> + + <programlisting>device atapifd # ATAPI floppy drives</programlisting> + + <para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA уян дискний + хөтлөгчүүдэд хэрэгтэй.</para> + + <programlisting>device atapist # ATAPI tape drives</programlisting> + + <para>Энэ нь <literal>device ata</literal> мөртэй цуг ATA кассетний + хөтлөгчүүдэд хэрэгтэй.</para> + + <programlisting>options ATA_STATIC_ID # Static device numbering</programlisting> + + <para>Энэ нь хянагчийн дугаарыг статик болгох бөгөөд энэнгүйгээр + төхөөрөмжийн дугаарууд динамикаар өгөгддөг.</para> + + <programlisting># SCSI Controllers +device ahb # EISA AHA1742 family +device ahc # AHA2940 and onboard AIC7xxx devices +device ahd # AHA39320/29320 and onboard AIC79xx devices +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 +device sym # NCR/Symbios Logic (newer chipsets) +device trm # Tekram DC395U/UW/F DC315U adapters + +device adv # Advansys SCSI adapters +device adw # Advansys wide SCSI adapters +device aha # Adaptec 154x SCSI adapters +device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. +device bt # Buslogic/Mylex MultiMaster SCSI adapters + +device ncv # NCR 53C500 +device nsp # Workbit Ninja SCSI-3 +device stg # TMC 18C30/18C50</programlisting> + + <para>SCSI хянагчууд. Таны системд байхгүй байгааг тайлбар болгон хаана уу. + Хэрэв та зөвхөн IDE системтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно.</para> + + <programlisting># SCSI peripherals +device scbus # SCSI bus (required for SCSI) +device ch # SCSI media changers +device da # Direct Access (disks) +device sa # Sequential Access (tape etc) +device cd # CD +device pass # Passthrough device (direct SCSI access) +device ses # SCSI Environmental Services (and SAF-TE)</programlisting> + + <para>SCSI захын төхөөрөмжүүд. Дахин хэлэхэд таны системд байхгүй байгааг тайлбар + болгон хаагаарай эсвэл та зөвхөн IDE тоног төхөөрөмжтэй бол эдгээр мөрүүдийг + бүгдийг устгаж болно.</para> + + <note> + <para>USB &man.umass.4; драйвер болон бусад цөөн хэдэн драйверууд жинхэнэ + SCSI төхөөрөмжүүд биш боловч SCSI дэд системийг ашигладаг. Тийм болохоор + хэрэв цөмийн тохиргоонд тийм драйверууд орсон байвал SCSI дэмжлэгийг устгаагүй + эсэхээ шалгаарай.</para> + </note> + + <programlisting># 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 # Adaptec FSA RAID +device aacp # SCSI passthrough for aac (requires CAM) +device ida # Compaq Smart RAID +device mfi # LSI MegaRAID SAS +device mlx # Mylex DAC960 family +device pst # Promise Supertrak SX6000 +device twe # 3ware ATA RAID</programlisting> + + <para>Дэмжигдсэн RAID хянагчууд. Хэрэв танд эдгээрээс нэг нь ч байхгүй бол + тайлбар болгон хааж эсвэл устгаж болно.</para> + + <programlisting># atkbdc0 controls both the keyboard and the PS/2 mouse +device atkbdc # AT keyboard controller</programlisting> + + <para>Гарын хянагч (<literal>atkbdc</literal>) AT гар ба PS/2 загварын заагч + төхөөрөмжүүдэд I/O үйлчилгээнүүдийг хангадаг. Энэ хянагчийг гарын драйвер + (<literal>atkbd</literal>) болон PS/2 заагч төхөөрөмжийн драйвер + (<literal>psm</literal>) шаарддаг.</para> + + <programlisting>device atkbd # AT keyboard</programlisting> + + <para><literal>atkbd</literal> драйвер нь <literal>atkbdc</literal> + хянагчтай цуг AT гарын хянагчид залгасан AT 84 гар болон AT өргөжүүлсэн + гаруудад хандах боломж олгодог.</para> + + <programlisting>device psm # PS/2 mouse</programlisting> + + <para>Хэрэв таны хулгана PS/2 порт уруу залгагдаж байгаа бол энэ төхөөрөмжийг + ашиглана уу.</para> + + <programlisting>device kbdmux # keyboard multiplexer</programlisting> + + <para>Олон гар залгах боломжийн анхны дэмжлэг.</para> + + <programlisting>device vga # VGA video card driver</programlisting> + + <para>Видео картын драйвер.</para> + + <programlisting> +device splash # Splash screen and screen saver support</programlisting> + + <para>Эхлэх үе дэх хоромхон зуур гарах дэлгэц! Дэлгэц амраагчид нь үүнийг бас шаарддаг.</para> + + <programlisting># syscons is the default console driver, resembling an SCO console +device sc</programlisting> + + <para><literal>sc</literal> нь анхдагч консолийн драйвер бөгөөд SCO консолийг дуурайдаг. + Ихэнх бүрэн дэлгэцийн програмууд консол уруу <filename>termcap</filename> зэрэг + терминалийн өгөгдлийн баазын сангийн тусламжтайгаар ханддаг бөгөөд үүнийг ашиглах эсэх эсвэл + <literal>VT220</literal>-тай нийцтэй консол драйвер болох <literal>vt</literal>-ийг + ашиглах эсэх нь хамаагүй юм. Та нэвтэрсний дараа бүрэн дэлгэцийн програмууд энэ консол дээр ажиллахдаа + асуудалтай байвал өөрийн <envar>TERM</envar> хувьсагчаа <literal>scoansi</literal> + болгоорой.</para> + + <programlisting># 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</programlisting> + + <para>Энэ нь VT100/102-той арагшаагаа нийцтэй, VT220-той нийцтэй консол драйвер юм. + Энэ нь <literal>sc</literal>-тэй нийцгүй зарим зөөврийн компьютер дээр сайн + ажилладаг. Та нэвтэрсний дараа өөрийн <envar>TERM</envar> хувьсагчаа + <literal>vt100</literal> эсвэл <literal>vt220</literal> болгоорой. + Мөн энэ драйвер нь <literal>sc</literal> төхөөрөмжүүдэд зориулсан + <filename>termcap</filename> эсвэл <filename>terminfo</filename> + оруулгууд ихэнхдээ байхгүй байдаг асар олон тооны өөр өөр машинууд уруу сүлжээгээр + дамжин холбогдох үед ашигтай байж болно — <literal>vt100</literal> + нь виртуалаар дурын тавцан дээр байх ёстой.</para> + + <programlisting>device agp</programlisting> + + <para>Хэрэв та систем дээрээ AGP карттай бол үүнийг оруулна уу. Энэ нь AGP болон AGP GART-ийн + дэмжлэгийг эдгээр боломжуудаас тогтсон хавтанд зориулж нээнэ.</para> + + <indexterm> + <primary>APM</primary> + </indexterm> + + <programlisting># Power management support (see NOTES for more options) +#device apm</programlisting> + + <para>Тэжээлийн Нарийн Удирдлагын дэмжлэг. Зөөврийн компьютерүүдэд ашигтай, + гэхдээ энэ нь &os; 5.X болон дээшхид <filename>GENERIC</filename>-д + анхдагчаар хаалттай байдаг.</para> + + <programlisting># Add suspend/resume support for the i8254. +device pmtimer</programlisting> + + <para>APM болон ACPI зэрэг тэжээл удирдах үйл явцуудад зориулсан таймер + төхөөрөмжийн драйвер.</para> + + <programlisting># 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</programlisting> + + <para>PCMCIA дэмжлэг. Зөөврийн компьютер ашиглаж байгаа + бол энэ танд хэрэгтэй.</para> + + <programlisting># Serial (COM) ports +device sio # 8250, 16[45]50 based serial ports</programlisting> + + <para>Эдгээр нь &ms-dos;/&windows; ертөнцөд + <devicename>COM</devicename> портууд хэмээгддэг сериал портууд юм .</para> + + <note> + <para>Хэрэв та <devicename>COM4</devicename> дээр дотуур модемтой бөгөөд + <devicename>COM2</devicename> дээр сериал порттой бол &os; -ээс хандахын + тулд та модемийн IRQ-г 2 (ойлгоход амаргүй техникийн шалтгаанаар, IRQ2 = IRQ 9) + болгож өөрчлөх хэрэгтэй. Хэрэв та олон порттой сериал карттай бол өөрийн + <filename>/boot/device.hints</filename> файлд нэмэх зөв утгуудын + талаар дэлгэрэнгүй мэдээллийг &man.sio.4; гарын авлагаас шалгаарай. + Зарим видео картууд (S3 бичил схем дээр үндэслэснүүдийг дурдаж болно) + <literal>0x*2e8</literal> хэлбэртэй IO хаягуудыг ашигладаг бөгөөд + олон хямд сериал картууд 16-бит хаягийн зайг бүрэн декод хийж чаддаггүй учир + энэ нь тэдгээр карттай зөрчилдөж <devicename>COM4</devicename> портыг + бараг л ашиглах боломжгүй болгодог.</para> + + <para>Сериал порт болгон бусдаас ялгаатай IRQ -тай байх (хуваалцсан тасалдал + ашиглахыг дэмждэг олон порттой картуудын нэгийг ашиглаж байгаагаас бусад тохиолдолд) + шаардлагатай учир <devicename>COM3</devicename> болон + <devicename>COM4</devicename>-ийн анхдагч IRQ-үүдийг ашиглаж болохгүй.</para> + </note> + + <programlisting># Parallel port +device ppc</programlisting> + + <para>Энэ нь ISA-шугамын параллел порт интерфэйс юм.</para> + + <programlisting>device ppbus # Parallel port bus (required)</programlisting> + + <para>Параллел портын шугамын дэмжлэгийг хангадаг.</para> + + <programlisting>device lpt # Printer</programlisting> + + <para>Параллел порт хэвлэгчүүдийн дэмжлэг.</para> + + <note> + <para>Параллел хэвлэгчийн дэмжлэгийг нээхэд дээрх гурав гурвуулаа + шаардлагатай.</para> + </note> + + <programlisting>device plip # TCP/IP over parallel</programlisting> + + <para>Энэ нь параллел сүлжээний интерфэйсд зориулсан драйвер юм.</para> + + <programlisting>device ppi # Parallel port interface device</programlisting> + + <para>Ерөнхий-зориулалтын I/O (<quote>geek port</quote>) + IEEE1284 + I/O.</para> + + <programlisting>#device vpo # Requires scbus and da</programlisting> + + <indexterm><primary>zip drive</primary></indexterm> + <para>Энэ нь Iomega Zip хөтлөгчид зориулагдсан юм. <literal>scbus</literal> болон + <literal>da</literal> дэмжлэгийг шаарддаг. EPP 1.9 горимд байгаа + портуудын тусламжтай хамгийн сайн ажиллагаанд хүрдэг.</para> + + <programlisting>#device puc</programlisting> + + <para>Хэрэв та &man.puc.4; цавуу драйвераар дэмжигддэг <quote>дүлий</quote> + сериал эсвэл параллел PCI карттай бол энэ төхөөрөмжийг тайлбар болгосныг + болиулаарай.</para> + + <programlisting># PCI Ethernet NICs. +device de # DEC/Intel DC21x4x (<quote>Tulip</quote>) +device em # Intel PRO/1000 adapter Gigabit Ethernet Card +device ixgb # Intel PRO/10GbE Ethernet Card +device txp # 3Com 3cR990 (<quote>Typhoon</quote>) +device vx # 3Com 3c590, 3c595 (<quote>Vortex</quote>)</programlisting> + + <para>Төрөл бүрийн PCI сүлжээний картуудын драйверууд. Эдгээрээс таны системд байхгүйг + тайлбар болгон хааж эсвэл устгаарай.</para> + + <programlisting># 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</programlisting> + + <para>MII шугамын дэмжлэг нь зарим PCI 10/100 Ethernet NIC-үүдэд шаардлагатай + бөгөөд тухайлбал MII-д нийцтэй дамжуулагч-хүлээн авагчууд эсвэл MII-тэй адил + ажилладаг дамжуулагч-хүлээн авагчийн хяналтын интерфэйсүүдийг дурдаж болно. + <literal>device miibus</literal> мөрийг цөмийн тохиргоонд нэмснээр + ердийн miibus API болон тусдаа драйвераар дэмжигдээгүй PHY-уудад зориулсан + ердийн драйвер зэрэг бүх PHY драйверүүдийн дэмжлэгийг оруулах болно.</para> + + <programlisting>device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet +device bfe # Broadcom BCM440x 10/100 Ethernet +device bge # Broadcom BCM570xx Gigabit Ethernet +device dc # DEC/Intel 21143 and various workalikes +device fxp # Intel EtherExpress PRO/100B (82557, 82558) +device lge # Level 1 LXT1001 gigabit ethernet +device nge # NatSemi DP83820 gigabit ethernet +device nve # nVidia nForce MCP on-board Ethernet Networking +device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') +device re # RealTek 8139C+/8169/8169S/8110S +device rl # RealTek 8129/8139 +device sf # Adaptec AIC-6915 (<quote>Starfire</quote>) +device sis # Silicon Integrated Systems SiS 900/SiS 7016 +device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet +device ste # Sundance ST201 (D-Link DFE-550TX) +device ti # Alteon Networks Tigon I/II gigabit Ethernet +device tl # Texas Instruments ThunderLAN +device tx # SMC EtherPower II (83c170 <quote>EPIC</quote>) +device vge # VIA VT612x gigabit ethernet +device vr # VIA Rhine, Rhine II +device wb # Winbond W89C840F +device xl # 3Com 3c90x (<quote>Boomerang</quote>, <quote>Cyclone</quote>)</programlisting> + + <para>MII шугамын хянагчийн кодыг ашигладаг драйверууд.</para> + + <programlisting># 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</programlisting> + + <para>ISA Ethernet драйверууд. Аль картууд аль драйвераар дэмжигддэг талаар дэлгэрэнгүйг + <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>-ээс + харна уу.</para> + + <programlisting># Wireless NIC cards +device wlan # 802.11 support +device an # Aironet 4500/4800 802.11 wireless NICs. +device awi # BayStack 660 and others +device ral # Ralink Technology RT2500 wireless NICs. +device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +#device wl # Older non 802.11 Wavelan wireless NIC.</programlisting> + + <para>Төрөл бүрийн утасгүй сүлжээний картуудын дэмжлэг.</para> + + <programlisting># Pseudo devices +device loop # Network loopback</programlisting> + + <para>Энэ нь TCP/IP-д зориулсан өөртөө эргэн холбогдох ерөнхий төхөөрөмж юм. + Хэрэв та <hostid>localhost</hostid> (өөрөөр бас <hostid + role="ipaddr">127.0.0.1</hostid>) уруу telnet эсвэл FTP хийвэл + энэ нь тань уруу энэ төхөөрөмжөөр эргэж ирнэ.Энэ нь + <emphasis>зайлшгүй шаардлагатай</emphasis>.</para> + + <programlisting>device random # Entropy device</programlisting> + + <para>Шифрлэлтийн хувьд аюулгүй дурын тоо үүсгэгч.</para> + + <programlisting>device ether # Ethernet support</programlisting> + + <para>Танд Ethernet карт байгаа тохиолдолд зөвхөн <literal>ether</literal> хэрэгтэй. + Энэ нь ерөнхий Ethernet протоколийн кодыг агуулдаг.</para> + + <programlisting>device sl # Kernel SLIP</programlisting> + + <para><literal>sl</literal> нь SLIP-ийн дэмжлэг юм. Энэ нь хялбар + суулгаж тохируулдаг, модемоос модем уруу холболт хийхэд илүү зохицсон, илүү + чадалтай PPP-ээр бараг бүхэлдээ солигдсон юм.</para> + + <programlisting>device ppp # Kernel PPP</programlisting> + + <para>Энэ нь дайл-ап холболтын цөм дэх PPP дэмжлэгт зориулагдсан. Мөн + <literal>tun</literal>-ийг ашиглаж илүү уян хатан чанар болон шаардлагаар + залгах зэрэг боломжууд бүхий PPP-ийн хэрэглэгчийн талбарын програм маягаар + хийгдсэн хувилбар ч бас байдаг.</para> + + <programlisting>device tun # Packet tunnel.</programlisting> + + <para>Энэ хэрэглэгчийн талбарын PPP програм хангамжид ашиглагддаг. + Дэлгэрэнгүй мэдээллийг энэ номын <link linkend="userppp">PPP</link> + хэсгээс үзнэ үү.</para> + + <programlisting><anchor id="kernelconfig-ptys"> +device pty # Pseudo-ttys (telnet etc)</programlisting> + + <para>Энэ нь <quote>псевдо-терминал</quote> эсвэл жинхэнэ биш (simulated) нэвтрэх порт юм. + Энэ нь ирж байгаа <command>telnet</command> болон + <command>rlogin</command> сессүүд, <application>xterm</application>, + болон <application>Emacs</application> зэрэг бусад програмуудад + ашиглагддаг.</para> + + <programlisting>device md # Memory <quote>disks</quote></programlisting> + + <para>Санах ойн диск псевдо-төхөөрөмжүүд.</para> + + <programlisting>device gif # IPv6 and IPv4 tunneling</programlisting> + + <para>Энэ нь IPv4 дээгүүрх IPv6, IPv6 дээгүүрх IPv4, + IPv4 дээгүүрх IPv4, болон IPv6 дээгүүрх IPv6 туннелуудыг хийдэг. + <literal>gif</literal> төхөөрөмж нь <quote>авто-клон</quote> + хийх чадвартай бөгөөд төхөөрөмжийн цэгүүдийг хэрэгцээгээрээ үүсгэдэг.</para> + + <programlisting>device faith # IPv6-to-IPv4 relaying (translation)</programlisting> + + <para>Энэ псевдо-төхөөрөмж нь түүн уруу илгээсэн пакетуудыг барьж аваад + IPv4/IPv6 хувиргагч демон уруу замыг өөрчлөн явуулдаг.</para> + + <programlisting># 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</programlisting> + + <para>Энэ нь Беркли Пакет Шүүгч юм. Энэ псевдо-төхөөрөмж нь + цацаж байгаа сүлжээн (өөрөөр хэлбэл Ethernet) дэх бүх пакетуудыг барьж авдаг, + бүгдийг сонсох горимд сүлжээний интерфэйсүүдийг шилжүүлэх боломж олгодог. + Эдгээр пакетуудыг дискэнд хадгалах болон эсвэл &man.tcpdump.1; програмаар + шалгаж болно.</para> + + <note> + <para>Анхдагч чиглүүлэгчийн (гарц) болон бусад IP хаягийг + &man.dhclient.8; олж авахад &man.bpf.4; төхөөрөмжийг бас ашигладаг. + Хэрэв та DHCP ашиглаж байгаа бол үүнийг тайлбар болголгүй орхиорой.</para> + </note> + + <programlisting># USB support +device uhci # UHCI PCI->USB interface +device ohci # OHCI PCI->USB interface +#device ehci # EHCI PCI->USB interface (USB 2.0) +device usb # USB Bus (required) +#device udbp # USB Double Bulk Pipe devices +device ugen # Generic +device uhid # <quote>Human Interface Devices</quote> +device ukbd # Keyboard +device ulpt # Printer +device umass # Disks/Mass storage - Requires scbus and da +device ums # Mouse +device urio # Diamond Rio 500 MP3 player +device uscanner # Scanners +# USB Ethernet, requires mii +device aue # ADMtek USB Ethernet +device axe # ASIX Electronics USB Ethernet +device cdce # Generic USB over Ethernet +device cue # CATC USB Ethernet +device kue # Kawasaki LSI USB Ethernet +device rue # RealTek RTL8150 USB Ethernet</programlisting> + + <para>Төрөл бүрийн USB төхөөрөмжүүдийн дэмжлэг.</para> + + <programlisting># FireWire support +device firewire # FireWire bus code +device sbp # SCSI over FireWire (Requires scbus and da) +device fwe # Ethernet over FireWire (non-standard!)</programlisting> + + <para>Төрөл бүрийн Firewire төхөөрөмжүүдийн дэмжлэг.</para> + + <para>&os;-ийн дэмждэг нэмэлт төхөөрөмжүүдийн талаар дэлгэрэнгүй мэдээллийг + <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename> + файлаас үзнэ үү.</para> + + <sect2> + <title>Том санах ойн тохируулгууд (<acronym>PAE</acronym>)</title> + <indexterm> + <primary>Физик хаягийн өргөтгөлүүд + (<acronym>PAE</acronym>)</primary> + <secondary>том санах ой</secondary> + </indexterm> + + <para>Том санах ой бүхий машинууд Хэрэглэгч+Цөмийн Виртуал хаягийн зайн + (<acronym>KVA</acronym>) 4 гигабайт хязгаараас их уруу хандах + шаардлагатай байдаг. Энэ хязгаараас болоод Интел &pentium; Pro болон + сүүлийн үеийн CPU-үүдэд 36 битийн физик хаягийн зайд хандах дэмжлэгийг нэмсэн.</para> + + <para>&intel; &pentium; Pro болон сүүлийн үеийн CPU-үүдийн + Физик Хаягийн Өргөтгөл (<acronym>PAE</acronym>) боломж нь 64 гигабайт бүртэлх + санах ойн тохиргоог зөвшөөрдөг. &os; нь энэхүү боломжийг &os;-ийн + одоо байгаа бүх гаргасан хувилбаруудын цөмийн тохиргооны + <option>PAE</option> тохируулгаар дэмждэг. Интелийн санах ойн + архитектурын хязгаараас болж 4 гигабайтаас дээш болон доош санах + ойн ялгаа байхгүй. 4 гигабайтаас дээшхи санах ой нь ашиглаж болох + санах ойн санд нэмэгддэг.</para> + + <para><acronym>PAE</acronym> дэмжлэгийг цөмд нээхдээ + цөмийн тохиргооны файлд дараах мөрийг нэмнэ:</para> + + <programlisting>options PAE</programlisting> + + <note> + <para>&os; дэх <acronym>PAE</acronym> дэмжлэг зөвхөн + &intel; IA-32 процессоруудад байдаг. Мөн &os; дэх + <acronym>PAE</acronym> дэмжлэг нь өргөн шалгагдаагүй бөгөөд + &os;-ийн бусад тогвортой боломжуудтай харьцуулахад бета чанарыхад + тооцогддог.</para> + </note> + + <para>&os; дэх <acronym>PAE</acronym> дэмжлэг нь цөөн хэдэн хязгааруудтай:</para> + + <itemizedlist> + <listitem> + <para>VM зайн 4 гигабайтаас илүүд процесс хандаж чадахгүй.</para> + </listitem> + + <listitem> + <para>Модул болон цөмийн бүтээх ажлын хүрээний ялгаатай байдлаас болж + <acronym>KLD</acronym> модулиудыг <acronym>PAE</acronym> + идэвхжүүлсэн цөмд ачаалж болохгүй.</para> + </listitem> + + <listitem> + <para>&man.bus.dma.9; интерфэйс ашигладаггүй төхөөрөмжийн драйверууд + <acronym>PAE</acronym>-г идэвхжүүлсэн цөм дээр өгөгдлийн эвдрэлийг + үүсгэх бөгөөд ашиглахыг зөвлөдөггүй юм. Ийм учраас <acronym>PAE</acronym>-г + идэвхжүүлсэн цөм дээр ажилладаггүй бүх драйверуудыг оруулаагүй + <filename>PAE</filename> цөмийн тохиргооны файл &os;-д байдаг.</para> + </listitem> + + <listitem> + <para>Зарим нэг тохируулгууд санах ойн эх үүсвэрийн хэрэглээг физик санах ойн + хэмжээгээр тодорхойлдог. Эдгээр тохируулгууд нь <acronym>PAE</acronym> + системийн их санах ойгоос болж хэрэгцээгүй илүү санах ойг гаргадаг. + Тийм нэг жишээнүүдийн нэг нь sysctl-ийн <option>kern.maxvnodes</option> + тохируулга бөгөөд энэ нь цөм дэх хамгийн их байж болох vnode-уудын тоог хянадаг. + Энэ болон бусад тохируулгуудын утгыг боломжийн утгаар тааруулахыг зөвлөж байна.</para> + </listitem> + + <listitem> + <para>Магадгүй цөмийн виртуал хаягийн (<acronym>KVA</acronym>) зайг ихэсгэх + эсвэл <acronym>KVA</acronym>-ийн шавхалтад хүргэхгүйн тулд байнга их ашиглагддаг + (дээр дурдсаныг харна уу) цөмийн эх үүсвэрийн хэмжээг багасгах шаардлагатай + байж болох юм. <option>KVA_PAGES</option> цөмийн тохируулга нь + <acronym>KVA</acronym> зайг ихэсгэхэд ашиглагдаж болно.</para> + </listitem> + </itemizedlist> + + <para>Ажиллагаа болон тогтвортой байдлыг хангах үүднээс &man.tuning.7; гарын + авлагатай танилцахыг зөвлөж байна. &man.pae.4; гарын авлага нь + &os;-ийн <acronym>PAE</acronym> дэмжлэгийн талаарх хамгийн сүүлийн + үеийн мэдээллийг агуулдаг.</para> + </sect2> + </sect1> + + <sect1 id="kernelconfig-trouble"> + <title>Хэрэв ямар нэг юм буруутвал</title> + + <para>Өөрчлөн тохируулсан цөмийг бүтээж байх үед 5 төрлийн асуудал гарч + болзошгүй байдаг. Тэдгээр нь:</para> + + <variablelist> + <varlistentry> + <term><command>config</command> амжилтгүй болох:</term> + + <listitem> + <para>Хэрэв таныг цөмийн тайлбарыг &man.config.8;-т өгөхөд тушаал + амжилтгүй болбол та хаа нэгтээ энгийн алдаа хийсэн болов уу. + Аз болоход &man.config.8; асуудалтай байгаа мөрийн дугаарыг + хэвлэх учир та алдаатай мөрийг хурдан олох болно. Жишээ нь, + хэрэв та дараахийг харвал:</para> + + <screen>config: line 17: syntax error</screen> + + <para>Түлхүүр үг зөв бичигдсэн эсэхийг <filename>GENERIC</filename> + цөм болон бусад баримтаас харьцуулан шалгаж үзээрэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>make</command> амжилтгүй болох:</term> + + <listitem> + <para>Хэрэв <command>make</command> тушаал амжилтгүй болбол + энэ ихэвчлэн цөмийн тайлбар дахь &man.config.8;-ийн олж + чадахааргүй тийм ч ноцтой бус алдааг дохиолдог. Дахин хэлэхэд, + өөрийн тохиргоог нягтлаарай, тэгээд хэрэв та асуудлыг шийдэж чадахгүй + бол &a.questions; уруу өөрийн цөмийн тохиргоотой цахим захидал + илгээгээрэй, ингэхэд хурдан шинжилгээ хийгдэх болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Цөм ачаалахгүй байх:<anchor + id="kernelconfig-noboot"></term> + + <listitem> + <para>Хэрэв таны шинэ цөм ачаалахгүй бол эсвэл таны төхөөрөмжүүдийг танихгүй + байгаа бол бүү цочирд! Аз болоход &os; нийцгүй цөмүүдээс сэргэхэд + зориулсан маш сайн механизмтай байдаг. Ердөө л &os;-ийн ачаалагчаас + ачаалах цөмөө сонгоно. Системийн ачаалах меню гарч ирэх үед та үүнд + хандах боломжтой болно. <quote>Escape to a loader prompt</quote> + тохируулга 6-ын тоог сонго. Тушаал хүлээх мөрөн дээр <command>unload kernel</command> + гэж бичээд <command>boot /boot/<replaceable>kernel.old</replaceable>/kernel</command> + эсвэл зөв ачаалах өөр бусад цөмийн файлын нэрийг бичээрэй. Цөмийг дахин + тохируулах явцдаа ажилладаг цөмийг гарын дор хадгалж байх нь үргэлж + ухаалаг санаа байдаг.</para> + + <para>Сайн цөмийг ачаалсныхаа дараа та өөрийн тохиргооны файлаа дахин шалгаж + цөмөө дахин бүтээхээр оролдоорой. Нэг тус дэм болох эх үүсвэр бол + бусад зүйлсээс гадна амжилттай ачаалалт бүр дэх цөмийн бүх мэдээллүүдийн + бичлэгийг хийдэг <filename>/var/log/messages</filename> файл юм. + Мөн &man.dmesg.8; тушаал нь сүүлийн ачаалалт дахь цөмийн мэдээллүүдийг + хэвлэдэг.</para> + + <note> + <para>Хэрэв та цөмийг бүтээхэд асуудалтай байгаа бол + <filename>GENERIC</filename> болон өөр бусад ажилладаг + цөмийг дараагийн бүтээх явцад устгагдахааргүй өөр нэртэйгээр + гарын дор хадгалж байгаарай. Та <filename>kernel.old</filename> + -д найдаж болохгүй, учир нь шинэ цөмийг суулгах явцад + <filename>kernel.old</filename> нь хамгийн сүүлд + суулгагдсан бөгөөд магадгүй ажиллагаагүй тийм цөмөөр дарагдан + бичигддэг. Ажилладаг цөмийг зөв <filename class="directory">/boot/kernel</filename> + байр уруу аль болох хурдан шилжүүлээрэй, эсвэл &man.ps.1; зэрэг + тушаалууд зөв ажиллахгүй байж магадгүй юм. Ингэхийн тулд + сайн цөм байгаа сангийн нэрийг өөрчлөөрэй:</para> + + <screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.bad</userinput> +&prompt.root; <userinput>mv /boot/<replaceable>kernel.good</replaceable> /boot/kernel</userinput></screen> + + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term>Цөм ажиллах боловч &man.ps.1; ажиллахгүй болох:</term> + + <listitem> + <para>Хэрэв та системийн хэрэгслүүд бүтээсэн хувилбараас өөр цөмийн хувилбарыг + суулгасан бол, жишээ нь -RELEASE дээр -CURRENT цөм бүтээсэн бол + системийн төлөвийн тушаалууд болох &man.ps.1; болон &man.vmstat.8; + зэрэг нь ажиллахаа болино. Та өөрийн цөмтэйгээ адил хувилбарын эх модтой + бүтээгдсэн <link linkend="makeworld">ертөнцийг дахин хөрвүүлж суулгах</link> + хэрэгтэй. Энэ нь нэг шалтгаан бөгөөд ерөнхийдөө үйлдлийн системийн бусад + зүйлсээс өөр хувилбарын цөмийг ашиглах нь тийм ч сайн санаа биш юм.</para> + </listitem> + </varlistentry> + </variablelist> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/l10n/Makefile b/mn_MN.UTF-8/books/handbook/l10n/Makefile new file mode 100644 index 0000000000..b7ab863a09 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/l10n/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= l10n/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml b/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml new file mode 100644 index 0000000000..4cb4e156d3 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/l10n/chapter.sgml @@ -0,0 +1,930 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.123 + + $FreeBSD$ +--> + +<chapter id="l10n"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Андрей</firstname> + <surname>Чернов</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Майкл Си.</firstname> + <surname>Ву</surname> + <contrib>Дахин бичсэн </contrib> + </author> + <!-- 30 Nv 2000 --> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Jan 2007 --> + </author> + </authorgroup> + </chapterinfo> + + <title>Локалчлал - I18N/L10N-ийн хэрэглээ болон тохируулга</title> + + <sect1 id="l10n-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>FreeBSD нь дэлхий даяар байрласан хэрэглэгчид болон хувь нэмэр болгон + оруулагчидтай маш тархмал төсөл юм. Энэ бүлэг Англиар ярьдаггүй хэрэглэгчдэд + жинхэнэ ажлаа хийх боломж олгох FreeBSD-ийн интернационалчлал болон + локалчлалын боломжуудыг хэлэлцэх болно. Систем болон програмын түвшингүүдийн + аль алинд нь i18n шийдлийн олон үзэл бодлууд байдаг бөгөөд бид шаардлагатай + тохиолдолд илүү тусгайлсан баримтын эхүүдийг хэрэглэгчдэд зааж өгөх болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + <itemizedlist> + <listitem><para>Орчин үеийн үйлдлийн системүүд дээр хэлнүүд болон + локалууд (locales) нь хэрхэн кодчилогддог талаар.</para></listitem> + <listitem><para>Өөрийн нэвтрэх бүрхүүлийн хувьд локалийг хэрхэн + тохируулах талаар.</para></listitem> + <listitem><para>Англи биш хэлнүүдийн хувьд өөрийн консолийг хэрхэн + тохируулах талаар.</para></listitem> + <listitem><para>X Цонхны Системийг өөр хэлнүүдтэй хэрхэн үр дүнтэйгээр + ашиглах талаар.</para></listitem> + <listitem><para>i18n-нийцтэй програмуудыг бичих талаар илүү мэдээллийг + хаанаас олох талаар.</para></listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem><para>Нэмэлт гуравдагч этгээдийн програмуудыг + (<xref linkend="ports">) хэрхэн суулгах талаар.</para></listitem> + </itemizedlist> + </sect1> + + <sect1 id="l10n-basics"> + <title>Үндсүүд</title> + + <sect2> + <title>I18N/L10N гэж юу вэ?</title> + <indexterm> + <primary>интернационалчлал</primary> + <see>локалчлал</see> + </indexterm> + <indexterm><primary>локалчлал</primary></indexterm> + + <para>Хөгжүүлэгчид интернационалчлалыг I18N гэж internationalization гэсэн үгийн + эхний болон эцсийн үсгийн хоорондох үсгийн тоог оруулан богиносгосон юм. + L10N нь бас адил журмаар <quote>localization</quote>-с улбаалан + нэрлэгдсэн юм. Хоюулаа нэгдсэн I18N/L10N аргууд, протоколууд болон + програмууд нь хэрэглэгчдэд өөрсдийнх нь сонгосон хэлнүүдийг ашиглах + боломжийг олгодог.</para> + + <para>I18N програмууд нь сангуудын доорх I18N хэрэгслүүдийг ашиглан + програмчлагдсан байдаг. Энэ нь энгийн файлыг бичих болон + харуулагдсан цэснүүд, текстүүдийг хэл бүр уруу орчуулах боломжийг хөгжүүлэгчдэд олгоно. + Бид энэ дадлыг мөрдөхийг програм зохиогчдоос шаргуу хүсдэг.</para> + </sect2> + + <sect2> + <title>I18N/L10N-ийг би яагаад ашиглах ёстой гэж?</title> + + <para>I18N/L10N нь Англи хэлнээс өөр хэл дээр өгөгдлийг харах, оруулах, эсвэл + боловсруулахыг таныг хүсэх үед хэрэглэгддэг.</para> + </sect2> + + <sect2> + <title>I18N чармайлтад ямар хэлнүүд дэмжигдсэн байдаг вэ?</title> + + <para>I18N болон L10N нь зөвхөн FreeBSD зориулагдаагүй. Одоогоор + хэрэглэгч дэлхийн гол гол хэлнүүдийн ихэнхийг сонгож болох бөгөөд гэхдээ энэ нь энд + байгаа жагсаалтаар хязгаарлагдахгүй: Хятад, Герман, Япон, Солонгос, Франц, Орос, + Вьетнам болон бусад хэлнүүдийг дурдаж болно.</para> + </sect2> + </sect1> + + <sect1 id="using-localization"> + <title>Локалчлалыг ашиглах нь</title> + + <para>Өөрийн бүх сүр жавхлангаараа I18N нь зөвхөн FreeBSD-д зориулагдаагүй бөгөөд + энэ нь ёс заншил болсон байдаг. Энэ ёс заншлыг дагаж FreeBSD-д туслахыг + бид танаас хүсдэг.</para> + <indexterm><primary>локал</primary></indexterm> + + <para>Локалчлалын тохируулгууд нь гурван гол ойлголт дээр тулгуурладаг: + Хэлний код, Улсын код ба Кодчилол. Локалийн нэрс эдгээр хэсгүүдээс + дараах маягаар бүрэлдэн тогтоно:</para> + + <programlisting><replaceable>LanguageCode</replaceable>_<replaceable>CountryCode</replaceable>.<replaceable>Encoding</replaceable></programlisting> + + <sect2> + <title>Хэл болон Улсын кодууд</title> + <indexterm><primary>хэлний кодууд</primary></indexterm> + <indexterm><primary>улсын кодууд</primary></indexterm> + + <para>FreeBSD системийг тухайн хэл уруу (эсвэл I18N дэмждэг бусад &unix; төст системүүд дээр) + локалчлахын тулд хэрэглэгч улс болон хэлийг (улсын код нь програмд өгөгдсөн хэлний аль хувилбарыг + ашиглахыг хэлж өгдөг) заах кодуудыг олж мэдэх хэрэгтэй. Мөн вэб хөтөчүүд, SMTP/POP + серверүүд зэрэг нь тэдгээр дээр тулгуурлан шийдэл гаргадаг. Дараах нь хэл/улсын кодны + жишээнүүд юм:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Хэл/Улсын код</entry> + <entry>Тайлбар</entry> + </row> + </thead> + + <tbody> + <row> + <entry>en_US</entry> + <entry>English буюу Англи - Нэгдсэн Улс</entry> + </row> + + <row> + <entry>ru_RU</entry> + <entry>Оросд зориулсан Russian буюу Орос</entry> + </row> + + <row> + <entry>zh_TW</entry> + <entry>Тайванд зориулсан Уламжлалт Хятад хэл</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + </sect2> + + <sect2> + <title>Кодчилолууд</title> + <indexterm><primary>кодчилолууд</primary></indexterm> + <indexterm><primary>ASCII</primary></indexterm> + + <para>Зарим хэлнүүд 8-бит, өргөн эсвэл олон байт тэмдэгтүүд зэрэг ASCII биш + кодчилолыг ашигладаг. Олон байт тэмдэгтүүдийн талаар илүү дэлгэрэнгүйг + &man.multibyte.3;-ээс үзнэ үү. Хуучин програмууд тэдгээрийг танидаггүй бөгөөд + тэдгээрийг хянах тэмдэгтүүд гэж алддаг. Шинэ програмууд ихэвчлэн 8-бит тэмдэгтүүдийг + танидаг. Шийдлээс хамаараад хэрэглэгчид програмыг өргөн эсвэл олон байт тэмдэгтийн + дэмжлэгтэйгээр эмхэтгэх эсвэл зөвөөр тохируулах шаардлагатай байж болох юм. + Өргөн эсвэл олон тэмдэгтүүүдийг оруулж процесс хийж чадахын тулд <ulink + url="&url.base;/ports/index.html">FreeBSD портын цуглуулга</ulink> + хэл бүрийг өөр өөр програмуудтайгаар хангадаг. FreeBSD порт дахь + харгалзах I18N баримтжуулалтаас лавлана уу.</para> + + <para>Ялангуяа програмыг хэрхэн зөв тохируулах эсвэл зөв утгуудыг + configure/Makefile/эмхэтгэгчид дамжуулахыг шийдэхдээ програмын баримтжуулалтаас + харах хэрэгтэй болно.</para> + + <para>Санаж байх ёстой зарим нэг зүйлүүд нь:</para> + + <itemizedlist> + <listitem> + <para>Тухайн хэлний ганц C chars тэмдэгтийн олонлогууд + (&man.multibyte.3;-г үзнэ үү), өөрөөр хэлбэл + ISO8859-1, ISO8859-15, KOI8-R, CP437.</para> + </listitem> + + <listitem> + <para>Өргөн эсвэл олон байт кодчилол, өөрөөр хэлбэл EUC, Big5.</para> + </listitem> + </itemizedlist> + + <para>Та тэмдэгтийн олонлогуудын идэвхтэй жагсаалтыг <ulink + url="http://www.iana.org/assignments/character-sets">IANA Registry</ulink>-с + шалгаж болно.</para> + + <note> + <para>&os; нь X11-нийцтэй локалийн кодчилолуудыг харин ашигладаг.</para> + </note> + + </sect2> + + <sect2> + <title>I18N програмууд</title> + + <para>FreeBSD-ийн портууд болон багцын системд I18N програмууд нь амархан + танигдахын тулд нэрэндээ <literal>I18N</literal>-тайгаар нэрлэгддэг. + Гэхдээ тэдгээр нь хэрэгтэй хэлийг үргэлж дэмжсэн байдаггүй.</para> + </sect2> + + <sect2 id="setting-locale"> + <title>Локалийг тохируулах</title> + + <para>Нэвтрэх бүрхүүл дээр локалийн нэрний утгыг <envar>LANG</envar> уруу + экспорт хийхэд ихэвчлэн хангалттай байдаг. Үүнийг хэрэглэгчийн + <filename>~/.login_conf</filename> файл эсвэл хэрэглэгчийн бүрхүүлийн + эхлүүлэх файлд (<filename>~/.profile</filename>, + <filename>~/.bashrc</filename>, <filename>~/.cshrc</filename>) + зааж өгч болно. <envar>LC_CTYPE</envar>, <envar>LC_CTIME</envar> зэрэг + локал дэд олонлогуудыг тохируулах хэрэггүй. Дэлгэрэнгүй мэдээллийн талаар + тухайн хэлний FreeBSD-ийн баримтаас лавлана уу.</para> + + <para>Та өөрийн тохиргооны файлууддаа дараах хоёр орчны хувьсагчийг тохируулах хэрэгтэй:</para> + + <itemizedlist> + <indexterm><primary>POSIX</primary></indexterm> + <listitem> + <para>&posix; &man.setlocale.3; төрлийн функцуудад зориулсан <envar>LANG</envar></para> + </listitem> + + <indexterm><primary>MIME</primary></indexterm> + <listitem> + <para>Програмуудын MIME тэмдэгтийн олонлогт зориулсан <envar>MM_CHARSET</envar></para> + </listitem> + </itemizedlist> + + <para>Энэ нь хэрэглэгчийн бүрхүүлийн тохиргоо, тухайн програмын тохиргоо болон X11-ийн + тохиргоог агуулдаг.</para> + + <sect3> + <title>Локал аргуудыг тохируулах</title> + <indexterm><primary>локал</primary></indexterm> + <indexterm><primary>нэвтрэх ангилал</primary></indexterm> + + <para>Локалийг тохируулах хоёр арга байдаг бөгөөд хоюуланг доор тайлбарласан + байгаа. Эхнийхийг (бидний зөвлөж байгааг) <link linkend="login-class">нэвтрэх + ангилал</link>д орчны хувьсагчуудыг зааж хоёр дахийг системийн бүрхүүлийн + <link linkend="startup-file">эхлүүлэх файл</link>д орчны хувьсагчийн + заалтуудыг нэмснээр хийдэг.</para> + + <sect4 id="login-class"> + <title>Нэвтрэх ангилалуудын арга</title> + + <para>Энэ арга нь бүрхүүл бүрийн эхлүүлэх файлд тухайн бүрхүүлийн заалтуудыг + нэмэхийн оронд локалийн нэр болон MIME тэмдэгтийн олонлогуудад хэрэгтэй орчны + хувьсагчуудыг боломжит бүрхүүл бүрийн хувьд нэг л удаа заах боломжийг + олгодог. <link linkend="usr-setup">Хэрэглэгчийн түвшний + тохируулгыг</link> хэрэглэгч өөрөө хийж болох бөгөөд <link + linkend="adm-setup">Администраторын түвшний тохируулга</link> нь + супер хэрэглэгчийн зөвшөөрлүүдийг шаарддаг.</para> + + <sect5 id="usr-setup"> + <title>Хэрэглэгчийн түвшний тохируулга</title> + + <para>Энд хэрэглэгчийн гэр сан дотор байрлах Latin-1 кодчилолын хувьд + хоёр хувьсагчийг нь тохируулж өгсөн <filename>.login_conf</filename> + файлын хамгийн бага жишээ байна:</para> + + <programlisting>me:\ + :charset=ISO-8859-1:\ + :lang=de_DE.ISO8859-1:</programlisting> + + <indexterm><primary>Уламжлалт Хятад хэл</primary><secondary>BIG-5 кодчилол</secondary></indexterm> + <para>Энд BIG-5 кодчилолд Уламжлалт Хятад хэлд зориулан хувьсагчуудыг + тохируулж байгаа <filename>.login_conf</filename> файлын жишээ + байна. Зарим програм хангамжууд нь Хятад, Япон болон + Солонгос хэлний хувьд локалийн хувьсагчуудыг зөвөөр хүндэлдэггүй учраас + илүү олон хувьсагчуудыг тохируулсныг эндээс харж болно.</para> + + <programlisting>#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</programlisting> + + <para>Илүү дэлгэрэнгүйг <link linkend="adm-setup">Администраторын түвшний + тохируулга</link> болон &man.login.conf.5;-с үзнэ үү.</para> + </sect5> + + <sect5 id="adm-setup"> + <title>Администраторын түвшний тохируулга</title> + + <para><filename>/etc/login.conf</filename> дахь хэрэглэгчийн + нэвтрэх ангилал зөв хэл тохируулсныг шалгана. Эдгээр тохируулгууд + <filename>/etc/login.conf</filename>-д байгаа + эсэхийг шалгаарай:</para> + + <programlisting><replaceable>language_name</replaceable>:<replaceable>accounts_title</replaceable>:\ + :charset=<replaceable>MIME_charset</replaceable>:\ + :lang=<replaceable>locale_name</replaceable>:\ + :tc=default:</programlisting> + + <para>Бидний урдны жишээнийн адил Latin-1-г сонговол энэ нь иймэрхүү + харагдана:</para> + + <programlisting>german:German Users Accounts:\ + :charset=ISO-8859-1:\ + :lang=de_DE.ISO8859-1:\ + :tc=default:</programlisting> + + <para>Хэрэглэгчийн нэвтрэх ангилалуудыг өөрчлөхөөсөө өмнө дараах тушаалыг + ажиллуулж</para> + + <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen> + + <para>шинэ тохиргоог системд харагдуулахаар + <filename>/etc/login.conf</filename>-д хийнэ.</para> + + <bridgehead renderas=sect4>Нэвтрэх ангилалуудыг &man.vipw.8; ашиглан солих</bridgehead> + + <indexterm> + <primary><command>vipw</command></primary> + </indexterm> + <para>Шинэ хэрэглэгчид нэмэхийн тулд <command>vipw</command> тушаал ашиглан + оруулгыг иймэрхүү болгоно:</para> + + <programlisting>user:password:1111:11:<replaceable>language</replaceable>:0:0:User Name:/home/user:/bin/sh</programlisting> + + <bridgehead renderas=sect4>Нэвтрэх ангилалуудыг &man.adduser.8; ашиглан солих</bridgehead> + + <indexterm> + <primary><command>adduser</command></primary> + </indexterm> + <indexterm><primary>нэвтрэх ангилал</primary></indexterm> + <para>Шинэ хэрэглэгчид нэмэхийн тулд <command>adduser</command> тушаал + ашиглан дараахийг хийнэ:</para> + + <itemizedlist> + <listitem> + <para><filename>/etc/adduser.conf</filename> файлд + <literal>defaultclass = + <replaceable>language</replaceable></literal>-г + тохируулна. Та энэ тохиолдолд бусад хэлнүүдийн бүх хэрэглэгчдэд + зориулан <literal>анхдагч</literal> ангилалыг оруулах + хэрэгтэйг санах хэрэгтэй.</para> + </listitem> + + <listitem> + <para>&man.adduser.8;-с гарч ирэх асуулт бүрт +<screen><prompt>Enter login class: default []: </prompt></screen> + асуултад тухайн хэлийг зааж өгөх бас нэг хувилбар байж болно.</para> + </listitem> + + <listitem> + <para>Өөр нэг арга нь нэмэхээр хүсэж байгаа өөр хэлний хэрэглэгч бүрийн + хувьд дараахийг ашиглах явдал юм:</para> + + <screen>&prompt.root; <userinput>adduser -class <replaceable>language</replaceable></userinput></screen> + </listitem> + </itemizedlist> + + <bridgehead renderas=sect4>Нэвтрэх ангилалуудыг &man.pw.8; ашиглан солих</bridgehead> + <indexterm> + <primary><command>pw</command></primary> + </indexterm> + <para>Хэрэв та &man.pw.8;-г шинэ хэрэглэгч нэмэхийн тулд ашиглаж байгаа бол + үүнийг иймэрхүү маягаар дуудаарай:</para> + + <screen>&prompt.root; <userinput>pw useradd <replaceable>user_name</replaceable> -L <replaceable>language</replaceable></userinput></screen> + </sect5> + </sect4> + + <sect4 id="startup-file"> + <title>Бүрхүүлийн эхлүүлэх файл арга</title> + + <note> + <para>Энэ аргыг зөвлөдөггүй, учир нь сонгосон боломжит бүрхүүл програм + бүрийн хувьд өөр тохируулгыг шаарддаг. Оронд нь + <link linkend="login-class">Нэвтрэх ангилалын аргыг</link> + ашиглаарай.</para> + </note> + + <indexterm><primary>MIME</primary></indexterm> + <indexterm><primary>локал</primary></indexterm> + <para>Локалийн нэр болон MIME тэмдэгтийн олонлогийг нэмэхийн тулд + доор үзүүлсэн хоёр орчны хувьсагчийг <filename>/etc/profile</filename>-д + болон/эсвэл бүрхүүлийн эхлүүлэх файл <filename>/etc/csh.login</filename>-д + зааж өгнө. Бид Герман хэлийг доор жишээ болгон ашиглах болно:</para> + + <para><filename>/etc/profile</filename> файлд:</para> + + <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar> +<envar>MM_CHARSET=ISO-8859-1; export MM_CHARSET</envar></programlisting> + + <para>Эсвэл <filename>/etc/csh.login</filename> файлд:</para> + + <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar> +<envar>setenv MM_CHARSET ISO-8859-1</envar></programlisting> + + <para>Өөрөөр та дээрх заавруудыг <filename>/usr/share/skel/dot.profile</filename> + файлд (дээрх <filename>/etc/profile</filename>-д ашигласантай адил) эсвэл + <filename>/usr/share/skel/dot.login</filename> файлд (дээрх + <filename>/etc/csh.login</filename>-д ашигласантай адил) + нэмж болно.</para> + + <para>X11-ийн хувьд:</para> + + <para><filename>$HOME/.xinitrc</filename> файлд:</para> + + <programlisting><envar>LANG=de_DE.ISO8859-1; export LANG</envar></programlisting> + + <para>Эсвэл:</para> + + <programlisting><envar>setenv LANG de_DE.ISO8859-1</envar></programlisting> + + <para>Таны бүрхүүлээс хамаараад (дээрхийг үзнэ үү).</para> + + </sect4> + </sect3> + </sect2> + + <sect2 id="setting-console"> + <title>Консол тохируулах</title> + + <para>Бүх ганц C chars тэмдэгтийн олонлогуудын хувьд зөв консолийн + фонтуудыг <filename>/etc/rc.conf</filename>-д + асуултанд байгаа хэлний хувьд тохируулна:</para> + + <programlisting>font8x16=<replaceable>font_name</replaceable> +font8x14=<replaceable>font_name</replaceable> +font8x8=<replaceable>font_name</replaceable></programlisting> + + <para>Эндэх <replaceable>font_name</replaceable>-ийг + <filename>/usr/share/syscons/fonts</filename> сангаас + <filename>.fnt</filename> төгсгөлгүйгээр авсан.</para> + + <indexterm> + <primary><application>sysinstall</application></primary> + </indexterm> + <indexterm><primary>keymap</primary></indexterm> + <indexterm><primary>screenmap</primary></indexterm> + <para>Бас зөв keymap болон screenmap-ийг өөрийн ганц C chars тэмдэгтийн + олонлогийн хувьд <command>sysinstall</command> (5.2-оос хуучин &os; + хувилбаруудад <command>/stand/sysinstall</command>) ашиглан + зааж өгсөн эсэхээ шалгаарай. <application>sysinstall</application> + дотор байхдаа <guimenuitem>Configure</guimenuitem>-г сонгоод + дараа нь <guimenuitem>Console</guimenuitem>-г сонгоно. Өөрөөр + та дараахийг <filename>/etc/rc.conf</filename>-д нэмж болно:</para> + + <programlisting>scrnmap=<replaceable>screenmap_name</replaceable> +keymap=<replaceable>keymap_name</replaceable> +keychange="<replaceable>fkey_number sequence</replaceable>"</programlisting> + + <para>Эндэх <replaceable>screenmap_name</replaceable>-ийг + <filename>/usr/share/syscons/scrnmaps</filename> сангаас + <filename>.scm</filename> төгсгөлгүйгээр авсан. Зохих оноогдсон фонттой + screenmap нь псевдографик талбарт VGA адаптерийн фонтын тэмдэгтийн + матриц дээр бит 8-ийг бит 9 уруу өргөтгөхөд ихэвчлэн тойрон гарах арга зам + болгон хэрэглэдэг, өөрөөр хэлбэл хэрэв дэлгэцийн фонт бит 8 багана ашиглаж + байвал тэр талбараас үсэгнүүдийг шилжүүлэн гаргахын тулд хэрэглэгдэг.</para> + + <para>Хэрэв та <filename>/etc/rc.conf</filename>-д + <application>moused</application> демоныг идэвхжүүлэхийг + дараах байдлаар тохируулсан бол:</para> + +<programlisting>moused_enable="YES"</programlisting> + + <para>хулганы заагчийн мэдээллийг дараагийн хэсгээс шалгаарай.</para> + + <indexterm> + <primary><application>moused</application></primary> + </indexterm> + <para>Анхдагчаар &man.syscons.4; драйверийн хулганы заагч нь тэмдэгтийн + олонлогийн 0xd0-0xd3 хэсгийг эзэлдэг. Хэрэв таны хэл энэ хэсгийг ашигладаг + бол заагчийн хэсгийг үүнээс гадна шилжүүлэх хэрэгтэй. &os;-ийн хувьд + тойрон гарах арга замыг идэвхжүүлэхийн тулд дараах мөрийг + <filename>/etc/rc.conf</filename>-д нэмнэ:</para> + + <programlisting>mousechar_start=3</programlisting> + + <para>Эндэх <replaceable>keymap_name</replaceable>-ийг + <filename>/usr/share/syscons/keymaps</filename> сангаас + <filename>.kbd</filename> төгсгөлгүй авсан. Хэрэв та аль keymap-ийг + ашиглах эсэхдээ эргэлзэж байвал &man.kbdmap.1;-г ашиглаж дахин + ачаалалгүйгээр keymap-уудыг тест хийж болно.</para> + + <para><literal>keychange</literal> нь функцийн товчлууруудыг сонгосон терминалийн + төрөлтэй тааруулахын тулд програмчлахад ихэвчлэн хэрэгтэй байдаг, учир нь функцийн + товчлуурын дарааллуудыг товчлууруудын оноолтонд тодорхойлж болдоггүй.</para> + + <para>Бас консолийн терминалийн зөв төрлийг бүх <literal>ttyv*</literal> + оруулгуудын хувьд <filename>/etc/ttys</filename> файлд тохируулсан + эсэхээ шалгаарай. Одоогийн урьдчилан тодорхойлсон зохицлууд нь:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Тэмдэгтийн Олонлог</entry> + <entry>Терминалийн Төрөл</entry> + </row> + </thead> + + <tbody> + <row> + <entry>ISO8859-1 эсвэл ISO8859-15</entry> + <entry><literal>cons25l1</literal></entry> + </row> + + <row> + <entry>ISO8859-2</entry> + <entry><literal>cons25l2</literal></entry> + </row> + + <row> + <entry>ISO8859-7</entry> + <entry><literal>cons25l7</literal></entry> + </row> + + <row> + <entry>KOI8-R</entry> + <entry><literal>cons25r</literal></entry> + </row> + + <row> + <entry>KOI8-U</entry> + <entry><literal>cons25u</literal></entry> + </row> + + <row> + <entry>CP437 (VGA default)</entry> + <entry><literal>cons25</literal></entry> + </row> + + <row> + <entry>US-ASCII</entry> + <entry><literal>cons25w</literal></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Өргөн эсвэл олон байт тэмдэгтүүд бүхий хэлнүүдийн хувьд өөрийн + <filename>/usr/ports/<replaceable>language</replaceable></filename> + сангаас зөв FreeBSD портоо ашиглаарай. Зарим портууд консол маягаар + байхад түүнийг систем сериал vtty-үүд шигээр хардаг, ийм учраас та X11 + болон псевдо-сериал консолийн хувьд хангалттай vtty-үүдийг хадгалж байх + шаардлагатай. Өөр хэлүүдийг консолд ашиглахын тулд энд програмуудын + хэсэгчилсэн жагсаалт байна:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Хэл</entry> + <entry>Байрлал</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Уламжлалт Хятад хэл (BIG-5)</entry> + <entry><filename role="package">chinese/big5con</filename></entry> + </row> + + <row> + <entry>Япон хэл</entry> + <entry><filename role="package">japanese/kon2-16dot</filename> эсвэл + <filename role="package">japanese/mule-freewnn</filename></entry> + </row> + + <row> + <entry>Солонгос хэл</entry> + <entry><filename role="package">korean/han</filename></entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2> + <title>X11 тохируулах</title> + + <para>X11 нь FreeBSD Төслийн нэг хэсэг биш боловч бид энд FreeBSD хэрэглэгчдэд + зориулж зарим мэдээлэл орууллаа. Илүү дэлгэрэнгүйг <ulink + url="http://www.x.org/">&xorg; + вэб хаягаас</ulink> эсвэл аль X11 сервер ашиглаж байгаа түүнийхээ + вэб хаягаас лавлана уу.</para> + + <para><filename>~/.Xresources</filename> файлд та програмуудад зориулсан + I18N тохируулгуудыг (өөрөөр хэлбэл фонтууд, цэснүүд, гэх мэт.) тааруулж өгч + болно.</para> + + <sect3> + <title>Фонтуудыг үзүүлэх</title> + <indexterm><primary>X11 True Type фонтын сервер</primary></indexterm> + <para><application>&xorg;</application> сервер + (<filename role="package">x11-servers/xorg-server</filename>) + эсвэл <application>&xfree86;</application> сервер + (<filename role="package">x11-servers/XFree86-4-Server</filename>) + суулгаад дараа нь хэлний &truetype; фонтуудыг суулгана. Зөв локалийг тохируулах нь + танд цэснүүдийг сонгосон хэлээрээ харах зэрэг боломжийг олгоно.</para> + </sect3> + + <sect3> + <title>Англи биш тэмдэгтүүдийг оруулах нь</title> + <indexterm><primary>X11 оруулах арга (XIM)</primary></indexterm> + <para>X11 оруулах арга (XIM) нь бүх X11 клиентүүдэд зориулсан шинэ + стандарт юм. Бүх X11 програмууд нь XIM оруулах серверүүдээс оролт авдаг + XIM клиентүүд маягаар бичигдэх ёстой. Өөр өөр хэлнүүдэд зориулагдсан хэд хэдэн + XIM серверүүд байдаг.</para> + </sect3> + </sect2> + + <sect2> + <title>Хэвлэгч тохируулах</title> + + <para>Зарим ганц C chars тэмдэгтийн олонлогууд нь ихэвчлэн хэвлэгчүүд дотор + хатуугаар бичигдсэн байдаг. Өргөн эсвэл олон байт тэмдэгтийн олонлогууд нь + тусгай тохируулга шаарддаг бөгөөд бид <application>apsfilter</application> + програмыг хэрэглэхийг зөвлөдөг. Та бас &postscript; эсвэл PDF хэлбэрүүд + уруу тухайн хэлний хөрвүүлэгчдийг ашиглан баримтыг хөрвүүлж болох юм.</para> + </sect2> + + <sect2> + <title>Цөм ба файлын системүүд</title> + + <para>FreeBSD-ийн хурдан файлын систем (FFS) нь 8-бит цэвэр учир үүнийг + ямар ч ганц C chars тэмдэгтийн олонлогтой цуг ашиглаж болно + (&man.multibyte.3;-г үзнэ үү), гэхдээ тэмдэгтийн олонлогийн нэр + файлын системд хадгалагддаггүй; өөрөөр хэлбэл энэ нь түүхий 8-бит бөгөөд + кодчилолын дарааллын талаар юу ч мэддэггүй. Албан ёсоор FFS нь + өргөн эсвэл олон байт тэмдэгтийн олонлогуудын аль ч хэлбэрийг дэмждэггүй. + Гэхдээ зарим өргөн эсвэл олон байт тэмдэгтийн олонлогууд нь FFS-д ийм дэмжлэгийг + идэвхжүүлэхэд зориулсан бие биеэсээ ангид засваруудтай байдаг. Тэдгээр нь + цорын ганц ийш тийш хөрвүүлэх боломжгүй шийдлүүд буюу hack бөгөөд бид + тэдгээрийг эх модонд оруулахгүй гэж шийдэцгээсэн юм. Тохирох хэлнүүдийн + вэб хуудаснуудаас илүү дэлгэрэнгүй мэдээлэл болон засвар файлуудын талаар + лавлана уу.</para> + + <indexterm><primary>DOS</primary></indexterm> + <indexterm><primary>Unicode</primary></indexterm> + <para>FreeBSD &ms-dos; файлын систем нь &ms-dos;, Юникод тэмдэгтийн олонлогууд + болон FreeBSD-ийн сонгосон файлын системийн тэмдэгтийн олонлогуудын хооронд + хөрвүүлэх тохируулж болох боломж бүхий байдаг. Дэлгэрэнгүйг + &man.mount.msdosfs.8;-с үзнэ үү.</para> + </sect2> + </sect1> + + <sect1 id="l10n-compiling"> + <title>I18N програмуудыг эмхэтгэх</title> + + <para>FreeBSD-ийн олон портууд I18N дэмжлэгтэйгээр хөрвүүлэгдсэн байдаг. + Тэдгээрийн зарим нь портын нэрэндээ -I18N гэж тэмдэглэгдсэн байдаг. + Эдгээр болон бусад олон програмууд I18N-д зориулагдсан дэмжлэгтэйгээр бүтээгдсэн + байдаг бөгөөд тусгай хэлэлцүүлэг шаардлагагүй юм.</para> + + <indexterm> + <primary><application>MySQL</application></primary> + </indexterm> + <para>Гэхдээ <application>MySQL</application> зэрэг зарим програмууд + тусгайлсан charset бүхий байхаар тохируулагдсан <filename>Makefile</filename> + файлтай байх шаардлагатай. Үүнийг ихэвчлэн <filename>Makefile</filename>-д + эсвэл эхэд байх <application>configure</application> програмд утга + дамжуулан хийдэг.</para> + </sect1> + + <sect1 id="lang-setup"> + <title>FreeBSD-г өөр хэлнүүд уруу локалчлах</title> + + <sect2 id="ru-localize"> + <sect2info> + <authorgroup> + <author> + <firstname>Андрей</firstname> + <surname>Чернов</surname> + <contrib>Анхлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + <title>Орос хэл (KOI8-R Кодчилол)</title> + <indexterm> + <primary>локалчлал</primary> + <secondary>Орос</secondary> + </indexterm> + + <para>KOI8-R кодчилолын талаар дэлгэрэнгүй мэдээллийг <ulink + url="http://koi8.pp.ru/">KOI8-R Лавлахууд + (Russian Net Character Set)</ulink>-с үзнэ үү.</para> + + <sect3> + <title>Локал Тохируулах</title> + + <para>Дараах мөрүүдийг өөрийн <filename>~/.login_conf</filename> + файлд нэмнэ:</para> + + <programlisting>me:My Account:\ + :charset=KOI8-R:\ + :lang=ru_RU.KOI8-R:</programlisting> + + <para>Энэ бүлгийн өмнөхөөс <link linkend="setting-locale">локал</link> + тохируулах жишээнүүдийг үзнэ үү.</para> + </sect3> + + <sect3> + <title>Консол Тохируулга</title> + + <itemizedlist> + <listitem> + <para>Дараах мөрийг өөрийн <filename>/etc/rc.conf</filename> файлд нэмнэ:</para> + + <programlisting>mousechar_start=3</programlisting> + </listitem> + + <listitem> + <para>Мөн дараах тохируулгуудыг + <filename>/etc/rc.conf</filename>-д ашиглана:</para> + + <programlisting>keymap="ru.koi8-r" +scrnmap="koi8-r2cp866" +font8x16="cp866b-8x16" +font8x14="cp866-8x14" +font8x8="cp866-8x8"</programlisting> + + </listitem> + + <listitem> + <para><filename>/etc/ttys</filename> файл дахь + <literal>ttyv*</literal> оруулга болгоны хувьд + <literal>cons25r</literal>-ийг терминалийн төрөлд ашиглана.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийн өмнөхөөс <link linkend="setting-console">консол</link> + тохируулах жишээнүүдийг үзнэ үү.</para> + </sect3> + + <sect3> + <title>Хэвлэгчийн Тохируулга</title> + <indexterm><primary>хэвлэгчид</primary></indexterm> + <para>Орос тэмдэгтүүдтэй ихэнх хэвлэгчид CP866 гэсэн тоног төхөөрөмжийн код хуудастай + ирдэг бөгөөд KOI8-R-с CP866 уруу хөрвүүлэхийн тулд тусгай гаралтын шүүгч хэрэгтэй + болдог. Ийм шүүгч анхдагчаар <filename>/usr/libexec/lpr/ru/koi2alt</filename> + гэж суугддаг. Орос хэвлэгчийн <filename>/etc/printcap</filename> оруулга + иймэрхүү харагдах ёстой:</para> + + <programlisting>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:</programlisting> + + <para>Дэлгэрэнгүй тайлбарын талаар &man.printcap.5;-с үзнэ үү.</para> + </sect3> + + <sect3> + <title>&ms-dos; FS болон Орос файлын нэрс</title> + + <para>Дараах жишээ &man.fstab.5; оруулга нь холбогдсон &ms-dos; + файлын системүүд дээр Орос файлын нэрийн дэмжлэгийг идэвхжүүлдэг:</para> + + <programlisting>/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0</programlisting> + + <para><option>-L</option> тохируулга ашиглагдсан локалийн нэрийг сонгодог + бөгөөд <option>-W</option> нь тэмдэгтийн хөрвүүлэлтийн хүснэгтийг заадаг. + <option>-W</option> тохируулгыг ашиглахын тулд <filename>/usr</filename>-г + &ms-dos; хуваалтаас өмнө холбох хэрэгтэй, учир нь хөрвүүлэлтийн хүснэгтүүд + <filename>/usr/libdata/msdosfs</filename>-д байрладаг. Дэлгэрэнгүй + мэдээллийг &man.mount.msdosfs.8; гарын авлагын хуудаснаас үзнэ үү.</para> + </sect3> + + <sect3> + <title>X11 тохируулга</title> + + <orderedlist> + <listitem> + <para>Эхлээд <link linkend="setting-locale">X биш локалийн + тохируулгыг</link> тайлбарласнаар хийнэ.</para> + </listitem> + + <listitem> + <para>Хэрэв та <application>&xorg;</application>-г ашиглаж байгаа + бол <filename role="package">x11-fonts/xorg-fonts-cyrillic</filename> + багцыг суулгана.</para> + + <para>Өөрийн <filename>/etc/X11/xorg.conf</filename> файлын + <literal>"Files"</literal> хэсгийг шалгаарай. Дараах мөрүүд + аль ч <literal>FontPath</literal> оруулгуудаас + <emphasis>өмнө</emphasis> нэмэгдсэн байх шаардлагатай:</para> + + <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" +FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" +FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting> + + <para>Хэрэв та өндөр нарийвчлалтай видео горимыг ашиглаж байгаа бол + 75 dpi болон 100 dpi мөрүүдийг солиорой.</para> + + <note> + <para>Өөр илүү олон кирилл фонтуудыг авахыг хүсвэл портуудаас үзнэ үү.</para></note> + </listitem> + + <listitem> + <para>Орос гарыг идэвхжүүлэхийн тулд өөрийн <filename>xorg.conf</filename> + файлын <literal>"Keyboard"</literal> хэсэгт дараахийг + нэмээрэй:</para> + + <programlisting>Option "XkbLayout" "us,ru" +Option "XkbOptions" "grp:toggle"</programlisting> + + <para>Мөн <literal>XkbDisable</literal>-г хаасан (тайлбар болгосон) + эсэхийг тэндээс шалгаарай.</para> + + <para><literal>grp:caps_toggle</literal>-н хувьд RUS/LAT шилжүүлэгч + <keycap>Right Alt</keycap> болох бөгөөд + <literal>grp:ctrl_shift_toggle</literal> шилжүүлэгчийн хувьд + <keycombo action="simul"><keycap>Ctrl</keycap><keycap>Shift</keycap></keycombo> + болно. Хуучин <keycap>CapsLock</keycap> функцийн хувьд + <keycombo action="simul"><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo> + (зөвхөн LAT горимд) байсаар байна. <literal>grp:toggle</literal>-н + хувьд RUS/LAT шилжүүлэгч <keycap>Right Alt</keycap> байна. + <literal>grp:caps_toggle</literal> нь <application>&xorg;</application> + дээр тодорхойгүй шалтгааны улмаас ажилладаггүй.</para> + + <para>Хэрэв та өөрийн гар дээрээ <quote>&windows;</quote> товчлууруудтай + бол, зарим үсгэн товчлуурууд нь RUS горимд буруугаар тааруулагддагийг + анзаарсан байх, өөрийн <filename>xorg.conf</filename> файлдаа + дараах мөрийг нэмээрэй:</para> + + <programlisting>Option "XkbVariant" ",winkeys"</programlisting> + + <note> + <para>Орос XKB гар нь локалчлал хийгдээгүй програмуудтай ажиллахгүй байж + болох юм.</para> + </note> + </listitem> + </orderedlist> + <note> + <para>Хамгийн багаар локалчлагдсан програмууд <function>XtSetLanguageProc (NULL, NULL, + NULL);</function> функцийг програмын эхэнд дуудах ёстой.</para> + <para>X11 програмуудыг локалчлах талаар дэлгэрэнгүй заавруудыг <ulink + url="http://koi8.pp.ru/xwin.html">X Цонхны KOI8-R</ulink> + хаягаас үзнэ үү.</para> + </note> + </sect3> + </sect2> + + <sect2> + <title>Тайванд зориулсан уламжлалт Хятад хэлний локалчлал</title> + <indexterm> + <primary>локалчлал</primary> + <secondary>Уламжлалт Хятад хэл</secondary> + </indexterm> + <para>FreeBSD-Тайван Төсөл олон Хятад портуудыг ашиглан FreeBSD-д зориулсан Хятад HOWTO-г + <ulink url="http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/"></ulink> + дээр байрлуулсан байдаг. <literal>FreeBSD Хятад HOWTO</literal>-н + одоогийн засварлагч нь Чуан-Шинг Шен <email>statue@freebsd.sinica.edu.tw</email> юм. + </para> + + <para>Чуан-Шинг Шен <email>statue@freebsd.sinica.edu.tw</email> нь + FreeBSD-Тайваны <literal>zh-L10N-tut</literal> ашиглан + <ulink url="http://netlab.cse.yzu.edu.tw/~statue/cfc/"> + Хятад FreeBSD Цуглуулга (CFC)</ulink> үүсгэсэн байгаа. Багцууд болон + скрипт файлууд <ulink url="ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/"></ulink> + дээр байгаа болно.</para> + </sect2> + + <sect2> + <title>Герман хэлний локалчлал(бүх ISO 8859-1 хэлнүүдэд зориулсан)</title> + <indexterm> + <primary>локалчлал</primary> + <secondary>Герман</secondary> + </indexterm> + + <para>Славен Резич <email>eserte@cs.tu-berlin.de</email> нь FreeBSD + машин дээр umlaut буюу Герман хэлний авиа өөрчлөгддөгийг тэмдэглэдэг + хоёр цэгийг хэрхэн ашиглах талаар заавар бичсэн байгаа. Энэ заавар нь Герман хэл + дээр бичигдсэн бөгөөд <ulink url="http://www.de.FreeBSD.org/de/umlaute/"></ulink> + дээр байгаа болно.</para> + </sect2> + + <sect2> + <title>Япон болон Солонгос хэлний локалчлал</title> + <indexterm> + <primary>локалчлал</primary> + <secondary>Япон хэл</secondary> + </indexterm> + <indexterm> + <primary>локалчлал</primary> + <secondary>Солонгос хэл</secondary> + </indexterm> + <para>Япон хэлний хувьд + <ulink url="http://www.jp.FreeBSD.org/"></ulink>-д хандана уу, + Солонгос хэлний хувьд + <ulink url="http://www.kr.FreeBSD.org/"></ulink>-д хандана уу.</para> + </sect2> + + <sect2> + <title>Англи биш FreeBSD баримтжуулалт</title> + + <para>FreeBSD-ийн зарим хувь нэмэр оруулагчид FreeBSD-ийн зарим хэсгийг + орчуулсан байгаа. Тэдгээрийг <ulink + url="&url.base;/index.html">эх сайт</ulink> дээрх холбоосуудаас эсвэл + <filename>/usr/share/doc</filename> сангаас үзэж болох юм.</para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/linuxemu/Makefile b/mn_MN.UTF-8/books/handbook/linuxemu/Makefile new file mode 100644 index 0000000000..ac57de5867 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/linuxemu/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= linuxemu/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml b/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml new file mode 100644 index 0000000000..c582ffbd2a --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml @@ -0,0 +1,3308 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.133 + + $FreeBSD$ +--> + +<chapter id="linuxemu"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Дахин зохион байгуулж хэсгүүдийг шинэчилсэн </contrib> + </author> + <!-- 22 Mar 2000 --> + </authorgroup> + <authorgroup> + <author> + <firstname>Брайэн Н.</firstname> + <surname>Хэнди</surname> + <contrib>Анхлан хувь нэмэр болгон оруулсан </contrib> + </author> + <author> + <firstname>Рич</firstname> + <surname>Мёрфи</surname> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Линуксийн Хоёртын Нийлэмж</title> + + <sect1 id="linuxemu-synopsis"> + <title>Ерөнхий агуулга</title> + <indexterm><primary>Линуксийн Хоёртын Нийлэмж</primary></indexterm> + <indexterm> + <primary>хоёртын нийлэмж</primary> + <secondary>Линукс</secondary> + </indexterm> + + <para>FreeBSD нь Линуксийг оруулаад хэд хэдэн бусад &unix; төст үйлдлийн системүүдтэй + хоёртын нийлэмжтэй байдаг. Та магадгүй FreeBSD яагаад Линукс хоёртын файлуудыг + ажиллуулж чаддаг байх хэрэгтэй вэ? гэж өөрөөсөө асууж болох юм. Энэ асуултын + хариулт их энгийн. Линукс нь тооцоолох ертөнц дэх хамгийн сүүлийн үеийн + <quote>халуун зүйл</quote> болохоор олон компаниуд болон хөгжүүлэгчид зөвхөн + Линукст зориулж хөгжүүлдэг. Тэгэхээр бидний FreeBSD хэрэглэгчид эдгээр компаниуд болон + хөгжүүлэгчдээс өөрсдийн програмууддаа зориулж FreeBSD-ийн хувилбарууд бичихийг + шалгаахаас өөр аргагүйд хүргэдэг. Гол асуудал нь эдгээр компаниудын ихэнх нь + өөрсдийнх нь бүтээгдэхүүн бас FreeBSD дээрх хувилбартай байсан бол + хэр олон хүмүүс ашиглахыг яг үнэндээ бодож байгаагүй бөгөөд ихэнх нь зөвхөн + Линукст зориулж хөгжүүлэлт хийсээр байдаг. Тэгэхээр FreeBSD хэрэглэгчид юу + хийх вэ? Яг энэ үед Линуксийн хоёртын нийлэмж хэрэг болдог билээ.</para> + + <para>Товчхондоо нийлэмж нь FreeBSD хэрэглэгчдэд Линуксийн бүх програмуудын + ойролцоогоор 90%-ийг засваргүйгээр ажиллуулах боломжийг олгодог. Эдгээрт + <application>&staroffice;</application>, + <application>&netscape;</application>-ийн Линуксийн хувилбар, + <application>&adobe; &acrobat;</application>, + <application><trademark class="registered">RealPlayer</trademark></application>, + <application><trademark>VMware</trademark></application>, + <application>&oracle;</application>, + <application><trademark class="registered">WordPerfect</trademark></application>, <application>Doom</application>, + <application>Quake</application> зэрэг олон програмууд орно. + Зарим тохиолдолд Линуксийн хоёртын файлууд нь Линукс дээр байгаагаас + илүү хурдан FreeBSD дээр ажилладаг тохиолдол гарсан байна.</para> + + <para>Гэхдээ зарим нэг Линукст зөвхөн зориулагдсан үйлдлийн системийн + боломжууд FreeBSD дээр дэмжигдээгүй байдаг. Хэрэв Линуксийн хоёртын файлууд нь + виртуал 8086 горимыг идэвхжүүлэх зэрэг зөвхөн &i386;-д зориулсан дуудлагуудыг + ихээр ашиглаж байгаа үед ажилладаггүй.</para> + + <para>Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:</para> + <itemizedlist> + <listitem> + <para>Өөрийн систем дээр Линуксийн хоёртын нийлэмжийг хэрхэн идэвхжүүлэх талаар.</para> + </listitem> + + <listitem> + <para>Линуксийн нэмэлт хуваалцсан сангуудыг хэрхэн суулгах талаар.</para> + </listitem> + + <listitem> + <para>Өөрийн FreeBSD систем дээр Линуксийн програмуудыг хэрхэн суулгах талаар.</para> + </listitem> + + <listitem> + <para>FreeBSD дээрх Линуксийн нийлэмжийн шийдлийн нарийн учруудын талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>Гуравдагчдын бүтээсэн програм хангамжуудыг хэрхэн суулгах талаар мэдэх (<xref linkend="ports">).</para> + </listitem> + </itemizedlist> + + </sect1> + + <sect1 id="linuxemu-lbc-install"> + <title>Суулгалт</title> + + <indexterm><primary>KLD (цөмд дуудагдах боломжтой обьект)</primary></indexterm> + + <para>Линуксийн хоёртын нийлэмж анхдагчаар идэвхтэй байдаггүй. Энэ ажиллагааг хамгийн + хялбараар идэвхжүүлэхийн тулд <literal>линукс</literal> KLD обьектийг + (<quote>Kernel LoaDable обьект</quote>) дуудах явдал юм. + Та энэ модулийг дараах тушаалыг <username>root</username> эрхээр + ажиллуулж дуудаж болно:</para> + + <screen>&prompt.root; <userinput>kldload linux</userinput></screen> + + <para>Хэрэв та Линукийн нийлэмжийг үргэлж идэвхжүүлэхийг хүсэж байгаа бол + дараах мөрийг <filename>/etc/rc.conf</filename> файлд нэмэх + хэрэгтэй:</para> + + <programlisting>linux_enable="YES"</programlisting> + + <para>KLD дуудагдсан эсэхийг шалгахын тулд &man.kldstat.8; тушаалыг ашиглаж + болно:</para> + + <screen>&prompt.user; <userinput>kldstat</userinput> +Id Refs Address Size Name + 1 2 0xc0100000 16bdb8 kernel + 7 1 0xc24db000 d000 linux.ko</screen> + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>COMPAT_LINUX</secondary> + </indexterm> + + <para>Хэрэв ямар нэгэн шалтгаанаас болоод та KLD-г хүсэхгүй эсвэл дуудаж чадахгүй + байгаа бол <literal>options COMPAT_LINUX</literal> тохируулгыг + өөрийн цөмийн тохиргооны файлдаа нэмж Линуксийн хоёртын нийлэмжийг + статикаар холбож болох юм. Дараа нь <xref linkend="kernelconfig"> + хэсэгт тайлбарласны дагуу өөрийн шинэ цөмийг суулгах хэрэгтэй.</para> + + <sect2> + <title>Линуксийн ажиллах үеийн сангуудыг суулгах нь</title> + <indexterm> + <primary>Линукс</primary> + <secondary>Линуксийн сангуудыг суулгах</secondary> + </indexterm> + + <para><link linkend="linuxemu-libs-port">linux_base</link> порт + юм уу эсвэл тэдгээрийг <link + linkend="linuxemu-libs-manually">гараар</link> суулгах гэсэн + хоёр аргын аль нэгээр үүнийг хийж болох юм.</para> + + <sect3 id="linuxemu-libs-port"> + <title>linux_base портыг суулгаж ашиглах</title> + <indexterm><primary>Портын цуглуулга</primary></indexterm> + + <para>Ажиллах үеийн сангуудыг суулгахад ашиглах хамгийн хялбар арга нь энэ + юм. Энэ нь ямар нэгэн портыг + <ulink type="html" url="file://localhost/usr/ports/">Портын цуглуулга</ulink>ас + суулгаж байгаатай адил юм. Ердөө л дараахийг хийх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-fc4</userinput> +&prompt.root; <userinput>make install distclean</userinput></screen> + + <para>Та одоо ажилладаг Линуксийн хоёртын нийлэмжтэй болсон байх ёстой. + Зарим програмууд системийн сангуудын буруу бага хувилбаруудын талаар гомдоллож + болох юм. Гэхдээ энэ нь ерөнхийдөө асуудал биш байдаг.</para> + + <note><para>Төрөл бүрийн Линукс тархацуудын янз бүрийн хувилбаруудад + тохирох <filename + role="package">emulators/linux_base</filename> портын олон + хувилбарууд байж болох юм. Таны суулгахыг хүсэж байгаа Линуксийн програмуудын + шаардлагыг аль болох ойр хангаж байгаа тийм портыг та суулгах шаардлагатай.</para></note> + + </sect3> + + <sect3 id="linuxemu-libs-manually"> + <title>Сангуудыг гараар суулгах</title> + + <para>Хэрэв та <quote>портын</quote> цуглуулга суулгаагүй бол сангуудыг + гараар суулгаж болно. Програмын хамаардаг Линуксийн хуваалцсан сангууд болон + ажиллах үеийн холбогч (linker) танд хэрэгтэй болно. Та бас + <quote>сүүдэр root</quote> сан буюу <filename>/compat/linux</filename> + санг өөрийн FreeBSD систем дээр Линуксийн сангуудад зориулж үүсгэх хэрэгтэй + болно. FreeBSD дээр ажиллаж байгаа Линуксийн програмуудын онгойлгосон дурын + хуваалцсан сангууд энэ модыг эхлээд хайдаг. Тэгэхээр хэрэв Линуксийн програм + жишээ нь <filename>/lib/libc.so</filename>-г дуудвал FreeBSD эхлээд + <filename>/compat/linux/lib/libc.so</filename>-г онгойлгохыг + оролдох бөгөөд хэрэв байхгүй бол <filename>/lib/libc.so</filename>-г + оролдох болно. Хуваалцсан сангууд нь Линуксийн <command>ld.so</command> тушаалаар + гарч байгаа замуудад биш харин сүүдэр мод <filename>/compat/linux/lib</filename>-т + суулгагдах ёстой.</para> + + <para>Ерөнхийдөө таныг Линуксийн програм өөрийн FreeBSD системд суулгах эхний + цөөхөн хэдэн удаад зөвхөн Линуксийн хоёртын файлуудын хамаардаг хуваалцсан сангуудыг + хайх хэрэгтэй болно. Хэсэг хугацааны дараа та өөрийн систем дээрээ + ямар нэгэн илүү ажиллагаагүйгээр шинээр импорт хийгдсэн Линуксийн хоёртын файлуудыг + ажиллуулж чадах Линуксийн хуваалцсан сангуудын хангалттай олонлогтой + болсон байх болно.</para> + </sect3> + + <sect3> + <title>Нэмэлт хуваалцсан сангуудыг хэрхэн суулгах вэ</title> + <indexterm><primary>хуваалцсан сангууд</primary></indexterm> + + <para><filename>linux_base</filename> портыг суулгасан ч гэсэн + таны програм хуваалцсан сангууд байхгүй байна гээд гомдоллоод байвал + яах вэ? Линуксийн хоёртын файлуудад ямар хуваалцсан сангууд хэрэгтэйг + яаж мэдэх вэ, тэдгээрийг хаанаас авах вэ? Үндсэндээ 2 боломж байдаг + (эдгээр заавруудыг дагаж байхдаа та өөрийн FreeBSD систем дээрээ + <username>root</username> байх хэрэгтэй болно).</para> + + <para>Линукс системд хандах боломжтой бол програмд ямар хуваалцсан + сангууд хэрэгтэйг мэдээд тэдгээрийг өөрийн FreeBSD систем уруу хуулах + хэрэгтэй. Доорх жишээг харна уу:</para> + + <informalexample> + <para>Та FTP ашиглан <application>Doom</application> гэсэн + Линуксийн хоёртын файлыг авч өөрөө хандаж болох Линукс систем + дээрээ байрлуулсан гэж үзье. Та тэгээд үүний шаарддаг хуваалцсан + сангуудыг <command>ldd linuxdoom</command> тушаал + ашиглан иймэрхүүгээр шалгаж болно:</para> + + <screen>&prompt.user; <userinput>ldd linuxdoom</userinput> +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</screen> + + <indexterm><primary>симболын холбоосууд</primary></indexterm> + <para>Та сүүлийн баганад байгаа бүх файлуудыг авч эхний баганад байгаа нэрсийг + тэдгээр уруу заасан симболын холбоосууд болгон + <filename>/compat/linux</filename> дотор байрлуулах хэрэгтэй. + Энэ нь та өөрийн FreeBSD системдээ эцсийн эцэст эдгээр файлуудтай + болно гэсэн үг юм:</para> + + <screen>/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</screen> + + <blockquote> + <note> + <para>Хэрэв та <command>ldd</command> тушаалын гаралтын + эхний баганатай Линуксийн хуваалцсан сангийн гол залруулалтын дугаар + таарсан тйим Линуксийн хуваалцсан сантай байгаа бол сүүлийн баганад + байгаа файлуудыг өөрийн систем уруу хуулах шаардлагагүй бөгөөд + танд байгаа чинь ажиллах ёстойг санаарай. Хэрэв шинэ хувилбар + бол хуваалцсан санг ямар ч байсан хуулахыг зөвлөдөг. Та шинэ уруу + заасан симболын холбоос үүсгэснийхээ дараа хуучинг устгаж болно. + Тэгэхээр хэрэв эдгээр сангууд таны өөрийн системд байгаа:</para> + + <screen>/compat/linux/lib/libc.so.4.6.27 +/compat/linux/lib/libc.so.4 -> libc.so.4.6.27</screen> + + <para>бөгөөд шинэ сан нь <command>ldd</command> тушаалын + гаралтын дагуу сүүлийн хувилбарыг шаардана гэж байгааг мэдвэл:</para> + + <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen> + + <para>Хэрэв төгсөж байгаа тоон дээр зөвхөн нэг юм уу эсвэл хоёр хувилбар + хуучин байгаа бол <filename>/lib/libc.so.4.6.29</filename>-г + бас хуулж санаагаа зовоогоод хэрэггүй бөгөөд програм нь нэлээн хуучин + хувилбартай зүгээр ажиллах ёстой юм. Гэхдээ хэрэв та хүсэж байгаа бол + <filename>libc.so</filename>-г ямар ч байсан гэсэн солихоор + шийдэж болох бөгөөд энэ нь таныг доорхтой үлдээх болно:</para> + + <screen>/compat/linux/lib/libc.so.4.6.29 +/compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen> + </note> + </blockquote> + + <blockquote> + <note> + <para>Симболын холбоосын арга нь <emphasis>зөвхөн</emphasis> + Линукс хоёртын файлуудад хэрэгтэй байдаг. FreeBSD-ийн ажиллах + үеийн холбогч нь таарах гол залруулалтын дугааруудыг хайх талаар + өөрөө санаа тавьдаг болохоор та санаа зовох хэрэггүй юм.</para> + </note> + </blockquote> + </informalexample> + </sect3> + </sect2> + + <sect2> + <title>Линуксийн ELF хоёртын файлуудыг суулгах</title> + <indexterm> + <primary>Линукс</primary> + <secondary>ELF хоёртын файлууд</secondary> + </indexterm> + + <para>ELF хоёртын файлууд нь заримдаа <quote>branding</quote> буюу + <quote>тамгалах</quote> нэмэлт алхмыг шаарддаг. Хэрэв та тамгалаагүй + ELF хоёртын файлыг ажиллуулахыг оролдвол дараахьтай төстэй алдааг + хүлээн авах болно:</para> + + <screen>&prompt.user; <userinput>./my-linux-elf-binary</userinput> +ELF binary type not known +Abort</screen> + + <para>FreeBSD цөмд FreeBSD ELF хоёртын файлыг Линуксийн хоёртын файлаас + ялгахад туслахын тулд &man.brandelf.1; хэрэгслийг ашиглана.</para> + + <screen>&prompt.user; <userinput>brandelf -t Linux my-linux-elf-binary</userinput></screen> + + <indexterm><primary>GNU хэрэгслийн цуглуулга</primary></indexterm> + <para>Өнөөдөр GNU хэрэгслийн цуглуулга нь ELF хоёртын файлуудад автоматаар + тохирох тамгалалтын мэдээллийг байрлуулдаг. Тэгэхээр энэ алхам нь + ирээдүйд бараг л хэрэггүй болох ёстой юм.</para> + </sect2> + + <sect2> + <title>Хостын нэр танигчийг тохируулах</title> + + <para>Хэрэв DNS ажиллахгүй байвал эсвэл та ийм мэдэгдэл хүлээн авбал:</para> + + <screen>resolv+: "bind" is an invalid keyword resolv+: +"hosts" is an invalid keyword</screen> + + <para>Та дараах мөрүүдийг агуулсан + <filename>/compat/linux/etc/host.conf</filename> файлыг + тохируулах хэрэгтэй болно:</para> + + <programlisting>order hosts, bind +multi on</programlisting> + + <para>Энд байгаа order нь <filename>/etc/hosts</filename>-г + эхлээд хайж дараа нь DNS-ийг хайна гэж зааж байна. + <filename>/compat/linux/etc/host.conf</filename> суугаагүй + үед Линуксийн програмууд FreeBSD-ийн <filename>/etc/host.conf</filename>-г + олж нийцгүй FreeBSD-ийн бичлэг байна гэж гомдоллох болно. + Хэрэв та <filename>/etc/resolv.conf</filename> файл + ашиглан нэрийн серверийг тохируулаагүй бол <literal>bind</literal> гэсэн + үгийг устгах хэрэгтэй.</para> + </sect2> + </sect1> + + <sect1 id="linuxemu-mathematica"> + <sect1info> + <authorgroup> + <author> + <firstname>Борис</firstname> + <surname>Холлас</surname> + <contrib>Mathematica 5.X-д зориулж шинэчилсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>&mathematica; суулгах нь</title> + + <indexterm> + <primary>програмууд</primary> + <secondary><application>Mathematica</application></secondary> + </indexterm> + + <para>Энэ баримт нь <application>&mathematica; 5.X</application>-ийн + Линукс хувилбарыг FreeBSD систем уруу суулгах процессийг тайлбарлах + болно.</para> + + <para><application>&mathematica;</application> эсвэл + <application>&mathematica; for Students</application>-ийн + Линуксийн хувилбарыг <ulink url="http://www.wolfram.com/"></ulink> дэх + Wolfram-аас захиалж болно.</para> + + <sect2> + <title>&mathematica; суулгагчийг ажиллуулах</title> + + <para>Эхлээд <application>&mathematica;</application>-ийн + Линукс хоёртын файлууд Линуксийн ABI-г ашиглана гэдгийг та &os;-д хэлж + өгөх хэрэгтэй. Ингэж хийх хамгийн хялбар арга бол бүх тамгалаагүй + хоёртын файлуудын хувьд анхдагч ELF тамгалалтыг Линукс болгон + дараах тушаалаар тохируулах явдал юм:</para> + + <screen>&prompt.root; <userinput>sysctl kern.fallback_elf_brand=3</userinput></screen> + + <para>Энэ нь тамгалаагүй ELF хоёртын файлууд Линуксийн ABI-г + ашиглана гэж бодоход &os;-г хүргэх бөгөөд та суулгагчийг CDROM-оос шууд + ажиллуулах боломжтой болох ёстой.</para> + + <para>Одоо <filename>MathInstaller</filename> файлыг өөрийн + хатуу хөтөч уруу хуулах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>mount /cdrom</userinput> +&prompt.root; <userinput>cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/</userinput></screen> + + <para>бөгөөд энэ файл дахь эхний мөрний <literal>/bin/sh</literal>-г + <literal>/compat/linux/bin/sh</literal> гэж солих хэрэгтэй. + Энэ нь суулгагч &man.sh.1;-ийн Линуксийн хувилбарыг ажиллуулахаар + болгож байгаа юм. Дараа нь <literal>Linux)</literal> гэсэн + бүгдийг <literal>FreeBSD)</literal> гэдгээр текст засварлагчаар + юм уу эсвэл доорх дараагийн хэсэгт байгаа скриптээр солих хэрэгтэй. + Үйлдлийн системийг тодорхойлохын тулд <command>uname -s</command> + тушаалыг дууддаг <application>&mathematica;</application> суулгагчид + &os;-г Линукс төст үйлдлийн систем гэж үзэхийг энэ нь хэлж өгнө. + <command>MathInstaller</command>-г ажиллуулахад одоо + <application>&mathematica;</application>-г суулгах болно.</para> + </sect2> + + <sect2> + <title>&mathematica;-ийн ажиллуулах боломжтой файлуудыг өөрчлөх</title> + + <para>Суулгах явцад <application>&mathematica;</application>-ийн + үүсгэсэн бүрхүүлийн скриптүүдийг ашиглахаасаа өмнө өөрчлөх хэрэгтэй. + Хэрэв та <application>&mathematica;</application>-ийн + ажиллуулах боломжтой файлуудыг байрлуулах санд <filename role="directory">/usr/local/bin</filename>-г + сонгосон бол та энэ санд <filename>math</filename>, <filename>mathematica</filename>, + <filename>Mathematica</filename>, болон + <filename>MathKernel</filename> гэж нэрлэгдсэн файлууд уруу заагдсан + симболын холбоосуудыг олох болно. Эдгээр бүрт <literal>Linux)</literal> + гэдгийг <literal>FreeBSD)</literal> гэдгээр текст засварлагчаар + юм уу эсвэл доорх бүрхүүлийн скриптээр солих хэрэгтэй:</para> + + <programlisting>#!/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</programlisting> + </sect2> + + <sect2> + <title>Өөрийн &mathematica; нууц үгийг олж авах</title> + + <indexterm> + <primary>Ethernet</primary> + <secondary>MAC хаяг</secondary> + </indexterm> + + <para><application>&mathematica;</application>-г эхний удаа + эхлүүлэхэд танаас нууц үг асуух болно. Хэрэв та Wolfram-аас нууц үгээ + авч амжаагүй байгаа бол өөрийн <quote>машины ID</quote>-г авахын тулд + суулгацын санд <command>mathinfo</command>-г ажиллуулах хэрэгтэй. + Энэ машины ID нь таны эхний Ethernet картны MAC хаяг дээр тулгуурласан + болохоор <application>&mathematica;</application>-ийн + өөрийн хуулбарыг та өөр машинууд дээр ажиллуулж чадахгүй юм.</para> + + <para>Wolfram-д цахим захидлаар ч юм уу эсвэл утас, факсаар бүртгүүлэх үедээ + та <quote>машины ID</quote>-аа тэдэнд өгөх бөгөөд тэд бүлэг тоонуудаас + тогтох харгалзах нууц үг бүхий хариу өгөх болно.</para> + </sect2> + + <sect2> + <title>&mathematica; нүүрэн хэсгийг сүлжээгээр ажиллуулах</title> + + <para><application>&mathematica;</application> нь тэмдэгтүүдийг + үзүүлэхийн тулд аль ч стандарт үсгийн маягуудын олонлогуудад байдаггүй + тусгай үсгийн маягуудыг ашигладаг (интегралууд, нийлбэрүүд, Грек үсгүүд гэх мэт.). + X протокол нь эдгээр үсгийн маягуудыг <emphasis>өөр дээрээ</emphasis> + локалиар суулгахыг шаарддаг. Энэ нь CDROM юм уу эсвэл + <application>&mathematica;</application> суулгагдсан хостоос + эдгээр үсгийн маягуудын хуулбарыг өөрийн локал машин уруу хуулна гэсэн үг юм. + Эдгээр үсгийн маягууд нь CDROM-ийн + <filename>/cdrom/Unix/Files/SystemFiles/Fonts</filename> сан, + эсвэл таны хатуу хөтөчийн <filename>/usr/local/mathematica/SystemFiles/Fonts</filename> + санд ихэвчлэн хадгалагддаг. Үсгийн жинхэнэ маягууд нь <filename>Type1</filename> болон + <filename>X</filename> дэд сангуудад байрладаг. Доор тайлбарласан + тэдгээрийг ашиглах хэд хэдэн аргууд байдаг.</para> + + <para>Эхний арга нь тэдгээрийг <filename>/usr/X11R6/lib/X11/fonts</filename> + дахь байгаа үсгийн маягийн сангуудын аль нэг уруу хуулах явдал юм. Энэ нь + үсгийн маягийн нэрсийг нэмж, эхний мөрөн дээр үсгийн маягуудын тоог өөрчилж + <filename>fonts.dir</filename> файлыг засварлахыг шаардана. + Мөн өөрөөр та тэдгээрийг хуулсан санд &man.mkfontdir.1; тушаалыг + ажиллуулж бас чадах ёстой юм.</para> + + <para>Үүнийг хийх хоёр дахь арга нь сангуудыг <filename>/usr/X11R6/lib/X11/fonts</filename> + уруу хуулах явдал юм:</para> + + <screen>&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts</userinput> +&prompt.root; <userinput>mkdir X</userinput> +&prompt.root; <userinput>mkdir MathType1</userinput> +&prompt.root; <userinput>cd /cdrom/Unix/Files/SystemFiles/Fonts</userinput> +&prompt.root; <userinput>cp X/* /usr/X11R6/lib/X11/fonts/X</userinput> +&prompt.root; <userinput>cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1</userinput> +&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/X</userinput> +&prompt.root; <userinput>mkfontdir</userinput> +&prompt.root; <userinput>cd ../MathType1</userinput> +&prompt.root; <userinput>mkfontdir</userinput></screen> + + <para>Одоо шинэ үсгийн маягийн сангуудаа өөрийн үсгийн маягийн замдаа нэмнэ:</para> + + <screen>&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/X</userinput> +&prompt.root; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/MathType1</userinput> +&prompt.root; <userinput>xset fp rehash</userinput></screen> + + <para>Хэрэв та <application>&xorg;</application> серверийг ашиглаж байгаа бол + эдгээр үсгийн маягийн сангуудыг өөрийн <filename>xorg.conf</filename> файлдаа + нэмэн автоматаар дуудагдахаар тохируулж болно.</para> + + <note><para><application>&xfree86;</application> серверүүдийн хувьд + тохиргооны файл нь <filename>XF86Config</filename> байна.</para></note> + <indexterm><primary>үсгийн маягууд</primary></indexterm> + + <para>Хэрэв танд <filename>/usr/X11R6/lib/X11/fonts/Type1</filename> + гэгдсэн сан <emphasis>байхгүй</emphasis> байгаа бол та дээрх жишээн дээрх + <filename>MathType1</filename> сангийн нэрийг <filename>Type1</filename> + болгон өөрчилж болно.</para> + </sect2> + </sect1> + + <sect1 id="linuxemu-maple"> + <sect1info> + <authorgroup> + <author> + <firstname>Аарон</firstname> + <surname>Каплан</surname> +<!-- <address><email>aaron@lo-res.org</email></address>--> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Роберт</firstname> + <surname>Гэтшман</surname> +<!-- <address><email>rob@getschmann.org</email></address>--> + <contrib>Тусалсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>&maple; суулгах нь</title> + + <indexterm> + <primary>програмууд</primary> + <secondary><application>Maple</application></secondary> + </indexterm> + + <para><application>&maple;</application> нь <application>&mathematica;</application>-тай + төстэй арилжааны зориулалтын математикийн програм юм. Та энэ програмыг <ulink + url="http://www.maplesoft.com/"></ulink>-с худалдан авч дараа нь тэндээ + лицензийн файл авахын тулд бүртгүүлэх хэрэгтэй. Энэ програм хангамжийг FreeBSD + дээр суулгахын тулд эдгээр хялбар алхмуудыг дагана уу.</para> + + <procedure> + <step><para><filename>INSTALL</filename> бүрхүүлийн скриптийг + бүтээгдэхүүний тархацаас ажиллуулна. Суулгац програмаас хүсэхэд + <quote>RedHat</quote> тохируулгыг сонгоорой. Ердийн суулгацын + сан нь <filename + class="directory">/usr/local/maple</filename> байж болох юм.</para></step> + + <step><para>Хэрэв та тэгж хийгээгүй бол Maple Waterloo Software + (<ulink url="http://register.maplesoft.com/"></ulink>) компаниас + <application>&maple;</application>-д зориулж лиценз захиж түүнийгээ + <filename>/usr/local/maple/license/license.dat</filename> сан уруу хуулах + хэрэгтэй.</para></step> + + <step><para><application>&maple;</application>-тай цуг ирдэг + <filename>INSTALL_LIC</filename> суулгацын бүрхүүлийн + скриптийг ажиллуулж <application>FLEXlm</application> + лиценз менежерийг суулгах хэрэгтэй. Лицензийн серверт зориулж өөрийн + машиныхаа анхдагч хостын нэрийг зааж өгнө.</para></step> + + <step><para><filename>/usr/local/maple/bin/maple.system.type</filename> + файлыг доорхоор нөхөөс хийх хэрэгтэй:</para> +<programlisting> ----- snip ------------------ +*** maple.system.type.orig Sun Jul 8 16:35:33 2001 +--- 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 -----</programlisting> + + <para><literal>"FreeBSD"|\</literal> мөрийн дараа ямар ч хоосон зай байх + ёсгүйг санаарай.</para> + + <para>Энэхүү нөхөөс нь <quote>FreeBSD</quote>-г Линукс системийн + төрөл маягаар танихыг <application>&maple;</application>-д заадаг. + <filename>bin/maple</filename> бүрхүүлийн скрипт нь + <filename>bin/maple.system.type</filename> бүрхүүлийн скриптийг + дуудаж тэр нь эргээд үйлдлийн системийн нэрийг олохын тулд + <command>uname -a</command> тушаалыг дууддаг. OS-ийн нэрээс хамаараад + энэ нь аль хоёртын файлуудаа ашиглахаа олох болно.</para></step> + + <step><para>Лицензийн серверийг эхлүүлнэ.</para> + + <para><filename>/usr/local/etc/rc.d/lmgrd.sh</filename> гэж + суулгагдсан дараах скрипт нь <command>lmgrd</command>-г эхлүүлэх + хялбар арга юм:</para> + + <programlisting> ----- 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 ------------</programlisting></step> + + + <step><para><application>&maple;</application>-ийг тестээр эхлүүлнэ:</para> + <screen>&prompt.user; <userinput>cd /usr/local/maple/bin</userinput> +&prompt.user; <userinput>./xmaple</userinput></screen> + + <para>Одоо ажиллаж байх ёстой. Maplesoft уруу та FreeBSD-ийн + эх хувилбарыг хүсэж байгаагаа бичихээ мартуузай!</para></step> + </procedure> + + <sect2> + <title>Түгээмэл асуудлууд</title> + + <itemizedlist> + <listitem><para><application>FLEXlm</application> лицензийн + менежертэй ажиллахад төвөгтэй байж болох юм. Энэ талаарх нэмэлт + баримтыг <ulink url="http://www.globetrotter.com/"></ulink> хаягаас + олж болно.</para></listitem> + + <listitem><para><command>lmgrd</command> нь лицензийн файлыг хэтэрхий + голж шилдэг, бас хэрэв ямар нэгэн асуудал байвал core файл үүсгэх дуртайгаараа + алдартай програм юм. Зөв лицензийн файл иймэрхүү харагдах ёстой:</para> + +<programlisting># ======================================================= +# 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" \ + SN=XXXXXXXXX</programlisting> + + <note><para>Энд сериал дугаар болон түлхүүрийг 'X' болгосон байна. + <hostid>chillig</hostid> нь хостын нэр юм.</para></note> + + <para>Лицензийн файлыг засварлахдаа <quote>FEATURE</quote> мөрийг + (энэ нь лицензийн түлхүүрээр хамгаалагдсан байдаг) оролдохгүй бол + ямар ч асуудал гарахгүй ажиллах болно.</para></listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="linuxemu-matlab"> + <sect1info> + <authorgroup> + <author> + <firstname>Дэн</firstname> + <surname>Пэллэг</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + <!-- daniel+handbook@pelleg.org --> + </authorgroup> + </sect1info> + <title>&matlab; суулгах нь</title> + + <indexterm> + <primary>програмууд</primary> + <secondary><application>MATLAB</application></secondary> + </indexterm> + + <para>Энэ баримт нь <application>&matlab; version 6.5</application>-ийн + Линуксийн хувилбарыг &os; систем уруу суулгах процессийг тайлбарлах болно. + <application>&java.virtual.machine;</application>-г тооцохгүй юм бол + энэ нь маш сайн ажилладаг (<xref linkend="matlab-jre">-г үзнэ үү).</para> + + <para><application>&matlab;</application>-ийн Линуксийн хувилбарыг + <ulink + url="http://www.mathworks.com"></ulink> дэх MathWorks-с шууд захиалж болно. + Лицензийн файлыг авах юм уу эсвэл хэрхэн үүсгэх зааврыг бас авахаа мартуузай. + Тэнд байхдаа тэдний програм хангамжийн &os; хувилбарыг хүсэж байгаагаа + мэдэгдээрэй.</para> + + <sect2> + <title>&matlab; суулгах нь</title> + + <para><application>&matlab;</application>-г суулгахын тулд + дараахийг хийнэ:</para> + + <procedure> + <step> + <para>Суулгацын CD-г хийж холбоно. Суулгацын скриптийн зөвлөснөөр + <username>root</username> болно. Суулгах скриптийг + эхлүүлэхийн тулд дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>/compat/linux/bin/sh /cdrom/install</userinput></screen> + + <tip> + <para>Суулгагч нь график орчных юм. Хэрэв та дэлгэц онгойлгож + чадахгүй байна гэсэн алдаанууд авбал + <command>setenv HOME ~<replaceable>USER</replaceable></command> + гэж бичих хэрэгтэй бөгөөд энд байгаа <replaceable>USER</replaceable> нь + таны &man.su.1; хийсэн хэрэглэгч юм.</para> + </tip> + </step> + + <step> + <para> + <application>&matlab;</application>-ийн root санг асуухад + дараахийг бичнэ: + <userinput>/compat/linux/usr/local/matlab</userinput>.</para> + + <tip> + <para>Суулгах процессийн үлдсэн хэсэгт хялбараар бичдэг байхын тулд өөрийн бүрхүүлийн + хүлээх мөрөн дээр үүнийг бичнэ: + <command>set MATLAB=/compat/linux/usr/local/matlab</command></para> + </tip> + </step> + + <step> + <para><application>&matlab;</application> лицензийг авч байхдаа + зааварласны дагуу лицензийн файлыг засварлана.</para> + + <tip> + <para>Өөрийн дуртай засварлагчаа ашиглан та энэ файлыг + урьдчилан бэлдэж, суулгагч танаас үүнийг засварлахыг + асуухаас өмнө <filename>$MATLAB/license.dat</filename> + уруу хуулна.</para> + </tip> + </step> + + <step> + <para>Суулгах процессийг гүйцээнэ.</para> + </step> + </procedure> + + <para>Энд хүрэхэд таны <application>&matlab;</application> + суулгалт дууссан байна. Үүнийг таны &os; систем уруу холбохын тулд + дараах алхмууд нь <quote>хийж</quote> өгдөг.</para> + </sect2> + + <sect2> + <title>Лицензийн Менежерийн эхлүүлэлт</title> + <procedure> + <step> + <para>Лицензийн менежерийн скриптүүдэд зориулж симболын холбоосуудыг үүсгэнэ:</para> + + <screen>&prompt.root; <userinput>ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW</userinput> +&prompt.root; <userinput>ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW</userinput></screen> + </step> + + <step> + <para><filename>/usr/local/etc/rc.d/flexlm.sh</filename>-т + эхлүүлэх файлыг үүсгэнэ. Доорх жишээ нь + түгээгдсэн <filename>$MATLAB/etc/rc.lm.glnx86</filename>-ийн + өөрчлөгдсөн хувилбар юм. Өөрчлөлтүүд нь файлын байрлалууд болон + Линуксийн эмуляц доор ажиллах лицензийн менежерийн + эхлүүлэлт байна.</para> + + <programlisting>#!/bin/sh +case "$1" in + start) + if [ -f /usr/local/etc/lmboot_TMW ]; then + /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u <replaceable>username</replaceable> && 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</programlisting> + + <important> + <para>Файлыг ажиллуулахаар болгох ёстой:</para> + + <screen>&prompt.root; <userinput>chmod +x /usr/local/etc/rc.d/flexlm.sh</userinput></screen> + + <para>Та дээрх <replaceable>username</replaceable>-г + өөрийн систем дээрх зөв хэрэглэгчээр солих ёстой + (<username>root</username> биш).</para> + </important> + </step> + + <step> + <para>Лицензийн менежерийг дараах тушаалаар эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/flexlm.sh start</userinput></screen> + </step> + </procedure> + </sect2> + + <sect2 id="matlab-jre"> + <title>&java;-ийн ажиллах үеийн орчныг холбох</title> + + <para><application>&java;</application> Runtime + Environment (JRE) буюу Ажиллах үеийн орчны холбоосыг + &os; дээр ажиллаж байгаа уруу зааж өөрчлөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd $MATLAB/sys/java/jre/glnx86/</userinput> +&prompt.root; <userinput>unlink jre; ln -s ./jre1.1.8 ./jre</userinput></screen> + </sect2> + + <sect2> + <title>&matlab;-ийн эхлүүлэх скриптийг үүсгэх</title> + + <procedure> + <step> + <para>Дараах эхлүүлэх скриптийг + <filename>/usr/local/bin/matlab</filename>-д байрлуулна: + </para> + + <programlisting>#!/bin/sh +/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"</programlisting> + </step> + + <step> + <para>Тэгээд <command>chmod +x /usr/local/bin/matlab</command> + тушаалыг бичнэ.</para> + </step> + </procedure> + + <tip> + <para>Таны <filename role="package">emulators/linux_base</filename> + хувилбараас шалтгаалаад энэ скриптийг ажиллуулахад алдаа гарч болох юм. + Үүнээс сэргийлэхийн тулд <filename>/compat/linux/usr/local/matlab/bin/matlab</filename> + файлыг засварлаж доорх:</para> + + <programlisting>if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then</programlisting> + + <para>(13.0.1 хувилбар дээр энэ нь 410-р мөрөнд байна) мөрийг ингэж + өөрчлөх хэрэгтэй:</para> + + <programlisting>if test -L $newbase; then</programlisting> + </tip> + </sect2> + + <sect2> + <title>&matlab;-ийн зогсоох скриптийг үүсгэх</title> + + <para>&matlab;-ийн зөв дуусдаггүй асуудлыг шийдэхэд дараах зүйлсийг хийх хэрэгтэй.</para> + + <procedure> + <step> + <para><filename>$MATLAB/toolbox/local/finish.m</filename> + файл үүсгэж түүнд ганц мөр нэмнэ:</para> + + <programlisting>! $MATLAB/bin/finish.sh</programlisting> + + <note><para><literal>$MATLAB</literal> нь үг юм.</para></note> + + <tip> + <para>Тэр сан дотроо гарахаас өмнө өөрийн ажлын талбарыг хадлагах + боломжийг олгох <filename>finishsav.m</filename> болон + <filename>finishdlg.m</filename> файлуудыг та олох болно. + Хэрэв та тэдгээрийн аль нэгийг ашиглаж байгаа бол дээрх мөрийг + <literal>save</literal> тушаалын дараа нэн даруй оруулах + хэрэгтэй.</para></tip> + </step> + + <step> + <para>Дараахийг агуулсан + <filename>$MATLAB/bin/finish.sh</filename> файлыг + үүсгэнэ:</para> + + <programlisting>#!/usr/compat/linux/bin/sh +(sleep 5; killall -1 matlab_helper) & +exit 0</programlisting> + </step> + + <step> + <para>Файлыг ажиллах боломжтой болгоно:</para> + + <screen>&prompt.root; <userinput>chmod +x $MATLAB/bin/finish.sh</userinput></screen> + </step> + </procedure> + </sect2> + + <sect2 id="matlab-using"> + <title>&matlab;-ийг ашиглах</title> + + <para>Энд хүрэхэд та <command>matlab</command> + гэж бичин үүнийг ашиглаж эхлэхэд бэлэн болсон байна.</para> + </sect2> + </sect1> + + <sect1 id="linuxemu-oracle"> + <sect1info> + <authorgroup> + <author> + <firstname>Марсел</firstname> + <surname>Мууленаар</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + <!-- marcel@cup.hp.com --> + </authorgroup> + </sect1info> + <title>&oracle; суулгах нь</title> + + <indexterm> + <primary>програмууд</primary> + <secondary><application>Oracle</application></secondary> + </indexterm> + + <sect2> + <title>Оршил</title> + <para>Энэ баримт нь Линукст зориулсан <application>&oracle; 8.0.5</application> болон + <application>&oracle; 8.0.5.1 Enterprise Edition</application>-г FreeBSD машин + уруу суулгах процессийг тайлбарлах болно.</para> + </sect2> + + <sect2> + <title>Линуксийн орчныг суулгах</title> + + <para>Та <filename role='package'>emulators/linux_base</filename> болон + <filename role='package'>devel/linux_devtools</filename> програмууд + портын цуглуулгаас суусан эсэхийг шалгаарай. Та эдгээр портын хувьд асуудалтай байгаа + бол багцууд юм уу эсвэл портын цуглуулгад байгаа хуучин хувилбаруудыг ашиглах хэрэгтэй + болж болох юм.</para> + + <para>Хэрэв та ухаалаг агентыг ажиллуулахыг хүсэж байгаа бол Red Hat Tcl + багц: <filename>tcl-8.0.3-20.i386.rpm</filename>-г бас суулгах хэрэгтэй болно. + Албан ёсны <application>RPM</application> порттой (<filename role='package'>archivers/rpm</filename>) + багцуудыг суулгах ерөнхий тушаал бол:</para> + + <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>package</replaceable></userinput></screen> + + <para><replaceable>package</replaceable>-ийн суулгалт ямар ч алдаа үүсгэх ёсгүй.</para> + </sect2> + + <sect2> + <title>&oracle; орчныг үүсгэх</title> + + <para><application>&oracle;</application>-г суулгахаасаа өмнө та тохирох орчныг тохируулах + хэрэгтэй. Энэ баримт нь <application>&oracle;</application>-г суулгах зааварт тайлбарласныг биш + Линукст зориулсан <application>&oracle;</application>-г + FreeBSD дээр ажиллуулахын тулд <emphasis>яг</emphasis> юу хийхийг зөвхөн тайлбарладаг.</para> + + <sect3 id="linuxemu-kernel-tuning"> + <title>Цөмийг тааруулах</title> + <indexterm><primary>цөмийг тааруулах</primary></indexterm> + + <para><application>&oracle;</application>-г суулгах зааварт тайлбарласнаар хуваалцсан + санах ойн хамгийн их хэмжээг тохируулах хэрэгтэй. FreeBSD дээр <literal>SHMMAX</literal>-г + битгий ашиглаарай. <literal>SHMMAX</literal> нь ердөө л <literal>SHMMAXPGS</literal> болон + <literal>PGSIZE</literal>-с тооцоологдон гаргагддаг. Тийм болохоор + <literal>SHMMAXPGS</literal>-г тодорхойл. Бусад бүх тохируулгууд зааварт + тайлбарласны дагуу ашиглагдаж болно. Жишээ нь:</para> + + <programlisting>options SHMMAXPGS=10000 +options SHMMNI=100 +options SHMSEG=10 +options SEMMNS=200 +options SEMMNI=70 +options SEMMSL=61</programlisting> + + <para>Эдгээр тохируулгуудыг өөрийн <application>&oracle;</application>-ийн хэрэглээнд + тааруулж тохируулах хэрэгтэй.</para> + + <para>Мөн цөмийн тохиргооны файлдаа дараах тохируулгуудтай байгаа эсэхээ бас шалгаарай:</para> + +<programlisting>options SYSVSHM #SysV shared memory +options SYSVSEM #SysV semaphores +options SYSVMSG #SysV interprocess communication</programlisting> + </sect3> + + <sect3 id="linuxemu-oracle-account"> + + <title>&oracle; бүртгэл</title> + + <para>Өөр бусад бүртгэл үүсгэдэг шигээ <username>oracle</username> бүртгэл үүсгэнэ. + <username>oracle</username> бүртгэл нь Линуксийн бүрхүүл өгөх шаардлагатай + цорын ганц тусгай бүртгэл юм. <filename>/etc/shells</filename> файлд + <literal>/compat/linux/bin/bash</literal>-г нэмээд <username>oracle</username> + хэрэглэгчийн бүрхүүлийг <filename>/compat/linux/bin/bash</filename> гэж + тохируулна.</para> + </sect3> + + <sect3 id="linuxemu-environment"> + <title>Орчин</title> + + <para><envar>ORACLE_HOME</envar> болон <envar>ORACLE_SID</envar> зэрэг + ердийн <application>&oracle;</application> хувьсагчуудаас гадна та дараах орчны + хувьсагчуудыг тохируулах ёстой:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="2*"> + <thead> + <row> + <entry>Хувьсагч</entry> + + <entry>Утга</entry> + </row> + </thead> + <tbody> + <row> + <entry><envar>LD_LIBRARY_PATH</envar></entry> + + <entry><literal>$ORACLE_HOME/lib</literal></entry> + </row> + + <row> + <entry><envar>CLASSPATH</envar></entry> + + <entry><literal>$ORACLE_HOME/jdbc/lib/classes111.zip</literal></entry> + </row> + + <row> + <entry><envar>PATH</envar></entry> + + <entry><literal>/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</literal></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Бүх орчны хувьсагчуудыг <filename>.profile</filename>-д тохируулахыг + зөвлөдөг. Гүйцэд жишээ бол дараах байна:</para> + +<programlisting>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</programlisting> + </sect3> + </sect2> + + <sect2> + <title>&oracle;-ийг суулгах</title> + + <para>Линуксийн эмуляторын хайхрамжгүй бүрэн бүтэн бус байдлаас болоод + суулгагчийг эхлүүлэхээсээ өмнө та <filename>.oracle</filename> + санг <filename>/var/tmp</filename> дотор үүсгэх хэрэгтэй болдог. + Үүнийг <username>oracle</username> хэрэглэгч эзэмшихээр болгох + хэрэгтэй. Та <application>&oracle;</application>-г ямар ч + асуудалгүйгээр суулгаж чадах ёстой. Хэрэв танд асуудлууд учирвал + эхлээд өөрийн <application>&oracle;</application> тархац ба/эсвэл + тохиргоог шалгах хэрэгтэй! <application>&oracle;</application>-г + суулгасныхаа дараа та дараах хоёр дэд хэсэгт тайлбарласан нөхөөсүүдийг + хийж өгөх хэрэгтэй.</para> + + <para>Байнга учирдаг асуудал бол TCP протоколын хувиргагч зөв суулгагдаагүй + байдаг явдал юм. Үүнээс болоод та ямар ч TCP сонсогч эхлүүлж чадахгүй. + Дараах үйлдлүүд нь энэ асуудлыг шийдэхэд тусалдаг:</para> + + <screen>&prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput> +&prompt.root; <userinput>make -f ins_network.mk ntcontab.o</userinput> +&prompt.root; <userinput>cd $ORACLE_HOME/lib</userinput> +&prompt.root; <userinput>ar r libnetwork.a ntcontab.o</userinput> +&prompt.root; <userinput>cd $ORACLE_HOME/network/lib</userinput> +&prompt.root; <userinput>make -f ins_network.mk install</userinput></screen> + + <para><filename>root.sh</filename>-г дахин ажиллуулахаа битгий мартаарай!</para> + + <sect3 id="linuxemu-patch-root"> + <title>root.sh-д нөхөөс хийх</title> + + <para><application>&oracle;</application>-г суулгаж байхад + <username>root</username> эрхээр хийгдэх шаардлагатай зарим үйлдлүүд + <filename>root.sh</filename> гэж нэрлэгдсэн бүрхүүлийн скриптэд + бичигдсэн байдаг. Энэ скрипт нь <filename>orainst</filename> санд + бичигдсэн байдаг. <command>chown</command> тушаалын зөв байрлалыг + ашиглахаар болгож дараах нөхөөсийг <filename>root.sh</filename>-д + хийх хэрэгтэй, эсвэл өөрөөр скриптийг Линуксийн эх бүрхүүл дээр ажиллуулах + хэрэгтэй.</para> + + <programlisting>*** 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</programlisting> + + <para>CD-ээс <application>&oracle;</application>-г та суулгахгүй + үед <filename>root.sh</filename>-д зориулсан эхийг нөхөж болно. + Үүнийг <filename>rthd.sh</filename> гэдэг бөгөөд эх модны + <filename>orainst</filename> санд байрладаг.</para> + </sect3> + + <sect3 id="linuxemu-patch-tcl"> + <title>genclntsh-д нөхөөс хийх</title> + + <para><command>genclntsh</command> скрипт нь хуваалцсан ганц клиентийн санг + үүсгэхэд ашиглагддаг. Үзүүлбэрүүдийг бүтээж байхад үүнийг ашигладаг. + <envar>PATH</envar>-н тодорхойлолтыг тайлбар болгохын тулд + дараах нөхөөсийг хийх хэрэгтэй:</para> + + <programlisting>*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 +--- bin/genclntsh Tue Dec 22 15:36:49 1998 +*************** +*** 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 +--- 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</programlisting> + </sect3> + </sect2> + + <sect2> + <title>&oracle;-г ажиллуулах</title> + + <para>Заавруудыг дагасны дараа та <application>&oracle;</application>-г + Линукс дээр ажиллуулж байгаа юм шиг ажиллуулж чадах ёстой.</para> + </sect2> + </sect1> + + <sect1 id="sapr3"> + <sect1info> + <authorgroup> + <author> + <firstname>Холгэр</firstname> + <surname>Кипп</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- holger.kipp@alogis.com --> + <authorgroup> + <author> + <firstname>Валентино</firstname> + <surname>Вашетто</surname> + <contrib>Эх хувилбарыг SGML рүү хөрвүүлсэн </contrib> + </author> + </authorgroup> + </sect1info> + + <title>&sap.r3; суулгах нь</title> + + <indexterm> + <primary>Програмууд</primary> + <secondary><application>SAP R/3</application></secondary> + </indexterm> + + <para>FreeBSD ашиглан <application>&sap;</application> системүүдийг суулгах нь + &sap;-ийн дэмжих багаар дэмжигддэггүй —тэдгээр нь зөвхөн баталгаажсан + тавцангуудын хувьд дэмжлэг санал болгодог.</para> + + <sect2 id="preface"> + <title>Оршил</title> + + <para>Энэ баримт нь FreeBSD болон <application>&oracle;</application>-ийн суулгалтыг + оруулаад Линукст зориулсан <application>&sap.r3; System</application>-г + <application>&oracle; Database</application>-тэй цуг FreeBSD машин дээр суулгах + боломжит аргыг тайлбарлах болно. Хоёр өөр тохиргоог тайлбарлана:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD 4.3-STABLE дээр <application>&oracle; 8.0.5</application>-тай + цуг <application>&sap.r3; 4.6B (IDES)</application></para> + </listitem> + + <listitem> + <para>FreeBSD 4.5-STABLE дээр <application>&oracle; 8.1.7</application>-тай + цуг <application>&sap.r3; 4.6C</application></para> + </listitem> + </itemizedlist> + + <para>Энэ баримт нь бүх чухал алхмуудыг илүү дэлгэрэнгүй тайлбарлахыг оролддог ч + гэсэн <application>&oracle;</application> болон + <application>&sap.r3;</application>-ийн суулгалтын заавруудыг + орлох зорилгоор хийгдээгүй юм.</para> + + <para><application>&sap;</application>-д зориулсан + <application>&sap.r3;</application> Линуксийн хувилбартай + ирдэг баримтыг болон <application>&oracle;</application>-тай холбоотой + асуултууд, <application>&oracle;</application> болон + <application>&sap; OSS</application>-ийн эх үүсвэрүүдийг + үзнэ үү.</para> + </sect2> + + <sect2 id="software"> + <title>Програм хангамж</title> + + <para>Дараах CD-ROM-ууд нь <application>&sap;</application> суулгалтуудад ашиглагддаг:</para> + + <sect3 id="software-46b"> + <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> + + <informaltable frame="none" pgwide="1"> + <tgroup cols=3> + <thead> + <row> + <entry>Нэр</entry> <entry>Дугаар</entry> <entry>Тайлбар</entry> + </row> + </thead> + <tbody> + <row> + <entry>KERNEL</entry> <entry>51009113</entry> <entry>SAP Цөм Oracle / + Суулгалт / AIX, Линукс, Solaris</entry> + </row> + + <row> + <entry>RDBMS</entry> <entry>51007558</entry> <entry>Oracle / RDBMS 8.0.5.X / + Линукс</entry> + </row> + + <row> + <entry>EXPORT1</entry> <entry>51010208</entry> <entry>IDES / DB-Export / + 6 Дискийн 1-р Диск</entry> + </row> + + <row> + <entry>EXPORT2</entry> <entry>51010209</entry> <entry>IDES / DB-Export / + 6 Дискийн 2-р Диск</entry> + </row> + + <row> + <entry>EXPORT3</entry> <entry>51010210</entry> <entry>IDES / DB-Export / + 6 Дискийн 3-р Диск</entry> + </row> + + <row> + <entry>EXPORT4</entry> <entry>51010211</entry> <entry>IDES / DB-Export / + 6 Дискийн 4-р Диск</entry> + </row> + + <row> + <entry>EXPORT5</entry> <entry>51010212</entry> <entry>IDES / DB-Export / + 6 Дискийн 5-р Диск</entry> + </row> + + <row> + <entry>EXPORT6</entry> <entry>51010213</entry> <entry>IDES / DB-Export / + 6 Дискийн 6-р Диск</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Мөн бид <application>&oracle; 8 + Сервер</application> (Линуксийн Цөмийн Хувилбар 2.0.33-т зориулсан + урьдчилсан хувилбар 8.0.5) CD-г ашигласан ба энэ нь тийм ч шаардлагатай + биш бөгөөд бас FreeBSD 4.3-STABLE (4.3 RELEASE-с дөнгөж хэд хоног өнгөрч + байсан) хувилбарыг ашигласан.</para> + + </sect3> + <sect3 id="software-46c"> + <title>&sap.r3; 4.6C SR2, &oracle; 8.1.7</title> + + <informaltable frame="none" pgwide="1"> + <tgroup cols=3> + <thead> + <row> + <entry>Нэр</entry> <entry>Дугаар</entry> <entry>Тайлбар</entry> + </row> + </thead> + + <tbody> + <row> + <entry>KERNEL</entry> <entry>51014004</entry> <entry>SAP Цөм Oracle / + SAP Цөмийн Хувилбар 4.6D / DEC, Линукс</entry> + </row> + + <row> + <entry>RDBMS</entry> <entry>51012930</entry> <entry>Oracle 8.1.7/ RDBMS / + Линукс</entry> + </row> + + <row> + <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Хувилбар 4.6C SR2 / Export + / 4 Дискийн 1-р Диск</entry> + </row> + + <row> + <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Хувилбар 4.6C SR2 / Export + / 4 Дискийн 2-р Диск</entry> + </row> + + <row> + <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Хувилбар 4.6C SR2 / Export + / 4 Дискийн 3-р Диск</entry> + </row> + + <row> + <entry>EXPORT1</entry> <entry>51013953</entry> <entry>Хувилбар 4.6C SR2 / Export + / 4 Дискийн 4-р Диск</entry> + </row> + + <row> + <entry>LANG1</entry> <entry>51013954</entry> <entry>Хувилбар 4.6C SR2 / + Хэл / DE, EN, FR / 3 Дискийн 1-р Диск</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Суулгахыг хүссэн хэлээс хамаарч хэлний нэмэлт CD-үүд хэрэг болж болох юм. + Энд бид DE болон EN (Герман болон Англи) хэлүүдийг ашиглаж байгаа, тийм болохоор + зөвхөн хэлний эхний CD хэрэгтэй юм. Тэмдэглэн хэлэхэд бүх дөрвөн EXPORT CD-үүдийн + дугаар адил байна. Хэлний гурван CD-үүд бас адил дугаартай байна (энэ нь 4.6B IDES + хувилбарын CD дугаарлалтаас өөр юм). Үүнийг бичиж байх үед суулгалт нь + FreeBSD 4.5-STABLE (20.03.2002) хувилбар дээр ажиллаж байгаа болно.</para> + </sect3> + </sect2> + + <sect2 id="sap-notes"> + <title>&sap; тэмдэглэлүүд</title> + + <para><application>&sap.r3;</application>-ийг суулгахаасаа өмнө + дараах тэмдэглэгээнүүдийг унших хэрэгтэй. Энэ нь бас суулгаж байх явцад + ашигтай болох нь тогтоогдсон:</para> + + <sect3 id="sap-notes-46b"> + <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Дугаар</entry> + <entry>Нэр</entry> + </row> + </thead> + <tbody> + + <row> + <entry>0171356</entry> <entry>Линукс дээрх SAP програм хангамж: Үндсэн тайлбарууд</entry> + </row> + + <row> + <entry>0201147</entry> <entry>INST: UNIX - Oracle дээрх 4.6C R/3 Inst.</entry> + </row> + + <row> + <entry>0373203</entry> <entry>Шинэчлэл / Шилжүүлэлт Oracle 8.0.5 --> + 8.0.6/8.1.6 ЛИНУКС</entry> + </row> + + <row> + <entry>0072984</entry> <entry>Oracle-д зориулсан Digital UNIX 4.0B Хувилбар</entry> + </row> + + <row> + <entry>0130581</entry> <entry>R3SETUP-ийн DIPGNTAB алхам зогсох</entry> + </row> + + <row> + <entry>0144978</entry> <entry>Таны систем зөв суулгагдаагүй байна</entry> + </row> + + <row> + <entry>0162266</entry> <entry>Windows + NT / W2K дээрх R3SETUP-д зориулсан асуултууд болон зааврууд</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect3> + + <sect3 id="sap-notes-46c"> + <title>&sap.r3; 4.6C, &oracle; 8.1.7</title> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Дугаар</entry> + <entry>Нэр</entry> + </row> + </thead> + <tbody> + <row> + <entry>0015023</entry> <entry>Хүснэгт TCPDB (RSXP0004) + (EBCDIC)-г эхлүүлэх</entry> + </row> + + <row> + <entry>0045619</entry> <entry>Хэд хэдэн хэлүүд болон үсгийн хэлбэрүүдтэй R/3</entry> + </row> + + <row> + <entry>0171356</entry> <entry>Линукс дээрх SAP програм хангамж: Үндсэн тайлбарууд</entry> + </row> + + <row> + <entry>0195603</entry> <entry>RedHat 6.1 Enterprise хувилбар: + Мэдэгдэж байгаа асуудлууд</entry> + </row> + + <row> + <entry>0212876</entry> <entry>Архивлах шинэ хэрэгсэл SAPCAR</entry> + </row> + + <row> + <entry>0300900</entry> <entry>Линукс: Гаргасан DELL тоног төхөөрөмж</entry> + </row> + + <row> + <entry>0377187</entry> <entry>RedHat 6.2: чухал тэмдэглэгээнүүд</entry> + </row> + + <row> + <entry>0387074</entry> <entry>INST: UNIX дээрх R/3 4.6C SR2 суулгалт</entry> + </row> + + <row> + <entry>0387077</entry> <entry>INST: UNIX - Oracle дээрх R/3 4.6C SR2 Inst.</entry> + </row> + + <row> + <entry>0387078</entry> <entry>UNIX дээрх SAP програм хангамж: OS-ийн хамаарлууд + 4.6C SR2</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect3> + </sect2> + + <sect2 id="hardware-requirements"> + <title>Тоног төхөөрөмжийн шаардлагууд</title> + + <para><application>&sap.r3; System</application>-ийн суулгалтад + дараах төхөөрөмжүүд хангалттай. Үйлдвэрлэлийн зорилгоор ашиглахад + мэдээж илүү тодорхой хэмжээнүүд шаардлагатай:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Бүрэлдэхүүн</entry> + <entry>4.6B</entry> + <entry>4.6C</entry> + </row> + </thead> + <tbody> + <row> + <entry>Процессор</entry> + <entry>2 x 800MHz &pentium; III</entry> + <entry>2 x 800MHz &pentium; III</entry> + </row> + + <row> + <entry>Санах ой</entry> + <entry>1GB ECC</entry> + <entry>2GB ECC</entry> + </row> + + <row> + <entry>Хатуу дискийн зай</entry> + <entry>50-60GB (IDES)</entry> + <entry>50-60GB (IDES)</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Үйлдвэрлэлд том кэш, өндөр хурдтай дискийн хандалт + (SCSI, RAID тоног төхөөрөмжийн хянагч), USV болон ECC-RAM бүхий + &xeon; процессоруудыг ашиглахыг зөвлөдөг. Хатуу дискийн их хэмжээний зай нь + суулгах явцад 27 GB хэмжээтэй мэдээллийн баазын файлуудыг үүсгэдэг + урьдчилан тохируулсан IDES системээс болдог. Энэ зай нь эхний үйлдвэрлэлийн + систем болон програмын өгөгдлүүдэд бас хангалттай байдаг.</para> + + <sect3 id="hardware-46b"> + <title>&sap.r3; 4.6B, &oracle; 8.0.5</title> + + <para>Дараах тоног төхөөрөмж ашиглагдсан: 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) залгагдсан болно.</para> + </sect3> + + <sect3 id="hardware-46c"> + <title>&sap.r3; 4.6C, &oracle; 8.1.7</title> + + <para>Энэ суулгалтад &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) залгагдсан болно.</para> + </sect3> + </sect2> + + <sect2 id="installation"> + <title>FreeBSD-ийн суулгалт</title> + + <para>Та эхлээд FreeBSD суулгах хэрэгтэй. Үүнийг хийх хэд хэдэн арга байгаа бөгөөд + дэлгэрэнгүй мэдээллийг <xref + linkend="install-diff-media">-с уншина уу.</para> + + <sect3 id="disk-layout"> + <title>Дискийн дүр зураг</title> + + <para>Хялбар байлгахын тулд ижил дискийн байршлыг + <application>&sap.r3; 46B</application> болон <application>&sap.r3; 46C + SR2</application> суулгалтад хэрэглэсэн. Суулгалт өөр өөр тоног төхөөрөмжин + (<filename>/dev/da</filename> + болон <filename>/dev/amr</filename>, тэгэхээр хэрэв AMI &megaraid;-г ашиглаж байгаа бол + <filename>/dev/da0s1a</filename>-ийн оронд <filename>/dev/amr0s1a</filename>-г харах + болно) дээр хийгдсэн болохоор зөвхөн төхөөрөмжийн нэрс өөрчлөгдсөн:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Файлын систем</entry> + <entry>Хэмжээ (1k-блок)</entry> + <entry>Хэмжээ (GB)</entry> + <entry>Холбогдсон газар</entry> + </row> + </thead> + <tbody> + <row> + <entry><filename>/dev/da0s1a</filename></entry> + <entry>1.016.303</entry> + <entry>1</entry> + <entry><filename>/</filename></entry> + </row> + + <row> + <entry><filename>/dev/da0s1b</filename></entry> + <entry> </entry> + <entry>6</entry> + <entry>swap</entry> + </row> + + <row> + <entry><filename>/dev/da0s1e</filename></entry> + <entry>2.032.623</entry> + <entry>2</entry> + <entry><filename>/var</filename></entry> + </row> + + <row> + <entry><filename>/dev/da0s1f</filename></entry> + <entry>8.205.339</entry> + <entry>8</entry> + <entry><filename>/usr</filename></entry> + </row> + + <row> + <entry><filename>/dev/da1s1e</filename></entry> + <entry>45.734.361</entry> + <entry>45</entry> + <entry><filename>/compat/linux/oracle</filename></entry> + </row> + + <row> + <entry><filename>/dev/da1s1f</filename></entry> + <entry>2.032.623</entry> + <entry>2</entry> + <entry><filename>/compat/linux/sapmnt</filename></entry> + </row> + + <row> + <entry><filename>/dev/da1s1g</filename></entry> + <entry>2.032.623</entry> + <entry>2</entry> + <entry><filename>/compat/linux/usr/sap</filename></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Урьдаар &mylex; юм уу эсвэл PERC/3 RAID програм хангамжаар + хоёр логик хөтөчийг тохируулж эхлүүлэх хэрэгтэй. Програм хангамж нь + <acronym>BIOS</acronym>-ийн ачаалах үед эхлүүлэгдэж болдог.</para> + + <para>Энэхүү дискийн байршил нь &sap;-ийн зөвлөдгөөс шал ондоо + байгааг санаарай. &sap; нь <application>&oracle;</application> + дэд сангуудыг (болон бусад заримыг) тусад нь холбохыг санал болгодог — + бид хялбар байх үүднээс тэдгээрийг жинхэнэ дэд сангууд маягаар үүсгэхээр + шийдсэн юм.</para> + </sect3> + + <sect3 id="makeworldandnewkernel"> + <title><command>make world</command> болон шинэ цөм</title> + + <para>Хамгийн сүүлийн -STABLE эхийг татаж авах хэрэгтэй. Өөрийн цөмийн тохиргооны + файлаа тохируулсны дараа ертөнц болон өөрийн өөрчилсөн цөмөө дахин бүтээх хэрэгтэй. + Энд та бас <application>&sap.r3;</application> + болон <application>&oracle;</application>-ийн шаарддаг + <link linkend="kerneltuning">цөмийн параметрүүдийг</link> + оруулах хэрэгтэй.</para> + </sect3> + </sect2> + + <sect2 id="installingthelinuxenviornment"> + <title>Линуксийн орчныг суулгах</title> + + <sect3 id="installinglinuxbase-system"> + <title>Линуксийн үндсэн системийн суулгах</title> + + <para>Эхлээд <link linkend="linuxemu-libs-port">linux_base</link> портыг + суулгах хэрэгтэй (<username>root</username> эрхээр):</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base</userinput> +&prompt.root; <userinput>make install distclean</userinput></screen> + + </sect3> + + + <sect3 id="installinglinuxdevelopment"> + <title>Линуксийн хөгжүүлэлтийн орчинг суулгах</title> + + <para><xref linkend="linuxemu-oracle">-д дурдсаны дагуу FreeBSD дээр + <application>&oracle;</application>-г суулгахыг хүсэж байгаа бол Линуксийн + хөгжүүлэлтийн орчин хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/devel/linux_devtools</userinput> +&prompt.root; <userinput>make install distclean</userinput></screen> + + <para>Линуксийн хөгжүүлэлтийн орчин зөвхөн <application>&sap.r3; + 46B IDES</application> суулгалтад зориулагдан суугдсан. + <application>&oracle; DB</application> нь FreeBSD систем дээр + дахин холбоос хийгдээгүй бол энэ нь шаардлагагүй юм. Линукс + системээс <application>&oracle;</application>-ийн tar бөмбөгийг + ашиглаж байгаа тохиолдол нь энэ юм.</para> + + </sect3> + + + <sect3 id="installingnecessaryrpms"> + <title>Шаардлагатай RPM-үүдийг суулгах</title> + <indexterm><primary>RPM-үүд</primary></indexterm> + + <para><command>R3SETUP</command> програмыг эхлүүлэхийн тулд PAM дэмжлэг + хэрэгтэй. FreeBSD 4.3-STABLE дээрх эхний <application>&sap;</application> + суулгалтын үед бид PAM-ийг шаардлагатай бүх багцуудтай нь суулгахыг оролдсон + бөгөөд эцэст нь PAM багцын суулгалтыг хийсэн юм. Үүний дүнд энэ нь ажилласан. + <application>&sap.r3; 4.6C SR2</application>-ийн хувьд бид + PAM RPM-ийн суулгалтыг шууд хийсэн ба энэ нь бас ажилласан юм. Тийм болохоор + хамааралтай багцууд хэрэггүй байх:</para> + + +<screen>&prompt.root; <userinput>rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ +pam-0.68-7.i386.rpm</userinput></screen> + + <para><application>&oracle; 8.0.5</application>-ийн хувьд + ухаалаг агентыг ажиллуулахын тулд бид RedHat Tcl багц + <filename>tcl-8.0.5-30.i386.rpm</filename>-г + суулгах хэрэгтэй болсон (тэгэхгүй бол <application>&oracle;</application>-г + суулгах явцад дахин холбоос үүсгэлт ажиллахгүй болно). <application>&oracle;</application>-ийн + дахин холбоос үүсгэлтийн талаар бусад зарим асуудлууд байдаг боловч + энэ нь FreeBSD-тэй холбоотой биш <application>&oracle;</application> Линуксийн + асуудал юм.</para> + + </sect3> + + <sect3 id="linuxprocandfallbackelfbrand"> + <title>Зарим нэгэн нэмэлт зөвлөмжүүд</title> + + <para><literal>linprocfs</literal>-г <filename>/etc/fstab</filename> + уруу нэмэх нь сайн санаа байж болох бөгөөд дэлгэрэнгүй мэдээллийг &man.linprocfs.5; + гарын авлагын хуудаснаас үзнэ үү. Тохируулах өөр нэг параметр нь <filename>/etc/sysctl.conf</filename>-д + хийгддэг <literal>kern.fallback_elf_brand=3</literal> тохиргоо юм.</para> + </sect3> + </sect2> + + <sect2 id="creatingsapr3env"> + <title>&sap.r3; орчинг үүсгэх</title> + + <sect3 id="filesystemsandmountpoints"> + <title>Шаардлагатай файлын системүүд болон холболтын цэгүүдийг үүсгэх</title> + + <para>Хялбар суулгалтын хувьд дараах файлын системүүдийг үүсгэхэд + хангалттай:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>холбох цэг</entry> + <entry>хэмжээ GB</entry> + </row> + </thead> + <tbody> + <row> + <entry><filename>/compat/linux/oracle</filename></entry> + <entry>45 GB</entry> + </row> + + <row> + <entry><filename>/compat/linux/sapmnt</filename></entry> + <entry>2 GB</entry> + </row> + + <row> + <entry><filename>/compat/linux/usr/sap</filename></entry> + <entry>2 GB</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Зарим нэгэн холбоосуудыг бас үүсгэх шаардлагатай. Тэгэхгүй бол + <application>&sap;</application> суулгагч холбоосуудыг шалгаж + гомдоллох болно:</para> + + <screen>&prompt.root; <userinput>ln -s /compat/linux/oracle /oracle</userinput> +&prompt.root; <userinput>ln -s /compat/linux/sapmnt /sapmnt</userinput> +&prompt.root; <userinput>ln -s /compat/linux/usr/sap /usr/sap</userinput></screen> + + <para>Суулгалтын явц дахь болзошгүй алдааны мэдэгдэл (энд + Систем <emphasis>PRD</emphasis> болон + <application>&sap.r3; 4.6C SR2</application> + суулгалттай цуг):</para> + + <screen>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. + +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'</screen> + </sect3> + + <sect3 id="creatingusersanddirectories"> + <title>Хэрэглэгчид болон сангуудыг үүсгэх</title> + + <para><application>&sap.r3;</application>-д хоёр хэрэглэгч болон + гурван бүлэг хэрэгтэй. Хэрэглэгчийн нэрс гурван үсгээс тогтох + <application>&sap;</application> системийн ID-с (SID) + хамаарна. Эдгээр SID-үүдийн зарим нь <application>&sap;</application>-р + нөөцлөгдсөн (жишээ нь <literal>SAP</literal> болон <literal>NIX</literal>. + Бүрэн жагсаалтын талаар дэлгэрэнгүйг <application>&sap;</application>-ийн + баримтаас үзнэ үү). IDES суулгалтын хувьд бид <literal>IDS</literal>-г + 4.6C SR2 суулгалтын хувьд систем нь үйлдвэрлэлийн хэрэглээнд зориулагдсан болохоор + <literal>PRD</literal>-г ашигласан. Тиймээс бид дараах бүлгүүдтэй байна + (бүлгийн ID-ууд өөр байж болох бөгөөд эдгээр нь ердөө л бидний суулгалтандаа ашигласан + утгууд юм):</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>бүлгийн ID</entry> + <entry>бүлгийн нэр</entry> + <entry>тайлбар</entry> + </row> + </thead> + <tbody> + <row> + <entry>100</entry> + <entry>dba</entry> + <entry>Data Base Administrator буюу Өгөгдлийн Баазын Администратор</entry> + </row> + <row> + <entry>101</entry> + <entry>sapsys</entry> + <entry>&sap; Систем</entry> + </row> + <row> + <entry>102</entry> + <entry>oper</entry> + <entry>Өгөгдлийн Баазын Оператор</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Анхдагч <application>&oracle;</application> суулгалтын хувьд + зөвхөн <groupname>dba</groupname> бүлэг ашиглагдана. + <groupname>oper</groupname> бүлэг маягаар <groupname>dba</groupname> + бүлгийг бас зарим нь ашигладаг (илүү мэдээллийг <application>&oracle;</application> болон + <application>&sap;</application> баримтаас үзнэ үү).</para> + + <para>Бидэнд бас дараах хэрэглэгчид хэрэгтэй:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="6"> + <thead> + <row> + <entry>хэрэглэгчийн ID</entry> + <entry>хэрэглэгчийн нэр</entry> + <entry>ерөнхий нэр</entry> + <entry>бүлэг</entry> + <entry>нэмэлт бүлгүүд</entry> + <entry>тайлбар</entry> + </row> + </thead> + <tbody> + <row> + <entry>1000</entry> + <entry>idsadm/prdadm</entry> + <entry><replaceable>sid</replaceable>adm</entry> + <entry>sapsys</entry> + <entry>oper</entry> + <entry>&sap; администратор</entry> + </row> + <row> + <entry>1002</entry> + <entry>oraids/oraprd</entry> + <entry>ora<replaceable>sid</replaceable></entry> + <entry>dba</entry> + <entry>oper</entry> + <entry>&oracle; администратор</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>&man.adduser.8;-ээр хэрэглэгчид нэмэх нь + <quote>&sap; администратор</quote>ын хувьд дараах (бүрхүүл болон гэрийн сан + гэдгийг санаарай) оруулгуудыг шаарддаг:</para> + + <programlisting>Name: <replaceable>sid</replaceable>adm +Password: ****** +Fullname: SAP Administrator <replaceable>SID</replaceable> +Uid: 1000 +Gid: 101 (sapsys) +Class: +Groups: sapsys dba +HOME: /home/<replaceable>sid</replaceable>adm +Shell: bash (/compat/linux/bin/bash)</programlisting> + + <para>бөгөөд <quote>&oracle; администратор</quote>ын хувьд:</para> + + <programlisting>Name: ora<replaceable>sid</replaceable> +Password: ****** +Fullname: Oracle Administrator <replaceable>SID</replaceable> +Uid: 1002 +Gid: 100 (dba) +Class: +Groups: dba +HOME: /oracle/<replaceable>sid</replaceable> +Shell: bash (/compat/linux/bin/bash)</programlisting> + + <para><groupname>dba</groupname> болон + <groupname>oper</groupname> бүлгүүдийг хоюуланг та + ашиглаж байгаа бол энэ нь бас <groupname>oper</groupname> + бүлгийг оруулсан байх ёстой.</para> + + </sect3> + + <sect3 id="creatingdirectories"> + <title>Сангуудыг үүсгэх</title> + + <para>Эдгээр сангууд нь тусдаа файлын системүүд маягаар ихэвчлэн + үүсгэгддэг. Таны шаардлагуудаас энэ нь шууд хамаарах юм. + Тэдгээр нь бүгд нэг RAID 5 дээр байрлаж байгаа болохоор + бид тэдгээрийг энгийн сангууд маягаар үүсгэхээр сонгосон юм:</para> + + <para>Эхлээд бид зарим сангуудын эзэмшигчид болон эрхүүдийг тохируулна + (<username>root</username> хэрэглэгчээр):</para> + + <screen>&prompt.root; <userinput>chmod 775 /oracle</userinput> +&prompt.root; <userinput>chmod 777 /sapmnt</userinput> +&prompt.root; <userinput>chown root:dba /oracle</userinput> +&prompt.root; <userinput>chown <replaceable>sid</replaceable>adm:sapsys /compat/linux/usr/sap</userinput> +&prompt.root; <userinput>chmod 775 /compat/linux/usr/sap</userinput></screen> + + <para>Дараа нь бид сангуудыг <username>ora<replaceable>sid</replaceable></username> + хэрэглэгчээр үүсгэнэ. Эдгээр нь бүгдээрээ <filename>/oracle/<replaceable>SID</replaceable></filename>-ийн + дэд сангууд байх болно:</para> + + <screen>&prompt.root; <userinput>su - ora<replaceable>sid</replaceable></userinput> +&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable></userinput> +&prompt.root; <userinput>mkdir mirrlogA mirrlogB origlogA origlogB</userinput> +&prompt.root; <userinput>mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6</userinput> +&prompt.root; <userinput>mkdir saparch sapreorg</userinput> +&prompt.root; <userinput>exit</userinput></screen> + + <para><application>&oracle; 8.1.7</application> суулгалтын хувьд + зарим нэгэн нэмэлт сангууд хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>su - ora<replaceable>sid</replaceable></userinput> +&prompt.root; <userinput>cd /oracle</userinput> +&prompt.root; <userinput>mkdir 805_32</userinput> +&prompt.root; <userinput>mkdir client stage</userinput> +&prompt.root; <userinput>mkdir client/80x_32</userinput> +&prompt.root; <userinput>mkdir stage/817_32</userinput> +&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable></userinput> +&prompt.root; <userinput>mkdir 817_32</userinput></screen> + + <note><para><filename>client/80x_32</filename> сан + яг энэ нэртэйгээр ашиглагддаг. <emphasis>x</emphasis>-г + ямар нэгэн тоо юм уу эсвэл өөр зүйлээр битгий солиорой.</para></note> + + <para>Гурав дахь шатанд бид <username><replaceable>sid</replaceable>adm</username> + хэрэглэгчээр сангуудыг үүсгэнэ:</para> + + <screen>&prompt.root; <userinput>su - <replaceable>sid</replaceable>adm</userinput> +&prompt.root; <userinput>cd /usr/sap</userinput> +&prompt.root; <userinput>mkdir <replaceable>SID</replaceable></userinput> +&prompt.root; <userinput>mkdir trans</userinput> +&prompt.root; <userinput>exit</userinput></screen> + </sect3> + + <sect3 id="entriesinslashetcslashservices"> + <title><filename>/etc/services</filename> файл дахь оруулгууд</title> + + <para><application>&sap.r3;</application> нь <filename>/etc/services</filename> + файлд зарим нэгэн оруулгуудыг шаарддаг бөгөөд FreeBSD дээр суулгаж байх явцад зөвөөр + тохируулагддаггүй. Дараах оруулгуудыг нэмнэ үү (танд хамгийн багадаа тохиолдлын + дугаартай тохирох оруулгууд хэрэгтэй. Энэ тохиолдолд <literal>00</literal> + байна. Бүх оруулгуудыг <literal>00</literal>-с эхлээд <literal>99</literal> + хүртэл <literal>dp</literal>, <literal>gw</literal>, <literal>sp</literal> болон + <literal>ms</literal>-т зориулж нэмэх нь аюулгүй юм). Хэрэв та <application>SAProuter</application> + юм уу эсвэл <application>&sap;</application> OSS-т хандах хэрэгтэй болвол танд бас + <literal>99</literal> хэрэгтэй болох бөгөөд учир нь порт 3299 нь систем дээрх + <application>SAProuter</application> процессийн хувьд ихэвчлэн ашиглагддаг:</para> + + <programlisting> +sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number +sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number +sapsp00 3400/tcp # 3400 + Instance-Number +sapms00 3500/tcp # 3500 + Instance-Number +sapms<replaceable>SID</replaceable> 3600/tcp # SAP Message Server. 3600 + Instance-Number +sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number</programlisting> + </sect3> + + <sect3 id="necessarylocales"> + <title>Шаардлагатай локалиуд</title> + <indexterm><primary>локаль</primary></indexterm> + + <para><application>&sap;</application> нь анхдагч RedHat суулгацад + байдаггүй хоёр локалийг хамгийн багадаа шаарддаг. &sap; нь шаардлагатай + RPM-үүдийг тэдгээрийн FTP серверээс (хэрэв та OSS хандалттай үйлчлүүлэгч бол + энэ нь хандах боломжтой байна) татаж авах боломжтойгоор санал + болгодог. Хэрэгтэй RPM-үүдийн жагсаалтын талаар 0171356 тэмдэглэгээг + үзнэ үү.</para> + + <para>Ердөө л тохирох холбоосуудыг (жишээ нь <emphasis>de_DE</emphasis> болон + <emphasis>en_US</emphasis>-с) үүсгэх бас боломжтой байдаг боловч + бид үүнийг үйлдвэрлэлийн систем дээр зөвлөдөггүй (гэхдээ энэ нь IDES системтэй + одоогоор ямар ч асуудалгүй ажилласан). Дараах локалиуд хэрэгтэй:</para> + + <programlisting>de_DE.ISO-8859-1 +en_US.ISO-8859-1</programlisting> + + <para>Үүнтэй адил холбоосуудыг үүсгэнэ:</para> + + <screen>&prompt.root; <userinput>cd /compat/linux/usr/share/locale</userinput> +&prompt.root; <userinput>ln -s de_DE de_DE.ISO-8859-1</userinput> +&prompt.root; <userinput>ln -s en_US en_US.ISO-8859-1</userinput></screen> + + <para>Хэрэв тэдгээр нь байхгүй бол суулгацын явцад зарим асуудлууд гарах + болно. Хэрэв эдгээрийг тэгээд дараа нь (зөрчиж байгаа алхмуудын + <literal>STATUS</literal>-г <literal>OK</literal> + болгон <filename>CENTRDB.R3S</filename> файлд тохируулж) дахин орхигдуулбал + зарим нэг нэмэлт оролдлогогүйгээр <application>&sap;</application> систем уруу + нэвтрэн орох боломжгүй болно.</para> + </sect3> + + <sect3 id="kerneltuning"> + <title>Цөмийг тааруулах</title> + <indexterm><primary>цөмийг тааруулах</primary></indexterm> + + <para><application>&sap.r3;</application> системүүд нь маш их эх үүсвэрүүд + шаарддаг. Тийм болохоор бид дараах параметрүүдийг цөмийн тохиргооны файлд + нэмсэн билээ:</para> + + <programlisting># 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</programlisting> + + <para>&sap;-с ирсэн баримтан дээр хамгийн бага утгуудыг заасан байдаг. + Линуксд зориулсан тайлбар байдаггүй учраас илүү мэдээллийг HP-UX хэсгээс (32-бит) + үзнэ үү. 4.6C SR2 суулгацад зориулсан систем нь илүү их гол санах ойтой болохоор + хуваалцсан сегмент нь <application>&sap;</application> + болон <application>&oracle;</application>-ийн хувьд илүү том байж + болох юм. Тийм болохоор илүү их тооны хуваалцсан санах ойн хуудсуудыг сонгох + хэрэгтэй.</para> + + <note><para>&i386; дээрх FreeBSD-ийн анхдагч суулгалтад + <literal>MAXDSIZ</literal> болон <literal>DFLDSIZ</literal>-г + хамгийн ихдээ 1 GB болгох хэрэгтэй. Тэгэхгүй бол <errorname>ORA-27102: out of memory</errorname> + болон <errorname>Linux Error: 12: Cannot allocate memory</errorname> + зэрэг хачирхалтай алдаанууд гарч болзошгүй юм.</para></note> + </sect3> + </sect2> + + <sect2 id="installingsapr3"> + <title>&sap.r3;-г суулгах</title> + + <sect3 id="preparingsapcdroms"> + <title>&sap; CDROM-уудыг бэлтгэх</title> + + <para>Суулгалтын явцад олон CDROM-уудыг холбож, салгах болдог. + Таныг олон CDROM хөтөчүүдтэйг гэж үзвэл та тэдгээрийг бүгдийг холбож + болох юм. Бид CDROM-уудын агуулгыг харгалзах сангуудад хуулахаар + шийдсэн юм:</para> + + <programlisting>/oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>cd-name</replaceable></programlisting> + + <para>Энд байгаа <replaceable>cd-name</replaceable> нь + 4.6B/IDES суулгацын хувьд <filename>KERNEL</filename>, + <filename>RDBMS</filename>, <filename>EXPORT1</filename>, + <filename>EXPORT2</filename>, <filename>EXPORT3</filename>, + <filename>EXPORT4</filename>, <filename>EXPORT5</filename> болон + <filename>EXPORT6</filename> дискүүдийн аль нэг бөгөөд 4.6C SR2 суулгацын + хувьд <filename>KERNEL</filename>, <filename>RDBMS</filename>, + <filename>DISK1</filename>, <filename>DISK2</filename>, + <filename>DISK3</filename>, <filename>DISK4</filename> болон + <filename>LANG</filename> дискүүдийн аль нэг байна. Холбогдсон CD-үүд дээрх + бүх файлын нэрс томоор байх ёстой, аль эсвэл холболт хийхдээ <option>-g</option> + тохируулгыг ашиглах хэрэгтэй. Тийм болохоор дараах тушаалуудыг ашиглах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>mount_cd9660 -g /dev/cd0a /mnt</userinput> +&prompt.root; <userinput>cp -R /mnt/* /oracle/<replaceable>SID</replaceable>/sapreorg/<replaceable>cd-name</replaceable></userinput> +&prompt.root; <userinput>umount /mnt</userinput></screen> + </sect3> + + <sect3 id="runningtheinstall-script"> + <title>Суулгалтын скриптийг ажиллуулах</title> + + <para>Эхлээд та <filename class="directory">install</filename> санг бэлдэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable>/sapreorg</userinput> +&prompt.root; <userinput>mkdir install</userinput> +&prompt.root; <userinput>cd install</userinput></screen> + + <para>Тэгээд суулгах скрипт эхлэх бөгөөд бүх холбоотой файлуудыг <filename class="directory">install</filename> + сан уруу хуулах болно:</para> + + <screen>&prompt.root; <userinput>/oracle/<replaceable>SID</replaceable>/sapreorg/KERNEL/UNIX/INSTTOOL.SH</userinput></screen> + + <para>IDES суулгац (4.6B) нь бүрэн өөрчлөн тохируулагдсан &sap.r3; үзүүлэх + системтэй ирдэг болохоор гурван EXPORT CD-ний оронд зургаа байдаг. + Энэ үед суулгах загвар <filename>CENTRDB.R3S</filename> нь + IDES төв тохиолдолд зориулагдаагүй харин стандарт төв тохиолдлын + (<application>&r3;</application> болон мэдээллийн бааз) хувьд + зориулагдсан байх учраас <filename class="directory">EXPORT1</filename> сангийн + харгалзах <filename>CENTRDB.R3S</filename> файлыг хуулах хэрэгтэй бөгөөд + тэгэхгүй бол <command>R3SETUP</command> тушаал зөвхөн гурван EXPORT CD-г + асуух болно.</para> + + <para>Шинэ <application>&sap; 4.6C SR2</application> хувилбар + дөрвөн EXPORT CD-тэй ирдэг. Суулгалтын алхмуудыг хянадаг параметрийн + файл нь <filename>CENTRAL.R3S</filename> байна. + Өмнөх хувилбаруудтай харьцуулах юм бол мэдээллийн баазтай эсвэл баазгүй + төв тохиолдолд зориулагдсан суулгалтын тусдаа загвар байдаггүй. + <application>&sap;</application> нь мэдээллийн баазын + суулгацад зориулж тусдаа загвар ашиглаж байна. Суулгалтыг дараа нь дахин эхлүүлэхийн + тулд анхны файлтай дахин эхлүүлэх нь хангалттай байдаг.</para> + + <para>Суулгалтын үед болон дараа <application>&sap;</application> нь + <command>hostname</command> тушаалаас бүрэн танигдсан домен нэрийг биш + зөвхөн компьютерийн нэрийг буцаахыг шаарддаг. Хостын нэрийг тааруулах юм уу + эсвэл <username>ora<replaceable>sid</replaceable></username> болон + <username><replaceable>sid</replaceable>adm</username> + (болон <username>root</username> хэрэглэгчээр хийсэн суулгалтын алхмуудын + үед ядаж <username>root</username>) хэрэглэгчдэд зориулж + <command>alias hostname='hostname -s'</command> + тушаалаар alias буюу өөр нэрийг тохируулах хэрэгтэй. <application>&sap;</application> + суулгацын үед суулгагдсан хоёр хэрэглэгчийн <filename>.profile</filename> болон + <filename>.login</filename> файлуудыг тааруулах боломж бас байдаг.</para> + </sect3> + + <sect3 id="startr3setup-46B"> + <title><command>R3SETUP</command> 4.6B-г эхлүүлнэ</title> + + <para><envar>LD_LIBRARY_PATH</envar> зөв тохируулагдсан эсэхийг шалгаарай:</para> + + <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib</userinput></screen> + + <para>Суулгалтын сангаас <command>R3SETUP</command> тушаалыг + <username>root</username> эрхээр эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>cd /oracle/IDS/sapreorg/install</userinput> +&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen> + + <para>Дараа нь скрипт зарим асуултууд асууна (хаалтанд анхдагчид байх бөгөөд оролт үүний дараа хийгдэнэ):</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Асуулт</entry> + <entry>Анхдагч</entry> + <entry>Оролт</entry> + </row> + </thead> + <tbody> + <row> + <entry>Enter SAP System ID</entry> + <entry>[C11]</entry> + <entry>IDS<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter SAP Instance Number</entry> + <entry>[00]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter SAPMOUNT Directory</entry> + <entry>[/sapmnt]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter name of SAP central host</entry> + <entry>[troubadix.domain.de]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter name of SAP db host</entry> + <entry>[troubadix]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Select character set</entry> + <entry>[1] (WE8DEC)</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6</entry> + <entry> </entry> + <entry>1<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Extract Oracle Client archive</entry> + <entry>[1] (Yes, extract)</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter path to KERNEL CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/KERNEL</entry> + </row> + <row> + <entry>Enter path to RDBMS CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/RDBMS</entry> + </row> + <row> + <entry>Enter path to EXPORT1 CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/EXPORT1</entry> + </row> + <row> + <entry>Directory to copy EXPORT1 CD</entry> + <entry>[/oracle/IDS/sapreorg/CD4_DIR]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter path to EXPORT2 CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/EXPORT2</entry> + </row> + <row> + <entry>Directory to copy EXPORT2 CD</entry> + <entry>[/oracle/IDS/sapreorg/CD5_DIR]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter path to EXPORT3 CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/EXPORT3</entry> + </row> + <row> + <entry>Directory to copy EXPORT3 CD</entry> + <entry>[/oracle/IDS/sapreorg/CD6_DIR]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter path to EXPORT4 CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/EXPORT4</entry> + </row> + <row> + <entry>Directory to copy EXPORT4 CD</entry> + <entry>[/oracle/IDS/sapreorg/CD7_DIR]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter path to EXPORT5 CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/EXPORT5</entry> + </row> + <row> + <entry>Directory to copy EXPORT5 CD</entry> + <entry>[/oracle/IDS/sapreorg/CD8_DIR]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter path to EXPORT6 CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/IDS/sapreorg/EXPORT6</entry> + </row> + <row> + <entry>Directory to copy EXPORT6 CD</entry> + <entry>[/oracle/IDS/sapreorg/CD9_DIR]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter amount of RAM for SAP + DB</entry> + <entry> </entry> + <entry>850<keycap>Enter</keycap> (in Megabytes)</entry> + </row> + <row> + <entry>Service Entry Message Server</entry> + <entry>[3600]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Group-ID of sapsys</entry> + <entry>[101]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Group-ID of oper</entry> + <entry>[102]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Group-ID of dba</entry> + <entry>[100]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter User-ID of <replaceable>sid</replaceable>adm</entry> + <entry>[1000]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter User-ID of ora<replaceable>sid</replaceable></entry> + <entry>[1002]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Number of parallel procs</entry> + <entry>[2]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Хэрэв та CD-үүдийг өөр байрлалууд уруу хуулаагүй бол <application>&sap;</application> + суулгагч хэрэгтэй CD-гээ (CD дээрх <filename>LABEL.ASC</filename> файлаар танигддаг) + олж чадахгүй бөгөөд танаас CD-г хийн холбож холбох цэгийг оруулахыг асуух болно.</para> + + <para><filename>CENTRDB.R3S</filename> нь алдаатай байж + болох юм. Бидний тохиолдолд энэ нь EXPORT4 CD-г дахин хүсэх боловч + зөв түлхүүрийг үзүүлсэн (6_LOCATION, дараа нь 7_LOCATION + гэх мэт.), тэгэхээр зөв утгуудыг оруулан үргэлжлүүлж болох юм.</para> + + <para>Доор дурдсан зарим асуудлуудыг тооцохгүй юм бол бүгд + &oracle; мэдээллийн баазын програм хангамжийг суулгах хэрэгтэй болох + хүртэл шулуун явах ёстой.</para> + </sect3> + + <sect3 id="startr3setup-46C"> + <title><command>R3SETUP</command> 4.6C SR2-г эхлүүлнэ</title> + + <para><envar>LD_LIBRARY_PATH</envar> зөв тохируулагдсан эсэхийг шалгаарай. + Энэ нь <application>&oracle; 8.0.5</application>-тай 4.6B суулгацаас + өөр утга байна:</para> + + <screen>&prompt.root; <userinput>export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib</userinput></screen> + + <para>Суулгалтын сангаас <command>R3SETUP</command> тушаалыг <username>root</username> хэрэглэгчээр + эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>cd /oracle/PRD/sapreorg/install</userinput> +&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen> + + <para>Дараа нь скрипт зарим асуултууд асууна (хаалтанд анхдагчид байх бөгөөд оролт үүний дараа хийгдэнэ):</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Асуулт</entry> + <entry>Анхдагч</entry> + <entry>Оролт</entry> + </row> + </thead> + <tbody> + <row> + <entry>Enter SAP System ID</entry> + <entry>[C11]</entry> + <entry>PRD<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter SAP Instance Number</entry> + <entry>[00]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter SAPMOUNT Directory</entry> + <entry>[/sapmnt]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter name of SAP central host</entry> + <entry>[majestix]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Database System ID</entry> + <entry>[PRD]</entry> + <entry>PRD<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter name of SAP db host</entry> + <entry>[majestix]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Select character set</entry> + <entry>[1] (WE8DEC)</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Oracle server version (2) Oracle 8.1.7</entry> + <entry> </entry> + <entry>2<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Extract Oracle Client archive</entry> + <entry>[1] (Yes, extract)</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter path to KERNEL CD</entry> + <entry>[/sapcd]</entry> + <entry>/oracle/PRD/sapreorg/KERNEL</entry> + </row> + <row> + <entry>Enter amount of RAM for SAP + DB</entry> + <entry>2044</entry> + <entry>1800<keycap>Enter</keycap> (in Megabytes)</entry> + </row> + <row> + <entry>Service Entry Message Server</entry> + <entry>[3600]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Group-ID of sapsys</entry> + <entry>[100]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Group-ID of oper</entry> + <entry>[101]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Group-ID of dba</entry> + <entry>[102]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter User-ID of <username>oraprd</username></entry> + <entry>[1002]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter User-ID of <username>prdadm</username></entry> + <entry>[1000]</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>LDAP support</entry> + <entry> </entry> + <entry>3<keycap>Enter</keycap> (no support)</entry> + </row> + <row> + <entry>Installation step completed</entry> + <entry>[1] (continue)</entry> + <entry><keycap>Enter</keycap></entry> + </row> + <row> + <entry>Choose installation service</entry> + <entry>[1] (DB inst,file)</entry> + <entry><keycap>Enter</keycap></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Суулгалтын явцад OSUSERDBSID_IND_ORA + (<username>ora<replaceable>sid</replaceable></username> + хэрэглэгчийг үүсгэх) үе болон OSUSERSIDADM_IND_ORA + (<username><replaceable>sid</replaceable>adm</username> хэрэглэгчийг + үүсгэх) үед хэрэглэгчдийг үүсгэхэд алдаа өгч байна.</para> + + <para>Доор дурдсан зарим асуудлуудыг тооцохгүй юм бол бүгд + &oracle; мэдээллийн баазын програм хангамжийг суулгах хэрэгтэй болох + хүртэл шулуун явах ёстой.</para> + </sect3> + </sect2> + + <sect2 id="installingoracle805"> + <title>&oracle; 8.0.5-г суулгах</title> + + <para>Линукс болон <application>&oracle; DB</application>-ийн болзошгүй асуудлуудын талаар + харгалзах &sap;-ийн тэмдэглэгээнүүд болон &oracle;-ийн <filename>Readme</filename> файлуудыг + үзнэ үү. Бүх асуудлуудын ихэнх нь нийцгүй сангуудаас болдог.</para> + + <para><application>&oracle;</application> суулгах талаарх дэлгэрэнгүй мэдээллийг + <link linkend="linuxemu-oracle">&oracle; суулгах нь бүлгээс</link> + лавлана уу.</para> + + + <sect3 id="installingtheoracle805withorainst"> + <title>&oracle; 8.0.5-г <command>orainst</command>-ээр суулгах</title> + + <para>Хэрэв <application>&oracle; 8.0.5</application> ашиглагдах + болвол амжилттай дахин холбоход зарим нэмэлт сангууд хэрэгтэй. + <application>&oracle; 8.0.5</application> нь хуучин glibc-тэй (RedHat 6.0) + холбогдсон байдаг болохоор тэр юм. Гэхдээ RedHat 6.1 нь шинэ glibc ашигладаг. + Тэгэхээр холболт ажиллахыг баталгаажуулахын тулд та дараах нэмэлт багцуудыг + суулгах хэрэгтэй:</para> + + <para><filename>compat-libs-5.2-2.i386.rpm</filename></para> + <para><filename>compat-glibc-5.2-2.0.7.2.i386.rpm</filename></para> + <para><filename>compat-egcs-5.2-1.0.3a.1.i386.rpm</filename></para> + <para><filename>compat-egcs-c++-5.2-1.0.3a.1.i386.rpm</filename></para> + <para><filename>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm</filename></para> + + <para>Цаашхи мэдээллийн талаар харгалзах &sap;-ийн тэмдэглэгээнүүд болон &oracle;-ийн + <filename>Readme</filename> файлуудыг үзнэ үү. Хэрэв энэ нь + сонголт биш бол (суулгах явцад бидэнд үүнийг шалгах хангалттай хугацаа + байгаагүй) анхны хоёртын файлууд юм уу эсвэл анхны RedHat системээс дахин холбогдсон + хоёртын файлуудыг ашиглаж болох юм.</para> + + <para>Ухаалаг агентыг эмхэтгэхийн тулд RedHat Tcl багц суулгагдсан байх + ёстой. Хэрэв та <filename>tcl-8.0.3-20.i386.rpm</filename> файлыг + авч чадахгүй байгаа бол RedHat 6.1-д зориулагдсан <filename>tcl-8.0.5-30.i386.rpm</filename> + зэрэг шинэ бас байж болох юм.</para> + + <para>Дахин холбохоос бусдаараа суулгалт нь шулуухан юм:</para> + + <screen>&prompt.root; <userinput>su - oraids</userinput> +&prompt.root; <userinput>export TERM=xterm</userinput> +&prompt.root; <userinput>export ORACLE_TERM=xterm</userinput> +&prompt.root; <userinput>export ORACLE_HOME=/oracle/IDS</userinput> +&prompt.root; <userinput>cd $ORACLE_HOME/orainst_sap</userinput> +&prompt.root; <userinput>./orainst</userinput></screen> + + <para>Програм хангамж суулгагдах хүртэл бүх дэлгэц дээрхийг + <keycap>Enter</keycap> дарж баталгаажуулах хэрэгтэй. Гэхдээ + <emphasis>&oracle; On-Line Text Viewer</emphasis> гэдгийг сонгосноо + болиулах хэрэгтэй, учир нь энэ нь Линукс дээр байдаггүй. <application>&oracle;</application> + дараа нь байгаа <command>gcc</command>, + <command>egcs</command> болон <command>i386-redhat-linux-gcc + </command>-үүдийн оронд <command>i386-glibc20-linux-gcc</command>-ээр + дахин холбогдохыг хүсдэг.</para> + + <para>Хугацаанаас болоод бид <application>&oracle; 8.0.5 PreProduction</application> + хувилбарын хоёртын файлуудыг ашиглахаар шийдсэн юм. Учир нь тэр үед + RDBMS CD-ээс хувилбарыг ажиллуулах эхний оролдлого амжилтгүй + болсон, бас зөв RPM-үүдийг олж тэдгээрт хандах нь аймшгийн хар дарсан + зүүд шиг байсан зэргээс болсон юм.</para> + + </sect3> + + <sect3 id="installingtheoracle805preproduction"> + <title>Линукст (Цөм 2.0.33) зориулсан &oracle; 8.0.5 Pre-production Release-г + суулгах</title> + + <para>Энэ суулгалт нь их амархан. CD-г холбож суулгагчийг эхлүүлнэ. + Энэ нь &oracle;-ийн гэрийн сангийн байрлалыг асуух бөгөөд бүх хоёртын + файлуудыг тэнд хуулах болно. Гэхдээ бид өөрсдийн өмнөх RDBMS суулгалтын файлуудын + үлдэгдлүүдийг устгаагүй болно.</para> + + <para>Дараа нь <application>&oracle;</application> мэдээллийн баазыг ямар ч асуудалгүйгээр + эхлүүлж болно.</para> + </sect3> + </sect2> + + <sect2 id="installingoracle817"> + <title>&oracle; 8.1.7 Линуксийн tar бөмбөгийг суулгах</title> + <para>Линукс систем дээрх суулгалтын сангаас үүсгэсэн <filename>oracle81732.tgz</filename> + tar бөмбөгөө аваад <filename>/oracle/<replaceable>SID</replaceable>/817_32/</filename> уруу + буцааж задлах хэрэгтэй.</para> + </sect2> + + <sect2 id="continuewithsapr4installation"> + <title>&sap.r3;-ийн суулгацыг үргэлжлүүлэх</title> + + <para>Эхлээд <username>idsamd</username> + (<replaceable>sid</replaceable>adm) болон + <username>oraids</username> (ora<replaceable>sid</replaceable>) + хэрэглэгчдийн орчны тохиргоонуудыг шалгах хэрэгтэй. + Тэдгээр нь одоо бүгд <command>hostname</command> тушаалыг ашиглаж + байгаа <filename>.profile</filename>, + <filename>.login</filename> болон <filename>.cshrc</filename> + файлуудтай байх ёстой. Системийн хостын нэр бүрэн танигдах нэр бол + та <command>hostname</command> тушаалыг <command>hostname + -s</command> тушаалаар бүх гурван файл дотор өөрчлөх хэрэгтэй.</para> + + <sect3 id="databaseload"> + <title>Мэдээллийн баазыг дуудах</title> + + <para>Дараа нь <command>R3SETUP</command> тушаалыг дахин эхлүүлэх юм уу эсвэл + үргэлжлүүлж болно (гарахыг сонгосон эсэхээс хамаарч). <command>R3SETUP</command> нь + дараа нь хүснэгтийн талбаруудыг үүсгэж өгөгдлийг (46B IDES-ийн хувьд EXPORT1-с EXPORT6, + 46C-ийн хувьд DISK1-с DISK4) мэдээллийн бааз уруу <command>R3load</command> тушаалаар + дуудна.</para> + + <para>Мэдээллийн бааз дуудагдаж дууссаны дараа (хэдэн цаг болж болно) + зарим нууц үгсийг асуудаг. Тест суулгалтуудад хүн бүхний мэддэг анхдагч + нууц үгсийг ашиглаж болох юм (хэрэв аюулгүй байдал чухал бол өөрийг + ашиглаарай!):</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Асуулт</entry> + <entry>Оролт</entry> + </row> + </thead> + <tbody> + <row> + <entry>Enter Password for sapr3</entry> + <entry>sap<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Confirum Password for sapr3</entry> + <entry>sap<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Password for sys</entry> + <entry>change_on_install<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Confirm Password for sys</entry> + <entry>change_on_install<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Enter Password for system</entry> + <entry>manager<keycap>Enter</keycap></entry> + </row> + <row> + <entry>Confirm Password for system</entry> + <entry>manager<keycap>Enter</keycap></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Энэ үед бид 4.6B суулгаж байх явцад <command>dipgntab</command> + тушаалын хувьд цөөн асуудлуудтай тулгарсан.</para> + </sect3> + + <sect3 id="listener"> + <title>Сонсогч</title> + + <para><application>&oracle;</application> сонсогчийг + <username>ora<replaceable>sid</replaceable></username> хэрэглэгчээр дараах + маягаар эхлүүлнэ:</para> + + <screen>&prompt.user; <userinput>umask 0; lsnrctl start</userinput></screen> + + <para>Тэгэхгүй бол сокетууд нь зөв зөвшөөрлүүдгүй байх учраас <errorcode>ORA-12546</errorcode> + алдааг та харж болох юм. &sap; Тэмдэглэгээ 072984-г үзнэ үү.</para> + </sect3> + + <sect3 id="mnlstables"> + <title>MNLS хүснэгтүүдийг шинэчлэх</title> + <para>Хэрэв та Latin-1 биш хэлүүдийг <application>&sap;</application> систем уруу импорт хийхээр + төлөвлөж байгаа бол Multi National Language Support хүснэгтүүд буюу Олон Үндэстний Хэлний Дэмжлэгийн + хүснэгтүүдийг шинэчлэх хэрэгтэй. Энэ нь &sap; OSS Тэмдэглэгээнүүд 15023 болон 45619-д тайлбарлагдсан + байгаа. Үгүй бол энэ асуултыг <application>&sap;</application> суулгалтын явцад орхиж болно.</para> + <note><para>Хэрэв танд MNLS хэрэггүй бол хүснэгт TCPDB-г шалгаж эхлүүлэлт хийгдээгүй бол + эхлүүлэх шаардлага хэвээр байсаар байх болно. Дэлгэрэнгүй мэдээллийг &sap; тэмдэглэгээ 0015023 болон 0045619-с + үзнэ үү.</para></note> + </sect3> + </sect2> + + <sect2 id="postinstallationsteps"> + <title>Суулгалтын дараах алхмууд</title> + + <sect3 id="requestsapr3licensekey"> + <title>&sap.r3;-ийн лиценз түлхүүрийг хүснэ</title> + + <para>Та өөрийн <application>&sap.r3;</application> лиценз түлхүүрийг хүсэх хэрэгтэй. + Суулгалтын үед суулгагдсан түр зуурын лиценз нь зөвхөн дөрвөн долоо хоног хүчинтэй байдаг болохоор + ингэх хэрэгтэй юм. Эхлээд тоног төхөөрөмжийн түлхүүрийг авах хэрэгтэй. + <username>idsadm</username> хэрэглэгчээр нэвтэрч <command>saplicense</command> + тушаалыг дуудна:</para> + + <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -get</userinput></screen> + + <para><command>saplicense</command> тушаалыг параметрүүдгүй дуудах нь + тохируулгуудын жагсаалтыг үзүүлдэг. Лицензийн түлхүүрийг авсныхаа дараа үүнийг + дараах тушаалыг ашиглан суулгаж болно:</para> + + <screen>&prompt.root; <userinput>/sapmnt/IDS/exe/saplicense -install</userinput></screen> + + <para>Тэгээд та дараах утгуудыг оруулах шаардлагатай болно:</para> + + <programlisting>SAP SYSTEM ID = <replaceable>SID, 3 chars</replaceable> +CUSTOMER KEY = <replaceable>hardware key, 11 chars</replaceable> +INSTALLATION NO = <replaceable>installation, 10 digits</replaceable> +EXPIRATION DATE = <replaceable>yyyymmdd, usually "99991231"</replaceable> +LICENSE KEY = <replaceable>license key, 24 chars</replaceable></programlisting> + </sect3> + + <sect3 id="creatingusers"> + <title>Хэрэглэгчдийг үүсгэх</title> + + <para>Клиент 000 дотор хэрэглэгч үүсгэнэ (зарим ажлуудын хувьд клиент 000 + дотор хийхийг шаарддаг, гэхдээ <username>sap*</username> болон + <username>ddic</username> хэрэглэгчдээс өөр хэрэглэгчээр). + Хэрэглэгчийн нэрийн хувьд бид <username>wartung</username> (эсвэл + Англиар <username>service</username>) гэж ихэвчлэн сонгодог. + Шаардлагатай хувийн тохиргоонууд нь <literal>sap_new</literal> болон + <literal>sap_all</literal> юм. Аюулгүй байдлыг нэмэлтээр хангаж + бүх клиентүүд доторх анхдагч хэрэглэгчдийн нууц үгсийг өөрчлөх хэрэгтэй + (эдгээр хэрэглэгчдэд <username>sap*</username> болон + <username>ddic</username> орно).</para> + </sect3> + + <sect3 id="configtranssysprofileopermodesetc"> + <title>Тээвэрлэлтийн систем, хувийн тохиргоо, үйлдлийн горимууд гэх мэтийг + тохируулах</title> + + <para><username>ddic</username> болон <username>sap*</username> + хэрэглэгчээс өөр клиент 000 дотор дараахийг хамгийн багадаа хийх хэрэгтэй:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Ажил</entry> + <entry>Шилжүүлгэ</entry> + </row> + </thead> + <tbody> + <row> + <entry>Тээвэрлэлтийн системийг тохируулна, өөрөөр хэлбэл + <emphasis>Тусдаа ажиллах Тээвэрлэлтийн Домен</emphasis> маягаар</entry> + <entry>STMS</entry> + </row> + <row> + <entry>Системийн хувьд хувийн тохиргоог үүсгэнэ / засварлана</entry> + <entry>RZ10</entry> + </row> + <row> + <entry>Үйлдлийн горимууд болон тохиолдлуудыг арчилна</entry> + <entry>RZ04</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Эдгээр болон бусад бүх суулгалтын дараах алхмууд нь <application>&sap;</application>-г + суулгах заавруудад дэлгэрэнгүй тайлбарлагдсан байгаа.</para> + </sect3> + + <sect3 id="editintsidsap"> + <title><filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>) + файлыг засварлана</title> + + <para><filename>/oracle/IDS/dbs/initIDS.sap</filename> файл + <application>&sap;</application>-ийн нөөц хувийн тохиргоог агуулдаг. + Энд ашиглагдах соронзон хальсны хэмжээ, шахалтын төрөл гэх зэргийг + тодорхойлох хэрэгтэй. <command>sapdba</command> / + <command>brbackup</command> тушаалаар үүнийг ажиллуулахын + тулд бид дараах утгуудыг өөрчилсөн:</para> + + <programlisting>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</programlisting> + + <para>Тайлбарууд:</para> + + <para><varname>compress</varname>: Бидний ашиглах соронзон хальс + бол HP DLT1 бөгөөд энэ нь тоног төхөөрөмжийн шахалтыг хийдэг.</para> + + <para><varname>archive_function</varname>: Энэ нь &oracle;-ийн + архив бүртгэлүүдийг хадгалах анхдагч үйлдлийг тодорхойлдог: шинэ бүртгэлийн + файлууд нь соронзон хальсанд хадгалагдаж аль хэдийн хадгалагдсан бүртгэлийн + файлууд нь дахин хадгалагдаж дараа нь устгагддаг. Хэрэв танд мэдээллийн баазыг + сэргээх хэрэг байгаа бөгөөд аль нэг архивийн соронзон хальс муудсан бол энэ нь + их олон асуудлаас сэргийлэх юм.</para> + + <para><varname>cpio_flags</varname>: Анхдагч нь блокийн хэмжээг + 5120 байт болгож тохируулдаг <option>-B</option> тохируулгыг + ашиглах явдал юм. DLT соронзон хальснуудын хувьд HP нь хамгийн багаар + бодоход 32 K блокийн хэмжээтэй байхыг зөвлөдөг, тийм болохоор + бид 64 K-д зориулж <option>--block-size=128</option> тохируулгыг + ашигласан. Бидэнд 65535-с их inode дугаарууд байгаа болохоор + <option>--format=newc</option> тохируулга хэрэгтэй. + Сүүлийн тохируулга <option>--quiet</option> нь хэрэгтэй бөгөөд тэгэхгүй + бол <command>cpio</command> тушаал хадгалсан блокуудын тоог гаргасны дараа + <command>brbackup</command> тушаал гомдоллох болно.</para> + + <para><varname>cpio_in_flags</varname>: Соронзон хальснаас өгөгдлийг + буцааж дуудахад тугнууд хэрэгтэй. Хэлбэршилт автоматаар танигддаг.</para> + + <para><varname>tape_size</varname>: Энэ нь соронзон хальсны + түүхий хадгалалтын багтаамжийг ихэвчлэн өгдөг. Аюулгүй байдлын үүднээс + (бид тоног төхөөрөмжийн шахалтыг ашиглаж байгаа) уг утга нь жинхэнэ утгаас + хамаагүй бага байна.</para> + + <para><varname>tape_address</varname>: <command>cpio</command> тушаалд ашиглагдах + дахин буцаагддаггүй төхөөрөмж байна.</para> + + <para><varname>tape_address_rew</varname>: <command>cpio</command> тушаалд ашиглагдах + буцаагдаж болох төхөөрөмж байна.</para> + </sect3> + + <sect3> + <title>Суулгалтын дараах тохиргооны асуудлууд</title> + + <para>Суулгалтын дараа дараах <application>&sap;</application> параметрүүдийг + тааруулах хэрэгтэй (IDES 46B, 1 GB санах ойд зориулсан жишээнүүд):</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Нэр</entry> + <entry>Утга</entry> + </row> + </thead> + <tbody> + <row> + <entry>ztta/roll_extension</entry> + <entry>250000000</entry> + </row> + <row> + <entry>abap/heap_area_dia</entry> + <entry>300000000</entry> + </row> + <row> + <entry>abap/heap_area_nondia</entry> + <entry>400000000</entry> + </row> + <row> + <entry>em/initial_size_MB</entry> + <entry>256</entry> + </row> + <row> + <entry>em/blocksize_kB</entry> + <entry>1024</entry> + </row> + <row> + <entry>ipc/shm_psize_40</entry> + <entry>70000000</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>&sap; Тэмдэглэгээ 0013026:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Нэр</entry> + <entry>Утга</entry> + </row> + </thead> + <tbody> + <row> + <entry>ztta/dynpro_area</entry> + <entry>2500000</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>&sap; Тэмдэглэгээ 0157246:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Нэр</entry> + <entry>Утга</entry> + </row> + </thead> + <tbody> + <row> + <entry>rdisp/ROLL_MAXFS</entry> + <entry>16000</entry> + </row> + <row> + <entry>rdisp/PG_MAXFS</entry> + <entry>30000</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <note> + <para>Дээрх параметрүүдтэй 1 гигабайт санах ойтой систем дээр + санах ойн иймэрхүү хэрэглээг олж харж болох юм:</para> + + <programlisting>Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free</programlisting> + </note> + </sect3> + </sect2> + + <sect2 id="problemsduringinstallation"> + <title>Суулгалтын үеийн асуудлууд</title> + + <sect3 id="restartr3setup"> + <title>Асуудлыг засварласны дараа <command>R3SETUP</command>-г дахин эхлүүлнэ</title> + + <para><command>R3SETUP</command> тушаал алдаа гарвал зогсдог. Хэрэв та харгалзах + бүртгэлийн файлуудыг үзэж алдааг зассан бол <command>R3SETUP</command> тушаалыг + дахин эхлүүлэх хэрэгтэй. Ингэхийн тулд <command>R3SETUP</command>-ийн гомдоллосон + сүүлийн алхамд зориулж ихэвчлэн REPEAT-ийг тохируулга болгон сонгоно.</para> + + <para><command>R3SETUP</command>-г дахин эхлүүлэхийн тулд түүнийг ердөө л харгалзах + <filename>R3S</filename> файлтай нь эхлүүлнэ, 4.6B-ийн хувьд:</para> + + <screen>&prompt.root; <userinput>./R3SETUP -f CENTRDB.R3S</userinput></screen> + + <para>эсвэл 4.6C-ийн хувьд</para> + + <screen>&prompt.root; <userinput>./R3SETUP -f CENTRAL.R3S</userinput></screen> + + <para>байх бөгөөд алдаа <filename>CENTRAL.R3S</filename> юм уу эсвэл + <filename>DATABASE.R3S</filename> файлд гарснаас үл хамаарах юм.</para> + + <note><para>Зарим алхмууд дээр <command>R3SETUP</command> тушаал нь + мэдээллийн бааз болон <application>&sap;</application> процессууд нь + эхлээд ажиллаж байгаа гэж үздэг (тэдгээр нь аль хэдийн гүйцэтгэсэн алхмууд юм). + Алдаанууд гарахад, жишээ нь мэдээллийн баазыг эхлүүлж болохгүй байвал + алдаануудыг засварласны дараа <command>R3SETUP</command>-г дахин эхлүүлэхээсээ өмнө + та мэдээллийн бааз болон <application>&sap;</application>-ийг + гараараа эхлүүлэх хэрэгтэй.</para> + <para><application>&oracle;</application> сонсогч хэрэв (жишээ нь системийг + шаардлагаар дахин ачаалснаас болоод) зогссон бол + түүнийг бас (<username>ora<replaceable>sid</replaceable></username> хэрэглэгчээр + <command>umask 0; lsnrctl start</command> тушаалаар) + дахин эхлүүлэхээ битгий мартаарай.</para> + </note> + </sect3> + + <sect3 id="indoraduringduringr3setup"> + <title><command>R3SETUP</command>-ийн үе дэх OSUSERSIDADM_IND_ORA</title> + + <para>Хэрэв <command>R3SETUP</command> энэ үе дээр гомдоллож байвал + тэр үед <command>R3SETUP</command>-ийн ашиглагдсан загвар файлыг + засварлах хэрэгтэй (<filename>CENTRDB.R3S</filename> (4.6B) эсвэл + <filename>CENTRAL.R3S</filename> эсвэл + <filename>DATABASE.R3S</filename> (4.6C)). + <literal>[OSUSERSIDADM_IND_ORA]</literal>-г олох юм уу эсвэл + зөвхөн <literal>STATUS=ERROR</literal> оруулгыг хайж дараах утгуудыг + засварлах хэрэгтэй:</para> + + <programlisting>HOME=/home/<replaceable>sid</replaceable>adm (was empty) +STATUS=OK (had status ERROR) + </programlisting> + + <para>Дараа нь та <command>R3SETUP</command>-г дахин эхлүүлж болно.</para> + </sect3> + + <sect3 id="indoraduringr3setup"> + <title><command>R3SETUP</command>-ийн үе дэх OSUSERDBSID_IND_ORA</title> + + <para>Магадгүй <command>R3SETUP</command> тушаал бас энэ үед гомдоллох байх. + Энд байгаа алдаа нь OSUSERSIDADM_IND_ORA үе дэх алдаатай төстэй юм. + Тэр үед <command>R3SETUP</command>-ийн ашиглагдсан загвар файлыг + засварлах хэрэгтэй (<filename>CENTRDB.R3S</filename> (4.6B) эсвэл + <filename>CENTRAL.R3S</filename> эсвэл + <filename>DATABASE.R3S</filename> (4.6C)). + <literal>[OSUSERDBSID_IND_ORA]</literal>-г олох юм уу эсвэл + зөвхөн <literal>STATUS=ERROR</literal> оруулгыг хайж тэр хэсэг дэх дараах утгыг + засварлах хэрэгтэй:</para> + + <programlisting>STATUS=OK</programlisting> + + <para>Дараа нь <command>R3SETUP</command>-г дахин эхлүүлнэ.</para> + </sect3> + + <sect3 id="oraviewvrffilenotfound"> + <title>&oracle;-ийн суулгалтын үе дэх <errorname>oraview.vrf FILE NOT FOUND</errorname></title> + + <para>Та суулгалтыг эхлүүлэхээсээ өмнө <emphasis>&oracle; On-Line Text Viewer</emphasis> + сонголтыг болиулаагүй байна. Энэ тохируулга нь Линукс дээр байдаггүй ч гэсэн суулгагдахаар + тэмдэглэгдсэн байдаг. <application>&oracle;</application> суулгалтын цэсэн + дотор энэ бүтээгдэхүүнийг сонгосноо болиулаад суулгалтыг дахин эхлүүлэх хэрэгтэй.</para> + </sect3> + + <sect3 id="textenvincalid"> + <title><command>R3SETUP</command>, RFC эсвэл SAPgui Эхлэлийн үе дэх <errorname>TEXTENV_INVALID</errorname></title> + + <para>Хэрэв энэ алдаа гарсан бол зөв локал байхгүй байна. &sap; тэмдэглэгээ 0171356 нь + суулгахад шаардлагатай RPM-үүдийг жагсаасан байдаг (өөрөөр хэлбэл RedHat 6.1-т зориулсан + <filename>saplocales-1.0-3</filename>, <filename>saposcheck-1.0-1</filename>). + Та <command>R3SETUP</command> тушаал гомдоллох бүрт бүх хамааралтай алдаануудыг + хаяж харгалзах <literal>STATUS</literal> тохируулгыг + <literal>ERROR</literal> гэдгээс <literal>OK</literal> болгон + (<filename>CENTRDB.R3S</filename> файлд) тохируулж + <command>R3SETUP</command>-г дахин эхлүүлсэн бол + <application>&sap;</application> систем нь зөв тохируулагдахгүй бөгөөд + хэдий системийг эхлүүлж болох ч гэсэн та дараа нь системд <application>SAPgui</application> + програмаар холбогдож чадахгүй болно. Линуксийн хуучин <application>SAPgui</application>-аар + холбогдохыг оролдоход дараах мэдэгдлүүдийг өгсөн:</para> + + <programlisting>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</programlisting> + + <para>Энэ ажиллагаа нь <application>&sap.r3;</application>-ийн локалийг + зөв зааж өгч чадахгүй байдал болон бас өөрийгөө зөв тохируулж + чадахгүй (зарим мэдээллийн баазын хүснэгтүүдэд оруулгууд байхгүй) байдлаас болдог. + <application>&sap;</application> уруу холбогдож чаддаг байхын тулд + <filename>DEFAULT.PFL</filename> файлд дараах оруулгуудыг нэмнэ + (Тэмдэглэгээ 0043288-г үзнэ үү):</para> + + <programlisting>abap/set_etct_env_at_new_mode = 0 +install/collate/active = 0 +rscp/TCP0B = TCP0B</programlisting> + + <para><application>&sap;</application> системийг дахин эхлүүлнэ. Улстай холбоотой + хэлний тохиргоонууд хүссэнээр ажиллахгүй байсан ч гэсэн одоо та + систем уруу холбогдож чадна. Улсын тохиргоонуудыг зөв болгосны + (зөв локалийг зааж өгсний) дараа эдгээр оруулгуудыг + <filename>DEFAULT.PFL</filename> файлаас арилгаж + <application>&sap;</application> системийг дахин эхлүүлж болно.</para> + + </sect3> + + <sect3 id="ora-00001"> + <title><errorcode>ORA-00001</errorcode></title> + <para>Энэ алдаа нь FreeBSD дээрх <application>&oracle; 8.1.7</application> + дээр зөвхөн гардаг. Үүний шалтгаан нь <application>&oracle;</application> + мэдээллийн бааз өөрийгээ зөв эхлүүлж чадахгүй, систем дээр семафорууд болон хуваалцсан + санах ойг үлдээн сүйрдэг явдал юм. Мэдээллийн баазыг эхлүүлэх дараагийн оролдлого тэгээд + <errorcode>ORA-00001</errorcode> алдааг буцаадаг.</para> + + <para><command>ipcs -a</command> тушаалаар тэдгээрийг олж + <command>ipcrm</command> тушаалаар устгах хэрэгтэй.</para> + </sect3> + + <sect3 id="ora-00445pmon"> + <title><errorcode>ORA-00445</errorcode> (Арын процесс PMON эхлээгүй)</title> + <para>Энэ алдаа нь <application>&oracle; 8.1.7</application> дээр гардаг. + Энэ алдаа нь мэдээллийн бааз <username>prdadm</username> хэрэглэгчээр + ердийн <command>startsap</command> скриптээр (жишээ нь + <command>startsap_majestix_00</command>) + эхлүүлэгдсэн бол гардаг.</para> + + <para>Боломжит тойрон гарах зам нь <username>oraprd</username> + хэрэглэгчээр <command>svrmgrl</command> тушаалын тусламжтай + мэдээллийн баазыг эхлүүлэх явдал юм:</para> + + <screen>&prompt.user; <userinput>svrmgrl</userinput> +SVRMGR> <userinput>connect internal;</userinput> +SVRMGR> <userinput>startup</userinput>; +SVRMGR> <userinput>exit</userinput></screen> + + </sect3> + + <sect3 id="ora-12546"> + <title><errorcode>ORA-12546</errorcode> (Сонсогчийг зөв зөвшөөрлүүдтэй эхлүүлэх)</title> + + <para><username>oraids</username> хэрэглэгчээр <application>&oracle;</application> + сонсогчийг дараах тушаалаар эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>umask 0; lsnrctl start</userinput></screen> + + <para>Ингэхгүй бол сокетууд нь зөв зөвшөөрлүүдгүйн улмаас та <errorcode>ORA-12546</errorcode> + алдаа харж болох юм. &sap; тэмдэглэгээ 0072984-г үзнэ үү.</para> + </sect3> + + <sect3 id="ora-27102"> + <title><errorcode>ORA-27102</errorcode> (Out of Memory буюу санах ой хүрэлцэхгүй)</title> + + <para><literal>MAXDSIZ</literal> болон <literal>DFLDSIZ</literal> + тохируулгуудын хувьд 1 GB-с (1024x1024x1024) их хэмжээтэй утгуудыг + ашиглахаар оролдох үед энэ алдаа гарсан. Мөн <errorname>Linux Error 12: Cannot allocate memory</errorname> + буюу санах ойг хуваарилж чадахгүй байна гэсэн алдааг бид бас авсан.</para> + </sect3> + + <sect3 id="dipgntabindind"> + <title><command>R3SETUP</command>-ийн үе дэх [DIPGNTAB_IND_IND]</title> + + <para>Ерөнхийдөө &sap; тэмдэглэгээ 0130581-г үзнэ үү (<command>R3SETUP</command> алхам + <literal>DIPGNTAB</literal> төгссөн). IDES-тэй холбоотой суулгалтын + үед ямар нэг шалтгаанаас болоод суулгах процесс зөв <application>&sap;</application> + системийн нэр <quote>IDS</quote>-г ашиглалгүй хоосон мөр <literal>""</literal>-г + ашигладаг. Замууд нь динамикаар <replaceable>SID</replaceable>-г (энэ тохиолдолд IDS) + ашиглан үүсгэгддэг учраас энэ нь сангуудад хандах үед зарим нэг жижиг асуудлуудад хүргэдэг. + Доор дурдсан уруу хандахын оронд:</para> + + <programlisting>/usr/sap/IDS/SYS/... +/usr/sap/IDS/DVMGS00</programlisting> + + <para>дараах замуудыг ашигласан:</para> + + <programlisting>/usr/sap//SYS/... +/usr/sap/D00</programlisting> + + <para>Суулгалтыг үргэлжлүүлэхийн тулд бид холбоос болон нэмэлт сан үүсгэсэн:</para> + + <screen>&prompt.root; <userinput>pwd</userinput> +/compat/linux/usr/sap +&prompt.root; <userinput>ls -l</userinput> +total 4 +drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 +drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS +lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS +drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp +drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans</screen> + + <para>&sap; тэмдэглэгээнүүд (0029227 болон 0008401) үүнийг тайлбарладгийг + бид бас олсон юм. Бид эдгээр асуудпуудын алийг ч <application>&sap; 4.6C</application> + суулгалтаас олж хараагүй.</para> + </sect3> + + <sect3 id="rfcrswboiniindind"> + <title><command>R3SETUP</command>-ийн үе дэх [RFCRSWBOINI_IND_IND]</title> + + <para><application>&sap; 4.6C</application>-г суулгаж байхад + энэ алдаа нь суулгалтын эхэн үед гарсан өөр алдаанаас болж гарсан алдаа байсан. + Энэ тохиолдолд та харгалзах бүртгэлийн файлуудыг үзэж жинхэнэ асуудлыг + засварлах хэрэгтэй.</para> + + <para>Бүртгэлийн файлуудыг үзсэний дараа хэрэв энэ алдаа нь харин зөв бол + (&sap; тэмдэглэгээнүүдийг шалгана уу) зөрчсөн алхмын <literal>STATUS</literal> + тохируулгыг <literal>ERROR</literal> гэдгээс <literal>OK</literal> уруу + (файл <filename>CENTRDB.R3S</filename>) болгож тохируулан + <command>R3SETUP</command>-г дахин эхлүүлж болно. Суулгалтын дараа та + шилжүүлгэ SE38-аас тайлан <literal>RSWBOINS</literal>-г ажиллуулах хэрэгтэй. + <literal>RFCRSWBOINI</literal> болон <literal>RFCRADDBDIF</literal> + үеүүдийн талаарх нэмэлт мэдээллийг &sap; тэмдэглэгээ 0162266-с үзнэ үү.</para> + </sect3> + + <sect3 id="rfcraddbdifindind"> + <title><command>R3SETUP</command>-ийн үе дэх [RFCRADDBDIF_IND_IND]</title> + <para>Энд ижил хязгаарлалтууд ашиглагдана: бүртгэлийн файлуудыг үзэж + энэ алдаа нь урьдны өөр асуудлуудаас болсон эсэхийг шалгана.</para> + + <para>Хэрэв та &sap; тэмдэглэгээ 0162266 хамаарч байгааг баталвал + зөрчсөн алхмын <literal>STATUS</literal> + тохируулгыг <literal>ERROR</literal> гэдгээс <literal>OK</literal> уруу + (файл <filename>CENTRDB.R3S</filename>) болгож тохируулан + <command>R3SETUP</command>-г дахин эхлүүлэх хэрэгтэй. Суулгалтын дараа та + шилжүүлгэ SE38-аас тайлан <literal>RADDBDIF</literal>-г ажиллуулах + хэрэгтэй.</para> + </sect3> + + <sect3 id="sigactionsig31"> + <title><errorcode>sigaction sig31: File size limit exceeded</errorcode> буюу файлын хэмжээний хязгаар илүүдсэн</title> + + <para>Энэ алдаа нь <application>&sap;</application>-ийн процессууд + <emphasis>disp+work</emphasis>-г эхлүүлэх үед гардаг. Хэрэв <application>&sap;</application>-г + <command>startsap</command> скриптээр эхлүүлэхэд дэд процессууд нь дараа нь эхлүүлэгдэх бөгөөд + эдгээр нь бусад бүх <application>&sap;</application> процессуудыг эхлүүлэх бохир ажлыг хийж + салдаг. Үүний үр дүнд скрипт нь өөрөө ямар нэг зүйл буруу болохыг анзаардаггүй.</para> + + <para><application>&sap;</application>-ийн процессууд зөв эхэлсэн эсэхийг шалгахын + тулд <command>ps ax | grep <replaceable>SID</replaceable></command> тушаалаар + процессийн төлөвийг үзэх хэрэгтэй. Энэ нь танд <application>&oracle;</application> болон + <application>&sap;</application>-ийн бүх процессуудын жагсаалтыг харуулдаг. + Хэрэв зарим процессууд байхгүй юм уу эсвэл та <application>&sap;</application> систем уруу + холбогдож чадахгүй байвал + <filename>/usr/sap/<replaceable>SID</replaceable>/DVEBMGS<replaceable>nr</replaceable>/work/</filename> + санд байх харгалзах бүртгэлийн файлуудыг үзэх хэрэгтэй. Үзэх файлууд нь <filename>dev_ms</filename> болон + <filename>dev_disp</filename> юм.</para> + + <para><application>&oracle;</application> болон <application>&sap;</application>-ийн + ашигласан хуваалцсан санах ойн хэмжээ цөмийн тохиргооны файлд тааруулснаас илүү гарвал энд дохио 31 гарах + бөгөөд илүү том утгыг ашиглаж энэ асуудлыг шийдэж болно:</para> + + <programlisting># larger value for 46C production systems: +options SHMMAXPGS=393216 +# smaller value sufficient for 46B: +#options SHMMAXPGS=262144</programlisting> + + </sect3> + + <sect3 id="saposcolfails"> + <title><command>saposcol</command> тушаалын эхлэл амжилтгүй болсон</title> + <para><command>saposcol</command> програмд (хувилбар 4.6D) зарим асуудлууд байдаг. + <application>&sap;</application> систем нь системийн ажиллагааны талаарх өгөгдлийг цуглуулахын тулд + <command>saposcol</command>-г ашигладаг. Энэ програм нь + <application>&sap;</application> системийг ашиглахад хэрэггүй болохоор + энэ асуудлыг жижиг гэж тооцож болох юм. Хуучин хувилбарууд (4.6B) нь + ажилладаг боловч бүх өгөгдлийг цуглуулдаггүй (олон дуудлагууд нь 0-г буцаах болно, жишээ нь + CPU-ийн хэрэглээний хувьд).</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="linuxemu-advanced"> + <title>Нэмэлт сэдвүүд</title> + + <para>Хэрэв та Линуксийн хоёртын нийлэмж хэрхэн ажилладагийг мэдэхийг хүсэж байгаа + бол энэ хэсэг нь таны уншихыг хүсэж байгаа хэсэг юм. Доор бичигдсэн зүйлийн ихэнх нь + Тэрри Лэмбэрт <email>tlambert@primenet.com</email>-ийн + &a.chat; руу бичсэн цахим захидал (Message ID: + <literal><199906020108.SAA07001@usr09.primenet.com></literal>) + дээр тулгуурласан байгаа.</para> + + <sect2> + <title>Хэрхэн ажилладаг вэ?</title> + <indexterm><primary>ажиллуулах ангилал дуудагч</primary></indexterm> + + <para>FreeBSD нь <quote>execution class + loader</quote> буюу ажиллуулах ангилал дуудагч гэгддэг хийсвэрлэлттэй байдаг. + Энэ нь &man.execve.2; системийн дуудлага уруу хийгдэх шаантаг юм.</para> + + <para>Юу болдог вэ гэхээр FreeBSD нь ямар нэгэн бүрхүүлийн тайлбарлагчид эсвэл + бүрхүүлийн скриптүүдийг ажиллуулахын тулд <literal>#!</literal> дуудагч + уруу ордог нэг дуудагчийн оронд дуудагчдын жагсаалттай байдаг.</para> + + <para>Уламжлалаар бол &unix; тавцангийн дуудагч нь хоёртын файлыг системд + мэдэгдэж байгаа эсэхийг мэдэхийн тулд шидэт тоог + (ерөнхийдөө файлын эхний 4 эсвэл 8 байт) шалгадаг бөгөөд + хэрэв мэдэгдэж байвал хоёртын дуудагчийг ажиллуулдаг ганц дуудагч юм.</para> + + <para>Хэрэв энэ нь системд зориулагдсан хоёртын төрөл биш бол &man.execve.2; + дуудлага амжилгүй болон буцаж бүрхүүл үүнийг бүрхүүлийн тушаалууд маягаар + ажиллуулж эхлэхийг оролддог.</para> + + <para><quote>Тухайн үеийн бүрхүүл ямар байгаа</quote> түүнийг анхдагч гэж + таамагладаг.</para> + + <para>Дараа нь эхний хоёр тэмдэгтүүдийг шалгах засварыг (hack) &man.sh.1;-д + зориулж хийсэн бөгөөд хэрэв тэдгээр нь <literal>:\n</literal> бол энэ нь + &man.csh.1; бүрхүүлийг ажиллуулдаг (энэ засварыг SCO анхлан хийсэн гэж + бид итгэдэг).</para> + + <para>Төгсгөлийн дараах дараагийн хоосон зайны дараа байдаг тэмдэгтүүдийн дараа + <filename>/bin/sh</filename> уруу буцдаг тэмдэгтүүд байдаг болохоор + одоо FreeBSD юу хийдэг вэ гэхээр дуудагчдын жагсаалтаар тайлбарлагчдын талаар + мэддэг ерөнхий <literal>#!</literal> дуудагчтай явдаг.</para> + <indexterm><primary>ELF</primary></indexterm> + + <para>Линуксийн ABI дэмжлэгийн хувьд FreeBSD нь шидэт тоог ELF хоёртын файл + гэж хардаг (одоогоор энэ нь FreeBSD, &solaris;, Линукс болон ELF дүрсийн төрөл бүхий + бусад OS-ийг хооронд нь ялгадаггүй).</para> + <indexterm><primary>Solaris</primary></indexterm> + + <para>ELF дуудагч нь тусгай <emphasis>тамга</emphasis> хайдаг бөгөөд + энэ нь ELF дүрс дэх тайлбар хэсэг юм. Энэ нь SVR4/&solaris; ELF хоёртын + файлуудад байдаггүй.</para> + + <para>Линукс хоёртын файлууд нь ажиллахын тулд тэдгээр нь + &man.brandelf.1;-ээр <literal>Линукс</literal> гэж <emphasis>тамгалагдах</emphasis> + ёстой байдаг:</para> + + <screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen> + + <para>Үүнийг хийсний дараа ELF дуудагч нь файлд + <literal>Линукс</literal> тамгыг харах болно.</para> + <indexterm> + <primary>ELF</primary> + <secondary>тамгалах</secondary> + </indexterm> + + <para>ELF дуудагч <literal>Линукс</literal> тамгыг харах үед дуудагч + <literal>proc</literal> бүтэц дэх заагчийг сольдог. Энэ заагчаар + бүх системийн дуудлагууд индекслэгддэг (уламжлалт &unix; систем дээр + энэ нь системийн дуудлагуудыг агуулах <literal>sysent[]</literal> + бүтцийн массив байх юм). Үүнээс гадна процесс нь дохионы трамплиний + кодод зориулсан занга векторыг тусгайлан зохицуулахад болон Линуксийн + цөмийн модулиар зохицуулагддаг бусад хэд хэдэн (жижиг) засваруудад + зориулагдаж тэмдэглэгддэг.</para> + + <para>Линукс системийн дуудлагын вектор нь бусад зүйлүүдээс гадна + цөмийн модульд хаягууд нь байдаг <literal>sysent[]</literal> оруулгуудын + жагсаалтыг агуулдаг.</para> + + <para>Системийн дуудлага Линуксийн хоёртын файлаар дуудагдахад занга код + системийн дуудлагын функц заагчийн хаягийг <literal>proc</literal> бүтцээс + авч FreeBSD-ийн биш Линуксийн системийн дуудлагын оруулгын цэгүүдийг + авдаг.</para> + + <para>Мөн Линукс горим нь хайлтыг динамикаар <emphasis>дахин эхлүүлдэг</emphasis>; + энэ нь файлын системийн холболтууд дахь <option>union</option> тохируулга + (<literal>unionfs</literal> файлын системийн төрөл <emphasis>биш</emphasis>!) + хийдэг тэр зүйл юм. Эхлээд <filename>/compat/linux/<replaceable>original-path</replaceable></filename> + сан дахь файлыг хайх бөгөөд <emphasis>дараа нь</emphasis> хэрэв энэ нь + амжилтгүй болвол хайлт + <filename>/<replaceable>original-path</replaceable></filename> + санд хийгддэг. Энэ нь бусад хоёртын файлуудыг шаарддаг хоёртын файлуудыг + ажиллаж чадахаар (өөрөөр хэлбэл Линуксийн хэрэгслийн цуглуулга + бүгдээрээ Линуксийн ABI дэмжлэгийн доор ажиллаж чаддаг байхаар) болгодог. + Линуксийн хоёртын файлууд нь тохирох Линуксийн хоёртын файлууд байхгүй бол + FreeBSD-ийн хоёртын файлуудыг дуудаж ажиллуулж бас чадна гэсэн үг бөгөөд + Линуксийн хоёртын файлуудыг Линукс дээр ажиллахгүй байгааг нь хэлж чадахааргүй + болгохын тулд та &man.uname.1; тушаалыг <filename>/compat/linux</filename> + санд байрлуулж болно гэсэн үг юм.</para> + + <para>Үндсэндээ Линуксийн цөм FreeBSD цөмд байдаг; цөмийн үзүүлдэг + бүх үйлчилгээнүүдийг хийдэг, доор нь орших төрөл бүрийн функцууд нь + FreeBSD-ийн системийн дуудлагын хүснэгтийн оруулгууд болон + Линуксийн системийн дуудлагын хүснэгтийн оруулгуудтай ижил байдаг: + файлын системийн үйлдлүүд, виртуал санах ойн үйлдлүүд, дохио + хүргэлт, System V IPC, гэх мэт… Цорын ганц ялгаа нь + FreeBSD-ийн хоёртын файлууд FreeBSD-ийн <emphasis>цавуу</emphasis> + функцуудыг, Линуксийн хоёртын файлууд Линуксийн <emphasis>цавуу</emphasis> + функцуудыг авдаг явдал юм (ихэнх хуучин OS-үүд зөвхөн өөрсдийн <emphasis>цавуу</emphasis> + функцуудтай байсан: дуудлага хийж байгаа процессийн <literal>proc</literal> бүтэц дэх + динамикаар эхлүүлэгдсэн заагчаар хийгдсэн функцуудын хаягуудын оронд + статик глобал <literal>sysent[]</literal> бүтцийн + массив дахь функцуудын хаягуудтай байсан).</para> + + <para>Аль нь эх FreeBSD ABI вэ? Энэ нь хамаагүй юм. + Үндсэндээ цорын ганц ялгаа нь (зөвхөн одоогоор; эдгээр нь ирээдүйн хувилбаруудад + амархан өөрчлөгдөж болох бөгөөд магадгүй үүний дараагаар хийгдэх байх) + FreeBSD-ийн <emphasis>цавуу</emphasis> функцууд нь + цөмд статикаар холбогдсон байдаг бөгөөд Линуксийн + <emphasis>цавуу</emphasis> функцууд нь статикаар холбогдож эсвэл + тэдгээрт цөмийн модулийн тусламжтайгаар хандаж болдог явдал юм.</para> + + <para>Тиймээ, гэхдээ энэ нь жинхэнэ эмуляц мөн үү? Үгүй ээ. Энэ нь ABI шийдэл + болохоос эмуляц биш юм. Ямар ч эмулятор (эсвэл дүр үзүүлэгч (simulator) + (дараагийн асуултыг асуулгахгүйн тулд)) оролцоогүй.</para> + + <para>Тэгэхээр яагаад энэ нь заримдаа <quote>Линукс эмуляц</quote> гэгддэг + юм бэ? FreeBSD-г худалдахад хэцүү болгохын тулд! Тиймээ, + юу болж байгааг тайлбарлаж байгаагаас өөр зүйлгүй байх тэр үед уламжлалт + шийдэл хийгдсэн болохоор тэр юм; хэрэв та кодыг эмхэтгээгүй эсвэл модулийг дуудаагүй бол + Линуксийн хоёртын файлуудыг FreeBSD ажиллуулдаг гэж хэлэх нь + үнэн биш бөгөөд юу дуудагдсаныг тайлбарлах үг хэрэгтэй байсан болохоор + —<quote>Линукс эмулятор</quote> гэсэн үг гарсан юм.</para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + diff --git a/mn_MN.UTF-8/books/handbook/mac/Makefile b/mn_MN.UTF-8/books/handbook/mac/Makefile new file mode 100644 index 0000000000..bebe29f8a8 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/mac/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= mac/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/mac/chapter.sgml b/mn_MN.UTF-8/books/handbook/mac/chapter.sgml new file mode 100644 index 0000000000..5a80178514 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/mac/chapter.sgml @@ -0,0 +1,2129 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.69 + + $FreeBSD$ +--> + +<chapter id="mac"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Mandatory Access Control буюу Албадмал Хандалтын хяналт</title> + + <sect1 id="mac-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm><primary>MAC</primary></indexterm> + <indexterm> + <primary>Албадмал Хандалтын хяналт</primary> + <see>MAC</see> + </indexterm> + + <para>&os; 5.X нь &posix;.1e ноорог дээр тулгуурласан TrustedBSD төслийн + аюулгүй байдлын шинэ өргөтгөлүүдийг танилцуулсан. Хамгийн чухал аюулгүй байдлын + шинэ арга замуудын хоер нь файлын системийн Access Control Lists буюу + Хандалтын Хяналтын Жагсаалтууд (<acronym>ACL</acronym>-үүд) болон + Mandatory Access Control (<acronym>MAC</acronym>) буюу + Албадмал Хандалтын Хяналт боломжууд юм. Албадмал Хандалтын Хяналт нь аюулгүй байдлын + шинэ бодлогуудыг бий болгож хандалтын хяналтын модулиудыг ачаалах боломжийг олгодог. + Зарим нь тухайн үйлчилгээг хатуужуулж системийн нарийн дэд олонлогуудын хамгаалалтуудыг + хангадаг. Бусад нь хаяглагдсан, олон талын аюулгүй байдлыг бүх субьект болон + обьектуудын хувьд хангадаг байна. Тодорхойлолтын албадмал буюу зайлшгүй шаардлагатай + гэж хэлсэн хэсэг нь хяналтуудын албадлагыг администраторууд болон систем + хийдэг бөгөөд discretionary access control (<acronym>DAC</acronym>, + &os; дээрх стандарт файл болон System V <acronym>IPC</acronym> зөвшөөрлүүд) + буюу тусдаа байх хандалтын хяналтаар хийгддэг шиг хэрэглэгчээр өөрөөр нь хийлгэдэггүй гэсэн + үг юм.</para> + + <para>Энэ бүлэг Mandatory Access Control Framework (<acronym>MAC</acronym> Framework) + буюу Албадмал Хандалтын Хяналт Тогтолцоо болон залгагдаж болох аюулгүй байдлын бодлогын модулиудын + олонлогт анхаарлаа төвлөрүүлж төрөл бүрийн аюулгүй байдлын арга замуудыг идэвхжүүлэх + болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Одоогоор &os;-д ямар ямар аюулгүй байдлын <acronym>MAC</acronym> + бодлогын модулиуд орсон болон тэдгээртэй холбоотой арга замуудын талаар.</para> + </listitem> + + <listitem> + <para>Аюулгүй байдлын <acronym>MAC</acronym> бодлогын модулиуд юу шийддэг + болон хаяглагдсан болон хаяглагдаагүй бодлогын хоорондын ялгааны талаар.</para> + </listitem> + + <listitem> + <para>Системийг хэрхэн үр ашигтайгаар <acronym>MAC</acronym> тогтолцоог + ашиглахаар тохируулах талаар.</para> + </listitem> + + <listitem> + <para><acronym>MAC</acronym> тогтолцоонд орсон аюулгүй байдлын өөр өөр + бодлогын модулиудыг хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para><acronym>MAC</acronym> тогтолцоо болон үзүүлсэн жишээнүүдийг ашиглан + илүү аюулгүй орчинг хэрхэн бий болгох талаар.</para> + </listitem> + + <listitem> + <para>Тогтолцоо зөв хийгдсэнийг шалгахын тулд <acronym>MAC</acronym> тохиргоог + хэрхэн тест хийх талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>&unix; болон &os;-ийн үндсүүдийг ойлгосон байх + (<xref linkend="basics">).</para> + </listitem> + + <listitem> + <para>Цөмийн тохиргоо/эмхэтгэлийн (<xref linkend="kernelconfig">) + үндсүүдтэй танилцсан байх.</para> + </listitem> + + <listitem> + <para>Аюулгүй байдалтай танилцаж энэ нь &os;-д хэрхэн хамааралтай + болохыг мэдэх (<xref linkend="security">).</para> + </listitem> + </itemizedlist> + + <warning> + <para>Энд байгаа мэдээллийг буруу ашиглавал системд хандаж чадахгүй + болгох, хэрэглэгчдийн доройтол эсвэл X11-ийн хангадаг боломжуудад хандаж + чадахгүйд хүргэж болох юм. Хамгийн чухал нь <acronym>MAC</acronym> нь + системийг бүр мөсөн аюулгүй болгоно гэж найдаж болохгүй юм. <acronym>MAC</acronym> + тогтолцоо нь байгаа аюулгүй байдлын бодлогыг зөвхөн сайжруулдаг; + аюулгүй байдлын сайн практикгүй, байнгын аюулгүй байдлын шалгалтгүйгээр + систем хэзээ ч бүрэн аюулгүй байж чадахгүй.</para> + + <para>Мөн энэ бүлгийн хүрээнд байгаа жишээнүүд нь зөвхөн жишээнүүд гэдгийг + тэмдэглэх ёстой юм. Ялангуяа эдгээр тухайлсан тохиргоонуудыг жинхэнэ систем + дээр хэрэглэхийг зөвлөдөггүй. Төрөл бүрийн аюулгүй байдлын бодлогын + модулиудыг бүтээх нь ихээхэн бодолт болон тест хийхийг шаарддаг. Бүгд хэрхэн + яаж ажилладагийг бүрэн ойлгоогүй хүнийн хувьд бүхэл системийг дахин үзэж + олон файлуууд эсвэл сангуудыг дахин тохируулахад хүргэж болох юм.</para> + </warning> + + <sect2> + <title>Юуг хэлэлцэхгүй вэ</title> + + <para>Энэ бүлэг нь <acronym>MAC</acronym> тогтолцоотой холбоотой өргөн хүрээний + аюулгүй байдлын асуудлуудыг хамардаг. Шинэ <acronym>MAC</acronym> аюулгүй + байдлын бодлогын модулиудыг хөгжүүлэх талаар хэлэлцэхгүй болно. + <acronym>MAC</acronym> тогтолцоонд орсон хэд хэдэн аюулгүй байдлын бодлогын + модулиуд нь тусгай онцлогуудтай бөгөөд эдгээр нь тест хийх болон шинэ модул хөгжүүлэхэд + зориулагдсан юм. Эдгээрт &man.mac.test.4;, &man.mac.stub.4; болон + &man.mac.none.4; орно. Эдгээр аюулгүй байдлын бодлогын модулиудын талаар + болон тэдгээрийн хангадаг төрөл бүрийн арга замуудын талаар дэлгэрэнгүй мэдээллийг + гарын авлагын хуудаснуудаас лавлана уу.</para> + </sect2> + </sect1> + + <sect1 id="mac-inline-glossary"> + <title>Энэ бүлэг дэх түлхүүр ухагдахуунууд</title> + + <para>Энэ бүлгийг уншихаасаа өмнө хэд хэдэн түлхүүр ухагдахуунуудыг + тайлбарлах ёстой. Энэ нь учирч болох ямар нэг эндүүрлийг цэгцэлж + шинэ ухагдахуунууд болон мэдээллийн огцом танилцуулгаас зайлхийх болно + гэж найдаж байна.</para> + + <itemizedlist> + <listitem> + <para><emphasis>compartment</emphasis> буюу тасалгаа: Тасалгаа нь + хэрэглэгчдэд системийн тусгай бүрэлдэхүүн хэсгүүдэд хандах хандалтыг өгдөг + хуваагдах эсвэл тусгаарлагдах програмууд болон өгөгдлийн олонлог юм. + Мөн тасалгаа нь ажлын групп, хэлтэс, төсөл эсвэл сэдэв зэрэг бүлэглэлийг + илэрхийлдэг. Тасалгаануудыг ашиглан мэдэх хэрэгтэй аюулгүй байдлын + бодлогыг хийж гүйцэтгэх боломжтой байдаг.</para> + </listitem> + + <listitem> + <para><emphasis>high water mark</emphasis> буюу өндөр + түвшин: Өндөр түвшин бодлого нь өндөр түвшний мэдээлэлд хандах зорилгоор + аюулгүй байдлын түвшнүүдийг дээшлүүлэхийг зөвшөөрдөг бодлого юм. + Ихэнх тохиолдолд процесс дууссаны дараа анхдагч түвшин сэргээгддэг. + Одоогоор &os; <acronym>MAC</acronym> тогтолцоо нь үүнд зориулсан + бодлогогүй, гэхдээ бүрэн бүтэн байдлын үүднээс тодорхойлолт нь оржээ.</para> + </listitem> + + <listitem> + <para><emphasis>integrity</emphasis> буюу бүрэн бүтэн байдал: Бүрэн + бүтэн байдал нь түлхүүр ойлголт бөгөөд өгөгдөлд тавигдаж болох итгэмжлэлийн + түвшин юм. Өгөгдлийн бүрэн бүтэн байдал дээшлэх тусам тэр өгөгдөлд итгэх + чадвар бас дээшилдэг.</para> + </listitem> + + <listitem> + <para><emphasis>label</emphasis> буюу хаяг/шошгго: Хаяг/шошго нь + файлууд, сангууд эсвэл систем дэх бусад зүйлсэд хамааруулж болох + аюулгүй байдлын шинж чанар юм. Энэ нь итгэмжлэлийн тамга гэгдэж + болно; хаяг/шошго файлд тавигдсан бол тэр файлын аюулгүй байдлын + өмчүүдийг тайлбарлах бөгөөд зөвхөн ижил аюулгүй байдлын тохиргоотой + файлууд, хэрэглэгчид, эх үүсвэрүүд гэх зэргээс хандалтыг зөвшөөрөх + болно. Хаяг/шошгоны утгуудын утга санаа болон тайлбар нь + бодлогын тохиргооноос хамаардаг: зарим бодлогууд нь хаяг/шошгыг + обьектийн бүрэн бүтэн байдал эсвэл нууцгай байдал гэж ойлгодог бол + бусад бодлогууд хаяг/шошгыг хандалт хийхийн тулд дүрмүүдийг агуулахад + ашиглаж болох юм.</para> + </listitem> + + <listitem> + <para><emphasis>level</emphasis> буюу түвшин: Аюулгүй байдлын + шинж чанарын ихэсгэсэн эсвэл багасгасан тохиргоо. Түвшин ихсэх тусам + түүний аюулгүй байдал бас дээшилнэ гэж үздэг.</para> + </listitem> + + <listitem> + <para><emphasis>low water mark</emphasis> буюу доод түвшин: Доод + түвшин нь тийм ч аюулгүй биш мэдээлэлд хандахын тулд аюулгүй байдлын + түвшингүүдийг доошлуулахыг зөвшөөрдөг бодлого юм. Ихэнх тохиолдолд + процесс дууссаны дараа хэрэглэгчийн анхдагч аюулгүй байдлын түвшин сэргээгддэг. + &os;-д үүнийг ашигладаг цорын ганц аюулгүй байдлын бодлогын модул бол + &man.mac.lomac.4; юм.</para> + </listitem> + + <listitem> + <para><emphasis>multilabel</emphasis> буюу олон хаяг/шошго: + <option>multilabel</option> өмч нь ганц хэрэглэгчийн горимд + &man.tunefs.8; хэрэгсэл, ачаалалтын үйлдлүүдийн үед + эсвэл шинэ файлын систем үүсгэх үед &man.fstab.5; файл ашиглан + тохируулж болох файлын системийн тохируулга юм. Энэ тохируулга нь + өөр өөр обьектуудад өөр өөр <acronym>MAC</acronym> хаяг/шошгонуудыг + хамааруулахыг администраторт зөвшөөрөх болно. Энэ тохируулга нь + хаяглалтыг дэмждэг аюулгүй байдлын бодлогын модулиудад зөвхөн + хамаардаг.</para> + </listitem> + + <listitem> + <para><emphasis>object</emphasis> буюу обьект: Обьект буюу + системийн обьект нь <emphasis>subject</emphasis> буюу + субьектийн удирдлагын доор мэдээлэл дамжин урсдаг тэр мөн чанар + юм. Үүнд сангууд, файлууд, талбарууд, дэлгэцүүд, + гарууд, санах ой, соронзон хадгалалт, хэвлэгчид эсвэл бусад + дурын хадгалалт/хөдлөх төхөөрөмж ордог. Үндсэндээ + обьект нь өгөгдлийн чингэлэг эсвэл системийн эх үүсвэр юм; + <emphasis>обьект</emphasis>од хандах нь өгөгдөлд хандана + гэсэн үг юм.</para> + </listitem> + + <listitem> + <para><emphasis>policy</emphasis> буюу бодлого: + Зорилгод хэрхэн хүрэхийг тодорхойлох дүрмүүдийн цуглуулга юм. + <emphasis>Бодлого</emphasis> нь ихэвчлэн зарим нэг зүйлүүдтэй + хэрхэн ажиллахыг баримтжуулдаг. Энэ бүлэг нь сэдэв дахь + <emphasis>бодлого</emphasis> гэсэн энэ нэр томъёог + <emphasis>аюулгүй байдлын бодлого</emphasis> гэж үзэх болно; + өөрөөр хэлбэл өгөгдөл болон мэдээллийн урсгалыг хянах дүрмүүдийн + цуглуулга гэж үзэх бөгөөд тэр өгөгдөл болон мэдээлэлд хэн хандалттай байхыг + тодорхойлох болно.</para> + </listitem> + + <listitem> + <para><emphasis>sensitivity</emphasis> буюу мэдрэмтгий байдал: + <acronym>MLS</acronym>-ийг хэлэлцэж байх үед ихэвчлэн хэрэглэдэг. + Мэдрэмтгий байдлын түвшин нь өгөгдөл ямар чухал эсвэл нууцлаг байх ёстой болохыг + тайлбарлахад хэрэглэгддэг нэр томъёо юм. Мэдрэмтгий байдлын түвшин ихсэх + тусам нууцгай байдлын чухал ач холбогдол эсвэл өгөгдлийн итгэмжлэгдсэн байдал + бас ихэсдэг.</para> + </listitem> + + <listitem> + <para><emphasis>single label</emphasis> буюу ганц хаяг/шошго: + Ганц хаяг/шошго нь өгөгдлийн урсгалд хандалтын хяналт хийхийн тулд бүхэл файлын систем + ганц хаяг/шошгыг хэрэглэх үе юм. <option>multilabel</option> тохируулгыг + тохируулаагүй ямар ч үед файлын систем үүнийг тохируулсан байхад бүх файлууд нь + ижил хаяг/шошгоны тохиргоог дагах болно.</para> + </listitem> + + <listitem> + <para><emphasis>subject</emphasis> буюу субьект: субьект нь + хэрэглэгч, хэрэглэгчийн процессор, системийн процесс гэх мэт + <emphasis>обьектууд</emphasis>ийн хооронд мэдээлийг урсгах + идэвхтэй мөн чанар юм. &os; дээр энэ нь бараг үргэлж хэрэглэгчийн өмнөөс + процессд үйлчилж байгаа thread буюу урсгал байдаг.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="mac-initial"> + <title>MAC-ийн тайлбар</title> + + <para>Энэ бүх шинэ ухагдахуунуудыг санаад <acronym>MAC</acronym> тогтолцоо + хэрхэн системийн аюулгүй байдлыг ерөнхийд нь нэмэгдүүлдэгийг эргэцүүлье. + <acronym>MAC</acronym> тогтолцооны хангадаг төрөл бүрийн аюулгүй байдлын модулиуд нь + сүлжээ болон файлын системүүдийг хамгаалах, зарим портууд болон сокетуудад + хэрэглэгчид хандахыг хаах гэх зэрэгт ашиглагдаж болно. Магадгүй бодлогын модулиудыг + ашиглах хамгийн шилдэг арга нь хэд хэдэн аюулгүй байдлын бодлогын модулиудыг нэг зэрэг + олон давхаргажсан аюулгүй байдлын орчны хувьд дуудаж тэдгээрийг холих явдал байж болох юм. + Олон давхаргажсан аюулгүй байдлын орчинд олон бодлогын модулиуд нь аюулгүй байдлыг + шалгаж ажиллаж байдаг. Энэ нь зөвхөн тусгай зориулалтаар ашиглаж байгаа системийн + элементүүдийг ихэвчлэн хатуужуулдаг чангатгах бодлогоос өөр юм. Цорын ганц сул тал нь + олон файлын системийн хаяг/шошгонууд, сүлжээний хандалтын хяналтыг хэрэглэгч бүр + дээр тохируулах гэх мэт тохиолдлуудад удирдлагын хувьд илүү + ажилтай байдаг явдал юм.</para> + + <para>Сул талууд нь тогтолцооны үйлчлэх нөлөөлөлтэй харьцуулахад бага зүйл юм. + Жишээ нь тусгайлсан тохиргоонд ямар бодлогууд шаардлагатайг шилж сонгох + чадвар нь ажиллагааны хувьд илүү ачааллыг багасгадаг. Хэрэгцээгүй бодлогуудын + дэмжлэгийг багасгах нь системийн нийт ажиллагааг нэмэгдүүлэхээс гадна сонголтын уян хатан + байдлыг санал болгодог. Сайн шийдэл нь аюулгүй байдлын ерөнхий шаардлагуудыг + бодолцож энэ тогтолцооны санал болгодог төрөл бүрийн аюулгүй байдлын + модулиудыг үр ашигтайгаар авч хэрэгжүүлдэг.</para> + + <para>Тиймээс <acronym>MAC</acronym> боломжуудыг ашигладаг систем нь хэрэглэгчийн + хүссэнээрээ аюулгүй байдлын шинж чанаруудыг өөрчлөх боломжийг хамгийн багаар бодоход + зөвшөөрөхгүй байж баталгаажуулах ёстой юм. Хэрэглэгчийн бүх хэрэгслүүд, програмууд + болон скриптүүд нь сонгосон аюулгүй байдлын бодлогын модулиудын хандалтын дүрмүүдийн + шахалтын доор ажиллах ёстой бөгөөд <acronym>MAC</acronym> хандалтын дүрмүүдийн + ерөнхий хяналт нь системийн администраторын гарт байдаг байна.</para> + + <para>Аюулгүй байдлын бодлогын модулиудыг анхааралтай сонгох нь системийн администраторын + цорын ганц үүрэг байдаг. Зарим орчнуудын хувьд сүлжээнд хандалтын хяналтыг хязгаарлах + хэрэгтэй байдаг. Ийм тохиолдлуудад &man.mac.portacl.4;, &man.mac.ifoff.4; болон бүр + &man.mac.biba.4; бодлогын модулиуд зөв эхлэл болж болох юм. Бусад тохиолдлуудад + файлын системийн обьектуудын чанд нууцлал/итгэмжлэлийг шаардаж болох юм. + Энэ зорилгоор &man.mac.bsdextended.4; болон &man.mac.mls.4; зэрэг бодлогын + модулиуд байдаг.</para> + + <para>Сүлжээний тохиргоон дээр үндэслэн бодлогын шийдвэрүүдийг хийдэг. + Магадгүй сүлжээ эсвэл Интернетэд хандахын тулд &man.ssh.1;-ийн хангадаг + боломжуудад зөвхөн зарим нэг хэрэглэгчдийг хандахыг зөвшөөрөх ёстой + байж болох юм. Эдгээр тохиолдлуудад &man.mac.portacl.4; нь + сонгох бодлогын модул болох юм. Гэхдээ файлын системүүдийн хувьд + юу хийх ёстой вэ? Зарим нэг сангуудад бусад бүлгүүдээс эсвэл тусгай + хэрэглэгчдээс хандах бүх хандалтыг чангаруулах ёстой юу? Эсвэл + тусгай файлууд уруу хийх хэрэглэгчийн эсвэл хэрэгслийн хандалтыг + зарим обьектуудыг нууц гэж тохируулан бид хязгаарлах ёстой юу?</para> + + <para>Файлын системийн тохиолдолд обьектуудад хандах хандалт нь зарим хэрэглэгчдийн + хувьд итгэмжлэгдсэн/нууц, бусдуудын хувьд үгүй байж болох юм. + Жишээ нь хөгжүүлэх том багийг хэд хэдэн хөгжүүлэгчдээс тогтох жижиг бүлгүүдэд + хувааж болох юм. B төсөл дэх хөгжүүлэгчдийн бичсэн обьектуудад A төсөл дэх + хөгжүүлэгчид хандах ёсгүй. Бас тэд C төсөл дэх хөгжүүлэгчдийн үүсгэсэн + обьектуудад хандах хэрэгтэй байж болох юм. Ийм тохиолдол харин ч байж + болох юм. <acronym>MAC</acronym> тогтолцооны өөр өөр аюулгүй + байдлын бодлогын модулиудыг ашиглан хэрэглэгчдийг эдгээр бүлгүүдэд + хувааж мэдээллийн алдагдалаас айлгүйгээр тохирох талбаруудад хандалтыг + өгч болох юм.</para> + + <para>Тиймээс аюулгүй байдлын бодлогын модул бүр нь системийн ерөнхий аюулгүй + байдлыг сайжруулах өвөрмөц аргатай байдаг. Модулийн сонголтийг хийхдээ аюулгүй + байдлын бодлогын хувьд сайн бодож хийх хэрэгтэй. Ихэнх тохиолдлуудад + ерөнхий бодлогыг дахин харж сайжруулан систем дээр дахин хэрэгжүүлэх хэрэгтэй байж + болох юм. <acronym>MAC</acronym> тогтолцооны санал болгодог өөр өөр + аюулгүй байдлын бодлогын модулиудыг ойлгох нь администраторуудад + өөр өөрсдийн нөхцөлдөө тохируулан хамгийн шилдэг бодлогуудыг сонгоход + туслах болно.</para> + + <para>&os;-ийн анхдагч цөм нь <acronym>MAC</acronym> тогтолцоонд зориулсан + тохируулгагүй байдаг, тиймээс энэ бүлэгт байгаа жишээнүүд эсвэл мэдээллийг + туршихаасаа өмнө дараах цөмийн тохируулгыг нэмэх ёстой:</para> + + <programlisting>options MAC</programlisting> + + <para>Тэгээд цөмийг дахин бүтээж суулгах шаардлагатай болно.</para> + + <caution> + <para><acronym>MAC</acronym> бодлогын модулиудын төрөл бүрийн гарын + авлагын хуудаснууд нь тэдгээрийг цөмд оруулан бүтээсэн гэж мэдэгддэг боловч + системийг сүлжээнээс гаргаж түгжих зэрэг олон боломжтой байдаг. + <acronym>MAC</acronym>-ийг хэрэгжүүлэх нь галт ханыг хэрэгжүүлэхтэй + бараг адил бөгөөд системээс бүр мөсөн гарч түгжигдэхээс сэргийлэхийн + тулд анхааралтай байх ёстой. Өмнөх тохиргоондоо эргэж буцааж болдог + байх чадварыг бодолцох ёстой бөгөөд <acronym>MAC</acronym> + шийдлийг алсаас хийхдээ маш болгоомжтой хийх хэрэгтэй юм.</para> + </caution> + </sect1> + + <sect1 id="mac-understandlabel"> + <title>MAC хаяг/шошгонуудыг ойлгох нь</title> + + <para><acronym>MAC</acronym> хаяг/шошго нь системийн турш нэлэнхүйд нь + субьектууд болон обьектуудад өгч болох аюулгүй байдлын шинж чанар + юм.</para> + + <para>Хаяг/шошгыг тохируулах үед хэрэглэгч үүнийг яг юу болох, юу хийгдэхийг ойлгож + чадаж байх ёстой. Обьект дээр байдаг шинж чанарууд нь бодлогын модул + дуудагдсан болон бодлогын модулиуд тэдгээрийн шинж чанаруудыг + өөр аргаар ойлгуулдагаас хамаарна. Дутуу ойлгосноос эсвэл утга санаануудыг нь + ойлгох чадваргүй байдлаас болоод буруу тохируулсан бол үр дүн нь тааж болшгүй + байх бөгөөд магадгүй системийн хүсээгүй ажиллагаанд хүргэж болох юм.</para> + + <para>Обьект дээрх аюулгүй байдлын хаяг/шошго нь бодлогын гаргах аюулгүй байдлын + хандалтын хяналтын шийдвэрийн хэсэг болон хэрэглэгддэг. Зарим бодлогуудад + хаяг/шошго нь өөрөө шийдвэр гаргахад шаардлагатай бүх мэдээллийг + агуулдаг; бусад загваруудад хаяг/шошгонууд нь илүү том дүрмийн олонлогийн хэсэг + болон процесс хийгдэж болох юм. Гэх мэт олныг дурдаж болно.</para> + + <para>Жишээ нь файл дээр <literal>biba/low</literal> гэж хаяг/шошгыг тохируулах + нь Biba аюулгүй байдлын бодлогын модулиар хангагдаж байдаг хаяг/шошгыг + <quote>low</quote> гэсэн утгатайгаар илэрхийлж байна гэсэн үг юм.</para> + + <para>&os;-д хаяглалтын боломжийг дэмждэг цөөн бодлогын модулиуд нь + урьдчилан тодорхойлсон тусгай гурван хаяг/шошгыг санал болгодог. Эдгээр нь + low буюу доод, high буюу өндөр болон equal буюу тэнцүү гэсэн хаяг/шошгууд юм. + Тэдгээр нь хандалтын хяналтыг бодлогын модул бүртэй өөр өөрөөр хийдэг боловч + low хаяг/шошго нь хамгийн доод тохиргоо болох ба equal хаяг/шошго нь + субьект эсвэл обьектийг хаах эсвэл хамаарахгүй гэж тохируулах бөгөөд high + хаяг/шошго нь Biba болон <acronym>MLS</acronym> бодлогын модулиудад + байх хамгийн дээд тохиргоог хийх болно.</para> + + <para>Ганц хаяг/шошго бүхий файлын системийн орчинд обьектууд дээр зөвхөн + нэг хаяг/шошго хэрэглэгдэх болно. Энэ нь хандалтын зөвшөөрлүүдийн + нэг олонлогийг бүхэл бүтэн системийн дагуу ашиглах бөгөөд олон орчны + хувьд энэ нь хангалттай байж болох юм. Файлын систем дэх обьектууд + эсвэл субьектууд дээр олон хаяг/шошгонууд тавих цөөн тохиолдлууд + байдаг. Ийм тохиолдолд <option>multilabel</option> + тохируулгыг &man.tunefs.8; уруу дамжуулж өгч болох юм.</para> + + <para>Biba болон <acronym>MLS</acronym>-ийн хувьд тоон хаяг/шошгыг + шаталсан хяналтын тодорхой түвшинг заахын тулд тохируулж болно. + Энэ тоон түвшин нь мэдээллийг ангилалын өөр өөр бүлгүүдэд хуваах буюу + эрэмбэлж тэр бүлэг эсвэл илүү өндөр бүлгийн түвшинд хандах хандалтыг + зөвхөн зөвшөөрөхөд хэрэглэгддэг.</para> + + <para>Ихэнх тохиолдлуудад администратор нь файлын системийн дагуу + хэрэглэхийн тулд зөвхөн ганц хаяг/шошгыг тохируулдаг.</para> + + <para><emphasis>Хөөе хүлээгээрэй, энэ нь <acronym>DAC</acronym>-тай + адил юм байна! <acronym>MAC</acronym> нь хяналтыг зөвхөн + администраторт өгдөг гэж бодсон.</emphasis> Энэ өгүүлбэр нь + зарим талаараа үнэн хэвээр байгаа, учир нь <username>root</username> + хэрэглэгчид хяналт байгаа бөгөөд тэрээр хэрэглэгчдийг тохирох зэрэглэл/хандалтын + түвшингүүдэд байрлуулахаар бодлогуудыг тохируулдаг. Харамсалтай нь + бодлогын олон модулиуд нь <username>root</username> хэрэглэгчийг + бас хязгаарлаж чадна. Обьектууд дээрх үндсэн хяналт нь тэгээд бүлэгт + суллагдах боловч <username>root</username> нь тохиргоонуудыг + ямар ч үед буцааж эсвэл өөрчилж болох юм. Энэ нь Biba болон + <acronym>MLS</acronym> зэрэг бодлогуудын хамардаг + шаталсан/цэвэрлэгээ загвар юм.</para> + + <sect2> + <title>Хаяг/шошгоны тохиргоо</title> + + <para>Хаяг/шошгоны бодлогын модулийн тохиргооны бараг л бүх зүйлсийг + үндсэн системийн хэрэгслүүдийг ашиглан гүйцэтгэдэг. Эдгээр тушаалууд нь + обьект эсвэл субьектийн тохиргоо эсвэл тохиргооны удирдлага болон шалгалтын + хувьд энгийн интерфэйсээр хангадаг.</para> + + <para>Бүх тохиргоог &man.setfmac.8; болон &man.setpmac.8; + хэрэгслүүдийг ашиглан хийнэ. <command>setfmac</command> + тушаал нь системийн обьектууд дээр <acronym>MAC</acronym> + хаяг/шошгонуудыг тохируулахад хэрэглэгддэг бол <command>setpmac</command> + тушаал нь системийн субьектууд дээр хаяг/шошгонуудыг тохируулахад + хэрэглэгддэг. Дараах тушаалыг ажиглаарай:</para> + + <screen>&prompt.root; <userinput>setfmac biba/high test</userinput></screen> + + <para>Дээрх тушаалыг ажиллуулсны дараа хэрэв ямар ч алдаа гараагүй бол + хүлээх мөр буцаагдах болно. Эдгээр тушаалууд нь хөдөлгөөнгүй биш байх + цорын ганц үе нь алдаа гарах үе юм; &man.chmod.1; болон &man.chown.8; + тушаалуудтай адил юм. Зарим тохиолдолд энэ алдаа нь + <errorname>Permission denied</errorname> гэсэн байж болох бөгөөд + энэ нь ихэвчлэн хязгаарласан обьект дээр хаяг/шошгыг тохируулах буюу засах + үед гардаг.<footnote><para>Өөр бусад нөхцөлүүд бас өөр амжилтгүйтлүүдийг + бий болгож болох юм. Жишээ нь хэрэглэгч обьектийг дахин хаяглахыг оролдоход + файл нь түүний эзэмшээгүй файл байж болох юм. Энэ обьект нь байхгүй юм уу эсвэл + зөвхөн уншигдахаар байж болох юм. Албадмал бодлого нь файлыг процесс дахин + хаяглахыг зөвшөөрөхгүй, энэ нь магадгүй файлын өмч, процессийн өмч эсвэл + санал болгосон шинэ хаяг/шошгоны утгын өмчөөс болсон байж болох юм. + Жишээ нь: доод бүрэн бүтэн байдалд ажиллаж байгаа хэрэглэгч өндөр бүрэн + бүтэн байдлын файлын хаяг/шошгыг өөрчлөхөөр оролджээ. Эсвэл магадгүй + доод бүрэн бүтэн байдалд ажиллаж байгаа хэрэглэгч доод бүрэн бүтэн + байдлын файлын хаяг/шошгыг дээд бүрэн бүтэн байдлын хаяг/шошго уруу + өөрчлөхөөр оролджээ.</para></footnote> Системийн администратор + үүнийг давж гарахын тулд дараах тушаалуудыг ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>setfmac biba/high test</userinput> +<errorname>Permission denied</errorname> +&prompt.root; <userinput>setpmac biba/low setfmac biba/high test</userinput> +&prompt.root; <userinput>getfmac test</userinput> +test: biba/high</screen> + + <para>Дээрхээс харахад ажиллуулсан процессд өөр хаяг/шошго зааж бодлогын модулийн + тохиргоонуудыг өөрчлөхөд <command>setpmac</command> тушаалыг + хэрэглэж болох юм байна. <command>getpmac</command> хэрэгсэл нь + ихэвчлэн тухайн үед ажиллаж байгаа <application>sendmail</application> зэрэг + процессуудад хэрэглэгддэг. Хэдийгээр энэ нь тушаалын оронд процессийн ID-г + авдаг боловч логик нь туйлын төстэй юм. Хэрэв хэрэглэгчид өөрийн хандалтад + байхгүй файлыг удирдахыг оролдвол дуудагдсан бодлогын модулиудын дүрмүүдээс + болоод <errorname>Operation not permitted</errorname> алдаа + <function>mac_set_link</function> функцээр харуулагдах + болно.</para> + + <sect3> + <title>Нийтлэг хаяг/шошгоны төрлүүд</title> + + <para>&man.mac.biba.4;, &man.mac.mls.4; болон + &man.mac.lomac.4; бодлогын модулиудын хувьд энгийн хаяг/шошгонуудыг + зааж өгөх боломж олгогдсон байдаг. Эдгээр нь high буюу өндөр/дээд, + equal буюу тэнцүү болон low буюу доод гэсэн хэлбэрийг авах бөгөөд + эдгээр хаяг/шошгонуудын юу хангадаг талаар товч тайлбарыг доор + дурдав:</para> + + <itemizedlist> + <listitem> + <para><literal>low</literal> хаяг/шошго нь обьект эсвэл субьектийн + авч болох хамгийн доод хаяг/шошгоны тохиргоо гэгддэг. + Үүнийг обьектууд эсвэл субьектууд дээр тохируулах нь өндөр гэж + тэмдэглэгдсэн обьектууд эсвэл субьектууд уруу хандах тэдгээрийн + хандалтыг хаах болно.</para> + </listitem> + + <listitem> + <para><literal>equal</literal> хаяг/шошго нь бодлогоос чөлөөлөгдөх + обьектууд дээр зөвхөн тавигдах ёстой.</para> + </listitem> + + <listitem> + <para><literal>high</literal> хаяг/шошго нь обьект эсвэл субьектэд + хамгийн их боломжит тохиргоог зөвшөөрдөг.</para> + </listitem> + </itemizedlist> + + <para>Бодлогын модул бүрийн хувьд тэдгээр тохиргоо бүр өөр өөр мэдээллийн + урсгалын зааврыг хийх болно. Тохирох гарын авлагын хуудаснуудыг унших нь + эдгээр ерөнхий хаяг/шошгоны тохиргоонуудын төрх байдлыг цаашид + тайлбарлах болно.</para> + + <sect4> + <title>Хаяг/шошгоны илүү нарийн тохиргоо</title> + + <para>Тоон зэргээр илэрхийлсэн хаяг/шошгонууд нь + <literal>comparison:compartment+compartment</literal> + буюу <literal>харьцуулалт:тасалгаа+тасалгаа</literal> гэсэнд + зориулагдаж хэрэглэгддэг, тиймээс дараах нь:</para> + + <programlisting>biba/10:2+3+6(5:2+3-20:2+3+4+5+6)</programlisting> + + <para>Ингэж тайлбарлагдаж болно:</para> + + <para><quote>Biba Бодлогын Хаяг/Шошго</quote>/<quote>Зэрэг 10</quote> + :<quote>Тасалгаанууд 2, 3 болон 6</quote>: + (<quote>зэрэг 5 ...</quote>)</para> + + <para>Энэ жишээн дээр эхний зэрэг нь <quote>эффектив тасалгаанууд</quote>тай + <quote>эффектив зэрэг</quote> гэж тооцогддог, хоёр дахь зэрэг + нь доод зэрэг бөгөөд хамгийн сүүлийнх нь өндөр зэрэг юм. + Ихэнх тохиргоонуудад эдгээр тохируулгуудыг ашигладаггүй, харин + тэдгээрийг илүү нарийн тохиргоонд зориулж санал болгодог.</para> + + <para>Системийн обьектуудад хамааруулахад тэдгээр нь системийн субьектуудтай + харьцуулах юм бол зөвхөн тухайн үеийн зэрэг/тасалгаануудтай байдаг. + Системийн субьектууд нь систем болон сүлжээний интерфэйсүүдэд байгаа + эрхүүдийн хүрээг тусгадаг. Сүлжээний интерфэйсүүд дээр хандалтын + хяналтын хувьд хаяг/шошгонууд нь ашиглагддаг.</para> + + <para>Субьект болон обьект хослол дахь зэрэг болон тасалгаанууд нь + <quote>давамгайлал</quote> гэгддэг харилцааг бүтээхэд хэрэглэгддэг. + Энэ харилцаанд субьект нь обьектийг давамгайлдаг, эсвэл обьект нь субьектийг + давамгайлдаг, эсвэл аль нэг нь нөгөөгөө давамгайлахгүй, эсвэл + хоюулаа нэг нэгнийгээ давамгайлдаг. <quote>хоюулаа давамгайлах</quote> + тохиолдол нь хоёр хаяг/шошго тэнцүү байхад тохиолддог. Biba-ийн + мэдээллийн урсгалын мөн чанараас болоод төсөлд тохирох <quote>мэдэх хэрэгтэй</quote> + тасалгаануудын олонлогийн эрхүүд танд байдаг. Гэхдээ обьектууд нь бас + тасалгаануудын олонлогтой байна. Хэрэглэгчид нь + өөрсдөө хязгаарлалтгүй байдаг тасалгаа дахь обьектуудад хандахын тулд + <command>su</command> эсвэл <command>setpmac</command> тушаалуудыг + ашиглан өөрсдийнхөө эрхүүдийг дэд эрхүүд болгож болох юм.</para> + </sect4> + </sect3> + + <sect3> + <title>Хэрэглэгчид болон хаяг/шошгоны тохиргоонууд</title> + + <para>Хэрэглэгчдийн өөрсдийнх нь файлууд болон процессууд систем дээр тодорхойлсон + аюулгүй байдлын бодлоготой зөв харилцан ажилладаг байхын тулд хэрэглэгчид нь өөрсдөө + хаяг/шошгонуудтай байх шаардлагатай байдаг. Үүнийг <filename>login.conf</filename> + файлд нэвтрэлтийн ангилалуудыг ашиглан тохируулдаг. Хаяг/шошгонуудыг ашигладаг + бодлогын модул бүр хэрэглэгчийн ангилалын тохиргоог хийх болно.</para> + + <para>Бодлогын модул бүрийн тохиргоог агуулах жишээ оруулгыг доор + үзүүлэв:</para> + + <programlisting>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:\ + :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]:</programlisting> + + <para><literal>label</literal> тохируулга нь хэрэглэгчийн ангилалын + <acronym>MAC</acronym>-ийн үйлчлэх анхдагч хаяг/шошгыг тохируулахад + хэрэглэгддэг. Хэрэглэгчид энэ утгыг өөрчлөх зөвшөөрөл хэзээ ч өгөгдөхгүй + учраас энэ нь хэрэглэгчийн хувьд сонгох боломжгүй юм. Гэхдээ жинхэнэ тохиргоон дээр + администратор нь бодлогын модул бүрийг идэвхжүүлэхийг хэзээ ч хүсэхгүй. + Энэ тохиргоонуудаас аль нэгийг нь хийж гүйцэтгэхээсээ өмнө энэ бүлгийн үлдсэнийг + дахин шалгаж уншихыг зөвлөж байна.</para> + + <note> + <para>Хэрэглэгчид нь эхний нэвтрэлтийнхээ дараа өөрсдийн хаяг/шошгыг + өөрчилж болох юм. Гэхдээ энэ өөрчлөлт нь бодлогын шахалтуудын + эрхшээлд байдаг. Дээрх жишээ нь процессийн хамгийн бага бүрэн + бүтэн байдлыг 5, түүний хамгийн их утга нь 15, гэхдээ анхдагч + эффектив хаяг/шошго нь 10 гэж Biba бодлогод хэлж байна. + Процесс нь магадгүй хэрэглэгч setpmac тушаалыг ажиллуулснаас + болоод хаяг/шошгоо өөрчлөхөөр сонгох хүртэл 10 дээр ажиллах болно. + setpmac тушаал нь нэвтрэлтийн үед хүрээг тохируулах Biba-ийн + шахалтад байх болно.</para> + </note> + + <para>Бүх тохиолдлуудад <filename>login.conf</filename>-д + өөрчлөлт хийсний дараа нэвтрэлтийн ангилалын боломжийн мэдээллийн баазыг + <command>cap_mkdb</command> тушаал ашиглан дахин бүтээх ёстой + бөгөөд энэ нь ойртож байгаа жишээ эсвэл хэлэлцүүлэг бүрт тусгагдах болно.</para> + + <para>Олон сайтууд нь хэд хэдэн өөр өөр хэрэглэгчийн ангилалуудыг шаарддаг + ялангуяа асар их тооны хэрэглэгчидтэй байж болохыг тэмдэглэх хэрэгтэй юм. + Маш сайн төлөвлөх хэрэгтэй бөгөөд удирдахад туйлын хэцүү болж болох юм.</para> + + <para>&os;-ийн ирээдүйн хувилбарууд нь хэрэглэгчдийг хаяг/шошгонуудад + тааруулахдаа шинэ аргыг оруулах болно, гэхдээ энэ нь &os; 5.3-аас + хойш хэсэг хугацаа өнгөртөл бэлэн болохгүй юм.</para> + </sect3> + + <sect3> + <title>Сүлжээний интерфэйсүүд болон хаяг/шошгоны тохиргоонууд</title> + + <para>Хаяг/шошгонууд нь сүлжээний дагуух өгөгдлийн урсгалыг хянахад туслах + зорилгоор сүлжээний интерфэйсүүд дээр бас тавигдаж болно. Бүх тохиолдолд + тэдгээр нь бодлогууд обьектуудад үйлчилдэг шигээр үйлчилдэг. + <literal>biba</literal> дээрх өндөр тохиргоонуудтай хэрэглэгчдийг + жишээ нь доод хаяг/шошготой сүлжээний интерфэйсүүдэд хандахыг + зөвшөөрдөггүй.</para> + + <para>Сүлжээний интерфэйсүүд дээр <acronym>MAC</acronym> хаяг/шошгыг + тохируулахдаа <option>maclabel</option> тохируулгыг <command>ifconfig</command> + тушаал уруу өгч болох юм. Жишээ нь:</para> + + <screen>&prompt.root; <userinput>ifconfig bge0 maclabel biba/equal</userinput></screen> + + <para>тушаал нь <literal>biba/equal</literal>-ийн <acronym>MAC</acronym> + хаяг/шошгыг &man.bge.4; интерфэйс дээр тохируулах болно. + <literal>biba/high(low-high)</literal>-тай төстэй + тохиргоог ашиглаж байх үед бүх хаяг/шошгыг тэр чигээр нь хаалтанд ("") + хийх ёстой, тэгэхгүй бол алдаа буцаагдах болно.</para> + + <para>Хаяглалтыг дэмждэг бодлогын модул бүр тааруулах боломжтой + хувьсагчтай байдаг бөгөөд тэдгээрийг сүлжээний интерфэйсүүд дээр + <acronym>MAC</acronym> хаяг/шошгыг хаахдаа хэрэглэж + болох юм. Хаяг/шошгыг <option>equal</option> буюу тэнцүү гэж + тохируулах нь ижил нөлөөлөлтэй байх болно. Тэдгээр тааруулах боломжтой + хувьсагчуудын хувьд <command>sysctl</command>-ийн + тушаалын гаралт, бодлогын гарын авлагын хуудаснууд эсвэл бүр + энэ бүлгийн үлдсэн хэсэг дэх мэдээллийг дахин үзээрэй.</para> + </sect3> + </sect2> + + <sect2> + <title>Ганц хаяг/шошго уу эсвэл олон хаяг/шошго уу?</title> +<!-- Stopped here with my edits --> + <para>Анхдагчаар систем нь <option>singlelabel</option> + тохируулгыг ашиглах болно. Гэхдээ энэ нь администраторт юу гэж ойлгогдох + вэ? Хэд хэдэн ялгаанууд байдаг бөгөөд тэдгээр нь системийн аюулгүй байдлын + загварт уян хатан чанарын хувьд давуу болон сул талуудыг үзүүлдэг.</para> + + <para><option>singlelabel</option> нь зөвхөн нэг хаяг/шошгын хувьд + зөвшөөрөх бөгөөд жишээлбэл <literal>biba/high</literal>-ийг + субьект эсвэл обьект бүрийн хувьд ашиглах юм. Энэ нь удирдлагын хувьд бага + ажиллагааг өгдөг боловч хаяглалтыг дэмждэг бодлогуудын уян хатан чанарыг + бууруулдаг. Олон администраторууд өөрсдийн аюулгүй байдлын бодлогодоо + <option>multilabel</option> тохируулгыг ашиглахыг хүсэж болох + юм.</para> + + <para><option>multilabel</option> тохируулга нь субьект эсвэл обьект бүрийг + хуваалтад зөвхөн нэг хаяг/шошгыг зөвшөөрөх стандарт <option>singlelabel</option> + тохируулгын оронд өөрийн гэсэн тусдаа <acronym>MAC</acronym> хаягтай байхыг + зөвшөөрөх болно. <option>multilabel</option> болон <option>single</option> + хаяг/шошгын тохируулгууд нь Biba, Lomac, <acronym>MLS</acronym> болон + <acronym>SEBSD</acronym> зэрэг хаяглалтын боломжийг хийж гүйцэтгэдэг + бодлогуудад зөвхөн шаардлагатай байдаг.</para> + + <para>Ихэнх тохиолдолд <option>multilabel</option>-ийг тохируулах + ёрөөсөө хэрэггүй байж болох юм. Дараах тохиолдол болон аюулгүй байдлын + загварыг авч үзье:</para> + + <itemizedlist> + <listitem> + <para><acronym>MAC</acronym> тогтолцоо болон төрөл бүрийн бодлогуудын + холимогийг ашигладаг &os; вэб сервер.</para> + </listitem> + + <listitem> + <para>Энэ машин нь зөвхөн нэг хаяг/шошго <literal>biba/high</literal>-ийг + системийн бүх юмандаа шаарддаг. Энд ганц хаяг/шошго нь үргэлж нөлөөлөх болохоор + файлын систем нь <option>multilabel</option> тохируулгыг + шаардахгүй.</para> + </listitem> + + <listitem> + <para>Гэхдээ энэ машин нь вэб сервер болох бөгөөд бичих боломжоос хамгаалахын + тулд вэб серверийг <literal>biba/low</literal>-д ажиллуулах + ёстой. Biba бодлого болон энэ нь хэрхэн ажилладаг талаар сүүлд + хэлэлцэх болно. Тэгэхээр хэрэв өмнөх тайлбар ойлгоход хэцүү байгаа + бол зүгээр л цааш үргэлжлүүлэн уншаад буцаж эргэж ирээрэй. + Сервер нь ажиллаж байх үеийн төлөвийнхээ ихэнх үед + <literal>biba/low</literal> тавигдсан тусдаа хуваалтыг ашиглаж + болох юм. Энэ жишээн дээр нэлээн их зүйл байхгүй байгаа, жишээ нь + өгөгдөл, тохиргоо болон хэрэглэгчийн тохиргоонууд дээр хязгаарлалтууд + байхгүй; гэхдээ энэ нь зөвхөн дээр дурдсаныг батлах хурдхан жишээ + юм.</para> + </listitem> + </itemizedlist> + + <para>Хэрэв хаягладаггүй бодлогуудын аль нэг ашиглагдах бол + <option>multilabel</option> тохируулга хэзээ ч шаардагдахгүй. + Эдгээрт <literal>seeotheruids</literal>, + <literal>portacl</literal> болон <literal>partition</literal> + бодлогууд ордог.</para> + + <para>Хуваалтад <option>multilabel</option> тохируулгыг ашиглаж + <option>multilabel</option>-ийн ажиллагаан дээр тулгуурласан + аюулгүй байдлын загварыг байгуулах нь удирдлагын хувьд илүү ажиллагаанд + хүргэж болох юм. Учир нь файлын систем дэх бүх зүйлс хаяг/шошготой болох + юм. Эдгээр зүйлсэд сангууд, файлууд, болон бүр төхөөрөмжийн цэгүүд хүртэл + орно.</para> + + <para>Дараах тушаал нь файлын системүүд дээр олон хаяг/шошготой байхаар + <option>multilabel</option>-ийг тохируулна. Үүнийг зөвхөн ганц хэрэглэгчийн + горимд хийж болно:</para> + + <screen>&prompt.root; <userinput>tunefs -l enable /</userinput></screen> + + <para>Энэ нь swap файлын системийн хувьд шаардлагатай биш юм.</para> + + <note> + <para>Зарим хэрэглэгчид <option>multilabel</option> тугийг root + хуваалт дээр тохируулахад асуудлуудтай тулгарсан байж болох юм. + Хэрэв ийм тохиолдол бол энэ бүлгийн <xref linkend="mac-troubleshoot"> + хэсгийг дахин үзнэ үү.</para> + </note> + </sect2> + + <sect2> + <title>Тааруулах боломжтой хувьсагчуудаар MAC-ийг хянах нь</title> + + <para>Ямар ч модулийг дуудалгүйгээр <acronym>MAC</acronym>-ийн зарим + хэсгүүдийг <command>sysctl</command> интерфэйс ашиглан тохируулж + болно. Эдгээр тааруулах боломжтой хувьсагчуудыг доор тайлбарласан + бөгөөд бүх тохиолдолд нэг (1) нь идэвхжүүлэхийг илтгэдэг бол + тэг (0) нь хаахыг илтгэнэ:</para> + + <itemizedlist> + <listitem> + <para><literal>security.mac.enforce_fs</literal> нь + анхдагчаар нэг (1) байх бөгөөд <acronym>MAC</acronym> файлын системийн + бодлогуудыг файлын системүүд дээр идэвхжүүлдэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.enforce_kld</literal> нь + анхдагчаар нэг (1) байх бөгөөд <acronym>MAC</acronym> цөмийн холбох + бодлогуудыг динамик цөмийн холбогчид (&man.kld.4;-г харна уу) + идэвхжүүлдэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.enforce_network</literal> нь + анхдагчаар нэг (1) байдаг бөгөөд <acronym>MAC</acronym> сүлжээний + бодлогуудыг идэвхжүүлдэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.enforce_pipe</literal> нь + анхдагчаар нэг (1) байдаг бөгөөд хоолойнууд дээр <acronym>MAC</acronym> + бодлогуудыг идэвхжүүлдэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.enforce_process</literal> нь + анхдагчаар нэг (1) байдаг бөгөөд процесс хоорондын холбоог хэрэглэдэг + процессууд дээр <acronym>MAC</acronym> + бодлогуудыг идэвхжүүлдэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.enforce_socket</literal> нь + анхдагчаар нэг (1) байдаг бөгөөд сокетууд (&man.socket.2; гарын авлагын + хуудсыг үзнэ үү) дээр <acronym>MAC</acronym> + бодлогуудыг идэвхжүүлдэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.enforce_system</literal> нь + анхдагчаар нэг (1) байдаг бөгөөд бүртгэл хөтлөх болон дахин ачаалах зэрэг системийн + үйлдлүүд дээр <acronym>MAC</acronym> + бодлогуудыг идэвхжүүлдэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.enforce_vm</literal> нь + анхдагчаар нэг (1) байдаг бөгөөд виртуал санах ойн систем дээр <acronym>MAC</acronym> + бодлогуудыг идэвхжүүлдэг.</para> + </listitem> + </itemizedlist> + + <note> + <para>Бодлого бүр эсвэл <acronym>MAC</acronym> тохируулга нь тааруулах + боломжтой хувьсагчуудыг дэмждэг. Эдгээр нь ихэвчлэн + <literal>security.mac.<policyname></literal> модны нэг + хэсэг байдаг. <acronym>MAC</acronym>-ийн бүх тааруулах боломжтой хувьсагчуудыг + харахын тулд дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>sysctl -da | grep mac</userinput></screen> + </note> + + <para>Энэ нь бүх үндсэн <acronym>MAC</acronym> бодлогуудыг анхдагчаар + идэвхжүүлсэн гэж тайлбарлагдах ёстой. Хэрэв модул нь цөмд цуг бүтээгдсэн бол + систем нь туйлын түгжигдсэн байх бөгөөд локал сүлжээнд холбогдож чадахгүй + эсвэл Интернэтэд холбогдохгүй зэрэг байх байсан. Модулиудыг цөмд оруулж + бүтээхийг зөвлөдөггүйн учир энэ юм. <command>sysctl</command>-оор + боломжуудыг шууд хаах чадварыг энэ нь зөвхөн хязгаарлаад зогсохгүй + шинэ системийг дахин бүтээж суулгах шаардлагагүйгээр администраторт агшин + зуур системийн бодлогуудыг солих боломжийг зөвшөөрдөг.</para> + </sect2> + </sect1> + + <sect1 id="mac-planning"> + <title>Аюулгүй байдлын тохиргоог төлөвлөх нь</title> + + <para>Шинэ технолог хийгдэх болгонд төлөвлөлтийн үе шат үргэлж зөв зүйтэй санаа + байдаг. Төлөвлөх шатуудын үеэр администратор ерөнхийд нь + <quote>том дүр зургийг</quote> харах ёстой бөгөөд ядаж дараах зүйлүүдийг + хараандаа байлгаж байх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>Шийдлийн шаардлагууд;</para> + </listitem> + + <listitem> + <para>Шийдлийн зорилгууд;</para> + </listitem> + </itemizedlist> + + <para><acronym>MAC</acronym> суулгацуудын хувьд эдгээрт дараах зүйлс орно:</para> + + <itemizedlist> + <listitem> + <para>Системүүд дээр байгаа мэдээлэл болон эх үүсвэрүүдийг хэрхэн + ангилах.</para> + </listitem> + + <listitem> + <para>Мэдээлэл ба эх үүсвэрүүдийн ямар төрлүүдэд хандахыг + хийгдэх ёстой хязгаарлалтуудын төрлийн хамтаар хязгаарлах.</para> + </listitem> + + <listitem> + <para>Энэ зорилгод хүрэхийн тулд аль <acronym>MAC</acronym> + модул эсвэл модулиуд шаардлагатай болох.</para> + </listitem> + </itemizedlist> + + <para>Системийн эх үүсвэрүүд болон аюулгүй байдлын тохиргоонуудыг + дахин тохируулж өөрчлөх боломж үргэлж байдаг бөгөөд системээс хайж файлууд болон + хэрэглэгчийн бүртгэлүүдийг засах нь ихэвчлэн маш тохиромжгүй байдаг. + Төлөвлөх нь ямар нэг асуудалгүй, үр ашигтай итгэгдсэн системийг бүтээхэд + туслах юм. Тохиргоо бүхий итгэгдсэн системийн туршилт нь ихэвчлэн + амин чухал байдаг бөгөөд <acronym>MAC</acronym> шийдлийг жинхэнэ ажиллах + системүүд дээр ашиглахаас <emphasis>өмнө</emphasis> лавтай ашигтай + байдаг билээ. <acronym>MAC</acronym> бүхий систем дээр сул тохируулж + орхих нь амжилтгүй байдлыг тохируулж байна гэсэн үг юм.</para> + + <para>Өөр өөр орчнууд өөр тусгай хэрэгцээ болон шаардлагуудтай байж болох + юм. Гүнзгий, бүрэн гүйцэд аюулгүй байдлын хувийн тохируулгыг үүсгэх нь + систем ажиллагаанд орсны дараа өөрчлөлтүүдийн хэрэгцээг багасгах + болно. Тиймээс дараа дараагийн хэсгүүд администраторуудад байдаг + өөр өөр модулиудын талаар өгүүлэх бөгөөд тэдгээрийн хэрэглээ болон тохиргоог + тайлбарлаж зарим тохиолдолд тэдгээр нь ямар нөхцөл байдлын үед хамгийн + тохиромжтой байхыг харуулах болно. Жишээ нь вэб сервер нь + &man.mac.biba.4; болон &man.mac.bsdextended.4; бодлогуудыг + ашиглаж болох юм. Бусад тохиолдлуудад жишээ нь маш цөөн локал хэрэглэгчидтэй + машины хувьд &man.mac.partition.4; магадгүй зөв сонголт болж + болох юм.</para> + </sect1> + + <sect1 id="mac-modules"> + <title>Модулийн тохиргоо</title> + + <para><acronym>MAC</acronym> тогтолцоонд орсон модул бүр дээр дурдсан + шиг цөмд эмхэтгэгдэж эсвэл цөмийн ажиллах үеийн модул хэлбэрээр дуудагдаж + болно. Бидний зөвлөдөг арга бол модулийг эхний ачаалалтын үйлдлийн үеэр + дуудагдахаар болгож модулийн нэрийг <filename>/boot/loader.conf</filename> + файлд нэмэх явдал юм.</para> + + <para>Дараах хэсгүүд нь төрөл бүрийн <acronym>MAC</acronym> модулиудыг + хэлэлцэж тэдгээрийн боломжуудыг тайлбарлах болно. Тэдгээрийг тусгай + орчинд хийж гүйцэтгэхийг энэ бүлэг бас хамрах болно. Зарим модулиуд + хаяглалтын хэрэглээг дэмждэг бөгөөд хаяглалт нь + <quote>энийг зөвшөөрсөн, харин энийг зөвшөөрөөгүй</quote> гэх + зэрэг хаяг/шошгыг хэрэгжүүлж хандалтыг хянадаг байна. Хаяг/шошгын + тохиргооны файл нь файлуудад хэрхэн хандаж болох, сүлжээний холболтыг + хэрхэн солилцож болох гэх зэрэг олон асуудлуудыг хянадаг. Өмнөх хэсэг нь + файл бүрийн эсвэл хуваалт бүрийн хандалтын хяналтыг идэвхжүүлэхийн тулд + <option>multilabel</option> тугийг файлын системүүдэд хэрхэн + тохируулах талаар үзүүлсэн.</para> + + <para>Ганц хаяг/шошго бүхий тохиргоо нь системийн дагуу зөвхөн нэг хаяг/шошгыг + хэрэглэх бөгөөд ийм учраас <command>tunefs</command>-ийн + тохируулга <option>multilabel</option> гэж нэрлэгдсэн юм.</para> + + <sect2 id="mac-seeotheruids"> + <title>MAC seeotheruids модул</title> + + <indexterm> + <primary>MAC See Other UIDs Policy буюу MAC-ийн бусад UID-уудыг харах бодлого</primary> + </indexterm> + <para>Модулийн нэр: <filename>mac_seeotheruids.ko</filename></para> + + <para>Цамийн тохиргооны мөр: + <literal>options MAC_SEEOTHERUIDS</literal></para> + + <para>Ачаалалтын тохируулга: + <literal>mac_seeotheruids_load="YES"</literal></para> + + <para>&man.mac.seeotheruids.4; модул нь + <command>sysctl</command>-ийн тааруулах боломжтой + <literal>security.bsd.see_other_uids</literal> болон + <literal>security.bsd.see_other_gids</literal> хувьсагчуудыг + дуурайж өргөтгөдөг. Энэ тохируулга нь тохиргооноос өмнө ямар ч + хаяг/шошгонуудыг тохируулахыг шаарддаггүй бөгөөд бусад модулиудтай + хамааралгүйгээр ажиллаж чаддаг.</para> + + <para>Модулийг дуудаж ачаалсны дараа боломжуудыг хянахын тулд дараах + <command>sysctl</command>-ийн тааруулах боломжтой хувьсагчуудыг + ашиглаж болно:</para> + + <itemizedlist> + <listitem> + <para><literal>security.mac.seeotheruids.enabled</literal> + нь модулийн боломжуудыг идэвхжүүлж анхдагч тохируулгуудыг + ашиглана. Эдгээр анхдагч тохируулгууд нь бусад хэрэглэгчдийн + эзэмшиж байгаа процессууд болон сокетуудыг харах боломжийг + хэрэглэгчдийн хувьд хаах болно.</para> + </listitem> + + <listitem> + <para> + <literal>security.mac.seeotheruids.specificgid_enabled</literal> + нь зарим нэг бүлгүүдийг энэ бодлогоос чөлөөлж тэдгээрийг зөвшөөрөх болно. + Энэ бодлогоос зарим нэг бүлгүүдийг чөлөөлөхийн тулд + <command>sysctl</command> тушаалын + <literal>security.mac.seeotheruids.specificgid=<replaceable>XXX</replaceable></literal> + хувьсагчийг ашиглана. Дээрх жишээн дээрх <replaceable>XXX</replaceable>-ийг + чөлөөлөх бүлгийн тоон ID-аар солих хэрэгтэй.</para> + </listitem> + + <listitem> + <para> + <literal>security.mac.seeotheruids.primarygroup_enabled</literal> + нь тусгай анхдагч бүлгүүдийг энэ бодлогоос чөлөөлөхийн тулд ашигладаг. + Энэ хувьсагчийг хэрэглэхэд <literal>security.mac.seeotheruids.specificgid_enabled</literal> + хувьсагч тохируулагдаагүй байж болно.</para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="mac-bsdextended"> + <title>MAC bsdextended модул</title> + + <indexterm> + <primary>MAC</primary> + <secondary>Файлын Системийн Галт Ханын Бодлого</secondary> + </indexterm> + <para>Модулийн нэр: <filename>mac_bsdextended.ko</filename></para> + + <para>Цөмийн тохиргооны мөр: + <literal>options MAC_BSDEXTENDED</literal></para> + + <para>Ачаалалтын тохируулга: + <literal>mac_bsdextended_load="YES"</literal></para> + + <para>&man.mac.bsdextended.4; модул файлын системийн галт ханыг + идэвхжүүлдэг. Энэ модулийн бодлого нь стандарт файлын системийн + зөвшөөрлүүдийн загварын өргөтгөл болж файлын систем дэх файлууд, + хэрэгслүүд болон сангуудыг хамгаалахын тулд администраторт галт + ханатай адил дүрмийн олонлогийг үүсгэх боломжийг олгодог. + Файлын системийн обьектод хандахыг оролдоход дүрмүүдийн + жагсаалтаас тохирох дүрэм таарах хүртэл эсвэл төгсгөл хүртэл шалгадаг. + Энэ ажиллагааг &man.sysctl.8;-ийн хувьсагч + security.mac.bsdextended.firstmatch_enabled параметрийг + хэрэглэж өөрчилж болно. &os; дэх бусад галт ханын модулиудтай адилаар + хандалтын хяналтын дүрмүүдийг агуулах файлыг үүсгэж &man.rc.conf.5;-ийн + хувьсагчийн тусламжтайгаар ачаалах үед системээр уншуулж болно.</para> + + <para>Дүрмийн жагсаалтыг &man.ipfw.8;-ийн синтакстай төстэйгээр бичигддэг + &man.ugidfw.8; хэрэгслийг ашиглан оруулж болно. Илүү хэрэгслүүдийг + &man.libugidfw.3; сан дахь функцуудыг ашиглан бичиж болно.</para> + + <para>Энэ модултай ажиллаж байхдаа маш болгоомжтой байх хэрэгтэй; учир нь + буруу хэрэглээ файлын системийн зарим хэсэгт хандах боломжгүй болгож + болох юм.</para> + + <sect2> + <title>Жишээнүүд</title> + + <para>&man.mac.bsdextended.4; модул ачаалагдсаны дараа + тухайн үед байгаа дүрмийн тохиргоог жагсаахад дараах тушаал ашиглагдаж + болно:</para> + + <screen>&prompt.root; <userinput>ugidfw list</userinput> +0 slots, 0 rules</screen> + + <para>Яг бодож байсны дагуу ямар ч дүрмүүд тодорхойлогдоогүй байна. + Энэ нь бүгд хандах боломжтой байна гэсэн үг юм. <username>root</username>-ийг + орхиж бусад хэрэглэгчдийн бүх хандалтыг хаах дүрмийг үүсгэхийн тулд + ердөө л дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>ugidfw add subject not uid root new object not uid root mode n</userinput></screen> + + <note> + <para>&os; 5.3-аас өмнөх хувилбаруудад + <parameter>add</parameter> параметр байдаггүй. Ийм тохиолдолд + <parameter>set</parameter> параметрийг ашиглах ёстой. + Тушаалын жишээг доорхоос харна уу.</para></note> + + <para>Энэ нь бүх хэрэглэгчдийг <command>ls</command> зэрэг хамгийн энгийн тушаалуудыг + ажиллуулахыг хаах учраас маш буруу санаа юм. Илүү эх оронч дүрмүүдийн + жагсаалт иймэрхүү байж болно:</para> + + <screen>&prompt.root; <userinput>ugidfw set 2 subject uid <replaceable>user1</replaceable> object uid <replaceable>user2</replaceable> mode n</userinput> +&prompt.root; <userinput>ugidfw set 3 subject uid <replaceable>user1</replaceable> object gid <replaceable>user2</replaceable> mode n</userinput></screen> + + <para>Энэ нь <username>user1</username> хэрэглэгчээс + <username><replaceable>user2</replaceable></username>-ийн гэрийн + сан уруу хандах сангийн жагсаалт үзүүлэх зэрэг дурын болон бүх хандалтыг + хаах болно.</para> + + <para><username>user1</username>-ийн оронд + <option>not uid <replaceable>user2</replaceable></option> тохируулгыг + дамжуулж болно. Энэ нь дээрхийн адил хандалтын хязгаарлалтуудыг зөвхөн нэг + хэрэглэгчийн хувьд биш бүх хэрэглэгчийн хувьд тавих болно.</para> + + <note> + <para><username>root</username> хэрэглэгчид эдгээр өөрчлөлтүүд + нөлөөлөхгүй.</para> + </note> + + <para>Энэ нь файлын системийг бэхэлж батжуулахад туслахын тулд + &man.mac.bsdextended.4; модулийг хэрхэн ашиглаж болох + ерөнхий санааг харуулах ёстой. Илүү дэлгэрэнгүй мэдээллийг + &man.mac.bsdextended.4; болон &man.ugidfw.8; гарын + авлагын хуудаснуудаас үзнэ үү.</para> + </sect2> + </sect1> + + <sect1 id="mac-ifoff"> + <title>MAC ifoff модул</title> + + <indexterm> + <primary>MAC интерфэйс дуугай болгох бодлого</primary> + </indexterm> + <para>Модулийн нэр: <filename>mac_ifoff.ko</filename></para> + + <para>Цөмийн тохиргооны мөр: + <literal>options MAC_IFOFF</literal></para> + + <para>Ачаалалтын тохируулга: <literal>mac_ifoff_load="YES"</literal></para> + + <para>&man.mac.ifoff.4; модул нь сүлжээнийн интерфэйсүүдийг шууд идэвхгүй болгож + системийн эхний ачаалалтын үеэр идэвхжүүлэхгүй байлгах зорилгоор байдаг. Энэ нь + систем дээр ямар ч хаяг/шошгуудыг тохируулахыг шаарддаггүйгээс гадна бас бусад + <acronym>MAC</acronym> модулиудаас хамааралгүй юм.</para> + + <para>Хяналтын ихэнх нь доор дурдсан <command>sysctl</command>-ийн тааруулж болох + хувьсагчуудаар хийгддэг.</para> + + <itemizedlist> + <listitem> + <para><literal>security.mac.ifoff.lo_enabled</literal> нь + loopback (&man.lo.4;) буюу буцах интерфэйс дээрх бүх урсгалыг + нээнэ/хаана.</para> + </listitem> + + <listitem> + <para><literal>security.mac.ifoff.bpfrecv_enabled</literal> нь + Berkeley Packet Filter буюу Беркли Пакет шүүгч интерфэйс (&man.bpf.4;) + дээрх бүх урсгалыг нээнэ/хаана.</para> + </listitem> + + <listitem> + <para><literal>security.mac.ifoff.other_enabled</literal> нь + бусад бүх интерфэйсүүд дээр бүх урсгалыг нээнэ/хаана.</para> + </listitem> + </itemizedlist> + + <para>&man.mac.ifoff.4;-ийн хамгийн нийтлэг хэрэглээний нэг бол + ачаалах дарааллын үеэр сүлжээний урсгалыг зөвшөөрөх ёсгүй орчинд сүлжээг + монитор хийх явдал юм. Өөр нэг санал болгох хэрэглээ бол + хамгаалагдсан сангуудад шинэ эсвэл өөрчлөгдсөн файлуудыг олсон тохиолдолд + сүлжээний урсгалыг автоматаар хаахын тулд + <filename role="package">security/aide</filename>-г + ашигладаг скриптийг бичих байж болох юм.</para> + </sect1> + + <sect1 id="mac-portacl"> + <title>MAC portacl модул</title> + + <indexterm> + <primary>MAC Порт Хандалт Хяналтын Жагсаалтын Бодлого</primary> + </indexterm> + <para>Модулийн нэр: <filename>mac_portacl.ko</filename></para> + + <para>Цөмийн тохиргооны мөр: + <literal>MAC_PORTACL</literal></para> + + <para>Ачаалалтын тохируулга: <literal>mac_portacl_load="YES"</literal></para> + + <para>&man.mac.portacl.4; модулийг төрөл бүрийн <command>sysctl</command> + хувьсагчуудыг ашиглан локал <acronym>TCP</acronym> болон + <acronym>UDP</acronym> портуудыг холбохыг хязгаарлахад хэрэглэдэг. + Мөн чанартаа &man.mac.portacl.4; нь заагдсан эрх бүхий портуудыг + өөрөөр хэлбэл 1024-оос бага портуудыг холбох боломжийг + <username>root</username> биш хэрэглэгчдэд зөвшөөрдөг.</para> + + <para>Ачаалагдсаны дараа энэ модул нь бүх сокетууд дээр <acronym>MAC</acronym> + бодлогыг идэвхжүүлдэг. Дараах тааруулж болох хувьсагчууд байдаг:</para> + + <itemizedlist> + <listitem> + <para><literal>security.mac.portacl.enabled</literal> нь + бодлогыг бүр мөсөн нээнэ/хаана. <footnote><para>Алдаанаас (bug) болоод + <literal>security.mac.portacl.enabled</literal> + <command>sysctl</command> хувьсагч нь &os; 5.2.1 болон + өмнөх хувилбаруудад ажилладаггүй.</para></footnote></para> + </listitem> + + <listitem> + <para><literal>security.mac.portacl.port_high</literal> нь + &man.mac.portacl.4;-ийн хамгаалалтыг нь идэвхжүүлдэг хамгийн дээд + портын дугаарыг тохируулдаг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.portacl.suser_exempt</literal> нь + тэгээс ялгаатай утгаар тохируулагдсан үедээ <username>root</username> + хэрэглэгчийг энэ бодлогоос чөлөөлнө.</para> + </listitem> + + <listitem> + <para><literal>security.mac.portacl.rules</literal> нь + яг mac_portacl бодлогыг заадаг; доорхоос харна уу.</para> + </listitem> + </itemizedlist> + + <para><literal>mac_portacl</literal> бодлого нь + <literal>security.mac.portacl.rules</literal> sysctl-д + заагдсаны дагуу хэрэгцээнээсээ хамааран хэдэн ч дүрмүүдтэй байж болох + <literal>rule[,rule,...]</literal> текст хэлбэрийн байдаг. + Дүрэм бүр <literal>idtype:id:protocol:port</literal> + гэсэн хэлбэрийн байдаг. <parameter>idtype</parameter> + параметр нь <literal>uid</literal> эсвэл <literal>gid</literal> + байж болох бөгөөд <parameter>id</parameter> параметрийг + хэрэглэгчийн id эсвэл бүлгийн id гэж тайлбарладаг. + <parameter>protocol</parameter> параметр нь + <literal>tcp</literal> эсвэл <literal>udp</literal> + гэж заагдан дүрмийг <acronym>TCP</acronym> эсвэл + <acronym>UDP</acronym>-ийн алинд хамаарахыг тодорхойлоход + хэрэглэгддэг. Сүүлийн <parameter>port</parameter> параметр нь + заагдсан хэрэглэгч эсвэл бүлэгт холбохыг зөвшөөрөх портын дугаар + юм.</para> + + <note> + <para>Дүрмийн олонлог нь цөмөөр шууд тайлбарлагддаг болохоор хэрэглэгчийн ID + бүлгийн ID болон портын параметруудын хувьд зөвхөн тоон утгуудыг ашиглаж + болно. Өөрөөр хэлбэл хэрэглэгч, бүлэг болон портын үйлчилгээний нэрсийг + ашиглаж болохгүй.</para> + </note> + + <para>Анхдагчаар &unix; төст системүүд дээр 1024-өөс бага портуудыг зөвхөн + эрх бүхий процессууд буюу өөрөөр хэлбэл <username>root</username>-ээр + ажилладаг процессуудад ашиглахад/холбоход хэрэглэдэг. &man.mac.portacl.4;-ийн + хувьд эрхгүй процессуудыг 1024-өөс доошхи портуудад холбохыг зөвшөөрөхдөө + энэ стандарт &unix; хязгаарлалтыг хаасан байх ёстой. Үүнийг + &man.sysctl.8;-ийн <literal>net.inet.ip.portrange.reservedlow</literal> + болон <literal>net.inet.ip.portrange.reservedhigh</literal> + хувьсагчуудыг тэг болгон хийж болно.</para> + + <para>Доор жишээнүүдийг үзнэ үү, эсвэл дэлгэрэнгүй мэдээллийг + &man.mac.portacl.4; гарын авлагын хуудаснаас лавлана уу.</para> + + <sect2> + <title>Жишээнүүд</title> + + <para>Дараах жишээнүүд нь дээрх хэлэлцүүлгийг арай илүү тайлбарлах + болно:</para> + + <screen>&prompt.root; <userinput>sysctl security.mac.portacl.port_high=1023</userinput> +&prompt.root; <userinput>sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0</userinput></screen> + + <para>Эхлээд бид &man.mac.portacl.4;-ийг стандарт эрх бүхий + портуудыг хамарч ердийн &unix; холболтын хязгаарлалтуудыг + хаахаар тохируулна.</para> + + <screen>&prompt.root; <userinput>sysctl security.mac.portacl.suser_exempt=1</userinput></screen> + + <para><username>root</username> хэрэглэгчийг энэ бодлогоор хязгаарлахгүйн + тулд <literal>security.mac.portacl.suser_exempt</literal>-г + тэгээс ялгаатай утгаар тохируулна. &man.mac.portacl.4; модул нь + одоо &unix; төст системүүд анхдагч тохиргоотойгоор ажилладаг шигээр + тохируулагдсан байна.</para> + + <screen>&prompt.root; <userinput>sysctl security.mac.portacl.rules=uid:80:tcp:80</userinput></screen> + + <para><acronym>UID</acronym> 80 бүхий (ердийн тохиолдолд + <username>www</username> хэрэглэгч) хэрэглэгчид 80 портыг + холбохыг зөвшөөрнө. <username>root</username> эрхгүйгээр + вэб сервер ажиллуулахыг <username>www</username> хэрэглэгчид + зөвшөөрөхөд үүнийг ашиглаж болно.</para> + + <screen>&prompt.root; <userinput>sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995</userinput></screen> + + <para><acronym>UID</acronym> 1001 бүхий хэрэглэгчид + <acronym>TCP</acronym> 110 (<quote>pop3</quote>) + болон 995 (<quote>pop3s</quote>) портуудыг холбохыг + зөвшөөрнө. Энэ нь 110 болон 995 портуудаар холболтуудыг + хүлээн авдаг сервер эхлүүлэхийг хэрэглэгчид зөвшөөрдөг.</para> + </sect2> + </sect1> + + <sect1 id="mac-partition"> + <title>MAC хуваалтын модул</title> + + <indexterm> + <primary>MAC Процессийн Хуваалтын Бодлого</primary> + </indexterm> + <para>Модулийн нэр: <filename>mac_partition.ko</filename></para> + + <para>Цөмийн тохиргооны мөр: + <literal>options MAC_PARTITION</literal></para> + + <para>Ачаалалтын тохируулга: + <literal>mac_partition_load="YES"</literal></para> + + <para>&man.mac.partition.4; бодлого нь процессуудыг тэдгээрийн + <acronym>MAC</acronym> хаяг/шошго дээр үндэслэн тусгай + <quote>хуваалтуудад</quote> оруулдаг. Үүнийг &man.jail.8;-ийн + тусгай нэг төрөл гэж бодох хэрэгтэй, гэхдээ энэ нь тийм ч зохистой + харьцуулалт биш юм.</para> + + <para>Ачаалах процессийн үеэр энэ бодлогыг дуудаж идэвхжүүлэхийн тулд + &man.loader.conf.5; файлд нэмэгдэх ёстой нэг модул нь энэ юм.</para> + + <para>Энэ бодлогын ихэнх тохиргоо нь доор тайлбарлагдах &man.setpmac.8; + хэрэгслээр хийгддэг. Энэ бодлогод зориулагдсан дараах + <command>sysctl</command>-ийн хувьсагч байдаг:</para> + + <itemizedlist> + <listitem> + <para><literal>security.mac.partition.enabled</literal> нь + <acronym>MAC</acronym> процессийн хуваалтуудыг хэрэглэхийг + идэвхжүүлдэг.</para> + </listitem> + </itemizedlist> + + <para>Энэ бодлого идэвхтэй болоход хэрэглэгчдэд зөвхөн өөрийн процессуудыг болон + нэг хуваалтад байгаа бусад хэрэглэгчдийн процессуудыг харахыг зөвшөөрөх бөгөөд + гэхдээ энэ хуваалтын хүрээнээс гадна байгаа хэрэгслүүдтэй ажиллахыг зөвшөөрөхгүй + байх болно. Жишээ нь дээрх <literal>insecure</literal> ангилалд байгаа + хэрэглэгчийг <command>top</command> тушаал болон процесс үүсгэх ёстой бусад + олон тушаалуудад хандахыг зөвшөөрөхгүй юм.</para> + + <para>Хэрэгслүүдийг хуваалтын хаяг/шошго уруу оруулах буюу тохируулахын тулд + <command>setpmac</command> хэрэгслийг хэрэглэнэ:</para> + + <screen>&prompt.root; <userinput>setpmac partition/13 top</userinput></screen> + + <para>Энэ нь <command>top</command> тушаалыг <literal>insecure</literal> + ангилал дахь хэрэглэгчдийн хаяг/шошгын олонлогт нэмэх болно. + <literal>insecure</literal> ангилалын хэрэглэгчдийн үүсгэсэн бүх + процессууд <literal>partition/13</literal> хаяг/шошгод + байхыг тэмдэглэх нь зүйтэй юм.</para> + + <sect2> + <title>Жишээнүүд</title> + + <para>Дараах тушаал нь хуваалтын хаяг/шошго болон процессийн жагсаалтыг + танд харуулах болно:</para> + + <screen>&prompt.root; <userinput>ps Zax</userinput></screen> + + <para>Дараагийн тушаал нь өөр хэрэглэгчийн процессийн хуваалтын хаяг/шошго болон + тэр хэрэглэгчийн тухайн үед ажиллаж байгаа процессуудыг харахыг + зөвшөөрөх болно:</para> + + <screen>&prompt.root; <userinput>ps -ZU trhodes</userinput></screen> + + <note> + <para>&man.mac.seeotheruids.4; бодлого дуудагдаж ачаалагдаагүй бол + <username>root</username> хаяг/шошго дахь процессуудыг + хэрэглэгч харж чадна.</para> + </note> + + <para>Жинхэнэ ур дүй шаардсан шийдэл нь + <filename>/etc/rc.conf</filename> файл дахь бүх үйлчилгээнүүдийг + хааж тэдгээрт зөв хаяглалтыг тохируулж тэдгээрийг скриптээр + эхлүүлдэг байж болох юм.</para> + + <note> + <para>Дараах бодлогууд нь санал болгосон гурван анхдагч хаяг/шошгоны + оронд бүхэл тоон тохируулгуудыг дэмждэг. Эдгээр тохируулгууд болон тэдгээрийн + хязгаарлалтууд нь модулийн гарын авлагын хуудаснуудад дэлгэрэнгүй + тайлбарлагдсан байгаа.</para> + </note> + </sect2> + </sect1> + + <sect1 id="mac-mls"> + <title>MAC олон түвшинт аюулгүй байдлын модул</title> + + <indexterm> + <primary>MAC олон түвшинт аюулгүй байдлын бодлого</primary> + </indexterm> + <para>Модулийн нэр: <filename>mac_mls.ko</filename></para> + + <para>Цөмийн тохиргооны мөр: + <literal>options MAC_MLS</literal></para> + + <para>Ачаалалтын тохируулга: <literal>mac_mls_load="YES"</literal></para> + + <para>&man.mac.mls.4; бодлого нь систем дэх субьектууд болон обьектуудын + хоорондын хандалтыг мэдээллийн урсгалын чанд бодлогын тусламжтайгаар + хянаж хэрэгжүүлдэг.</para> + + <para><acronym>MLS</acronym> орчнуудад <quote>clearance</quote> + буюу цэвэрлэгээ түвшин нь субьект болон обьектуудын хаяг/шошгонд + тасалгаануудын цуг тохируулагддаг. Эдгээр цэвэрлэгээ буюу мэдрэхүйн түвшингүүд + нь зургаан мянгаас их тоонд хүрч болох учир ямар ч администраторын хувьд + субьект эсвэл обьект бүрийг нарийн тохируулах нь сүрдмээр ажил + байдаг. Харин үүнийг хөнгөвчлөх гурван ширхэг <quote>хормын</quote> хаяг/шошго + энэ бодлогод орсон байдаг.</para> + + <para>Эдгээр хаяг/шошгонууд нь <literal>mls/low</literal>, + <literal>mls/equal</literal> болон <literal>mls/high</literal> + юм. Эдгээр хаяг/шошгонууд нь гарын авлагын хуудсанд дэлгэрэнгүй + тайлбарлагдсан болохоор энд зөвхөн товчхон тайлбарлая:</para> + + <itemizedlist> + <listitem> + <para><literal>mls/low</literal> хаяг/шошго нь доод тохиргоог агуулдаг + бөгөөд энэ нь түүнийг бусад бүх обьектуудаар захируулахыг зөвшөөрдөг. + <literal>mls/low</literal>-ээр хаяглагдсан болгон доод цэвэрлэгээний + түвшинтэй байх бөгөөд өндөр түвшний мэдээлэлд хандах нь зөвшөөрөгдөөгүй + байх болно. Мөн энэ хаяг/шошго нь цэвэрлэгээний өндөр түвшингийн обьектуудад + бичих эсвэл тэдгээрт мэдээлэл дамжуулахаас сэргийлдэг.</para> + </listitem> + + <listitem> + <para><literal>mls/equal</literal> хаяг/шошго энэ бодлогоос чөлөөлөгдөхөөр + болсон обьектуудад тавигдах ёстой.</para> + </listitem> + + <listitem> + <para><literal>mls/high</literal> хаяг/шошго нь цэвэрлэгээний боломжит + хамгийн өндөр түвшин юм. Энэ хаяг/шошгыг заасан обьектууд систем дэх + бусад бүх обьектуудаас давуу эрхтэй байх бөгөөд гэхдээ тэдгээр нь доод + ангилалын обьектуудад мэдээлэл алдагдахыг зөвшөөрөхгүй + байх болно.</para> + </listitem> + </itemizedlist> + + <para><acronym>MLS</acronym> дараах боломжуудыг олгодог:</para> + + <itemizedlist> + <listitem> + <para>Шатлаагүй зэрэглэлүүдийн олонлогтой аюулгүй + байдлын шаталсан түвшин;</para> + </listitem> + + <listitem> + <para>Тогтмол дүрмүүд: дээш уншихгүй, доош бичихгүй (субьект нь + өөрөөсөө дээд түвшинд биш зөвхөн өөрийн түвшний болон доошхи түвшний + обьектуудад унших хандалттай байж болно. Үүнтэй адилаар субьект нь + өөрөөсөө доод түвшинд биш зөвхөн өөрийн түвшний болон дээшхи түвшний + обьектуудад бичих хандалттай байж болно.);</para> + </listitem> + + <listitem> + <para>Нууцлаг байдал (өгөгдлийн зохисгүй ил болголтоос сэргийлэх);</para> + </listitem> + + <listitem> + <para>Мэдрэмжийн олон түвшингүүдэд өгөгдөлтэй зэрэгцээгээр ажиллах + системүүдийн дизайны үндэс (нууц болон итгэмжлэгдсэн мэдээллийн + хооронд мэдээлэл алдахгүйгээр).</para> + </listitem> + </itemizedlist> + + <para>Тусгай төхөөрөмжүүд болон интерфэйсүүдийн хувьд дараах + <command>sysctl</command>-ийн тааруулах боломжтой + хувьсагчууд байдаг:</para> + + <itemizedlist> + <listitem> + <para><literal>security.mac.mls.enabled</literal> нь + <acronym>MLS</acronym> бодлогыг нээх/хаахад хэрэглэгддэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.mls.ptys_equal</literal> нь + бүх &man.pty.4; төхөөрөмжүүдийг үүсгэлтийнх нь үеэр + <literal>mls/equal</literal> гэж хаяглана.</para> + </listitem> + + <listitem> + <para><literal>security.mac.mls.revocation_enabled</literal> нь + обьектуудын хаяг/шошго доод зэргийнх уруу болж өөрчлөгдсөний дараа + тэдгээрт хандах хандалтыг цуцлахад хэрэглэгддэг.</para> + </listitem> + + <listitem> + <para><literal>security.mac.mls.max_compartments</literal> нь + обьектуудад хамгийн их тооны тасалгааны түвшингүүдийг тохируулахад + хэрэглэгддэг; үндсэндээ системд зөвшөөрөгдсөн тасалгааны хамгийн их + дугаар байна.</para> + </listitem> + </itemizedlist> + + <para><acronym>MLS</acronym> хаяг/шошгонуудтай ажиллахын тулд + &man.setfmac.8; байдаг. Обьектод хаяг/шошгыг олгохын тулд + дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>setfmac mls/5 test</userinput></screen> + + <para><filename>test</filename> файлын хувьд <acronym>MLS</acronym> + хаяг/шошгыг авахын тулд дараах тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>getfmac test</userinput></screen> + + <para>Энэ нь <acronym>MLS</acronym> бодлогын боломжуудын товч + дүгнэлт юм. Өөр нэг хандлага нь <acronym>MLS</acronym> + бодлогын мэдээллийг тохируулах мастер бодлогын файлыг + <filename class="directory">/etc</filename> санд үүсгэж + тэр файлыг <command>setfmac</command> тушаалд өгөх явдал + юм. Энэ аргыг бүх бодлогуудыг авч үзсэнийхээ дараа тайлбарлах + болно.</para> + + <sect2> + <title>Албадмал Мэдрэмжийг төлөвлөх нь</title> + + <para>Олон түвшинт аюулгүй байдлын бодлогын модулиар администратор + эмзэг мэдээллийн урсгалыг хянахын тулд төлөвлөдөг. Анхдагчаар + өөрийн блок дээш унших, блок доош бичих мөн чанараараа систем + бүгдийг доод төлөвт болгодог. Бүгд хандах боломжтой байх + бөгөөд администратор тохиргооны явцад аажмаар үүнийг + мэдээллийн итгэмжлэгдсэн байдлыг нэмэгдүүлэн өөрчилдөг.</para> + + <para>Дээрх гурван үндсэн хаяг/шошгоноос гадна администратор + хэрэглэгчид болон бүлгүүдийг шаардлагын дагуу тэдгээрийн + хооронд мэдээллийн урсгалыг хаахаар бүлэглэж болно. + Цэвэрлэгээний түвшингүүдэд мэдээллийг танигдсан үгсээр хайх нь + амар байж болох бөгөөд жишээ нь <literal>Confidential</literal>, + <literal>Secret</literal>, болон <literal>Top Secret</literal> + гэх зэрэг ангилалууд байж болох юм. Зарим администраторууд + төслийн түвшингүүд дээр үндэслэн өөр бүлгүүдийг үүсгэж + болох юм. Ангилалын аргаас үл хамааран ийм хязгаарласан бодлогыг хийхээс + өмнө сайн бодож гаргасан төлөвлөгөө байж байх ёстой.</para> + + <para>Энэ аюулгүй байдлын бодлогын модулийн хувьд зарим жишээ тохиолдлууд + гэх юм бол e-commerce вэб сервер, компанийн чухал мэдээлэл болон + санхүүгийн байгууллагын орчнуудыг агуулсан файл сервер байж болох юм. + Хамгийн үнэмшилгүй газар бол зөвхөн хоёр, гуравхан хэрэглэгчтэй ажлын + станц байх юм.</para> + </sect1> + + <sect1 id="mac-biba"> + <title>MAC Biba модул</title> + + <indexterm> + <primary>MAC Biba Бүрэн Бүтэн байдлын бодлого</primary> + </indexterm> + <para>Модулийн нэр: <filename>mac_biba.ko</filename></para> + + <para>Цөмийн тохиргооны мөр: <literal>options MAC_BIBA</literal></para> + + <para>Ачаалалтын тохируулга: <literal>mac_biba_load="YES"</literal></para> + + <para>&man.mac.biba.4; модул <acronym>MAC</acronym> + Biba бодлогыг дууддаг. Энэ бодлого нь <acronym>MLS</acronym> + бодлоготой адил ажилладаг бөгөөд ялгаатай нь мэдээллийн урсгалын + дүрмүүд нь нэлээн эсрэгээр байдаг. Энэ нь эмзэг мэдээллийн буурсан + урсгалаас сэргийлдэг гэдэг бол <acronym>MLS</acronym> бодлого нь + эмзэг мэдээллийн өгссөн урсгалаас сэргийлдэг; тиймээс энэ хэсгийн ихэнх нь + хоёр бодлогод хоюуланд нь хамаатай юм.</para> + + <para>Biba орчнуудад <quote>integrity</quote> буюу бүрэн бүтэн + байдлын хаяг/шошго субьект эсвэл обьект бүр дээр тавигддаг. + Эдгээр хаяг/шошгууд нь шатласан зэргүүд болон шатлаагүй + бүрэлдэхүүнүүдээс тогтдог. Обьект болон субьектийн зэрэг өсөх тусам + бүрэн бүтэн байдал ч бас дээшилдэг.</para> + + <para>Дэмжигдсэн хаяг/шошгууд нь <literal>biba/low</literal>, + <literal>biba/equal</literal>, болон <literal>biba/high</literal> + бөгөөд доор тайлбарлав:</para> + + <itemizedlist> + <listitem> + <para><literal>biba/low</literal> хаяг/шошго нь обьект эсвэл + субьектийн авч болох хамгийн доод бүрэн бүтэн байдал гэж үздэг. + Үүнийг обьектууд эсвэл субьектууд дээр тавих нь илүү өндрөөр + тэмдэгдэгдсэн обьектууд эсвэл субьектууд уруу хийх тэдгээрийн + бичих хандалтыг хаана. Гэхдээ тэдгээрт унших хандалт байх + болно.</para> + </listitem> + + <listitem> + <para><literal>biba/equal</literal> хаяг/шошго нь + бодлогоос чөлөөлөгдөх обьектууд дээр зөвхөн тавигдах ёстой.</para> + </listitem> + + <listitem> + <para><literal>biba/high</literal> хаяг/шошго нь доод + хаяг/шошго дээр тавигдсан обьектуудад бичихийг зөвшөөрөх боловч + тэр обьектыг уншихыг зөвшөөрдөггүй. Бүхэл системийн бүрэн бүтэн + байдалд нөлөөлдөг обьектуудад энэ хаяг/шошгыг тавихыг зөвлөдөг.</para> + </listitem> + </itemizedlist> + + <para>Biba дараах боломжуудыг олгодог:</para> + + <itemizedlist> + <listitem> + <para>Шатлаагүй бүрэн бүтэн байдлын зэрэглэлүүдийн + олонлог бүхий шаталсан бүрэн бүтэн байдлын түвшин;</para> + </listitem> + + <listitem> + <para>Тогтмол дүрмүүд: дээш бичихгүй, доош уншихгүй (<acronym>MLS</acronym>-ийн + эсрэг). Субьект нь + өөрөөсөө дээд түвшинд биш зөвхөн өөрийн түвшний болон доошхи түвшний + обьектуудад бичих хандалттай байж болно. Үүнтэй адилаар субьект нь + өөрөөсөө доод түвшинд биш зөвхөн өөрийн түвшний болон дээшхи түвшний + обьектуудад унших хандалттай байж болно;</para> + </listitem> + + <listitem> + <para>Бүрэн бүтэн байдал (өгөгдлийн зохисгүй өөрчлөлтөөс сэргийлэх);</para> + </listitem> + + <listitem> + <para>Бүрэн бүтэн байдлын түвшингүүд (MLS-ийн мэдрэмжийн + түвшингүүдийн оронд).</para> + </listitem> + </itemizedlist> + + <para>Дараах <command>sysctl</command>-ийн тааруулах боломжтой + хувьсагчуудыг Biba бодлоготой ажиллахын тулд хэрэглэж болно.</para> + + <itemizedlist> + <listitem> + <para><literal>security.mac.biba.enabled</literal> нь + машин дээр Biba бодлогыг нээхэд/хаахад хэрэглэгдэж болно.</para> + </listitem> + + <listitem> + <para><literal>security.mac.biba.ptys_equal</literal> нь + Biba бодлогыг &man.pty.4; төхөөрөмжүүд дээр хаахад хэрэглэглэгдэж + болно.</para> + </listitem> + + <listitem> + <para><literal>security.mac.biba.revocation_enabled</literal> нь + хаяг/шошго субьектийг захирахаар өөрчлөгдсөн бол обьектод хийх + хандалтыг цуцлах болно.</para> + </listitem> + </itemizedlist> + + <para>Системийн обьектууд дахь Biba бодлогын тохиргоонд хандахын тулд + <command>setfmac</command> болон <command>getfmac</command> + тушаалуудыг ашиглана:</para> + + <screen>&prompt.root; <userinput>setfmac biba/low test</userinput> +&prompt.root; <userinput>getfmac test</userinput> +test: biba/low</screen> + + <sect2> + <title>Албадмал бүрэн бүтэн байдлыг төлөвлөх нь</title> + + <para>Бүрэн бүтэн байдал нь мэдрэмтгий байдлаас өөр бөгөөд мэдээллийг + итгэгдээгүй талуудаар хэзээ ч удирдуулахгүй байлгаж баталгаажуулдаг. + Үүнд субьектууд болон обьектууд, тэдгээрийн хооронд дамжих мэдээлэл + ордог. Энэ нь хэрэглэгчдэд зөвхөн өөрчилж чадах боломж болон + бүр зарим тохиолдолд тэдэнд хэрэгтэй мэдээлэлд хандах боломжийг + олгодог.</para> + + <para>&man.mac.biba.4; аюулгүй байдлын бодлогын модул нь аль файлууд + болон програмуудыг хэрэглэгч эсвэл хэрэглэгчид харах ёстойг заахыг администраторт + зөвшөөрч програмууд болон файлууд нь аюул заналаас ангид бөгөөд тэр хэрэглэгч, + эсвэл хэрэглэгчдийн бүлгийн хувьд системээр итгэгдсэн гэдгийг баталгаажуулж + дууддаг.</para> + + <para>Эхний төлөвлөлтийн үеэр администратор зэргүүд, түвшингүүд + болон бүсүүдэд хэрэглэгчдийг хуваахад бэлдэх ёстой. Хэрэглэгчдийн хувьд зөвхөн + өгөгдлөөс гадна бас програмууд болон хэрэгслүүдэд тэдгээрийг эхлэхээс өмнө болон + тэдгээрийг эхлүүлсний дараа тэдгээрт хандах хандалт хаагдсан байх болно. + Энэ бодлогын модул идэвхжүүлэгдсэний дараа систем өндөр хаяг/шошго уруу + анхдагчаар шилжих бөгөөд хэрэглэгчдийн хувьд өөр зэргүүд болон түвшингүүдийг + тохируулах нь администраторын хэрэг юм. Цэвэрлэгээний түвшингүүдийг + дээр тайлбарласны дагуу ашиглахын оронд сайн төлөвлөх арга нь сэдвүүдийг + оруулж болох юм. Жишээ нь эх кодын архив, эх код эмхэтгэгч болон бусад хөгжүүлэлтийн + хэрэгслүүдэд өөрчлөх хандалтыг зөвхөн хөгжүүлэгчдэд зөвшөөрөх байж болно. + Тэгээд бусад хэрэглэгчдийг тест хийгчид, дизайн хийгчид эсвэл зүгээр л энгийн + хэрэглэгчид зэрэг өөр зэрэглэлд бүлэглэж зөвхөн унших хандалтыг зөвшөөрөх + юм.</para> + + <para>Цаанаасаа хийгдсэн аюулгүй байдлын хяналтаас болоод + доод түвшний бүрэн бүтэн байдлын субьект нь дээд түвшний бүрэн бүтэн байдлын + субьект уруу бичиж чаддаггүй; дээд түвшний бүрэн бүтэн байдлын субьект нь доод + түвшний бүрэн бүтэн байдлын обьектийг ажиглаж эсвэл уншиж чаддаггүй. + Хамгийн доод боломжит зэрэгт хаяг/шошгыг тохируулах нь субьектуудыг түүнд + хандах боломжгүй болгож болох юм. Энэ аюулгүй байдлын бодлогын модулийн + зарим хэтийн орчнуудад хүчилсэн вэб сервэр, хөгжүүлэлтийн болон тестийн машин, + болон эх кодын архив зэрэг орж болох юм. Тийм ч ашигтай бус шийдэлд + персонал ажлын станц, чиглүүлэгч маягаар ашиглагдаж байгаа машин эсвэл + сүлжээний галт хана зэрэг байж болох юм.</para> + </sect2> + </sect1> + + <sect1 id="mac-lomac"> + <title>MAC LOMAC модул</title> + + <indexterm> + <primary>MAC LOMAC</primary> + </indexterm> + <para>Модулийн нэр: <filename>mac_lomac.ko</filename></para> + + <para>Цөмийн тохиргооны файл: <literal>options MAC_LOMAC</literal></para> + <para>Ачаалалтын тохируулга: <literal>mac_lomac_load="YES"</literal></para> + + <para><acronym>MAC</acronym> Biba бодлогоос ондоо нь &man.mac.lomac.4; + бодлого нь бүрэн бүтэн байдлын дурмүүдийг эвдэхгүйн тулд бүрэн бүтэн байдлын + түвшинг заавал багасгасны дараа бүрэн бүтэн байдлын хувьд доор орших обьект уруу + хандахыг зөвшөөрдөг.</para> + + <para>Low-watermark integrity policy буюу доод түвшний бүрэн бүтэн байдлын + <acronym>MAC</acronym> хувилбарыг хуучин &man.lomac.4;-ийн + шийдэлтэй эндүүрч болохгүй бөгөөд энэ хувилбар нь Biba-тай бараг л төстэй ажилладаг + боловч ялгаатай тал нь субьектийн бууруулалтыг туслах зэргийн тасалгааны тусламжтай + дэмжихийн тулд хөвөгч хаяг/шошгуудыг ашигладаг явдал юм. Энэ хоёр дахь тасалгаа нь + <literal>[auxgrade]</literal> хэлбэрийг авдаг. lomac бодлогыг + туслах зэргээр зааж өгөх үед энэ нь иймэрхүү харагдах ёстой: + <literal>lomac/10[2]</literal>. Энд байгаа хоёр (2) гэсэн тоо нь туслах + зэрэг юм.</para> + + <para><acronym>MAC</acronym> LOMAC бодлого нь бүрэн бүтэн байдлын + хаяг/шошгоор бүх системийн обьектуудыг хаа сайгүй хаяглах явдалд + тулгуурладаг бөгөөд субьектуудад бүрэн бүтэн байдлын хувьд доор орших обьектуудаас + уншихыг зөвшөөрч дараа нь өндөр бүрэн бүтэн байдал бүхий обьектуудад + ирээдүйд хийгдэж болзошгүй бичилтүүдээс урьдчилан сэргийлэхийн тулд субьект + дээрх хаяг/шошгыг доошлуулж бууруулдаг. Энэ нь дээр хэлэлцэгдсэн + <literal>[auxgrade]</literal> тохируулга болохоор уг бодлого нь + илүү сайн нийцтэй байдлыг хангаж Biba-аас бага эхний тохиргоог шаардаж + болох юм.</para> + + <sect2> + <title>Жишээнүүд</title> + + <para>Biba болон <acronym>MLS</acronym> бодлогуудын нэгэн адил + <command>setfmac</command> болон <command>setpmac</command> + хэрэгслүүд системийн обьектууд дээр хаяг/шошгонууд байрлуулахад хэрэглэгдэж + болно:</para> + + <screen>&prompt.root; <userinput>setfmac /usr/home/trhodes lomac/high[low]</userinput> +&prompt.root; <userinput>getfmac /usr/home/trhodes</userinput> lomac/high[low]</screen> + + <para>Энд байгаа туслах зэрэг нь <literal>low</literal> буюу доор гэж + байгааг анзаараарай, энэ нь зөвхөн <acronym>MAC</acronym> + LOMAC бодлогын хангадаг боломж юм.</para> + </sect2> + </sect1> + + <sect1 id="mac-implementing"> + <title>MAC Шорон дахь Nagios</title> + + <indexterm> + <primary>MAC Шорон дахь Nagios</primary> + </indexterm> + + <para>Дараах нь зөв тохируулсан бодлогуудын хамтаар төрөл бүрийн + <acronym>MAC</acronym> модулиудыг ашиглан аюулгүй орчинг + үүсгэхийг харуулах болно. Энэ нь зөвхөн тест бөгөөд хүн бүгдийн + аюулгүй байдлын асуудалд бүрэн хариулт болно гэж тооцох ёсгүй + юм. Бодлогыг зөвхөн шийдэж түүнийг орхигдуулах нь хэзээ ч + ажиллахгүй бөгөөд жинхэнэ ажиллаж байгаа үйлдвэрлэлийн + орчинд сүйрлийн болж болох юм.</para> + + <para>Энэ процессийг эхлүүлэхээсээ өмнө <literal>multilabel</literal> + тохируулга файлын систем бүр дээр энэ бүлгийн эхэнд дурдсаны дагуу + тавигдах ёстой. Ингэж хийхгүй бол алдаа гарах болно. Энд байхдаа + <filename role="port">net-mngt/nagios-plugins</filename>, + <filename role="port">net-mngt/nagios</filename>, болон + <filename role="port">www/apache13</filename> портууд + бүгд суулгагдаж тохируулагдаж зөв ажиллаж байгаа эсэхийг шалгаарай.</para> + + <sect2> + <title>Хэрэглэгчийн insecure ангилал үүсгэнэ</title> + + <para>Дараах хэрэглэгчийн ангилалыг <filename>/etc/login.conf</filename> + файлд нэмж:</para> + + <programlisting>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):</programlisting> + + <para>мөн дараах мөрийг анхдагч хэрэглэгчийн ангилалд нэмж процедурыг эхэлнэ:</para> + + <programlisting>:label=biba/high:</programlisting> + + <para>Энэ хийгдсэний дараа мэдээллийн баазыг дахин бүтээхийн тулд + дараах тушаалыг ажиллуулах ёстой:</para> + + <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen> + </sect2> + + <sect2> + <title>Ачаалалтын тохиргоо</title> + + <para>Дахин ачаалах гэсний хэрэггүй, шаардлагатай модулиудыг + систем эхлүүлэхэд дуудахын тулд дараах мөрүүдийг + <filename>/boot/loader.conf</filename> файлд нэмнэ:</para> + + <programlisting>mac_biba_load="YES" +mac_seeotheruids_load="YES"</programlisting> + </sect2> + + <sect2> + <title>Хэрэглэгчдийг тохируулна</title> + + <para><username>root</username> хэрэглэгчийг анхдагч ангилалд + дараахийг ашиглан тохируулна:</para> + + <screen>&prompt.root; <userinput>pw usermod root -L default</userinput></screen> + + <para><username>root</username> эсвэл системийн хэрэглэгчид биш + бүх хэрэглэгчийн бүртгэлүүд одоо нэвтрэлийн ангилал шаардах болно. + Нэвтрэлтийн ангилал шаардлагатай, түүнгүй бол хэрэглэгчид &man.vi.1; + зэрэг нийтлэг тушаалд хандах боломжгүй болно. + Дараах <command>sh</command> скрипт үүнийг хийх болно:</para> + + <screen>&prompt.root; <userinput>for x in `awk -F: '($3 >= 1001) && ($3 != 65534) { print $1 }' \</userinput> + <userinput>/etc/passwd`; do pw usermod $x -L default; done;</userinput></screen> + + <para><username>nagios</username> болон <username>www</username> + хэрэглэгчдийг insecure ангилалд оруулна:</para> + + <screen>&prompt.root; <userinput>pw usermod nagios -L insecure</userinput></screen> + <screen>&prompt.root; <userinput>pw usermod www -L insecure</userinput></screen> + </sect2> + + <sect2> + <title>Contexts буюу Сэдвийн файл үүсгэнэ</title> + + <para>Сэдвийн файл нь одоо үүсгэгдсэн байх ёстой; дараах жишээ файлыг + <filename>/etc/policy.contexts</filename>-д + байрлуулах ёстой.</para> + + <programlisting># This is the default BIBA policy for this system. + +# System: +/var/run biba/equal +/var/run/* biba/equal + +/dev biba/equal +/dev/* biba/equal + +/var biba/equal +/var/spool biba/equal +/var/spool/* biba/equal + +/var/log biba/equal +/var/log/* 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 biba/10 +/var/spool/nagios/* biba/10 + +# For apache +/usr/local/etc/apache biba/10 +/usr/local/etc/apache/* biba/10</programlisting> + + <para>Энэ бодлого нь мэдээллийн урсгалд хязгаарлалтуудыг тавьж аюулгүй + байдлыг хангадаг. Энэ тусгайлсан тохиргооны хувьд хэрэглэгчид, + <username>root</username> болон бусад хэрэглэгчид + <application>Nagios</application> програмд хандахаар хэзээ ч + зөвшөөрөгдсөн байх ёсгүй. <application>Nagios</application>-ийн + тохиргооны файлууд болон процессууд нь бүр мөсөн өөртөө багтсан буюу + шоронд хийгдсэн байх болно.</para> + + <para>Одоо энэ файлыг өөрийн систем уруу уншуулахдаа дараах тушаалыг + ажиллуулна:</para> + + <screen>&prompt.root; <userinput>setfsmac -ef /etc/policy.contexts /</userinput> +&prompt.root; <userinput>setfsmac -ef /etc/policy.contexts /</userinput></screen> + + <note> + <para>Дээрх файлын системийн байршил орчноосоо хамааран өөр байж + болно; гэхдээ үүнийг файлын систем бүр дээр ажиллуулах + ёстой.</para> + </note> + + <para><filename>/etc/mac.conf</filename> файл гол хэсэгт + дараах өөрчлөлтүүдийг шаарддаг:</para> + + <programlisting>default_labels file ?biba +default_labels ifnet ?biba +default_labels process ?biba +default_labels socket ?biba</programlisting> + </sect2> + + <sect2> + <title>Сүлжээг идэвхжүүлнэ</title> + + <para>Дараах мөрийг <filename>/boot/loader.conf</filename>-д + нэмнэ:</para> + + <programlisting>security.mac.biba.trust_all_interfaces=1</programlisting> + + <para>Тэгээд дараа нь дараахийг <filename>rc.conf</filename> файлд + хадгалагдсан сүлжээний картны тохиргоонд нэмнэ. Хэрэв анхдагч Интернэтийн + тохиргоо <acronym>DHCP</acronym>-ээр хийгдсэн бол системийг + ачаалах болгоны дараа үүнийг гараараа тохируулах хэрэгтэй болох юм:</para> + + <programlisting>maclabel biba/equal</programlisting> + </sect2> + + <sect2> + <title>Тохиргоог тест хийх нь</title> + + <indexterm> + <primary>MAC Тохиргоог тест хийх нь</primary> + </indexterm> + + <para>Вэб сервер болон <application>Nagios</application> + нь системийг эхлүүлэхэд ажиллахааргүй байгаа эсэхийг шалгаад дахин ачаална. + <username>root</username> хэрэглэгч <application>Nagios</application>-ийн + тохиргооны сан дахь ямар ч файлд хандаж чадах ёсгүйг баталгаажуулна. + Хэрэв <username>root</username> нь <filename>/var/spool/nagios</filename>-д + &man.ls.1;-ийг ажиллуулж чадаж байвал ямар нэг юм буруу байна гэсэн үг. + Зөв бол <quote>permission denied</quote> алдаа буцаагдах + ёстой.</para> + + <para>Хэрэв бүгд зүгээр юм шиг санагдвал <application>Nagios</application>, + <application>Apache</application>, болон + <application>Sendmail</application>-ийг одоо аюулгүй байдлын бодлогод + тааруулж ажиллуулж болно. Үүнийг дараах тушаал хийх болно:</para> + + <screen>&prompt.root; <userinput>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</userinput></screen> + + <para>Бүгд зөв ажиллаж байгаа эсэхийг баталгаажуулж дахин + шалгаарай. Хэрэв үгүй бол бүртгэлийн файлуудаас алдааны мэдэгдлүүд байгаа эсэхийг + шалгана. &man.sysctl.8; хэрэгсэл ашиглаж &man.mac.biba.4; аюулгүй байдлын + бодлогын модулийн үйлчлэлийг хааж бүгдийг эхнээс нь эхлэхийг + оролдоорой.</para> + + <note> + <para><username>root</username> хэрэглэгч аюулгүй байдлын үйлчлэлийг өөрчилж + тохиргооны файлыг айлгүйгээр засварлаж чадна. Дараах тушаал нь шинээр үүсгэсэн + бүрхүүлийн хувьд аюулгүй байдлын бодлогыг доод зэрэг уруу орж буурахыг + зөвшөөрөх болно:</para> + + <screen>&prompt.root; <userinput>setpmac biba/10 csh</userinput></screen> + + <para>Үүнийг болгохгүй байлгахын тулд &man.login.conf.5;-оор + хэрэглэгчийг хүрээнд оруулна. Хэрэв &man.setpmac.8; тушаалыг + тасалгааных нь хүрээнээс гадна ажиллуулах гэж оролдвол алдаа буцаагдах + бөгөөд тушаал ажиллахгүй байх болно. Энэ тохиолдолд root-ийг + <literal>biba/high(high-high)</literal> болгож + тохируулна.</para> + </note> + </sect2> + </sect1> + + <sect1 id="mac-userlocked"> + <title>Хэрэглэгчийг түгжих</title> + + <para>Энэ жишээ нь харьцангуй жижиг, тавиас бага хэрэглэгчтэй хадгалалтын + системийг авч үздэг. Хэрэглэгчид нь нэвтрэлтийн боломжуудтай байх + бөгөөд тэдэнд зөвхөн өгөгдөл биш бас хандалтын эх үүсвэрүүдийг хадгалахыг + зөвшөөрнө.</para> + + <para>Энэ тохиолдолд &man.mac.bsdextended.4; нь + &man.mac.seeotheruids.4;-тэй холилдон оршиж болох бөгөөд + системийн обьектуудад хандахыг хаагаад зогсохгүй бас хэрэглэгчийн + процессийг нуух хандалтыг бас хаадаг. + + <para>Дараах мөрүүдийг <filename>/boot/loader.conf</filename> + файлд нэмж эхэлнэ:</para> + + <programlisting>mac_seeotheruids_enabled="YES"</programlisting> + + <para>&man.mac.bsdextended.4; аюулгүй байдлын бодлогын модулийг + дараах rc.conf хувьсагчийг хэрэглэн идэвхтэй болгож болно:</para> + + <programlisting>ugidfw_enable="YES"</programlisting> + + <para><filename>/etc/rc.bsdextended</filename> файлд хадгалагдах + анхдагч дүрмүүд нь системийг эхлүүлэхэд дуудагдана. Гэхдээ анхдагч оруулгууд нь + өөрчлөлтүүд шаардаж болох юм. Энэ машин нь зөвхөн хэрэглэгчдэд үйлчлэхээр + зориулагдсан болохоор сүүлийн хоёроос бусдыг хааж тайлбар болгон үлдээж + болох юм. Сүүлийн хоёр нь анхдагчаар хэрэглэгчийн эзэмших системийн обьектуудыг + дуудуулах болно.</para> + + <para>Шаардлагатай хэрэглэгчдийг энэ машин уруу нэмээд дахин ачаална. + Тест хийх зорилгоор хоёр консол дээр өөр хэрэглэгчээр нэвтрэхийг + оролдоорой. Бусад хэрэглэгчдийн процессууд харж болохоор байгаа эсэхийг харахын + тулд <command>ps aux</command> тушаалыг ажиллуулна. + &man.ls.1;-ийг нөгөө хэрэглэгчийн гэрийн сан дээр ажиллуулахыг оролдоорой, + энэ нь амжилтгүй болох болно.</para> + + <para>Супер хэрэглэгчийн хандалтыг хаахын тулд ашигладаг тусгай + <command>sysctl</command>-уудыг өөрчлөхөөс бусад тохиолдолд + <username>root</username> хэрэглэгчээр тест битгий хийгээрэй.</para> + + <note> + <para>Шинэ хэрэглэгч нэмэгдэхэд тэдгээрийн &man.mac.bsdextended.4; + дүрмүүд дүрмийн олонлогийн жагсаалтад байхгүй байна. Дүрмийн олонлогийг + хурдан шинэчлэхийн тулд &man.kldunload.8; болон &man.kldload.8; + хэрэгслүүдийг ашиглан аюулгүй байдлын бодлогын модулийг буулгаж дараа нь + түүнийг дахин ачаалж хийнэ.</para> + </note> + </sect1> + + <sect1 id="mac-troubleshoot"> + <title>MAC Тогтолцооны алдааг олж засварлах</title> + + <indexterm> + <primary>MAC алдааг олж засварлах</primary> + </indexterm> + + <para>Хөгжүүлэлтийн явцад цөөн хэрэглэгчид энгийн тохируулга дээр асуудлууд + гарснаа мэдээлсэн. Эдгээр асуудлуудын заримыг доор + жагсаав:</para> + + <sect2> + <title><option>multilabel</option> тохируулгыг <filename>/</filename> + дээр идэвхжүүлж болохгүй байна</title> + + <para><option>multilabel</option> туг миний root + (<filename>/</filename>) хуваалтан дээр идэвхтэй болохгүй байна!</para> + + + <para>50 хэрэглэгч тутмын нэг нь ийм асуудалтай байдаг бололтой, харин бид + энэ асуудалтай эхний тохиргооны үеэр тулгарсан. <quote>bug</quote> + буюу "цох" гэж нэрлэгдэх үүний цаашхи ажиглалт нь үүнийг буруу баримтжуулалт + эсвэл баримтын буруу тайлбарлалтын үр дүн гэж намайг итгэхэд хүргэсэн. + Энэ яагаад болсноос үл хамааран үүнийг шийдэхийн тулд дараах алхмуудыг + хийж болох юм:</para> + + <procedure> + <step> + <para><filename>/etc/fstab</filename>-ийг засварлаж + root хуваалтыг зөвхөн унших зорилгоор <option>ro</option> гэж + тохируулна.</para> + </step> + + <step> + <para>Ганц хэрэглэгчийн горимд дахин ачаална.</para> + </step> + + <step> + <para><command>tunefs</command> <option>-l enable</option> + тушаалыг <filename>/</filename> дээр ажиллуулна.</para> + </step> + + <step> + <para>Системийг энгийн горимд дахин ачаална.</para> + </step> + + <step> + <para><command>mount</command> <option>-urw</option> + <filename>/</filename> тушаалыг ажиллуулж <option>ro</option> + тохируулгыг <option>rw</option> болгож <filename>/etc/fstab</filename> + файлд өөрчлөн системийг дахин ачаална.</para> + </step> + + <step> + <para>root файлын систем дээр <option>multilabel</option> + тохируулга зөв тохируулагдсаныг баталгаажуулж <command>mount</command> + тушаалын гаралтыг дахин шалгаарай.</para> + </step> + </procedure> + </sect2> + + <sect2> + <title><acronym>MAC</acronym>-ийн дараа X11 серверийг эхлүүлж + чадахгүй байна</title> + + <para><acronym>MAC</acronym>-ийн тусламжтай аюулгүй орчинг + үүсгэсний дараа би X-ийг дахиж эхлүүлж чадахаа больчихлоо!</para> + + <para>Энэ нь <acronym>MAC</acronym> + <literal>хуваалт</literal>ын бодлого эсвэл + <acronym>MAC</acronym> хаяглалтын бодлогуудын аль нэгний + буруу хаяглалтаас болсон байж болох юм. Дибаг хийхийн тулд дараахийг + оролдоод үзээрэй:</para> + + <procedure> + <step> + <para>Алдааны мэдэгдлийг шалгана; хэрэв хэрэглэгч + <literal>insecure</literal> ангилалд байгаа бол + <literal>хуваалт</literal>ын бодлого гэмтэн байж болох юм. + Хэрэглэгчийн ангилалыг <literal>default</literal> буюу + анхдагч ангилал уруу тохируулж мэдээллийн баазыг + <command>cap_mkdb</command> тушаалын тусламжтай дахин бүтээх + хэрэгтэй. Хэрэв энэ нь асуудлыг арилгаж чадахгүй байгаа бол + хоёрдугаар алхам уруу ор.</para> + </step> + + <step> + <para>Хаяг/шошгоны бодлогуудыг давхар шалгаарай. Асуудалтай + байгаа хэрэглэгч, X11 програм болон <filename class="directory">/dev</filename> + оруулгуудын хувьд бодлогууд зөв заагдсан эсэхийг + баталгаажуулаарай.</para> + </step> + + <step> + <para>Хэрэв эдгээрийн аль нь ч асуудлыг тань шийдэхгүй бол + <ulink url="http://www.TrustedBSD.org">TrustedBSD</ulink> + вэб сайтад байрлах TrustedBSD-ийн хэлэлцүүлгийн жагсаалтууд эсвэл + &a.questions; захидлын жагсаалт уруу алдааны мэдэгдэл + болон өөрийн орчны талаарх мэдээллийг илгээгээрэй.</para> + </step> + </procedure> + </sect2> + + <sect2> + <title>Error: &man..secure.path.3; cannot stat <filename>.login_conf</filename></title> + + <para>Намайг <username>root</username>-ээс систем дээрх өөр хэрэглэгч уруу + шилжихийг оролдох үед + <errorname>_secure_path: unable to state .login_conf</errorname> + гэсэн алдаа гараад байна.</para> + + <para>Энэ мэдэгдэл нь тэр болох гэж байгаа хэрэглэгчийн хаяг/шошгоны тохиргооноос + хэрэглэгчийн өөрийнх нь тохиргоо өндөр байгааг ихэвчлэн үзүүлдэг. + Жишээ нь систем дээрх хэрэглэгч <username>joe</username> анхдагч + <option>biba/low</option> гэсэн хаяг/шошготой байна гэж бодъё. + <option>biba/high</option> хаяг/шошготой <username>root</username> + хэрэглэгч <username>joe</username>-ийн гэр санг харж чадахгүй. + Энэ нь <username>root</username> хэрэглэгч <command>su</command> + тушаал ашиглан <username>joe</username> болсон ч гэсэн болохгүй байна. + Энэ тохиолдолд Biba бүрэн бүтэн байдлын загвар нь <username>root</username> + хэрэглэгчийг бүрэн бүтэн байдлын доод түвшин тохируулагдсан обьектуудыг + харахыг зөвшөөрөхгүй байх болно.</para> + </sect2> + + <sect2> + <title><username>root</username> хэрэглэгчийн нэр эвдэрсэн байна!</title> + + <para>Энгийн эсвэл бүр ганц хэрэглэгчийн горимд <username>root</username> + хэрэглэгч танигддаггүй. <command>whoami</command> тушаал + 0 (тэг) буцаах бөгөөд <command>su</command> тушаал + <errorname>who are you?</errorname> гэсэн алдааны мэдэгдлийг + буцаадаг. Юу болоод байгаа юм бол оо?</para> + + <para>Энэ нь хаяглах бодлого &man.sysctl.8;-оор хаагдсан эсвэл + бодлогын модулийг буулгаснаас болдог. Хэрэв бодлого хаагдсан эсвэл + түр зуур хаагдсан бол <option>label</option> тохируулгыг арилган + нэвтрэлтийн боломжуудын мэдээллийн баазыг дахин тохируулах + хэрэгтэй. Бүх <option>label</option> тохируулгууд арилсан эсэхийг + баталгаажуулж <filename>login.conf</filename> файлаа дахин + шалгаж мэдээллийн баазаа <command>cap_mkdb</command> + тушаалаар дахин бүтээх хэрэгтэй.</para> + + <para>Энэ нь <filename>master.passwd</filename> файлд + эсвэл мэдээллийн баазад хандах хандалтыг бодлого хязгаарласнаас болоод + бас гарч болох юм. Системд ашиглагдаж байгаа ерөнхий бодлоготой + зөрчилдөх хаяг/шошгоны доор администратор файлыг өөрчлөхөд ихэвчлэн + ингэдэг. Ийм тохиолдлуудад хэрэглэгчийн мэдээллийг систем унших + бөгөөд файл нь шинэ хаяг/шошго удамшин авсан болохоор хандалт хаалттай + байх болно. Бодлогыг &man.sysctl.8;-ий тусламжтай хаах хэрэгтэй. + Ингэхэд бүх зүйлс хэвийндээ эргэн орох болно.</para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/mail/Makefile b/mn_MN.UTF-8/books/handbook/mail/Makefile new file mode 100644 index 0000000000..452415be64 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/mail/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= mail/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/mail/chapter.sgml b/mn_MN.UTF-8/books/handbook/mail/chapter.sgml new file mode 100644 index 0000000000..9e26a944ef --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/mail/chapter.sgml @@ -0,0 +1,2309 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.136 + + $FreeBSD$ +--> + +<chapter id="mail"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Билл</firstname> + <surname>Ллойд</surname> + <contrib>Эхийг зохиосон </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мокк</surname> + <contrib>Дахин эмхэтгэсэн </contrib> + <!-- 2 Dec 1999 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Цахим Шуудан</title> + + <sect1 id="mail-synopsis"> + <title>Ерөнхий Агуулга</title> + <indexterm><primary>email</primary></indexterm> + + <para><quote>Цахим Захидал</quote> буюу имэйл гэж нийтэд илүүтэй танигдсан энэ зүйл нь +өнөө үед хамгийн өргөн хэрэглэгдэх болсон харилцааны хэлбэр юм. +Энэ бүлэгт &os; дээр захидлын серверийг зохион байгуулах анхан +шатны танилцуулга болон &os; ашиглан цахим захидал илгээх болон +хүлээн авах талаар үзэх болно; гэвч, энэ нь бүрэн хэмжээний танилцуулга +болж чадахгүй бөгөөд олон чухал зүйлсийг оруулаагүй болно. +Энэ сэдвээр бүрэн дүүрэн мэдээлэл авахыг хүсвэл, <xref linkend="bibliography"> +хэсэгт байгаа номнуудын жагсаалтыг үзнэ үү.</para> + + <para>Энэ бүлгийг уншсаны дараа та дараах зүйлсийг мэдэж авах болно:</para> + + <itemizedlist> + <listitem> + <para>Цахим захидал хүлээн авах болон илгээхэд +ямар програмууд оролцдог талаар</para> + </listitem> + + <listitem> + <para><application>sendmail</application>-н үндсэн тохиргооны файлууд +FreeBSD дээр хаана байрладаг талаар</para> + </listitem> + + <listitem> + <para>Алсын болон дотоодын захидлын хайрцгуудын ялгаа</para> + </listitem> + + <listitem> + <para>Спам тараагчдыг өөрийн серверийг хууль бусаар дамжуулагч (relay) болгон +ашиглахаас хэрхэн сэргийлэх талаар</para> + </listitem> + + <listitem> + <para><application>sendmail</application>-н оронд өөр +Захидал Дамжуулах Агентийг хэрхэн суулгаж тохируулах талаар</para> + </listitem> + + <listitem> + <para>Захидлын сервертэй холбоотой түгээмэл тохиолддог асуудлуудыг +хэрхэн шийдвэрлэх талаар</para> + </listitem> + + <listitem> + <para>SMTP-г UUCP-тэй хэрхэн ашиглах</para> + </listitem> + + <listitem> + <para>Системийг хэрхэн зөвхөн захидал илгээдэг болгож тохируулах талаар</para> + </listitem> + + <listitem> + <para>Утасны үзүүр ашигласан холболтоор захидлыг хэрхэн хэрэглэх талаар</para> + </listitem> + + <listitem> + <para>Аюулгүй байдлыг нэмэгдүүлэхийн тулд SMTP Магадлалтыг хэрхэн нэмэх талаар</para> + </listitem> + + <listitem> + <para><application>mutt</application> гэх мэт Хэрэглэгчийн Захидлын Агентийг хэрхэн +суулгаж тохируулах талаар</para> + </listitem> + + <listitem> + + <para>Өөрт ирсэн захидлыг алсын <acronym>POP</acronym> эсвэл <acronym>IMAP</acronym> +серверээс хэрхэн татаж авах талаар</para> + </listitem> + + <listitem> + <para>Гаднаас ирэх захидлыг хэрхэн автоматаар шүүлтүүр болон +дүрмүүдээр шалгах талаар</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихын өмнө та дараах шаардлагыг хангасан байх ёстой:</para> + + <itemizedlist> + <listitem> + <para>Сүлжээний холболтоо зөв гүйцэтгэсэн байх (<xref linkend="advanced-networking">).</para> + </listitem> + + <listitem> + <para>Захидлын хост дээрээ DNS мэдээллийг зөв оруулж өгсөн байх (<xref linkend="network-servers">).</para> + </listitem> + + <listitem> + <para>Гуравдагч этгээдийн програмыг хэрхэн суулгах талаар мэдлэгтэй байх (<xref linkend="ports">).</para></listitem> + </itemizedlist> + </sect1> + + <sect1 id="mail-using"> + <title>Цахим Захидлыг Хэрэглэх нь</title> + <indexterm><primary>POP</primary></indexterm> + <indexterm><primary>IMAP</primary></indexterm> + <indexterm><primary>DNS</primary></indexterm> + + <para>Цахим захидал солилцоход дараах үндсэн таван бүрэлдэхүүн оролцоно. +Үүнд: <link linkend="mail-mua">хэрэглэгчийн програм</link>, <link linkend="mail-mta">сервер демон</link>, +<link linkend="mail-dns">DNS</link>, <link linkend="mail-receive">алсын эсвэл дотоод захидлын хайрцаг</link> +ба мэдээж <link linkend="mail-host">захидлын хост өөрөө</link> юм.</para> + + <sect2 id="mail-mua"> + <title>Хэрэглэгчийн Програм</title> + + <para>Захаас нь эхлээд дурдвал эдгээрт <application>mutt</application>, <application>pine</application>, +<application>elm</application>, <command>mail</command> зэрэг тушаалын мөрний програмууд, +мөн <application>balsa</application>, <application>xfmail</application> зэрэг <acronym>GUI</acronym> програмууд, +дээр нь WWW хөтөч зэрэг илүү <quote>нарийн төвөгтэй</quote> програмууд ч орно. +Дээрх програмууд нь цахим захидлын гүйлгээг дотоод +<link linkend="mail-host"><quote>захидлын хост</quote></link>-од <link linkend="mail-mta">сервер +демонуудын</link> аль нэгийг дуудан шилжүүлэн өгөх, эсвэл <acronym>TCP</acronym>-р +дамжуулан очих газар нь хүргэх ажлыг гүйцэтгэдэг.</para> + </sect2> + + <sect2 id="mail-mta"> + <title>Захидлын Хостын Сервер Демон</title> + <indexterm> + <primary>захидлын серверийн демонууд</primary> + <secondary><application>sendmail</application></secondary> + </indexterm> + <indexterm> + <primary>захидлын серверийн демонууд</primary> + <secondary><application>postfix</application></secondary> + </indexterm> + <indexterm> + <primary>захидлын серверийн демонууд</primary> + <secondary><application>qmail</application></secondary> + </indexterm> + <indexterm> + <primary>захидлын серверийн демонууд</primary> + <secondary><application>exim</application></secondary> + </indexterm> + + <para>&os; нь анхдагч байдлаар <application>sendmail</application>-г агуулсан байдаг, +гэхдээ бусад олон захидлын серверийн демоныг дэмждэг. Үүнээс заримыг +дурдвал:</para> + + <itemizedlist> + <listitem> + <para><application>exim</application>;</para> + </listitem> + + <listitem> + <para><application>postfix</application>;</para> + </listitem> + + <listitem> + <para><application>qmail</application>.</para> + </listitem> + </itemizedlist> + + <para>Сервер демон ихэвчлэн хоёр үүрэг гүйцэтгэнэ—гаднаас ирж байгаа +захидлыг хүлээн авах болон гадагшаа явж байгаа захидлыг очих газар нь +хүргэх үүрэгтэй. Сервер демон нь захидлаа уншихын тулд <acronym>POP</acronym> эсвэл +<acronym>IMAP</acronym> зэрэг протоколыг ашиглан захидлыг цуглуулж авах, эсвэл +дотоод <filename>mbox</filename> эсвэл Maildir захидлын хайрцгууд руу холбогдох зэргийн +аль алиных нь үүргийг хүлээдэг<emphasis>гүй</emphasis>. Үүний тулд нэмэлт +<link linkend="mail-receive">демон</link> шаардлагатай.</para> + + <warning> + <para><application>sendmail</application>-н хуучин хувилбаруудад +халдагч таны машины дотоод болон алсын хандалтыг гартаа +оруулж болох аюулгүй байдлын хувьд хүндхэн асуудлууд гарч байсан. +Иймэрхүү асуудал гарахаас сэргийлж хамгийн сүүлийн хувилбарыг +ашиглаж байгаа эсэхээ нягтлах шаардлагатай. Нэмэлт сонголт байдлаар, +өөр <acronym>MTA</acronym>-г <link linkend="ports">&os; Портуудын Цуглуулга</link>ас суулгаарай.</para> + </warning> + </sect2> + + <sect2 id="mail-dns"> + <title>Цахим Захидал ба DNS</title> + + <para>Домэйн Нэрийн Систем (DNS) ба түүний демон <command>named</command> нь +цахим захидлыг хүргэх ажилд чухал үүрэг гүйцэтгэдэг. Танай байгаа газраас +өөр тийш захидал хүргэхийн тулд, сервер демон очих газрын хаягийг өөрөөр хэлбэл +захидал хүлээж авах хостыг DNS-с асууна. Энэ үйл явц нөгөө талаас танд захидал +явуулахад мөн давтагдана.</para> + + <indexterm> + <primary>MX бичлэг</primary> + </indexterm> + + <para><acronym>DNS</acronym> нь хост нэрийг IP хаягт буулгах үүрэгтэйгээс гадна, +MX бичлэгүүд гэгддэг захидал хүргэхтэй холбоотой тусгай мэдээллийг +агуулж байдаг. MX (Mail eXchanger буюу Захидал Солилцогч) бичлэг нь +ямар хост, эсвэл хостууд, тухайн домэйны хаяглагдсан захидлыг +хүлээж авах ёстойг заана. Хэрэв тухайн домэйны хувьд MX бичлэг +байхгүй бол, захидлуудыг тухайн домэйноор нэрлэгдсэн хостын +A бичлэгт харгалзах хост руу шууд дамжуулна.</para> + + <para>Ямар ч домэйны хувьд MX бичлэгүүдийг &man.host.1; тушаалыг ашиглан +үзэж болно. Жишээг дор үзүүлэв:</para> + + <screen>&prompt.user; <userinput>host -t mx FreeBSD.org</userinput> +FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org</screen> + </sect2> + + <sect2 id="mail-receive"> + <title>Захидал хүлээн авах нь</title> + <indexterm> + <primary>цахим захидал</primary> + <secondary>хүлээн авах</secondary> + </indexterm> + + <para>Захидал хүлээж авах ажлыг захидлын хост гүйцэтгэнэ. +Энэ хост таны домэйнд хаяглагдсан бүх захидлыг хүлээж авах ба +түүнийг таны тохиргооноос хамаарч эсвэл <filename>mbox</filename> +(захидал хадгалах анхдагч арга зам) эсвэл Maildir хэлбэрээр хадгална. +Захидлыг хадгалсан л бол, түүнийг дотоодоос +&man.mail.1; эсвэл <application>mutt</application> зэрэг програмыг ашиглан уншиж болно. +Эсвэл алсаас хандан, <acronym>POP</acronym> эсвэл <acronym>IMAP</acronym> зэрэг протоколыг +ашиглан цуглуулж авсны дараа уншиж болно. Энэ нь хэрэв та захидлаа зөвхөн +дотоодоос шалгах хүсэлтэй байгаа бол, <acronym>POP</acronym> эсвэл +<acronym>IMAP</acronym> сервер суулгах шаардлагагүй гэсэн үг юм.</para> + + <sect3 id="pop-and-imap"> + <title><acronym>POP</acronym> ба <acronym>IMAP</acronym> ашиглан алсын захидлын хайрцагт хандах нь</title> + + <indexterm><primary>POP</primary></indexterm> + <indexterm><primary>IMAP</primary></indexterm> + <para>Захидлын хайрцагт алсаас хандахын тулд, +та <acronym>POP</acronym> эсвэл <acronym>IMAP</acronym> сервер руу хандах хэрэгтэй болно. +Эдгээр протоколууд нь хэрэглэгчдэд өөрсдийн захидлын хайрцагт +алсаас төвөггүйгээр хандах боломжийг олгодог. Хэдийгээр +<acronym>POP</acronym> ба <acronym>IMAP</acronym> хоёул хэрэглэгчдэд +захидлын хайрцагтаа алсаас хандах боломжийг олгодог боловч, +<acronym>IMAP</acronym> нь илүү давуу талтай, дурдвал:</para> + + <itemizedlist> + <listitem> + <para><acronym>IMAP</acronym> нь алсын серверээс захидлыг зөөж авчрахаас гадна +мөн хадгалж чадна.</para> + </listitem> + + <listitem> + <para><acronym>IMAP</acronym> нь зэрэг хийх өөрчлөлтийг дэмждэг.</para> + </listitem> + + <listitem> + <para><acronym>IMAP</acronym> нь захидлыг бүтнээр нь биш, зөвхөн түүний +төрхийг нь татаж авах боломжийг хэрэглэгчдэд олгодог тул, +хурд удаантай холболттой үед үнэхээр хэрэгтэй байж чаддаг. +Мөн сервер болон харилцагчийн хооронд дамжих өгөгдлийг хамгийн +бага байлгахын тулд, сервер дээр хайлт явуулах зэрэг үйлдлийг хийж чаддаг.</para> + </listitem> + + </itemizedlist> + + <para><acronym>POP</acronym> эсвэл <acronym>IMAP</acronym> сервер суулгахын тулд, +дараах алхмуудыг хийх хэрэгтэй:</para> + + <procedure> + <step> + <para>Өөрийнхөө хэрэгцээ, шаардлагад тохирсон +<acronym>IMAP</acronym> эсвэл <acronym>POP</acronym> серверийг сонгож авах. +Өргөн хэрэглэгддэг зарим <acronym>POP</acronym> ба <acronym>IMAP</acronym> серверүүдийг +жишээ болгон дурдвал:</para> + + <itemizedlist> + <listitem> + <para><application>qpopper</application>;</para> + </listitem> + + <listitem> + <para><application>teapop</application>;</para> + </listitem> + + <listitem> + <para><application>imap-uw</application>;</para> + </listitem> + + <listitem> + <para><application>courier-imap</application>;</para> + </listitem> + </itemizedlist> + + </step> + + <step> + <para>Өөрийн сонгосон <acronym>POP</acronym> эсвэл <acronym>IMAP</acronym> демоныг +портуудын цуглуулгаас суулгах.</para> + </step> + + <step> + <para>Шаардлагатай бол, <acronym>POP</acronym> эсвэл <acronym>IMAP</acronym> серверийг +ачаалахын тулд <filename>/etc/inetd.conf</filename> файлыг засварлах.</para> + </step> + </procedure> + + <warning> + <para><acronym>POP</acronym> ба <acronym>IMAP</acronym> хоёул хэрэглэгчийн нэр, нэвтрэх үг +зэрэг чухал мэдээллийг цэвэр текст чигээр нь +дамжуулдаг болохыг энд тэмдэглэх хэрэгтэй болов уу. Энэ нь эдгээр протоколоор +мэдээлэл дамжуулалтыг аюулгүй болгоё гэвэл сессүүдээ &man.ssh.1; хонгилоор +дамжуулах хэрэгтэй гэсэн үг юм. Сессүүдийг хонгилоор дамжуулах талаар +<xref linkend="security-ssh-tunneling"> хэсэгт тайлбарласан байгаа.</para> + </warning> + </sect3> + + <sect3 id="local"> + <title>Дотоод захидлын хайрцгуудад хандах нь</title> + + <para>Захидлын хайрцаг байрлаж байгаа сервер дээрх +<acronym>MUA</acronym>-уудын тусламжтай захидлын хайрцгуудад +дотоодоос нь шууд хандаж болно. Үүний тулд <application>mutt</application> эсвэл +&man.mail.1; зэрэг програмуудыг ашиглана. + </para> + </sect3> + </sect2> + + <sect2 id="mail-host"> + <title>Захидлын хост</title> + <indexterm><primary>захидлын хост</primary></indexterm> + + <para>Захидлын хост гэж таны хост, магадгүй таны сүлжээнд хаяглагдсан +захидлыг хүлээн авах, илгээх үүргийг гүйцэтгэж байгаа +серверийг нэрлэнэ.</para> + </sect2> + </sect1> + + <sect1 id="sendmail"> + <sect1info> + <authorgroup> + <author> + <firstname>Кристофер</firstname> + <surname>Шумвэй</surname> + <contrib>Хувь нэмрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + + </sect1info> + <title><application>sendmail</application>-г Тохируулах нь</title> + + <indexterm> + <primary><application>sendmail</application></primary> + </indexterm> + + <para>FreeBSD-н хувьд &man.sendmail.8; бол анхдагч Mail Transfer Agent буюу Захидал Дамжуулах +Агент(MTA) юм. <application>sendmail</application>-н үүрэг бол Mail User Agent буюу Хэрэглэгчийн +Захидлын Агент(<acronym>MUA</acronym>)-с захидал хүлээн авч, тохиргооны файлд хэрхэн +зааж өгсөнөөс хамааран зохих захидал түгээгчид дамжуулна. +<application>sendmail</application> нь мөн сүлжээний холболтуудыг хүлээн авч, +захидлыг дотоод захидлын хайрцагт эсвэл өөр програмд дамжуулах чадвартай.</para> + + <para><application>sendmail</application> дараах тохиргооны файлуудыг ашигладаг:</para> + + <indexterm> + <primary><filename>/etc/mail/access</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/aliases</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/local-host-names</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/mailer.conf</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/mailertable</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/sendmail.cf</filename></primary> + </indexterm> + <indexterm> + <primary><filename>/etc/mail/virtusertable</filename></primary> + </indexterm> + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Файлын Нэр</entry> + <entry>Үүрэг</entry> + </row> + </thead> + <tbody> + <row> + <entry> + <filename>/etc/mail/access</filename> + </entry> + <entry><application>sendmail</application>-н хандалтын өгөгдлийн сангийн файл</entry> + </row> + <row> + <entry> + <filename>/etc/mail/aliases</filename> + </entry> + <entry>Захидлын хайрцагны хуурамч дүрүүд</entry> + </row> + <row> + <entry> + <filename>/etc/mail/local-host-names</filename> + </entry> + <entry><application>sendmail</application> эдгээр хостуудаас захидал хүлээж авна.</entry> + </row> + <row> + <entry> + <filename>/etc/mail/mailer.conf</filename> + </entry> + <entry>Захидал түгээгч програмын тохиргоо</entry> + </row> + <row> + <entry> + <filename>/etc/mail/mailertable</filename> + </entry> + <entry>Захидал түгээгчийн түгээлтийн хүснэгт</entry> + </row> + <row> + <entry> + <filename>/etc/mail/sendmail.cf</filename> + </entry> + <entry><application>sendmail</application>-н гол тохиргооны файл</entry> + </row> + <row> + <entry> + <filename>/etc/mail/virtusertable</filename> + </entry> + <entry>Хийсвэр хэрэглэгчид болон домэйн хүснэгтүүд</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <sect2> + <title><filename>/etc/mail/access</filename></title> + + <para>Хандалтын өгөгдлийн санд ямар хостууд болон IP хаягуудаас +дотоод захидлын серверт хандах, ямар төрлийн хандалт хийхийг зааж +өгсөн байна. Хостуудыг <option>OK</option>, <option>REJECT</option>, <option>RELAY</option> гэж тэмдэглэж +болно эсвэл <application>sendmail</application>-н алдаа зохицуулах дэгд тодорхой алдааг зааж +өгөн дамжуулж болно. <option>OK</option> гэсэн анхдагч утгаар тэмдэглэгдсэн +хостууд энэ хостод хаяглагдсан захидлыг дамжуулах эрхтэй. <option>REJECT</option> +гэж тэмдэглэгдсэн хостуудаас үүсэх холболтыг хүлээж авахгүй. +<option>RELAY</option> гэж тэмдэглэгдсэн хостуудын хувьд энэ захидлын серверээр +дамжуулан хааш нь ч хамаагүй захидал илгээж болно.</para> + + <example> + <title><application>sendmail</application> Хандалтын Өгөгдлийн санг Тохируулах нь</title> + + <programlisting>cyberspammer.com 550 We do not accept mail from spammers +FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers +another.source.of.spam REJECT +okay.cyberspammer.com OK +128.32 RELAY</programlisting> + </example> + + <para>Энэ жишээн дээр бид таван бүртгэл харж байна. +Захидал илгээгчийн хувьд хүснэгтийн зүүн багананд байгаа утгатай дүйвэл +баруун багананд байгаа үйлдлийг гүйцэтгэнэ. Эхний хоёр жишээний хувьд +<application>sendmail</application>-н алдаа зохицуулах дэгд алдааны мэдээллийг өгөх болно. +Хүснэгтийн зүүн багананд байгаа утгатай захидал дүйсэн тохиолдолд +алсын хостод энэ мэдээллийг өгөх болно. Дараагийн жишээн дээр, +<hostid>another.source.of.spam</hostid> гэсэн тодорхой хостоос ирэх захидлыг бүгдийг буцаах болно. +Түүний дараагийн жишээн дээр, <hostid role="fqdn">okay.cyberspammer.com</hostid> гэсэн хостоос +ирэх холболтуудыг хүлээж авах болно. Энд хостын нэр өмнөх мөрний +<hostid role="domainname">cyberspammer.com</hostid>-г бодвол илүү тодорхой байна. Илүү тодорхой +заалт нь ерөнхий заалтыг дарж хүчингүй болгоно. Хамгийн сүүлийн жишээн дээр, +<hostid>128.32</hostid>-р эхэлсэн IP хаягтай хостуудаас ирэх захидлыг өртөөлөн дамжуулахыг +зааж байна. Эдгээр хостууд бусад серверт +хаягласан захидлыг энэ захидлын серверээр дамжуулах боломжтой гэсэн үг юм.</para> + + <para>Энэ файлд өөрчлөлт оруулсны дараа, <filename>/etc/mail/</filename> дотор +<command>make</command> тушаалыг өгөн өгөгдлийн санг шинэчлэх хэрэгтэй.</para> + + </sect2> + <sect2> + <title><filename>/etc/mail/aliases</filename></title> + + <para>Хуурамч дүрүүдийн өгөгдлийн санд хэрэглэгчид, файлууд, +програмууд эсвэл бусад хуурамч дүрүүд рүү задардаг хийсвэр захидлын +хайрцагуудын жагсаалтыг хадгалж байдаг. <filename>/etc/mail/aliases</filename> дотор +хэрэглэж болох хэдэн жишээг дор үзүүлэв:</para> + + <example> + <title>Захидлын Хуурамч дүрүүд</title> + <programlisting>root: localuser +ftp-bugs: joe,eric,paul +bit.bucket: /dev/null +procmail: "|/usr/local/bin/procmail"</programlisting> + </example> + + <para>Бичих хэлбэр нь амархан; тодорхойлох хоёр цэгний зүүн талд +байгаа захидлын хайрцагны нэр нь баруун талд байгаа зүйл болон задарна. +Эхний жишээн дээр <username>root</username> захидлын хайрцгийг <username>localuser</username> +захидлын хайрцаг болгон задалж байна. Энэ нэрийг цааш дахин +хуурамч дүрийн өгөгдлийн сангаас хайх болно. Хэрэв энэ нэр олдохгүй бол, +захидлыг <username>localuser</username> нэртэй дотоод хэрэглэгчид хүргэх болно. +Дараагийн жишээн дээр захидлын жагсаалтыг үзүүлсэн байна. <username>ftp-bugs</username> +захидлын хайрцагт ирэх захидлыг <username>joe</username>, <username>eric</username>, ба +<username>paul</username> гэсэн гурван дотоод хэрэглэгчдэд задлах болно. Алсын захидлын +хайрцгийг <email>user@example.com</email> хэлбэрээр оруулж болохыг энд тэмдэглэх +хэрэгтэй. Дараагийн жишээн дээр захидлыг файлд, энэ жишээн дээр +<filename>/dev/null</filename>-д бичихийг зааж байна. Хамгийн сүүлийн жишээн дээр, +захидлын програмд илгээхийг, энэ тохиолдолд захидлыг &unix; хоолойгоор дамжуулан +<filename>/usr/local/bin/procmail</filename>-н стандарт оролтод өгч байна.</para> + + <para>Энэ файлд өөрчлөлт оруулсны дараа, <filename>/etc/mail/</filename> дотор +<command>make</command> тушаалыг өгөн өгөгдлийн санг шинэчлэх хэрэгтэй.</para> + </sect2> + <sect2> + <title><filename>/etc/mail/local-host-names</filename></title> + + <para>Энэ бол &man.sendmail.8; дотоод хостууд байдлаар хүлээн авах +хостуудын нэрийн жагсаалт юм. <application>sendmail</application> захидлыг нь хүлээж авах +домэйн болон хостын нэрийг энэ файлд бичих хэрэгтэй. Жишээлбэл, +хэрэв энэ захидлын сервер <hostid role="domainname">example.com</hostid> домэйн болон +<hostid role="fqdn">mail.example.com</hostid> хостын захидлыг +хүлээж авах ёстой бол, <filename>local-host-names</filename> файл дараах байдалтай +байна:</para> + + <programlisting>example.com +mail.example.com</programlisting> + + <para>Энэ файлд өөрчлөлт ороход, өөрчлөлтүүдийг хүчинтэй болгохын тулд +&man.sendmail.8;-г дахин эхлүүлэх шаардлагатай.</para> + + </sect2> + + <sect2> + <title><filename>/etc/mail/sendmail.cf</filename></title> + + <para><application>sendmail</application>-н гол тохиргооны файл болох +<filename>sendmail.cf</filename> нь захидлын хаягийг дахин бичихээс эхлүүлээд +алсын захидлын серверт татгалзсан зурвас илгээх хүртэл бүх зүйлийг оруулаад +<application>sendmail</application>-н ерөнхий үйл ажиллагааг хянана. +Мэдээжийн хэрэг, ийм олон талын үүрэгтэй энэ тохиргооны файл +нилээд ойлгомжгүй байх ба нарийвчлан авч үзэх нь энэ бүлгийн +мэдлээс хальсан асуудал болно. Нэг баярлууштай нь, стандарт захидлын +сервер байдлаар ашиглахад энэ файлд өөрчлөлт оруулах бараг шаардлагагүй +байдаг.</para> + + <para><application>sendmail</application>-н гол тохиргооны файлыг <application>sendmail</application>-н +шинж чанар, төлвийг илэрхийлсэн &man.m4.1; макронуудаас +үүсгэж болно. Дэлгэрэнгүйг <filename>/usr/src/contrib/sendmail/cf/README</filename> файлаас үзэж болно.</para> + + <para>Энэ файлд өөрчлөлт ороход, өөрчлөлтүүдийг хүчинтэй болгохын тулд +<application>sendmail</application>-г дахин эхлүүлэх шаардлагатай.</para> + + </sect2> + <sect2> + <title><filename>/etc/mail/virtusertable</filename></title> + + <para><filename>virtusertable</filename> нь хийсвэр домэйнууд ба захидлын хайрцгийн +хаягуудыг жинхэнэ захидлын хайрцгуудад буулгана. Эдгээр захидлын +хайрцгууд нь дотоод, алсын, <filename>/etc/mail/aliases</filename> дотор тодорхойлогдсон +хуурамч дүр эсвэл файл байж болно.</para> + + <example> + <title>Хийсвэр Домэйны Захидлын Буулгалтын Жишээ</title> + + <programlisting>root@example.com root +postmaster@example.com postmaster@noc.example.net +@example.com joe</programlisting> + </example> + + <para>Дээрх жишээн дээр, <hostid role="domainname">example.com</hostid> домэйны хувь дахь +буулгалтыг үзүүлсэн байна. Энэ файлыг дээрээс нь доош нь, +эхний таарсныг авах байдлаар боловсруулна. Эхний мөрөнд +<email>root@example.com</email>-г <username>root</username> гэсэн дотоод захидлын хайрцагт буулгаж байна. +Дараагийн мөрөнд <email>postmaster@example.com</email>-г <hostid role="fqdn">noc.example.net</hostid> хост дээр байгаа +<username>postmaster</username> захидлын хайрцагт буулгаж байна. Эцэст нь, +хэрэв <hostid role="domainname">example.com</hostid>-той хаяг дээрхийн алинд ч тохироогүй бол, +хамгийн сүүлийн мөрөнд тохирох болно. Энэ мөрөнд <hostid role="domainname">example.com</hostid> домэйнтэй +бүх захидлын хаяг тохирох бөгөөд бүгд <username>joe</username> гэсэн дотоод захидлын +хайрцагт буулгагдах болно.</para> + + </sect2> + </sect1> + + <sect1 id="mail-changingmta"> + <sect1info> + <authorgroup> + <author> + <firstname>Андрю</firstname> + <surname>Бүүтмэн</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Грегори</firstname> + <surname>Нейл Шапиро</surname> + <contrib>Цахим захидлаар мэдээлэл илгээсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + + </sect1info> + <title>Өөрийн Захидал Дамжуулах Агентийг Солих нь</title> + <indexterm> + <primary>цахим захидал</primary> + <secondary>mta-г өөрчлөх</secondary> + </indexterm> + + <para>Урьд нь дурдсан шиг, FreeBSD дотор <application>sendmail</application> нь +MTA (Mail Transfer Agent буюу Захидал Дамжуулах Агент) байдлаар аль хэдийн +суучихсан ирдэг. Тиймээс анхдагч байдлаар, таны явуулж байгаа болон +ирж байгаа захидлыг хариуцан ажиллаж байгаа.</para> + + <para>Гэвч янз бүрийн шалтгаанаар зарим +системийн администраторууд системийнхээ MTA-г солих хүсэлтэй байдаг. +Шалтгаан нь өөр MTA-г хэрэглэж үзэх хүсэлдээ хөтлөгдсөнөөс, эсвэл бусад захидал +дамжуулагчдаас улбаалсан тусгай чадвар эсвэл +багц шаардлагатай болох зэрэг янз бүр байдаг. +Баярлууштай нь, ямар ч шалтгаантай байсан гэсэн FreeBSD нь өөрчлөлт хийхэд амархан +байх боломжийг олгодог.</para> + + <sect2> + <title>Шинэ MTA суулгах нь</title> + + <para>Танд олон төрлийн MTA-н сонголт байна. Өргөн сонголттой +<link linkend="ports">FreeBSD Портуудын Цуглуулга</link>ас эхлэх нь хамгийн зөв эхлэл +болно. Мэдээж FreeBSD дээр ажиллуулж чадаж л байвал, та хүссэн газраасаа +хүссэн MTA-аа суулгах эрхтэй.</para> + + <para>Эхлээд шинэ MTA-аа суулгаж эхлэх хэрэгтэй. Нэгэнт суулгасны дараа, +шинэ програм таны хэрэгцээг үнэхээр хангаж чадаж байна уу гэдгийг +шалгах, <application>sendmail</application>-г бүрэн солихоос өмнө шинэ програмын +тохиргоог хийх боломжтой. Ингэх явцад таны суулгаж байгаа +шинэ програм <filename>/usr/bin/sendmail</filename> зэрэг системийн хоёртын +файлуудыг дарж бичихгүй байхыг анхаарч байх хэрэгтэй. +Үгүй бол, таныг тохиргоо хийхээс чинь өмнө захидлын шинэ програм +чинь ажиллаж эхлэх болно.</para> + + <para>Сонгож авсан MTA програмынхаа тохиргоог хийхдээ тухайн +програмын өөрийн холбогдох баримт бичгүүдийг үзнэ үү.</para> + </sect2> + + <sect2 id="mail-disable-sendmail"> + <title><application>sendmail</application>-г идэвхгүй болгох нь</title> + + <para><application>sendmail</application>-г идэвхжүүлэх үйл явц +4.5-RELEASE, 4.6-RELEASE, болон дараах хувилбаруудын хувьд нилээд +өөрчлөгдсөн байдаг. Тиймээс түүнийг идэвхгүй болгох үйл явц +ч мөн хоорондоо нилээд ялгаатай.</para> + + <warning> + <para>Хэрэв та <application>sendmail</application>-н гадагш захидал илгээх +үйлчилгээг идэвхгүй болгосон бол, өөр захидал түгээх системээр +түүнийг орлуулах нь чухал юм. Хэрэв тэгэхгүй бол &man.periodic.8; +гэх мэт системийн функцүүд өөрсдийн үр дүнгээ цахим захидлаар +илгээх боломжгүй болж, хэвийн үйл ажиллагаа нь доголдох болно. +Системийн нилээд хэсэгт <application>sendmail</application> ашигладаг байхаар +бодолцсон байгаа. Хэрэв <application>sendmail</application>-г идэвхгүй болгосны +дараа програмууд <application>sendmail</application>-н +хоёртын файлыг ашиглан захидлыг үргэлжлүүлэн илгээсээр байвал, +тэдгээр захидлууд <application>sendmail</application>-н идэвхгүй дараалалд орж, +хэзээ ч хүрэх газраа очиж чадахгүй болно.</para> + </warning> + + <sect3> + <title>2002/4/4-с өмнөх FreeBSD 4.5-STABLE болон Өмнөх хувилбарууд +(4.5-RELEASE болон Өмнөх хувилбаруудыг оруулаад)</title> + + <para><filename>/etc/rc.conf</filename> файл дотор:</para> + + <programlisting>sendmail_enable="NO"</programlisting> + + <para>мөрийг оруулна. Энэ нь <application>sendmail</application>-н +захидал хүлээн авах үйлчилгээг идэвхгүй болгоно. Гэвч, +хэрэв <filename>/etc/mail/mailer.conf</filename> (дор үзүүлсэн) файлд өөрчлөлт оруулахгүй +бол <application>sendmail</application> гадагшаа захидал илгээсээр байх болно.</para> + </sect3> + + <sect3> + <title>2002/4/4-с хойших FreeBSD 4.5-STABLE хувилбар +(4.6-RELEASE болон Дараах хувилбаруудыг оруулаад)</title> + + <para><application>sendmail</application>-г бүхэлд нь идэвхгүй болгохын тулд, +гадагш захидал илгээх үйлчилгээг оруулаад, дараах мөрийг:</para> + + <programlisting>sendmail_enable="NONE"</programlisting> + + <para><filename>/etc/rc.conf</filename> файлд оруулж өгөх шаардлагатай.</para> + + <para>Хэрэв та <application>sendmail</application>-н зөвхөн захидал хүлээн авах +үйлчилгээг идэвхгүй болгох хүсэлтэй бол, дараах мөрийг:</para> + + <programlisting>sendmail_enable="NO"</programlisting> + + <para><filename>/etc/rc.conf</filename> файлд оруулж өгөх шаардлагатай. Хэдийгээр, +таны гаднаас захидал авах үйлчилгээ зогссон ч, дотоод захидал түгээлт +ажилласаар байх болно. <application>sendmail</application>-н эхлэл тохируулгуудын +талаар дэлгэрэнгүй мэдээллийг &man.rc.sendmail.8; заавар хуудаснаас +үзнэ үү.</para> + </sect3> + + <sect3> + <title>FreeBSD 5.0-STABLE болон Дараах хувилбарууд</title> + + <para><application>sendmail</application>-г бүхэлд нь идэвхгүй болгохын тулд, +гадагш захидал илгээх үйлчилгээг оруулаад, дараах мөрүүдийг:</para> + + <programlisting>sendmail_enable="NO" +sendmail_submit_enable="NO" +sendmail_outbound_enable="NO" +sendmail_msp_queue_enable="NO"</programlisting> + + <para><filename>/etc/rc.conf</filename> файлд оруулж өгөх шаардлагатай.</para> + + <para>Хэрэв та <application>sendmail</application>-н зөвхөн захидал хүлээн авах +үйлчилгээг идэвхгүй болгох хүсэлтэй бол, дараах мөрийг:</para> + + <programlisting>sendmail_enable="NO"</programlisting> + + <para><filename>/etc/rc.conf</filename> файлд оруулж өгөх шаардлагатай. +<application>sendmail</application>-н эхлэл тохируулгуудын +талаар дэлгэрэнгүй мэдээллийг &man.rc.sendmail.8; заавар хуудаснаас +үзнэ үү.</para> + </sect3> + </sect2> + + <sect2> + <title>Өөрийн шинэ MTA-г систем ачаалах үед ажиллуулах нь</title> + + <para>Таны хэрэглэж байгаа FreeBSD хувилбараас хамааран +шинэ MTA-г систем ачаалах үед ажиллуулах дараах хоёр арга байна.</para> + + <sect3> + <title>2002/4/11-с өмнөх FreeBSD 4.5-STABLE (4.5-RELEASE болон Өмнөх хувилбаруудыг оруулаад)</title> + + <para><filename>/usr/local/etc/rc.d/</filename> директор дотор +<filename>.sh</filename> өргөтгөлтэй, <username>root</username> эрхийн дор ажиллуулах эрхтэй +скриптийг нэмэх хэрэгтэй. Энэ скрипт <literal>start</literal> ба +<literal>stop</literal> параметрүүдийг авдаг байх ёстой. Систем ачаалж эхлэх үед +системийн скриптүүд:</para> + + <programlisting>/usr/local/etc/rc.d/supermailer.sh start</programlisting> + + <para>тушаалыг өгөх болно. Энэ тушаалыг ашиглан серверийг +гараар эхлүүлж болно. Систем унтрах үед системийн скриптүүд +<literal>stop</literal> тохируулгыг ашиглан</para> + + <programlisting>/usr/local/etc/rc.d/supermailer.sh stop</programlisting> + + <para>тушаалыг өгөх болно. Энэ тушаалыг ашиглан +систем ажиллаж байх үед серверийг гараар зогсоож болно.</para> + + </sect3> + + <sect3> + <title>2002/4/11-с хойших FreeBSD 4.5-STABLE хувилбар (4.6-RELEASE болон Дараах хувилбарууд)</title> + + <para>FreeBSD-н дараах хувилбаруудын хувьд, дээрх аргыг +ашиглаж болно, эсвэл</para> + + <programlisting>mta_start_script="filename"</programlisting> + + <para>мөрийг <filename>/etc/rc.conf</filename> файл дотор оруулж өгөх хэрэгтэй. +Энд, <replaceable>filename</replaceable>-н оронд өөрийн MTA-г систем ачаалах үед +эхлүүлэхийн тулд ажиллуулах скриптийн нэрээр сольж бичнэ.</para> + </sect3> + + </sect2> + + <sect2> + <title><application>sendmail</application>-г Системийн Анхдагч Захидал Түгээгч болгох нь</title> + + <para><application>sendmail</application> нь &unix; системүүдийн +стандарт програм байхаар хаа сайгүй хэрэглэгддэг болохоор, +зарим програм түүнийг системд аль хэдийн суучихсан, ажиллаж +байгаа гэж тооцсон байдаг. Тиймээс, бусад олон MTA-ууд +<application>sendmail</application>-н тушаалын мөрний интерфэйстэй нийцтэй +шийдлүүдийг гаргадаг бөгөөд энэ нь <application>sendmail</application>-н +оронд тэдгээр MTA-уудыг ашиглах боломжтой болгодог.</para> + + <para>Тиймээс, хэрэв өөр захидал түгээгч хэрэглэж байгаа бол, +програмууд <application>sendmail</application>-н <filename>/usr/bin/sendmail</filename> +гэх зэрэг хоёртын файлын оронд таны сонгосон захидал +түгээгчийг хэрэглэж байгаа эсэхийг нягтлаарай. Аз болоход, +FreeBSD танд энэ ажлыг хийж өгөх &man.mailwrapper.8; гэсэн системийг +агуулж байдаг.</para> + + <para><application>sendmail</application> нь анх суусан байдлаараа ажиллаж +байх үед, <filename>/etc/mail/mailer.conf</filename> файл дотор дараах мөрүүдийг +харах болно:</para> + +<programlisting>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</programlisting> + + <para>Энэ нь, эдгээр өргөн хэрэглэгддэг тушаалуудын +аль нэгийг (<filename>sendmail</filename> өөрөө гэх мэт) ажиллуулахад, +систем үнэн хэрэгтээ <filename>sendmail</filename> нэртэй захидлын +дундын хянагчийн хуулбарыг дуудна гэсэн үг юм. Энэ захидлын +дундын хянагч <filename>mailer.conf</filename> файлыг шалгаж, +<filename>/usr/libexec/sendmail/sendmail</filename>-г оронд нь ажиллуулна. Энэ системийн тусламжтай +дээрх анхдагч <filename>sendmail</filename> функцүүдийг дуудахад +үнэндээ ажиллах хоёртын файлуудыг солиход амархан болгодог.</para> + + <para>Тиймээс хэрэв та <application>sendmail</application>-н оронд +<filename>/usr/local/supermailer/bin/sendmail-compat</filename>-г ажиллуулах хүсэлтэй бол, +<filename>/etc/mail/mailer.conf</filename> файлыг дараах байдлаар засаж бичих хэрэгтэй:</para> + +<programlisting>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</programlisting> + + </sect2> + + <sect2> + <title>Төгсгөл</title> + + <para>Өөрийн хүссэнээр бүх зүйлсийг тохируулсны дараа, +нэгэнт хэрэггүй болсон <application>sendmail</application> процессуудыг +зогсоож шинэ програмд хамаарах процесуудыг эхлүүлэх, +эсвэл зүгээр л системийг дахин ачаалах хэрэгтэй. +Системийг дахин ачаалах нь систем ачаалах явцад таны шинэ MTA-г +ачаалах тохиргоог зөв хийсэн эсэхээ шалгахад тань тусална.</para> + + </sect2> + </sect1> + + <sect1 id="mail-trouble"> + <title>Гэмтэл саатлыг арилгах нь</title> + <indexterm> + <primary>цахим захидал</primary> + <secondary>гэмтэл саатлыг арилгах</secondary> + </indexterm> + + <qandaset> + <qandaentry> + <question> + <para>Яагаад би өөрийн сүлжээнд байгаа хостуудын хувьд FQDN-г хэрэглэх ёстой вэ?</para> + </question> + + <answer> + <para>Үнэндээ тухайн хост өөр домэйнд байгаа +болохыг та анзаарах байх; жишээ нь, хэрэв та өөрөө +<hostid role="fqdn">foo.bar.edu</hostid> домэйнд байгаа бөгөөд <hostid +role="domainname">bar.edu</hostid> домэйнд байгаа <hostid>mumble</hostid> хост руу +хандах хүсэлтэй бол түүнийг зүгээр <hostid>mumble</hostid> гэхийн оронд +<hostid role="fqdn">mumble.bar.edu</hostid> гэсэн fully-qualified domain name буюу бүрэн-баталгаажсан +домэйн нэрээр нь заах хэрэгтэй.</para> + + <indexterm><primary>BIND</primary></indexterm> + <para>Урьд нь, BSD BIND тайлагчийн хувьд дээрх шиг хэрэглэж болдог байсан. +Гэвч FreeBSD-тэй хамт ирдэг <application>BIND</application>-н одоогийн хувилбар дээр +өөрийн оршин байгаа домэйноос бусад бүрэн баталгаажаагүй домэйн нэрийн хувьд +анхдагч товчилсон нэрүүдийг хэрэглэж болохгүй болсон. Тиймээс баталгаажаагүй +<hostid>mumble</hostid> гэсэн хостыг эсвэл <hostid role="fqdn">mumble.foo.bar.edu</hostid> гэж ойлгоно, +эсвэл эх домэйнд хайх болно.</para> + + <para>Хайлт цааш <hostid role="domainname">mumble.bar.edu</hostid>, ба +<hostid role="domainname">mumble.edu</hostid> болж үргэлжлэх бөгөөд энэ нь санаснаас шал өөр +зүйл болон хувирна. Үүнийг яагаад буруу үйлдэл, бүр аюулгүй байдлын цоорхой +гэж тооцох болсныг RFC 1535-с олж үзээрэй.</para> + + <para>Дээрх байдлаас гарахын тулд, өөрийн <filename>/etc/resolv.conf</filename> файл дотор: + + <programlisting>search foo.bar.edu bar.edu</programlisting> + + гэсэн мөрийг: + + <programlisting>domain foo.bar.edu</programlisting> + + мөрийн оронд бичих хэрэгтэй. Гэхдээ, хайлт хийх дэс дараалал нь +RFC 1535-д заасны дагуу <quote>дотоод болон гадаад удирдлагын хязгаар</quote>ыг +давах ёсгүйг анхаараарай.</para> + </answer> + </qandaentry> + + <indexterm> + <primary>MX бичлэг</primary> + </indexterm> + + <qandaentry> + <question> + <para><application>sendmail</application> <errorname>захидал өөр дээр минь тойроод ирж байна</errorname> гээд байна</para> + </question> + + <answer> + <para>Энэ асуултанд <application>sendmail</application>-н FAQ дараах байдалтай хариулсан +байгаа:</para> + + <programlisting>I'm getting these error messages: + +553 MX list for domain.net points back to relay.domain.net +554 <user@domain.net>... 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 <quote>Cw domain.net</quote> +to /etc/mail/sendmail.cf.</programlisting> + + <para><application>sendmail</application>-н FAQ-г <ulink url="http://www.sendmail.org/faq/"></ulink> хаягаар +орж үзэж болох ба хэрэв та захидлын серверийнхээ тохиргоогоор нилээд +<quote>оролдох</quote> бол эхлээд үүнийг уншихыг зөвлөж байна.</para> + </answer> + </qandaentry> + + <indexterm><primary>PPP</primary></indexterm> + <qandaentry> + <question> + <para>Утсаар залгаж холбогддог PPP хост дээр захидлын серверийг хэрхэн +ажиллуулах вэ?</para> + </question> + + <answer> + <para>Та LAN-д байгаа FreeBSD машиныг Интернетэд холбох хүсэлтэй байна. +Энэ FreeBSD машин тухайн LAN-ий хувьд захидлын гарц байх болно. PPP холболт бол тусгайлан +бий болгосон зориулагдсан холболт биш юм.</para> + + <indexterm><primary>UUCP</primary></indexterm> + <indexterm> + <primary>MX бичлэг</primary> + </indexterm> + + <para>Үүний тулд хоёр арга байна. Нэг арга нь UUCP ашиглах юм.</para> + + <para>Нөгөө арга нь таны домэйны хувьд хоёрдогч +MX үйлчилгээг үзүүлэх байнгын холболттой Интернет сервертэй болох явдал юм. +Жишээлбэл, хэрэв танай байгууллагын +домэйн нэр <hostid role="domainname">example.com</hostid> бөгөөд танай Интернетийн үйлчилгээ +үзүүлэгч танай домэйны хувьд хоёрдогч MX үйлчилгээг үзүүлэхээр +<hostid role="domainname">example.net</hostid> домэйныг дараах байдалтай тохируулжээ:</para> + + <programlisting>example.com. MX 10 example.com. + MX 20 example.net.</programlisting> + + <para>Зөвхөн ганц хост эцсийн захидал хүлээн авагч байх ёстой +(<hostid role="domainname">example.com</hostid> хостын +<filename>/etc/mail/sendmail.cf</filename> файлд <literal>Cw example.com</literal>-г нэмнэ).</para> + + <para>Захиа явуулах гэж байгаа <command>sendmail</command> захидлыг явуулахаар +оролдох үед эхлээд модем холбоосоор тантай (<hostid role="domainname">example.com</hostid>) +холбогдохыг оролдоно. Та Интернетэд холбогдоогүй байгаа учраас +ихэнх тохиолдолд тантай холбогдож чадахгүй. Энэ тохиолдолд, +<application>sendmail</application> автоматаар хоёрдогч MX сервер рүү, өөрөөр хэлбэл +танай Интернетийн үйлчилгээ үзүүлэгчид (<hostid role="domainname">example.net</hostid>) илгээх болно. +Хоёрдогч MX сервер танай сервертэй холбогдохыг тогтмол оролдох +ба ийм замаар анхдагч MX хост руу (<hostid role="domainname">example.com</hostid>) захидлыг хүргэх +болно.</para> + + <para>Та дор үзүүлсэнтэй төстэй нэвтрэх скриптийг хэрэглэхийг хүсэж +болзошгүй:</para> + + <programlisting>#!/bin/sh +# Put me in /usr/local/bin/pppmyisp +( sleep 60 ; /usr/sbin/sendmail -q ) & +/usr/sbin/ppp -direct pppmyisp</programlisting> + + <para>Хэрэв та хэрэглэгчийн хувьд тусдаа нэвтрэх скрипт +үүсгэх гэж байгаа бол дээрх скрипт дээр байгаагийн оронд +<command>sendmail -qRexample.com</command>-г хэрэглэж болох юм. Энэ нь +таны захидлын дараалалд байгаа <hostid role="domainname">example.com</hostid>-д очих +бүх захидлыг тэр дор нь боловсруулахыг шаардана.</para> + + <para>Байдлыг хэрхэн цааш сайжруулахыг дор үзнэ үү:</para> + + <para>&a.isp;-с хулгайлсан зурвас.</para> + + <programlisting>> 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 <quote>privacy flags</quote> section of sendmail.cf, there is a +definition Opgoaway,restrictqrun + +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 +<quote>hosts</quote>, so you need to get your customer to name their mail +machine <quote>customer.com</quote> as well as +<quote>hostname.customer.com</quote> in the DNS. Just put an A record in +the DNS for <quote>customer.com</quote>.</programlisting> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Бусад хостоос захидал явуулахад яагаад +<errorname>Relaying Denied</errorname> гэсэн алдаа байнга гараад байна вэ?</para> + </question> + + <answer> + <para>FreeBSD-н анхдагч суулгацад <application>sendmail</application>-г +зөвхөн ажиллаж байгаа хостоосоо захидал илгээдэг байхаар +тохируулсан байдаг. Жишээ нь, хэрэв нэг <acronym>POP</acronym> сервер байгаа бол, +хэрэглэгчид сургууль, ажил, эсвэл бусад алсын байршлаас захидлаа шалгах +боломжтой байх болно. Гэвч гаднаас захидал илгээж чадахгүй хэвээр байх +болно. Ихэвчлэн, оролдого хийснээс хэдэн хормын дараа, +<application>MAILER-DAEMON</application> <errorname>5.7 Relaying Denied</errorname> гэсэн алдааны мэдээлэлтэй +захидлыг илгээх болно.</para> + + <para>Энэ байдлаас гарах хэд хэдэн зам байна. +Хамгийн энгийн арга бол өөрийн ISP-н хаягийг <filename>/etc/mail/relay-domains</filename>-д +байгаа өртөөлөх (дамжуулах) домэйнуудын файлд бичих хэрэгтэй. Үүнийг хийх амархан +аргыг үзүүлэв:</para> + + <screen>&prompt.root; <userinput>echo "your.isp.example.com" > /etc/mail/relay-domains</userinput></screen> + + <para>Энэ файлыг үүсгэсэн эсвэл зассаны дараа, +<application>sendmail</application>-г дахин эхлүүлэх хэрэгтэй. Хэрэв та +сервер хариуцагч байгаад, захидлыг дотооддоо явуулах хүсэлгүй, эсвэл +өөр машин дээрээс эсвэл бүр өөр ISP-с хулганы товч дараад л хийчих хялбар +систем ашиглах хүсэлтэй байгаа бол энэ арга яг тохирно. +Энэ арга ганцхан эсвэл хоёрхон захидлын бүртгэл үүсгэсэн тохиолдолд мөн +тус болно. Хэрэв дээрх файлд олон тооны хаяг нэмэх шаардлагатай бол, +зүгээр өөрийн дуртай засварлагч програмаар нээгээд домэйнуудаа +мөр болгонд нэг байхаар нэмж бичих хэрэгтэй:</para> + + <programlisting>your.isp.example.com +other.isp.example.net +users-isp.example.org +www.example.org</programlisting> + + <para>Одоо, энэ жагсаалтад (хэрэглэгч таны систем дээр бүртгэлтэй +гэсэн нөхцөлтэйгөөр) байгаа ямар ч хостоос, +таны системээр дамжуулан явуулсан захидал амжилттай явах болно. +Энэ бол хэрэглэгчиддээ таны системээр дамжуулан SPAM явуулах +боломжийг олголгүйгээр, таны системээс алсаас захидал +илгээх боломжийг олгох үнэхээр сайн арга юм.</para> + + </answer> + </qandaentry> + </qandaset> + </sect1> + + <sect1 id="mail-advanced"> + <title>Дээд түвшний сэдвүүд</title> + + <para>Энэ хэсэг захидлын серверийн тохиргоо, +бүхэл домэйнд зориулсан захидлын серверийг +зохион байгуулах зэрэг илүү гүнзгий сэдвүүдийг хамрах болно.</para> + + <sect2 id="mail-config"> + <title>Үндсэн Тохиргоо</title> + <indexterm> + <primary>цахим захидал</primary> + <secondary>тохиргоо</secondary> + </indexterm> + + <para>Хэрэв та өөрийн нэрийн сервер ажиллуулж байгаа эсвэл +<filename>/etc/resolv.conf</filename>-г тохируулсан л бол гадаад хостууд руу +захидал илгээж чадах ёстой. Хэрэв та өөрийн хостод хаягласан +захидлыг таны өөрийн FreeBSD машин дээрх MTA (жишээ нь <application>sendmail</application>) +хүлээж авдаг болгохыг хүсэж байгаа бол, дараах хоёр арга зам байна:</para> + + <itemizedlist> + <listitem> + <para>Өөрөө нэрийн сервер ажиллуулаад, өөрийн домэйн нэр авах. +Жишээлбэл, <hostid role="domainname">FreeBSD.org</hostid></para> + </listitem> + + <listitem> + <para>Захидлыг шууд өөрийн хост дээр хүлээж авдаг байх. +Үүний тулд өөрийн машины одоогийн DNS нэрээр захидлыг хүлээн авах. Жишээлбэл, +<hostid role="fqdn">example.FreeBSD.org</hostid>.</para> + </listitem> + </itemizedlist> + + <indexterm><primary>SMTP</primary></indexterm> + <para>Дээрхээс алийг нь ч сонгосон бай, өөр дээрээ захидал шууд хүлээн авдаг +байхын тулд байнгын статик IP хаягтай байх ёстой (ихэнх PPP залгадаг +холболтынх шиг динамик хаяг биш). Хэрэв галт ханын цаана байгаа бол, +галт хана тань руу чиглэсэн SMTP урсгалыг нэвтрүүлэх ёстой. +Захидлыг шууд өөрийн хост дээр хүлээн авахын тулд, +дараах хоёр нөхцөлийн аль нэгийг хангасан байх ёстой:</para> + + <itemizedlist> + <indexterm><primary>MX record</primary></indexterm> + <listitem> + <para>Таны DNS дээрх (хамгийн бага дугаартай) MX бичлэг +таны хостын IP хаяг руу заасан байх ёстой.</para> + </listitem> + + <listitem> + <para>Таны DNS дээр таны хостын IP хаяг руу заасан MX бичлэг байх ёсгүй.</para> + </listitem> + </itemizedlist> + + <para>Дээрхийн аль нэгийг хангасан байхад, +та өөрийн хост дээр захидал хүлээн авах боломжтой болно.</para> + + <para>Туршаад үзээрэй:</para> + + <screen>&prompt.root; <userinput>hostname</userinput> +example.FreeBSD.org +&prompt.root; <userinput>host example.FreeBSD.org</userinput> +example.FreeBSD.org has address 204.216.27.XX</screen> + + <para>Хэрэв дээрхтэй адил хариу гарч байвал, +<email role="nolink">yourlogin@example.FreeBSD.org</email> хаяг руу илгээсэн захидал +ямар ч асуудалгүй хүрэх газраа очих ёстой (<hostid role="fqdn">example.FreeBSD.org</hostid> +дээр <application>sendmail</application> зөв ажиллаж байгаа гэж үзэв).</para> + + <para>Үүний оронд доорхтой адил хариу авбал:</para> + + <screen>&prompt.root; <userinput>host example.FreeBSD.org</userinput> +example.FreeBSD.org has address 204.216.27.XX +example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org</screen> + + <para>таны хост руу илгээсэн бүх захидлууд +(<hostid role="fqdn">example.FreeBSD.org</hostid>) шууд таны хост руу илгээгдэхийн оронд +<hostid>hub</hostid> дээр адилхан хэрэглэгчийн нэр дээр цугларах болно.</para> + + <para>Дээрх мэдээллийг DNS сервер зохицуулан ажиллана. DNS-н +<emphasis>M</emphasis>ail e<emphasis>X</emphasis>change буюу MX бичлэгт захидлыг хааш нь +чиглүүлэх талаар мэдээлэл агуулагддаг. Хэрэв ямар ч MX бичлэг байхгүй бол, +захидлыг IP хаягаар нь хостод дамжуулна.</para> + + <para><hostid role="fqdn">freefall.FreeBSD.org</hostid>-н MX бичлэг дараах байдалтай байна:</para> + + <programlisting>freefall MX 30 mail.crl.net +freefall MX 40 agora.rdrop.com +freefall MX 10 freefall.FreeBSD.org +freefall MX 20 who.cdrom.com</programlisting> + + <para>Таны харж байгаачлан, <hostid>freefall</hostid>-н хувьд олон MX бичлэг +байна. Хамгийн бага MX дугаартай хост ажиллаж байвал +захидлыг шууд хүлээж авах болно; хэрэв ямар нэг байдлаар +энд хост руу хандах боломжгүй байвал бусад нь (заримдаа <quote>нөөц MXүүд</quote> гэж +нэрлэх нь бий) түр хугацаанд захидлыг хүлээж аваад, +арай бага дугаартай хосттой холбоо тогтоох боломжтой болмогц +түүн рүү дамжуулах гэм мэтчилэн явсаар, эцэст нь хамгийн бага дугаартай +хост захидлыг хүлээн авах болно.</para> + + <para>Бусад MX-үүд таныхаас тусдаа Интернет +холболттой байх шаардлагатай. Таны ISP эсвэл өөр найрсаг +газрууд танд энэ үйлчилгээг үзүүлэхэд асуудал байх ёсгүй.</para> + </sect2> + + <sect2 id="mail-domain"> + <title>Таны домэйнд хаягласан Захидал</title> + + <para><quote>Захидлын хост</quote> (захидлын сервер гэж нэрлэх нь бий) +зохион байгуулахын тулд, янз янзын ажлын машин руу +явуулсан захидлыг энэ сервер рүү чиглүүлсэн байх ёстой. +Үндсэндээ, өөрийн домэйнд байгаа ямар ч хостын захидлыг +<quote>нэхэмжилж аваад</quote>(энэ тохиолдолд <hostid role="fqdn">*.FreeBSD.org</hostid>) +түүнийг өөрийн захидлын сервер рүү дахин чиглүүлнэ гэсэн үг юм. +Ингэснээр таны хэрэглэгчдийн захидлууд эзэн захидлын сервер дээр +цуглах болно.</para> + + <indexterm><primary>DNS</primary></indexterm> + <para>Үүнийг хялбар болгохын тулд, нэг +<emphasis>хэрэглэгчийн нэр</emphasis>тэй хэрэглэгчийн данс +хоёр машин дээр хоёулан дээр нь байх шаардлагатай. +Үүнийг хийхдээ &man.adduser.8;-г ашиглаарай.</para> + + <para>Таны хэрэглэх захидлын хост +таны сүлжээнд байгаа бүх ажлын машины хувьд +томилж гаргасан захидал солилцогч байх ёстой. +Энэ тохиргоог DNS сервер дээр дараах байдалтай хийнэ:</para> + + <programlisting>example.FreeBSD.org A 204.216.27.XX ; Workstation + MX 10 hub.FreeBSD.org ; Mailhost</programlisting> + + <para>Энэ нь ажлын машинд хаягласан +захидлыг, A бичлэг хааш нь заахаас үл хамааран +захидлын хост руу дахин чиглүүлэх болно. Ингэснээр захидал +MX хост руу илгээгдэх болно.</para> + + <para>Та DNS сервер ажиллуулдаггүй бол дээрхийг +өөрөө бие даан хийх боломжгүй юм. Хэрэв та +DNS сервер ажиллуулдаггүй, эсвэл DNS сервер ажиллуулах +боломжгүй бол өөрийн ISP эсвэл DNS үйлчилгээ үзүүлдэг газартаа +хандаарай.</para> + + <para>Хэрэв та хийсвэр захидал байршуулах үйлчилгээ үзүүлдэг бол, +дараах мэдээлэл тус болно. Таны үйлчлүүлэгч өөрийн +домэйн нэртэй, тухайлбал <hostid role="domainname">customer1.org</hostid>, ба та +<hostid role="domainname">customer1.org</hostid>-д хаягласан бүх захидлыг өөрийн захидлын +хост <hostid role="fqdn">mail.myhost.com</hostid> руу чиглүүлэх хүсэлтэй байна гэж бодъё. +Тэгвэл таны DNS дээрх бичлэг дараах байдалтай байх болно:</para> + + <programlisting>customer1.org MX 10 mail.myhost.com</programlisting> + + <para><hostid role="domainname">customer1.org</hostid> домэйны зөвхөн захидлыг +хариуцахын тулд A бичлэг <emphasis>шаардлагагүй</emphasis>.</para> + + <note> + <para>A бичлэг байхгүй бол <hostid role="domainname">customer1.org</hostid> руу +ping хийх боломжгүй болохыг анхаарна уу.</para> + </note> + + <para>Хамгийн сүүлд хийх нэг зүйл бол +өөрийн захидлын хост дээрх <application>sendmail</application>-д +ямар ямар домэйнууд ба/эсвэл хостуудад хаягласан +захидлыг хүлээн авахыг хэлж өгөх явдал юм. +Үүнийг хэд хэдэн өөр аргаар хийж болно. +Дараах аргуудын алийг ч хэрэглэж болно:</para> + + <itemizedlist> + <listitem> + <para>Хэрэв та <literal>FEATURE(use_cw_file)</literal>-г хэрэглэж байгаа бол +хостуудыг <filename>/etc/mail/local-host-names</filename> файл дотор +нэмж бичих.</para> + </listitem> + + <listitem> + <para>Хэрэв та <application>sendmail</application> 8.10 эсвэл +түүнээс дээших хувилбарыг хэрэглэж байгаа бол +<literal>Cwyour.host.com</literal> гэсэн мөрийг <filename>/etc/sendmail.cf</filename> эсвэл +<filename>/etc/mail/sendmail.cf</filename> файл дотор бичих.</para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="SMTP-UUCP"> + <sect1info> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>UUCP-тэй SMTP</title> + + <para>FreeBSD-тэй цуг ирдэг <application>sendmail</application>-ийн тохиргоо нь + Интернет рүү шууд холбогддог сайтуудад зориулагдсан юм. Өөрсдийн захидлыг UUCP-ээр + солилцохыг хүссэн сайтууд <application>sendmail</application>-ийн өөр + тохиргооны файлыг суулгах ёстой.</para> + + <para><filename>/etc/mail/sendmail.cf</filename>-г гараар тохируулах нь + илүү нарийн, нэмэлт сэдэв юм. <application>sendmail</application> + хувилбар 8 нь тохиргооны файлуудаа &man.m4.1; урьдчилан процесс хийлтээр + үүсгэдэг. Жинхэнэ тохиргоо нь илүү дээд хийсвэрлэлтийн түвшинд болдог. + &man.m4.1;-ийн тохиргооны файлуудыг <filename>/usr/share/sendmail/cf</filename> + сангаас олж болно. <filename>cf</filename> сан дахь + <filename>README</filename> файл нь &man.m4.1; тохиргооны + үндсэн танилцуулга болон үйлчилдэг.</para> + + <para>UUCP хүргэлтийг дэмжих хамгийн шилдэг арга бол <literal>mailertable</literal> + боломжийг ашиглах явдал юм. Энэ нь чиглүүлэлтийн шийдвэрүүд гаргахдаа + <application>sendmail</application>-ийн ашигладаг мэдээллийн баазыг + үүсгэдэг.</para> + + <para>Эхлээд та өөрийн <filename>.mc</filename> файлыг үүсгэх хэрэгтэй. + <filename>/usr/share/sendmail/cf/cf</filename> сан цөөн хэдэн + жишээнүүдийг агуулдаг. Таныг өөрийнхөө файлыг <filename>foo.mc</filename> + гэж нэрлэсэн гэж үзэх юм бол түүнийг зөв <filename>sendmail.cf</filename> + болгож хөрвүүлэхийн тулд хийх зүйл тань:</para> + + <screen>&prompt.root; <userinput>cd /etc/mail</userinput> +&prompt.root; <userinput>make foo.cf</userinput> +&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen> + + <para>Ердийн <filename>.mc</filename> файл иймэрхүү харагдаж болно:</para> + + <programlisting>VERSIONID(`<replaceable>Your version number</replaceable>') OSTYPE(bsd4.4) + +FEATURE(accept_unresolvable_domains) +FEATURE(nocanonify) +FEATURE(mailertable, `hash -o /etc/mail/mailertable') + +define(`UUCP_RELAY', <replaceable>your.uucp.relay</replaceable>) +define(`UUCP_MAX_SIZE', 200000) +define(`confDONT_PROBE_INTERFACES') + +MAILER(local) +MAILER(smtp) +MAILER(uucp) + +Cw <replaceable>your.alias.host.name</replaceable> +Cw <replaceable>youruucpnodename.UUCP</replaceable></programlisting> + + <para><literal>accept_unresolvable_domains</literal>, + <literal>nocanonify</literal>, болон + <literal>confDONT_PROBE_INTERFACES</literal> боломжуудыг + агуулсан мөрүүд нь захидал хүргэх явцын үед DNS-ийг ашиглуулахгүй байх болно. + <literal>UUCP_RELAY</literal> гэдэг нь UUCP хүргэлтийг дэмжихэд + шаардлагатай. .UUCP псевдо домен хаягуудтай ажиллаж чаддаг + Интернетийн хостын нэрийг тавих хэрэгтэй; та өөрийн ISP-ийн захидал + өртөөлөгчийг энд бараг оруулах байх даа.</para> + + <para>Ингэснийхээ дараа танд <filename>/etc/mail/mailertable</filename> + файл хэрэгтэй болно. Хэрэв танд таны бүх захидлуудад ашиглагддаг, гадагш холбогдсон + зөвхөн ганц холболт байвал дараах файл хангалттай байх болно:</para> + + <programlisting># +# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable +. uucp-dom:<replaceable>your.uucp.relay</replaceable></programlisting> + + <para>Арай илүү төвөгтэй жишээ иймэрхүү харагдаж болно:</para> + + <programlisting># +# 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:</programlisting> + + + <para>Эхний гурван мөр нь домен руу хаяглагдсан захидал анхдагч чиглүүлэлт + рүү биш, харин хүргэх замыг <quote>товчлохын</quote> тулд UUCP хөрш рүү илгээгдэхийг + зохицуулдаг. Дараагийн мөр нь локал Ethernet домен руу хаяглагдсан, + SMTP ашиглан хүргэгдэж болох захидалтай ажилладаг. Эцэст нь + .UUCP псевдо домен маягаар бичигдсэн UUCP хөршүүд + <literal><replaceable>uucp-neighbor + </replaceable>!<replaceable>recipient</replaceable></literal>-д + анхдагч дүрмүүдийг дарж бичих боломжийг олгохын тулд дурдагдсан. + Сүүлийн мөр нь үргэлж нэг цэг байдаг. Энэ нь UUCP хүргэлтээр дэлхий рүү гарах + таны универсал захидлын гарц болон үйлчилдэг UUCP хөрш рүү гаргана гэж + бусад бүгдийн хувьд зааж өгч байна. <literal>uucp-dom:</literal> түлхүүр + үгийн ард байрлах бүх цэгийн нэрс зөв UUCP хөршүүд байх ёстой бөгөөд + та тэдгээрийг <literal>uuname</literal> тушаал ашиглан шалгаж болно.</para> + + <para>Санаж явах зүйл бол энэ файл нь ашиглагдахаасаа өмнө DBM мэдээллийн баазын + файл руу хөрвүүлэгдэх шаардлагатай байдаг. Үүнийг хийх тушаалын мөрийг + <filename>mailertable</filename> файлын дээр хэсэгт тайлбар маягаар + хийх нь зүйтэй. Өөрийн <filename>mailertable</filename> файлыг + өөрчлөх бүртээ та энэ тушаалыг ажиллуулах ёстой юм.</para> + + <para>Төгсгөлийн зөвлөгөө: хэрэв та тухайн нэг захидлын чиглүүлэлт ажиллаж + байгаа эсэхэд эргэлзэж байгаа бол <application>sendmail</application>-ийн + <option>-bt</option> тохируулгыг тогтоох хэрэгтэй. Энэ нь + <application>sendmail</application>-ийг + <emphasis>хаягийн тест горим</emphasis>д эхлүүлдэг; <literal>3,0</literal> + гэж оруулаад захидал чиглүүлэлтийг тест хийхийг хүссэн хаягаа оруулах хэрэгтэй. + Сүүлийн мөр нь ашиглагдсан дотоод захидлын агент, энэ агентийн дуудаж + холбогдох хүрэх хост болон (магадгүй хөрвүүлэгдсэн) хаягийг хэлдэг. + Энэ горимоос <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo> + даран гарна.</para> + + <screen>&prompt.user; <userinput>sendmail -bt</userinput> +ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) +Enter <ruleset> <address> +<prompt>></prompt> <userinput>3,0 foo@example.com</userinput> +canonify input: foo @ example . com +... +parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceable> $: foo < @ example . com . > +<prompt>></prompt> <userinput>^D</userinput></screen> + </sect1> + + <sect1 id="outgoing-only"> + <sect1info> + <authorgroup> + <author> + <firstname>Билл</firstname> + <surname>Моран</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + + <title>Зөвхөн илгээхээр тохируулах нь</title> + + <para>Өртөөлөх серверээр дамжуулан захидлыг илгээхийг зөвхөн хүсэх олон + тохиолдлууд байдаг. Зарим жишээнүүдийг дурдвал:</para> + + <itemizedlist> + <listitem> + <para>Таны компьютер ширээний машин, гэхдээ та &man.send-pr.1; + зэрэг програмуудыг ашиглахыг хүсэж байна гэж бодъё. Ингэхийн тулд + та өөрийн ISP-ийн захидал өртөөлөх серверийг ашиглах ёстой.</para> + </listitem> + + <listitem> + <para>Компьютер нь захидлыг локалиар зохицуулдаггүй сервер боловч + бүх захидлуудыг боловсруулахын тулд өртөөлөх сервер рүү дамжуулах + хэрэгтэй байгаа.</para> + </listitem> + </itemizedlist> + + <para>Бараг <acronym>MTA</acronym> бүр үүнийг хийх чадвартай байдаг. + Харамсалтай нь захидлыг зөвхөн дамжуулахын тулд + өргөн боломжтой <acronym>MTA</acronym>-г зөв тохируулах нь + маш төвөгтэй байдаг. <application>sendmail</application> болон + <application>postfix</application> зэрэг програмуудыг + энэ зорилгоор ашиглах нь хэтэрхий юм.</para> + + <para>Мөн хэрэв та энгийн Интернет хандалтын үйлчилгээг ашиглаж байгаа бол + таны гэрээ таныг <quote>захидлын сервер</quote> ажиллуулахыг хориглож + магадгүй юм.</para> + + <para>Тэдгээр хэрэгцээнүүдийг хангах хялбар арга бол <filename role="package">mail/ssmtp</filename> + портыг суулгах явдал юм. Дараах тушаалуудыг <username>root</username> + хэрэглэгчээр ажиллуулна:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput> +&prompt.root; <userinput>make install replace clean</userinput></screen> + + <para>Суулгасны дараа <filename role="package">mail/ssmtp</filename>-г + <filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>-д байрлах + дөрвөн мөр бүхий файлаар тохируулж болно:</para> + + <programlisting>root=yourrealemail@example.com +mailhub=mail.example.com +rewriteDomain=example.com +hostname=_HOSTNAME_</programlisting> + + <para><username>root</username>-д зориулж өөрийн жинхэнэ захидлын хаягаа + ашиглахаа мартуузай. <hostid role="fqdn">mail.example.com</hostid>-ийн + оронд өөрийн ISP-ийн гарах захидлын өртөөлөх серверийг оруулаарай (зарим ISP-ууд нь + үүнийг <quote>гарах захидлын сервер</quote> эсвэл <quote>SMTP сервер</quote> + гэдэг).</para> + + <para>Гарах захидлын үйлчилгээг нь оролцуулаад <application>sendmail</application>-г + хориглохоо мартуузай. Дэлгэрэнгүйг <xref linkend="mail-disable-sendmail"> + хэсгээс үзнэ үү.</para> + + <para><filename role="package">mail/ssmtp</filename> нь бас бусад тохируулгуудтай + байдаг. Жишээнүүд болон дэлгэрэнгүй мэдээллийг + <filename>/usr/local/etc/ssmtp</filename> доторх жишээ + тохиргооны файл эсвэл <application>ssmtp</application>-ийн + гарын авлагын хуудаснаас үзнэ үү.</para> + + <para>Энэ маягаар <application>ssmtp</application>-г тохируулах нь + зөв ажиллахын тулд захидал илгээхийг шаарддаг, таны компьютер дээрх ямар ч програмыг + зөвшөөрөх болно. Ингэхдээ таны ISP-ийн хэрэглээний бодлогыг зөрчилгүйгээр + эсвэл таны компьютерийг спам илгээх зорилгоор булаан эзлэхийг зөвшөөрдөггүй + байна.</para> + </sect1> + + <sect1 id="SMTP-dialup"> + <sect1info> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Гадагш залгах холболтоор захидлыг ашиглах нь</title> + + <para>Хэрэв танд статик IP хаяг байгаа бол та анхдагч утгуудыг өөрчилж тааруулах + шаардлагагүй юм. Өөрийн хостын нэрийг өөрт заагдсан Интернетийн нэрээр + тохируулах хэрэгтэй бөгөөд <application>sendmail</application> + үлдсэнийг нь хийх болно.</para> + + <para>Хэрэв та динамикаар заагдсан IP хаягтай бөгөөд Интернет рүү диал ап + PPP холболтыг ашигладаг бол та өөрийн ISP-ийн захидлын сервер дээр магадгүй + захидлын хайрцагтай байна байх. Таны ISP-ийн домен <hostid role="domainname">example.net</hostid>, + таны хэрэглэгчийн нэр <username>user</username>, та + өөрийн машиныг <hostid role="fqdn">bsd.home</hostid> гэж + нэрлэсэн бөгөөд таны ISP танд <hostid + role="fqdn">relay.example.net</hostid>-г захидал өртөөлөх сервер + болгож ашиглаж болно гэж хэлсэн гэж үзье.</para> + + <para>Өөрийн захидлын хайрцгаас захидал авахын тулд та татаж авах агентийг + суулгах ёстой. <application>fetchmail</application> хэрэгсэл нь + олон төрлийн протоколуудыг дэмждэг болохоор үүнд сайн сонголт болох юм. + Энэ програм нь багц хэлбэрээр эсвэл портын цуглуулгад байдаг (<filename + role="package">mail/fetchmail</filename>). Ихэвчлэн + таны <acronym>ISP</acronym> <acronym>POP</acronym> үйлчилгээ + үзүүлдэг. Хэрэв та хэрэглэгчийн <acronym>PPP</acronym> ашиглаж байгаа бол + <filename>/etc/ppp/ppp.linkup</filename> дахь дараах оруулгыг + ашиглан Интернетийн холболт тогтох үед өөрийн захидлыг автоматаар + авч болох юм:</para> + + <programlisting>MYADDR: +!bg su user -c fetchmail</programlisting> + + <para>Хэрэв та <application>sendmail</application>-г + локал биш бүртгэлүүдэд захидал илгээхийн тулд ашиглаж байгаа бол + (доор үзүүлсэн шиг) та өөрийнхөө Интернетийн холболтыг тогтоосныхоо + дараа өөрийн захидлын дарааллыг <application>sendmail</application>-ээр + процесс хийлгэхийг хүсэх байх. Үүнийг хийхийн тулд энэ тушаалыг + <filename>/etc/ppp/ppp.linkup</filename> файлд + <command>fetchmail</command> тушаалын дараа байрлуулах хэрэгтэй:</para> + + <programlisting> !bg su user -c "sendmail -q"</programlisting> + + <para>Та <hostid + role="fqdn">bsd.home</hostid> дээр + <username>user</username>-т зориулсан бүртгэлтэй гэж бодъё. + <hostid + role="fqdn">bsd.home</hostid> дээрх <username>user</username>-ийн + гэрийн санд <filename>.fetchmailrc</filename> файлыг үүсгэх хэрэгтэй:</para> + + <programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting> + + <para>Энэ файл нь <literal>MySecret</literal> гэсэн нууц үгийг агуулдаг + болохоор уг файлыг <username>user</username>-ээс өөр хэн ч унших + ёсгүй юм.</para> + + <para>Зөв <literal>from:</literal> толгойтойгоор захидал илгээхийн + тулд та <application>sendmail</application>-д + <email role="nolink">user@bsd.home</email>-ийн оронд + <email>user@example.net</email>-г ашиглахыг хэлж өгөх ёстой. + Та бас <application>sendmail</application>-д + хурдан захидал дамжуулах боломжийг бүрдүүлэхийн тулд бүх захидлыг дамжуулахдаа + <hostid role="fqdn">relay.example.net</hostid>-ийг ашиглахыг бас хэлж + өгөхийг хүсэж болох юм.</para> + + <para>Дараах <filename>.mc</filename> файл нь хангалттай байх болно:</para> + + <programlisting>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 +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</programlisting> + + <para>Энэ <filename>.mc</filename> файлыг <filename>sendmail.cf</filename> + файл болгож хэрхэн хувиргах талаарх дэлгэрэнгүйг өмнөх хэсгээс лавлана уу. + Бас <filename>sendmail.cf</filename>-г шинэчилснийхээ дараа + <application>sendmail</application>-г дахин эхлүүлэхээ мартуузай.</para> + </sect1> + + <sect1 id="SMTP-Auth"> + <sect1info> + <authorgroup> + <author> + <firstname>Жэймс</firstname> + <surname>Горхам</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + + <title>SMTP нэвтрэлт танилт</title> + + <para>Өөрийн захидлын сервертээ <acronym>SMTP</acronym> Authentication + буюу нэвтрэлт танилттай байх нь хэд хэдэн талаараа ашигтай байдаг. + <acronym>SMTP</acronym> нэвтрэлт танилт нь <application>sendmail</application>-д + аюулгүй байдлын өөр давхарга нэмж чадах бөгөөд хостоо сольдог хөдөлгөөнт + хэрэглэгчдийн хувьд өөрийн захидлын клиентийнхээ тохиргоог дахин тохируулалгүйгээр + захидлын серверээ ашиглах боломжийг олгодгоороо ашигтай байдаг.</para> + + <procedure> + <step> + <para><filename role="package">security/cyrus-sasl2</filename>-г + портоос суулгана. Та энэ портыг <filename role="package">security/cyrus-sasl2</filename> + сангаас олж болно. <filename role="package">security/cyrus-sasl2</filename> + порт нь хэд хэдэн эмхэтгэх үеийн тохируулгуудыг дэмждэг. Бидний ашиглах SMTP нэвтрэлт танилтын + аргын хувьд <option>LOGIN</option> тохируулга хаагдаагүй эсэхийг шалгаарай.</para> + </step> + + + <step> + <para><filename role="package">security/cyrus-sasl2</filename>-г + суулгасны дараа <filename>/usr/local/lib/sasl2/Sendmail.conf</filename>-г + (байхгүй бол үүсгээрэй) засварлаж дараах мөрийг нэмэх хэрэгтэй:</para> + + <programlisting>pwcheck_method: saslauthd</programlisting> + </step> + + <step> + <para>Дараа нь <filename role="package">security/cyrus-sasl2-saslauthd</filename>-г + суулгаж дараах мөрийг нэмэхийн тулд <filename>/etc/rc.conf</filename>-г засварлана:</para> + + <programlisting>saslauthd_enable="YES"</programlisting> + + <para>тэгээд эцэст нь saslauthd демоныг эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/saslauthd start</userinput></screen> + + <para>Энэ демон нь таны FreeBSD <filename>passwd</filename> мэдээллийн + баазаас нэвтрэлт таниулахын тулд <application>sendmail</application>-ийн хувьд + зуучлагч болдог. Энэ нь <acronym>SMTP</acronym> нэвтрэлт танилт ашиглах хэрэгтэй + хэрэглэгч бүрийн хувьд шинэ хэрэглэгчийн нэрс болон нууц үгсийг үүсгэх шаардлагагүй + болгож нэвтрэлт болон захидлын нууц үгийг өөрчлөлгүйгээр хэвээр байлгадаг юм.</para> + </step> + + <step> + <para>Одоо <filename>/etc/make.conf</filename>-г засварлаад дараах мөрүүдийг нэмэх хэрэгтэй:</para> + + <programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL +SENDMAIL_LDFLAGS=-L/usr/local/lib +SENDMAIL_LDADD=-lsasl2</programlisting> + + <para>Эдгээр мөрүүд нь <application>sendmail</application>-д + <filename role="package">cyrus-sasl2</filename> руу эмхэтгэх үед холбоос + хийхэд шаардлагатай зөв тохиргооны сонголтуудыг өгөх болно. + <application>sendmail</application>-ийг суулгахаас өмнө + <filename role="package">cyrus-sasl2</filename> суусан байгаа + эсэхийг баталгаажуулаарай.</para> + </step> + + <step> + <para>Дараах тушаалуудыг ажиллуулж <application>sendmail</application>-г дахин эмхэтгэнэ:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/lib/libsmutil</userinput> +&prompt.root; <userinput>make cleandir && make obj && make</userinput> +&prompt.root; <userinput>cd /usr/src/lib/libsm</userinput> +&prompt.root; <userinput>make cleandir && make obj && make</userinput> +&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput> +&prompt.root; <userinput>make cleandir && make obj && make && make install</userinput></screen> + + <para><filename>/usr/src</filename> тийм ч ихээр өөрчлөгдөөгүй бөгөөд + хэрэгцээтэй хуваалцдаг сангууд байгаа тохиолдолд <application>sendmail</application>-ийн эмхэтгэлт + ямар нэгэн асуудалгүй хийгдэх ёстой.</para> + </step> + + <step> + <para><application>sendmail</application> эмхэтгэгдэж дахин суулгагдсаны + дараа өөрийн <filename>/etc/mail/freebsd.mc</filename> + файлыг (аль эсвэл өөрийн <filename>.mc</filename> файл болгож ашигладаг тэр файлыг. Дахин давтагдахгүй + байхын тулд олон администраторууд &man.hostname.1;-ээс гарах гаралтыг ашиглан <filename>.mc</filename> файлаа + болгон сонгодог) засварлах хэрэгтэй. Эдгээр мөрүүдийг нэмэх хэрэгтэй:</para> + + <programlisting>dnl set SASL options +TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl +define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlisting> + + <para>Хэрэглэгчдийн нэвтрэлт танилтын хувьд <application>sendmail</application>-д + байдаг өөр аргуудыг эдгээр тохируулгууд нь тохируулдаг. Хэрэв та <application>pwcheck</application>-с + өөр аргыг ашиглахыг хүсэж байгаа бол хамт ирсэн баримтаас үзнэ үү.</para> + </step> + + <step> + <para>Эцэст нь <filename>/etc/mail</filename> дотор байхдаа + &man.make.1;-г ажиллуулна. Энэ нь таны шинэ <filename>.mc</filename> + файлыг ажиллуулж <filename>freebsd.cf</filename> гэгдэх (өөрийн <filename>.mc</filename> + файлд зориулж ашигласан тэр) <filename>.cf</filename> файлыг үүсгэх болно. + Дараа нь <command>make install restart</command> тушаалыг + ашиглах хэрэгтэй. Энэ нь файлыг <filename>sendmail.cf</filename> руу + хуулж <application>sendmail</application>-г зөв ажиллуулах болно. + Энэ процессийн талаарх дэлгэрэнгүй мэдээллийг <filename>/etc/mail/Makefile</filename> + файлаас лавлана уу.</para> + </step> + </procedure> + + <para>Хэрэв бүгд зөв явсан бол та өөрийн нэвтрэх мэдээллийг захидлын клиент уруугаа + оруулж тест захидал илгээж чадах ёстой. Илүү судлахын тулд + <application>sendmail</application>-ийн <option>LogLevel</option>-г + 13 болгон тохируулж <filename>/var/log/maillog</filename> файлд + алдаа гарах эсэхийг харах хэрэгтэй.</para> + + <para><ulink url="http://www.sendmail.org/~ca/email/auth.html"> + <acronym>SMTP</acronym> нэвтрэлт танилт</ulink>тай холбоотой дэлгэрэнгүй + мэдээллийг <application>sendmail</application> хуудаснаас үзнэ үү.</para> + + </sect1> + + <sect1 id="mail-agents"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Силвер</surname> + <contrib>Хамтран бичилцсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Шагдарын</firstname> + <surname>Нацагдорж</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Хэрэглэгчийн захидал дамжуулагчид</title> + + <indexterm> + <primary>Хэрэглэгчийн захидал дамжуулагч</primary> + </indexterm> + + <para>Mail User Agent (<acronym>MUA</acronym>) буюу хэрэглэгчийн + захидал дамжуулагч гэдэг нь захиаг илгээх болон хүлээн авах + зориулалттай програмууд байдаг. Мөн цаашилбал хоорондоо холбогдож + <quote>захидал</quote> чулуудацгааснаар хэрэглэгчдийн + ажлыг түргэтгэж амарчилж чаддагаараа + <acronym>MUA</acronym> нар нь илүү хүчирхэг болж байгаа билээ. + &os; нь өөртөө маш олон захиа дамжуулагч програмуудыг + дэмждэг бөгөөд <link linkend="ports">FreeBSD портын цуглуулгаас</link> + та суулгах боломжтой. + Хэрэглэгчид магадгүй график дүрслэлтэй + <application>evolution</application> эсвэл + <application>balsa</application>, мөн консол дээр тулгуурлаж ажилладаг + програмууд болох <application>mutt</application>, <application>pine</application> + эсвэл <command>mail</command>, үгүй бол том байгууллагуудад ихэнхдээ + хэрэглэгддэг вэб харуулалттай захиа үзэгч зэргүүдээс сонгон хэрэглэх + боломж буй.</para> + + <sect2 id="mail-command"> + <title>mail</title> + + <para>&man.mail.1; бол &os;-н хэрэглэгчийн хэрэглэж болох + анхдагч захиа дамжуулагч програм юм. Энэ нь + консол дээр ажилладаг бөгөөд текст хэлбэрийн захиануудыг + дамжуулах болон хүлээж авах бүх ерөнхий гүйцэтгэлийг санал болгодог ч + зарим хавсаргасан файлуудтай ажиллахад зарим хүчин чадал нь + дутмаг бөгөөд зөвхөн дотоод захианы хайрцган дээр ажилладаг.</para> + + <para>Хэдийгээр <command>mail</command> гуай + анхнаасаа <acronym>POP</acronym> эсвэл + <acronym>IMAP</acronym> серверүүдийг дэмждэггүй боловч + эдгээр сервер дээрх захианы хайрцгуудыг өөрийнхөө дотоод + <filename>mbox</filename> файл уруу + <application>fetchmail</application> програмыг ашиглан + хуулж чаддаг. <application>fetchmail</application>-н талаар энэ бүлэгт + сүүлд танилцуулах болно (<xref + linkend="mail-fetchmail">).</para> + + <para>Захиа хүлээж авах болон илгээхийн тулд консол дээр + ердөө дараах жишээний дагуу + <command>mail</command> тушаал өгөхөд л хангалттай:</para> + + <screen>&prompt.user; <userinput>mail</userinput></screen> + + <para>Хэрэглэгч бүрд зориулсан + <filename class="directory">/var/mail</filename> доторх + захианы хайрцаг нь <command>mail</command> хэрэгслээр уншигддаг. + Хэрэв захианы хайрцаг хоосон байвал ямар ч захиа алга байна гэсэн + мэдэгдэл харуулаад энэ хэрэгсэл гардаг. Захианы хайрцаг доторх + захиа уншигдах үед энэ хэрэгслийн харуулах нүүр хэсэг ажиллаж эхлэн + захиануудыг жагсаалт болгож харуулдаг. Дараах маягаар захианууд нь + автоматаар дугаарлагдаж харуулагддаг:</para> + + <screen>Mail version 8.1 6/6/93. Type ? for help. +"/var/mail/marcs": 3 messages 3 new +>N 1 root@localhost Mon Mar 8 14:05 14/510 "test" + N 2 root@localhost Mon Mar 8 14:05 14/509 "user account" + N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"</screen> + + <para>Захиануудыг одоо <keycap>t</keycap> + <command>захианы-дугаар</command> гэж тушаал өгснөөр тухайн + дугаартай захиаг уншина. Доорх жишээнд эхний захиаг уншиж харуулав:</para> + + <screen>& <userinput>t 1</userinput> +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.</screen> + + <para>Дээрх жишээн дээр харуулснаар <keycap>t</keycap> + товч дарж уншссан захианы толгой хэсгийг бүтнээр нь харуулж байна. + Захианы үндсэн жагсаалт уруу буцаж очихын тулд <keycap>h</keycap> + товчлуур хэрэглэгддэг.</para> + + <para>Хэрэв захианд хариулж бичих тохиолдол гарвал + <command>mail</command>-н + <keycap>R</keycap> эсвэл <keycap>r</keycap> товчнуудыг ашигладаг. + <keycap>R</keycap> товч нь + <command>mail</command>-д зөвхөн илгээсэн хүнд нь хариулж бичихийг + зааж өгдөг байхад <keycap>r</keycap> товч нь илгээсэн хүнээс гадна мөн + өөр бусад хүлээн авагчид уруу илгээх боломж өгдөг. Та мөн энэ + тушаалуудын ард нь захианы дугаар бичиж өгөн тухайн оноосон захианд + хариулт бичиж болно. Ингэж хариулж бичих үйлдэл хийх үед + захианы хамгийн сүүлд нэг <keycap>.</keycap> гэсэн цэгтэй мөр + нэмэгддэгийг доорх жишээнээс харна уу:</para> + + <screen>& <userinput>R 1</userinput> +To: root@localhost +Subject: Re: test + +<userinput>Thank you, I did get your email. +.</userinput> +EOT</screen> + + <para>Шинэ захиа илгээхийн тулд <keycap>m</keycap> + товч хэрэглэгддэг бөгөөд энэ товчлуурын араас хүлээн авах хүний + захианы хаягийг бичиж өгдөг. Олон хаяг бичигдэх тохиолдолд + захианы хаяг бүр <keycap>,</keycap> гэсэн таслал тэмдгээр + тусгаарлагддаг. Дараа нь захианы гарчгийг бичиж сүүлд нь + захиагаа бичдэг. Захианы төгсгөл хэсгийг + тусдаа нэг мөрөнд <keycap>.</keycap> гэж цэг оруулж өгснөөр + захиаг дуусгадаг.</para> + + <screen>& <userinput>mail root@localhost</userinput> +Subject: <userinput>I mastered mail + +Now I can send and receive email using mail ... :) +.</userinput> +EOT</screen> + + <para><command>mail</command> хэрэгсэл дотор + <keycap>?</keycap> товчлуур дарснаар ямар ч үед + тусламж мэдээллийг харуулж болдог бөгөөд мөн &man.mail.1;-н + гарын авлаганд илүү дэлгэрэнгүй мэдээллийг харах боломж бий.</para> + + <note> + <para>Өмнө тайлбарлаж байсны дагуу &man.mail.1; хэрэгсэл нь + анхнаасаа хавсралт файлтай ажиллах зориулалттай хийгдээгүй болохоор + жаахан ядуувтар хэрэглэгддэг. Сүүлийн үеийн захидал дамжуулагчид + болох + <application>mutt</application> нь хавсралт файлтай арай ухаалаг + ажилладаг. Гэхдээ та заавал <command>mail</command>-г хэрэглэмээр + байгаа бол <filename + role="package">converters/mpack</filename> порт танд хэрэг болох + байх аа.</para> + </note> + </sect2> + + <sect2 id="mutt-command"> + <title>mutt</title> + + <para><application>mutt</application> бол жижигхэн боловч + маш хүчтэй захидал дамжуулагч бөгөөд дараах аятайхан шинж чанаруудыг + өөртөө агуулсан байдаг нь:</para> + + <itemizedlist> + <listitem> + <para>Захиануудтай давхар зэрэг ажиллах</para> + </listitem> + + <listitem> + <para>Захианд нууцлалын хувиргалт хийх болон цахим гарын үсэг зурахад зориулагдсан PGP дэмжлэгтэй</para> + </listitem> + + <listitem> + <para>MIME дэмжлэгтэй</para> + </listitem> + + <listitem> + <para>Maildir дэмжлэгтэй</para> + </listitem> + + <listitem> + <para>Дурын өөрчлөлт хийх боломжтой.</para> + </listitem> + </itemizedlist> + + <para>Эдгээр шинж чанаруудын ачаар + <application>mutt</application> нь хамгийн өргөн + тархсан хэрэглэгчийн захидал дамжуулагч болж чадсан юм. <ulink + url="http://www.mutt.org"></ulink> хаягнаас + <application>mutt</application>-н тухай дэлгэрэнгүй мэдээллийг харна уу.</para> + + <para><application>mutt</application>-н тогтвортой хувилбарыг + <filename + role="package">mail/mutt</filename> портноос суулгаж болох бөгөөд + хэрэв яг одоо хөгжүүлж буй хувилбарыг нь суулгахыг хүсвэл <filename + role="package">mail/mutt-devel</filename> портноос суулгаарай.Портоо + суулгасны дараа <application>mutt</application>-г эхлүүлэхдээ + дараах тушаалыг өгдөг:</para> + + <screen>&prompt.user; <userinput>mutt</userinput></screen> + + <para><application>mutt</application> нь хэрэглэгчийн + захианы хайрцгийг автоматаар <filename + class="directory">/var/mail</filename> сангаас уншиж + хэрэв дотор нь захиа байвал харуулдаг. Хэрэв ямар ч захиа байхгүй + байвал хэрэглэгчээс тушаал оруулахыг + <application>mutt</application> хүлээх болно. + Доорх жишээнд <application>mutt</application>-н захидал + харуулалтыг үзүүлэв:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/mutt1" format="PNG"> + </imageobject> + </mediaobject> + + <para>Захиаг уншихын тулд + сумтай товчоор захидлыг сонгож <keycap>Enter</keycap> товч дарна. + + <application>mutt</application>-н захидал хэрхэн дэлгэж харуулсныг + доорх зурган дээр харуулав:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/mutt2" format="PNG"> + </imageobject> + </mediaobject> + + <para>&man.mail.1; хэрэгсэлтэй ижилхэн + <application>mutt</application> нь мөн зөвхөн илгээсэн хүнд + нь юм уу эсвэл олон хүлээн авагч уруу хариулт бичиж болдог. + Зөвхөн илгээсэн хүнд нь хариу бичихийн тулд + <keycap>r</keycap> товч дарна. Захиа илгээсэн хүнийг нь оруулаад + бүлэг хүмүүс рүү захиа хариулж бичихийн тулд <keycap>g</keycap> + товч дардаг.</para> + + <note> + <para><application>mutt</application> нь захиа бичих болон + хариулахын тулд + &man.vi.1; програмыг ашиглан захиа засварлалт хийлгэдэг. + Гэхдээ өөрийн эхлэл сан дотроо <filename>.muttrc</filename> + файл үүсгэж + <literal>editor</literal> хувьсагч үүсгэх эсвэл + <envar>EDITOR</envar> гэсэн орчны хувьсагч үүсгэж өөрийн дуртай + засварлагчаа зааж өгч бас болно. + <ulink url="http://www.mutt.org/"></ulink> хаягнаас та + <application>mutt</application>-н талаар хэрхэн тохируулж болох + дэлгэрэнгүй зааврыг харна уу.</para> + </note> + + <para>Шинэ захиа бичихийн тулд + <keycap>m</keycap> товч хэрэглэнэ. Гарчгийг оруулсны дараа + &man.vi.1; програмыг <application>mutt</application> ажиллуулж + захиагаа бичих боломж олгодог. Захиаг бичиж дууссаны дараа + <command>vi</command> програмаас хадгалаад гарсны дараа + илгээх захиаг <application>mutt</application> програм нэгтгэж + харуулдаг. Захиагаа илгээхдээ <keycap>y</keycap> товч дарна. + Илгээхийн өмнөх нэгтгэсэн харуулалтыг дор зурганд үзүүлье:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/mutt3" format="PNG"> + </imageobject> + </mediaobject> + + <para><application>mutt</application> нь өөртөө мөн тусламжийн + мэдээлэлтэй өгөөд <keycap>?</keycap> товч дарж харуулагдана. + Дэлгэцийн дээд хэсэгт ямар товч дарж болох талаарх тайлбар + мэдээлэл харуулаастай байдаг.</para> + + </sect2> + + <sect2 id="pine-command"> + <title>pine</title> + + <para><application>pine</application> програмыг эхлэн + хэрэглэгчдэд зориулж үүсгэсэн бөгөөд нэмэлт шинж чанаруудыг + агуулсан байдаг.</para> + + <warning> + <para> <application>pine</application>-н өмнөх хувилбаруудад + алсаас холбогдсон халдагчид тусгай кодыг хэрэглэгч маягаар + холбогдон захиа маягаар илгээж уг аюултай кодыг гүйцэтгэж болдог + аюултай нүх байжээ. Эдгээр + <emphasis>мэдэгдсэн</emphasis> хүндрэлүүд нь засагдсан + боловч + <application>pine</application>-ы програмын аюулгүйн хамгаалалт + загвар нь тун сул болохоор &os;-н аюулаас хамгаалагч нөхдүүд + уг програмд өөр онгорхой нүх бий гэж итгэдэг юм байна. + Та өөртөө гарах эрсдэлийг тооцож мэдэж байгаа бол + <application>pine</application>-г суулгаарай.</para> + </warning> + + <para><application>pine</application>-н одоогийн хөгжүүлж байгаа + хувилбарыг <filename + role="package">mail/pine4</filename> портноос суулгана. + Порт суугдсаны дараа + <application>pine</application>-г дараах тушаалаар эхлүүлдэг:</para> + + <screen>&prompt.user; <userinput>pine</userinput></screen> + + <para>Анх удаагаа <application>pine</application> ажиллах үедээ + мэндчилгээ болон товч заавар харуулаад <application>pine</application> + зохиосон хүмүүсд мэдээлэх журмын нэргүй захиа илгээхийг хүсдэг. + Тэр нэргүй захиаг илгээхийн тулд <keycap>Enter</keycap> товч дарах + эсвэл мөн <keycap>E</keycap> товч дарж нэргүй захиа илгээх хэсгээс + хадгалахгүй гардаг. Мэндчилгээний хуудас дараах маягаар харагддаг:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine1" format="PNG"> + </imageobject> + </mediaobject> + + <para>Хэрэглэгдэд дараа нь сумтай товчоор сонгож болдог + үндсэн цэс харуулагддаг. + Үндсэн цэс дотор шинэ захиа бичих, захиа агуулсан сан доторхоо + харах, мөн хаяг хадгалалтаа зохицуулах зэрэг боломж байдаг. + Доорх зурагт эдгээр боломжуудын цэсийг харуулсан үндсэн + цэсийг үзүүлэв.</para> + + <para><application>pine</application>-р нээгдсэн үндсэн сан бол + <filename class="directory">inbox</filename> гэсэн нэртэй сан байдаг. + Захианы жагсаалтыг харахын тулд + <keycap>I</keycap> товч дарах, эсвэл <guimenuitem>MESSAGE INDEX</guimenuitem> + цэсийг сонгоно:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine2" format="PNG"> + </imageobject> + </mediaobject> + + <para>Захианы санд буй захиануудыг жагсааж харуулсны дараа + сумтай товчоор сонгож + <keycap>Enter</keycap> товч дарж уншина.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine3" format="PNG"> + </imageobject> + </mediaobject> + + <para>Доорх зурган дээр + <application>pine</application> дээр энгийн захиаг + харуулав. Дэлгэцийн доод хэсэгт лавлах болгож гарын товчлууруудыг + харуулдаг. Жишээ нь <keycap>r</keycap> товч дарснаар одоогийн + харуулж байгаа захианд хариу бичнэ.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine4" format="PNG"> + </imageobject> + </mediaobject> + + <para><application>pine</application> дээр захианд хариу бичих үед + <application>pico</application> засварлагч хэрэглэгддэг + бөгөөд энэ засварлагч нь <application>pine</application>-тай + хамт суугддаг. <application>pico</application> хэрэгсэл нь + захиа бичихэд маш энгийн бөгөөд &man.vi.1; эсвэл &man.mail.1; зэргийг + ашиглагчдыг бодвол шинэ хэрэглэгчид рүү илүү дөхүүлсэн байдаг. + Хариулт захиагаа бичиж дуусаад + <keycombo action="simul"><keycap>Ctrl</keycap><keycap>X</keycap> + </keycombo> товч дарж илгээдэг. Илгээхийн өмнө + <application>pine</application> танаас лавлаж асуух болно.</para> + + <mediaobject> + <imageobject> + <imagedata fileref="mail/pine5" format="PNG"> + </imageobject> + </mediaobject> + + <para>Үндсэн цэснээс <guimenuitem>SETUP</guimenuitem> гэж сонгосноор + <application>pine</application> програмыг та хүссэнээрээ өөрчлөх + боломжтой. <ulink url="http://www.washington.edu/pine/"></ulink> + хаягаас дэлгэрэнгүй мэдээллийг харна уу.</para> + + </sect2> + </sect1> + + <sect1 id="mail-fetchmail"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Силвэр</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>fetchmail-г ашиглах нь</title> + + <indexterm> + <primary>fetchmail</primary> + </indexterm> + + <para><application>fetchmail</application> нь хэрэглэгчдэд + алсын <acronym>IMAP</acronym> болон <acronym>POP</acronym> + серверүүдээс захидал автоматаар татан авч локал захидлын хайрцгуудад + хадгалах боломжийг олгодог, өргөн боломжтой, + <acronym>IMAP</acronym> болон <acronym>POP</acronym> + клиент юм. Тэдгээр захидлын хайрцгуудад дараа нь хандахад илүү хялбар + байдаг. <application>fetchmail</application>-г + <filename role="package">mail/fetchmail</filename> портыг + ашиглан суулгаж болох бөгөөд төрөл бүрийн боломжуудыг санал болгодгоос + заримыг дурдвал:</para> + + <itemizedlist> + <listitem> + <para><acronym>POP3</acronym>, + <acronym>APOP</acronym>, <acronym>KPOP</acronym>, + <acronym>IMAP</acronym>, <acronym>ETRN</acronym> болон + <acronym>ODMR</acronym> протоколуудын дэмжлэг.</para> + </listitem> + + <listitem> + <para><acronym>SMTP</acronym>-г ашиглан захидал дамжуулах чадвар. + Энэ нь шүүлт хийх, дамжуулалт хийх болон хэвийн ажиллахын тулд хуурамч дүр + үзүүлэх боломжийг олгодог.</para> + </listitem> + + <listitem> + <para>Шинэ захидлуудыг байнга шалгахын тулд демон горимоор ажиллуулж болно.</para> + </listitem> + + <listitem> + <para>Олон захидлын хайрцгуудыг хүлээн авч тэдгээрийг тохиргооноос хамааран + өөр локал хэрэглэгчүүд рүү дамжуулж чаддаг.</para> + </listitem> + </itemizedlist> + + <para><application>fetchmail</application>-ийн бүх боломжуудыг + тайлбарлах нь энэ баримтын хүрээнээс гадуур боловч зарим нэг үндсэн + боломжуудыг тайлбарлах болно. <application>fetchmail</application> + хэрэгсэл нь зөв ажиллахын тулд <filename>.fetchmailrc</filename> + гэгддэг тохиргооны файлыг шаарддаг. Энэ файл нь серверийн мэдээлэл + болон нэвтрэх итгэмжлэлүүдийг агуулдаг. Энэ файлын агуулгын мэдрэмтгий + чанараас болоод энэ файлыг зөвхөн эзэмшигч нь уншиж чаддаг байхаар болгон дараах + тушаал ашиглаж хийхийг зөвлөдөг:</para> + + <screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen> + + <para>Дараах <filename>.fetchmailrc</filename> файл нь + ганц хэрэглэгчийн захидлын хайрцгийг <acronym>POP</acronym> ашиглан татаж + авах жишээ юм. Энэ нь <application>fetchmail</application>-г + <username>joesoap</username> хэрэглэгчийн нэр болон + <literal>XXX</literal> нууц үгийг ашиглан <hostid + role="fqdn">example.com</hostid> руу холбогдыг зааж байна. Энэ жишээ нь + <username>joesoap</username> хэрэглэгчийг локал систем дэх + хэрэглэгч гэж бас үздэг.</para> + + <programlisting>poll example.com protocol pop3 username "joesoap" password "XXX"</programlisting> + + <para>Дараах жишээ нь олон <acronym>POP</acronym> + болон <acronym>IMAP</acronym> серверүүд рүү холбогдож + шаардлагатай тохиолдолд өөр локал хэрэглэгчид рүү дачин чиглүүлж байна:</para> + + <programlisting>poll example.com proto pop3: +user "joesoap", with password "XXX", is "jsoap" here; +user "andrea", with password "XXXX"; +poll example2.net proto imap: +user "john", with password "XXXXX", is "myth" here;</programlisting> + + <para><application>fetchmail</application> хэрэгслийг <option>-d</option> + туг болон түүний дараа <filename>.fetchmailrc</filename> файлд + жагсаагдсан серверүүдийг байнга шалгах тэр хугацааг (секундээр) зааж өгөн + демон горимд ажиллуулж болдог. Дараах жишээ нь <application>fetchmail</application>-г + 600 секунд бүр шалгахаар тохируулж байна:</para> + + <screen>&prompt.user; <userinput>fetchmail -d 600</userinput></screen> + + <para><application>fetchmail</application>-ийн талаарх + дэлгэрэнгүй мэдээллийг <ulink + url="http://fetchmail.berlios.de/"></ulink> хаягаас олж болно.</para> + </sect1> + + <sect1 id="mail-procmail"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Силвэр</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>procmail-г ашиглах нь</title> + + <indexterm> + <primary>procmail</primary> + </indexterm> + + <para><application>procmail</application> хэрэгсэл нь ирж байгаа захидлыг + шүүхэд хэрэглэгддэг гайхамшигтай хүчтэй програм юм. Энэ нь хэрэглэгчдэд + ирж байгаа захидлуудад тааруулж <quote>дүрмүүдийг</quote> тодорхойлох + боломжийг олгодог бөгөөд энэ дүрмүүдийг ашиглан тусгай үйлдлүүд хийх эсвэл + захидлыг өөр захидлын хайрцаг ба/эсвэл цахим захидлын хаягууд руу дахин + чиглүүлэх зэрэг ажлуудыг хийж болох юм. <application>procmail</application>-г + <filename role="package">mail/procmail</filename> порт ашиглан суулгаж + болно. Суулгасны дараа үүнийг <acronym>MTA</acronym>-уудтай цуг ажиллахаар + тохируулж болно; дэлгэрэнгүй мэдээллийг өөрийн <acronym>MTA</acronym>-ийн + баримтаас лавлана уу. Мөн <application>procmail</application>-н + боломжуудыг ашиглаж байгаа хэрэглэгчийн гэрийн сан дахь <filename>.forward</filename> + файлд дараах мөрийг нэмж өгч болно:</para> + + <programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting> + + <para>Дараах хэсэг нь <application>procmail</application>-ийн зарим үндсэн + дүрмүүдийг үзүүлэх бөгөөд тэдгээрийн юу хийдэг талаар товч тайлбар өгөх болно. + Эдгээр дүрмүүд болон бусдууд нь <filename>.procmailrc</filename> + файлд хийгдсэн байх ёстой бөгөөд энэ файл нь хэрэглэгчийн гэрийн санд + байрлах ёстой.</para> + + <para>Эдгээр дүрмүүдийн ихэнхийг &man.procmailex.5;-ийн гарын авлагын хуудаснаас + олж болно.</para> + + <para><email>user@example.com</email>-с ирсэн бүх захидлыг + <email role="nolink">goodmail@example2.com</email> гадаад хаяг уруу дамжуулна:</para> + + <programlisting>:0 +* ^From.*user@example.com +! goodmail@example2.com</programlisting> + + <para>1000 байтаас бага бүх захидлуудыг <email role="nolink">goodmail@example2.com</email> + гадаад хаяг уруу дамжуулна:</para> + + <programlisting>:0 +* < 1000 +! goodmail@example2.com</programlisting> + + <para><email>alternate@example.com</email> руу илгээсэн бүх захидлыг + <filename>alternate</filename> гэгдсэн захидлын хайрцагт хийнэ:</para> + + <programlisting>:0 +* ^TOalternate@example.com +alternate</programlisting> + + <para><quote>Spam</quote> сэдэв бүхий бүх захидлыг <filename>/dev/null</filename> + уруу илгээнэ:</para> + + <programlisting>:0 +^Subject:.*Spam +/dev/null</programlisting> + + <para>Ирж байгаа <hostid role="domainname">&os;.org</hostid> захидлын жагсаалтуудыг + шалгаж жагсаалт бүрийг өөрийнх нь захидлын хайрцаг уруу хийдэг, ашигтай зааврыг доор үзүүлэв:</para> + + <programlisting>:0 +* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG +{ + LISTNAME=${MATCH} + :0 + * LISTNAME??^\/[^@]+ + FreeBSD-${MATCH} +}</programlisting> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/mirrors/Makefile b/mn_MN.UTF-8/books/handbook/mirrors/Makefile new file mode 100644 index 0000000000..6dda7a63e5 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/mirrors/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= mirrors/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml new file mode 100644 index 0000000000..a16887ea32 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml @@ -0,0 +1,3177 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.431 + + $FreeBSD$ +--> + +<appendix id="mirrors"> + <title>FreeBSD-г олж авах нь</title> + + <sect1 id="mirrors-cdrom"> + <title>CDROM болон DVD Нийтлэгчид</title> + + <sect2> + <title>Жижиглэнгийн хайрцагласан бүтээгдэхүүнүүд</title> + + <para>FreeBSD нь хайрцагласан бүтээгдэхүүн хэлбэрээр (FreeBSD CD-үүд, + нэмэлт програм хангамж, болон хэвлэсэн баримт) хэд хэдэн жижиглэн + худалдаалагчдаас гардаг:</para> + + <itemizedlist> + <listitem> + <address> + <otheraddr>CompUSA</otheraddr> + WWW: <otheraddr><ulink url="http://www.compusa.com/"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Frys Electronics</otheraddr> + WWW: <otheraddr><ulink url="http://www.frys.com/"></ulink></otheraddr> + </address> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>CD болон DVD цуглуулгууд</title> + + <para>FreeBSD CD болон DVD цуглуулгуудыг олон жижиглэн худалдаалагчдаас + шууд худалдан авах боломжтой байдаг:</para> + + <itemizedlist> + <listitem> + <address> + <otheraddr>BSD Mall by Daemon News</otheraddr> + <street>PO Box 161</street> + <city>Nauvoo</city>, <state>IL</state> <postcode>62354</postcode> + <country>USA</country> + Утас: <phone>+1 866 273-6255</phone> + Факс: <fax>+1 217 453-9956</fax> + Email: <email>sales@bsdmall.com</email> + WWW: <otheraddr><ulink url="http://www.bsdmall.com/freebsd1.html"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>BSD-Systems</otheraddr> + Email: <email>info@bsd-systems.co.uk</email> + WWW: <otheraddr><ulink url="http://www.bsd-systems.co.uk"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>FreeBSD Mall, Inc.</otheraddr> + <street>3623 Sanford Street</street> + <city>Concord</city>, <state>CA</state> <postcode>94520-1405</postcode> + <country>USA</country> + Утас: <phone>+1 925 674-0783</phone> + Факс: <fax>+1 925 674-0821</fax> + Email: <email>info@freebsdmall.com</email> + WWW: <otheraddr><ulink url="http://www.freebsdmall.com/"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Dr. Hinner EDV</otheraddr> + <street>St. Augustinus-Str. 10</street> + <postcode>D-81825</postcode> <city>München</city> + <country>Germany</country> + Утас: <phone>(089) 428 419</phone> + WWW: <otheraddr><ulink url="http://www.hinner.de/linux/freebsd.html"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Ikarios</otheraddr> + <street>22-24 rue Voltaire</street> + <postcode>92000</postcode> <city>Nanterre</city> + <country>France</country> + WWW: <otheraddr><ulink url="http://ikarios.com/form/#freebsd"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>JMC Software</otheraddr> + <country>Ireland</country> + Утас: <phone>353 1 6291282</phone> + WWW: <otheraddr><ulink url="http://www.thelinuxmall.com"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Linux CD Mall</otheraddr> + <street>Private Bag MBE N348</street> + <city>Auckland 1030</city> + <country>New Zealand</country> + Утас: <phone>+64 21 866529</phone> + WWW: <otheraddr><ulink url="http://www.linuxcdmall.co.nz/"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>The Linux Emporium</otheraddr> + <street>Hilliard House, Lester Way</street> + <city>Wallingford</city> + <postcode>OX10 9TA</postcode> + <country>United Kingdom</country> + Утас: <phone>+44 1491 837010</phone> + Факс: <fax>+44 1491 837016</fax> + WWW: <otheraddr><ulink url="http://www.linuxemporium.co.uk/products/freebsd/"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Linux+ DVD Magazine</otheraddr> + <street>Lewartowskiego 6</street> + <city>Warsaw</city> + <postcode>00-190</postcode> + <country>Poland</country> + Утас: <phone>+48 22 860 18 18</phone> + Email: <email>editors@lpmagazine.org</email> + WWW: <otheraddr><ulink url="http://www.lpmagazine.org/"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Linux System Labs Australia</otheraddr> + <street>21 Ray Drive</street> + <city>Balwyn North</city> + <postcode>VIC - 3104</postcode> + <country>Australia</country> + Утас: <phone>+61 3 9857 5918</phone> + Факс: <fax>+61 3 9857 8974</fax> + WWW: <otheraddr><ulink url="http://www.lsl.com.au"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>LinuxCenter.Ru</otheraddr> + <street>Galernaya Street, 55</street> + <city>Saint-Petersburg</city> + <postcode>190000</postcode> + <country>Russia</country> + Утас: <phone>+7-812-3125208</phone> + Email: <email>info@linuxcenter.ru</email> + WWW: <otheraddr><ulink url="http://linuxcenter.ru/freebsd"></ulink></otheraddr> + </address> + </listitem> + + </itemizedlist> + </sect2> + + <sect2> + <title>Түгээгчид</title> + + <para>Хэрэв та дахин худалдагч бөгөөд FreeBSD CDROM бүтээгдэхүүнүүдийг тараахыг хүсэж + байгаа бол түгээгч буюу дистрибюторт хандана уу:</para> + + <itemizedlist> + <listitem> + <address> + <otheraddr>Cylogistics</otheraddr> + <street>809B Cuesta Dr., #2149</street> + <city>Mountain View</city>, <state>CA</state> <postcode>94040</postcode> + <country>USA</country> + Утас: <phone>+1 650 694-4949</phone> + Факс: <fax>+1 650 694-4953</fax> + Email: <email>sales@cylogistics.com</email> + WWW: <otheraddr><ulink url="http://www.cylogistics.com/"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Ingram Micro</otheraddr> + <street>1600 E. St. Andrew Place</street> + <city>Santa Ana</city>, <state>CA</state> <postcode>92705-4926</postcode> + <country>USA</country> + Утас: <phone>1 (800) 456-8000</phone> + WWW: <otheraddr><ulink url="http://www.ingrammicro.com/"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Kudzu, LLC</otheraddr> + <street>7375 Washington Ave. S.</street> + <city>Edina</city>, <state>MN</state> <postcode>55439</postcode> + <country>USA</country> + Утас: <phone>+1 952 947-0822</phone> + Факс: <fax>+1 952 947-0876</fax> + Email: <email>sales@kudzuenterprises.com</email> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>LinuxCenter.Ru</otheraddr> + <street>Galernaya Street, 55</street> + <city>Saint-Petersburg</city> + <postcode>190000</postcode> + <country>Russia</country> + Утас: <phone>+7-812-3125208</phone> + Email: <email>info@linuxcenter.ru</email> + WWW: <otheraddr><ulink url="http://linuxcenter.ru/freebsd"></ulink></otheraddr> + </address> + </listitem> + + <listitem> + <address> + <otheraddr>Navarre Corp</otheraddr> + <street>7400 49th Ave South</street> + <city>New Hope</city>, <state>MN</state> <postcode>55428</postcode> + <country>USA</country> + Утас: <phone>+1 763 535-8333</phone> + Факс: <fax>+1 763 535-0341</fax> + WWW: <otheraddr><ulink url="http://www.navarre.com/"></ulink></otheraddr> + </address> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="mirrors-ftp"> + <title>FTP сайтууд</title> + + <para>FreeBSD-д зориулсан абан ёсны эхүүдийг дэлхий даяар байрласан толин тусгал сайтуудаас + авч болно. <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/"></ulink> + сайт нь сайн холбогдсон бөгөөд маш олон тооны холболтуудыг зөвшөөрдөг. Гэхдээ та + <quote>илүү ойр</quote> толин тусгал сайтыг хайж олсон нь дээр биз ээ (ялангуяа хэрэв + та ямар нэгэн толин тусгал маягийн сайт тохируулж ажиллуулахыг хүсвэл).</para> + + <para><ulink + url="http://mirrorlist.FreeBSD.org/">FreeBSD толин тусгал сайтуудын + мэдээллийн бааз</ulink> нь Гарын авлага дахь толин тусгалын жагсаалтаас + илүү зөв байдаг. Учир нь энэ нь хостуудын статик жагсаалтад тулгуурлалгүй өөрийн мэдээллээ + DNS серверээс авдаг юм.</para> + + <para>Мөн FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээс авч болохоор байдаг. + Хэрэв та нэргүй FTP-ээс FreeBSD-г авахыг сонговол өөртөө аль болох ойр сайтыг ашиглаад + үзээрэй. <quote>Primary Mirror Sites</quote> буюу үндсэн толин тусгал + сайтууд дахь толин тусгал сайтууд нь бүхэл FreeBSD архивыг (архитектур + болгонд зориулсан одоо байгаа бүх хувилбарууд) ихэвчлэн агуулдаг боловч + танай улс юм уу эсвэл бүсэд байрлаж байгаа сайтаас татаж авахад танд илүү хурдан + байх болов уу. Бүсийн сайтууд нь хамгийн түгээмэл архитектуруудад зориулсан + хамгийн сүүлийн үеийн хувилбаруудыг агуулдаг боловч FreeBSD-ийн бүх архивыг + агуулаагүй байж болох юм. Бүх сайтууд нь нэргүй FTP-ээр хандах боломжийг + олгодог. Зарим сайтууд нь бас бусад аргуудаар хандах боломжийг олгодог. + Сайт болгоны хувьд хандах аргууд нь хостын нэрийн дараа хаалтанд өгөгдсөн + байгаа болно.</para> + + &chap.mirrors.ftp.inc; + </sect1> + + <sect1 id="anoncvs"> + <title>Нэргүй CVS</title> + + <sect2> + <title><anchor id="anoncvs-intro">Танилцуулга</title> + + <indexterm> + <primary>CVS</primary> + <secondary>нэргүй</secondary> + </indexterm> + + <para>Нэргүй CVS (эсвэл өөрөөр <emphasis>anoncvs</emphasis> гэгддэг) + нь алсын CVS архивтай синхрончлол хийгдэхэд зориулагдсан FreeBSD-тэй + цуг багцлагдсан CVS хэрэгслүүдийн үзүүлдэг боломж юм. Мөн + FreeBSD-ийн хэрэглэгчдэд ямар нэгэн зөвшөөрлүүдгүйгээр зөвхөн унших эрхтэй + CVS үйлдлүүдийг FreeBSD төслийн албан ёсны anoncvs серверүүдийн аль нэг дээр + хийх боломжийг олгодог. Ашиглахын тулд <envar>CVSROOT</envar> + орчны хувьсагчийг тохирох anoncvs сервер руу зааж <command>cvs login</command> + тушаалд бүгдийн мэддэг <quote>anoncvs</quote> нууц үгийг өгч + дараа нь &man.cvs.1; тушаал ашиглан локал архивт хандаж байгаа шигээр + хандана.</para> + + <note> + <para><command>cvs login</command> тушаал нь CVS серверт + өөрийгээ таниулан нэвтрэхэд хэрэглэгдсэн нууц үгсийг + таны <envar>HOME</envar> санд <filename>.cvspass</filename> + файлд хадгалдаг.Хэрэв энэ файл байхгүй бол + таныг <command>cvs login</command> тушаалыг эхний удаа + ашиглахаар оролдоход алдаа гарч болох юм. Ердөө л + хоосон <filename>.cvspass</filename> файл үүсгээд нэвтрэхийг + оролдоорой.</para> + </note> + + <para><link + linkend="cvsup">CVSup</link> болон <emphasis>anoncvs</emphasis> + үйлчилгээнүүд нь хоюул үндсэндээ адил үүргийг гүйцэтгэдэг гэж бас хэлж + болох боловч синхрончлол хийх аргуудын хэрэглэгчийн сонголтод + нөлөөлж болох төрөл бүрийн сул болон давуу талуудтай байдаг. Товчхондоо + <application>CVSup</application> нь өөрийн сүлжээний эх үүсвэрүүдийн + хэрэглээндээ илүү үр ашигтай бөгөөд техникийн хувьд хамгийн + ухаалаг нь боловч ажиллагаа ихтэй байдаг. <application>CVSup</application>-г + ашиглахын тулд эхүүдийг авч эхлэхээсээ өмнө тусгай клиентийг эхлээд суулгаж тохируулсан + байх ёстой бөгөөд зөвхөн дараа нь нэлээн том хэмжээтэй хэсгүүдээр + <application>CVSup</application> нь <emphasis>цуглуулгуудыг</emphasis> + дууддаг.</para> + + <para>Харин <application>Anoncvs</application>-г + нэг файлаас авахуулаад тусгай програм (<command>ls</command> эсвэл + <command>grep</command> гэх зэрэг) хүртэлх бүгдийг CVS модулийн нэрээр нь + шалгахад ашиглаж болно. Мэдээж <application>anoncvs</application> + нь CVS архив дээрх зөвхөн уншигдах үйлдлүүдэд бас сайн болохоор + хэрэв та FreeBSD төслийн хэсгүүдтэй хуваалцсан нэг архив дахь локал + хөгжүүлэлтийг дэмжих зорилготой байгаа бол <application>CVSup</application> нь + таны цорын ганц сонголт байх юм.</para> + </sect2> + + <sect2> + <title><anchor id="anoncvs-usage">Нэргүй CVS-г ашиглах нь</title> + + <para>Ердөө л <envar>CVSROOT</envar> орчны хувьсагчийг FreeBSD төслийн + <emphasis>anoncvs</emphasis> серверүүдийн аль нэг уруу зааснаар + &man.cvs.1;-ийг нэргүй CVS архив ашиглахаар тохируулах юм. + Биднийг энэ баримтыг бичиж байх үед дараах серверүүд байгааг дурдав:</para> + + <itemizedlist> + <listitem> + <para><emphasis>Австри</emphasis>: + :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs + (<command>cvs login</command> тушаалыг ашиглаж асуух үед нь дурын нууц үг оруулна.)</para> + </listitem> + <listitem> + <para><emphasis>Франц</emphasis>: + :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs + (pserver (нууц үг <quote>anoncvs</quote>), ssh (нууц үггүй)) + </para> + </listitem> + <listitem> + <para><emphasis>Герман</emphasis>: + :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs + (<command>cvs login</command> тушаалыг ашиглаж асуух үед нь + <quote>anoncvs</quote> нууц үгийг оруулна.)</para> + </listitem> + <listitem> + <para><emphasis>Герман</emphasis>: + :pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs + (rsh, pserver, ssh, ssh/2022) + </para> + </listitem> + <listitem> + <para><emphasis>Япон</emphasis>: + :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs + (<command>cvs login</command> тушаалыг ашиглаж асуух үед нь + <quote>anoncvs</quote> нууц үгийг оруулна.)</para> + </listitem> + <listitem> + <para><emphasis>Тайван</emphasis>: + :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs + (<command>cvs login</command> тушаалыг ашиглаж асуух үед нь дурын нууц үг оруулна.)</para> + </listitem> + <listitem> + <para><emphasis>АНУ</emphasis>: + freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs + (зөвхөн ssh - нууц үггүй)</para> + + <programlisting>SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu +SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub</programlisting> + + </listitem> + <listitem> + <para><emphasis>АНУ</emphasis>: + anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (зөвхөн ssh2 - нууц үггүй)</para> + + <programlisting>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</programlisting> + + </listitem> + </itemizedlist> + + <para>CVS нь FreeBSD-ийн хэзээ нэгэн цагт байсан (эсвэл зарим тохиолдолд ирээдүйд байх) + эхүүдийн бараг л дурын хувилбарыг <quote>check out</quote> буюу шалгаж авах + боломжийг олгодог болохоор та &man.cvs.1;-ийн залруулалт (<option>-r</option>) + туг болон түүнд зориулагдсан зарим зөвшөөрөгдөх ямар утгууд FreeBSD төслийн архивт байдгийг + мэддэг байх хэрэгтэй.</para> + + <para>Залруулалтын хаягууд болон салбарын хаягууд гэсэн хоёр төрлийн хаяг байдаг. + Залруулалтын хаяг нь тухайн залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт + ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь + хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг + заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм.</para> + + <para><xref linkend="cvs-tags"> нь хэрэглэгчдийн сонирхож болох + залруулалтуудын хаягуудыг агуулдаг. Дахин хэлэхэд портын цуглуулга нь + олон залруулалтгүй учир эдгээрийн аль нь ч портын цуглуулгын хувьд зөв биш + юм.</para> + + <para>Та салбарын хаягийг заах юм бол тэр хөгжүүлэлтийн шугам дахь + файлуудын сүүлийн хувилбаруудыг хүлээн авах болно. Хэрэв та ямар нэг өнгөрсөн + хувилбарыг хүлээн авахыг хүсэж байгаа бол <option>-D date</option> + тугаар огноог заан тэгж хийж болно. Илүү дэлгэрэнгүйг &man.cvs.1; + гарын авлагын хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Жишээнүүд</title> + + <para>Ямар нэг юм хийхээсээ өмнө &man.cvs.1;-ийн гарын авлагын хуудсыг + нэг бүрчлэн уншихыг зөвлөдөг хэдий ч нэргүй CVS-ийг хэрхэн ашиглахыг харуулж + байгаа зарим жишээнүүдийг энд үзүүлэв:</para> + + <example> + <title>-CURRENT-с ямар нэгэн зүйл шалгаж авах нь (&man.ls.1;):</title> + + <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs</userinput> +&prompt.user; <userinput>cvs login</userinput> +<emphasis>At the prompt, enter the password</emphasis> <quote>anoncvs</quote>. +&prompt.user; <userinput>cvs co ls</userinput> + </screen> + </example> + + <example> + <title><filename>src/</filename> модыг шалгаж авахын тулд SSH-г ашиглах нь:</title> + <screen>&prompt.user; <userinput>cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src</userinput> +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. +Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput> +Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.</screen> + </example> + + <example> + <title>6-STABLE салбар дахь &man.ls.1;-ийн хувилбарыг шалгаж авах нь:</title> + + <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs</userinput> +&prompt.user; <userinput>cvs login</userinput> +<emphasis>At the prompt, enter the password</emphasis> <quote>anoncvs</quote>. +&prompt.user; <userinput>cvs co -rRELENG_6 ls</userinput> + </screen> + </example> + + <example> + <title>&man.ls.1;-д хийгдсэн өөрчлөлтүүдийн жагсаалтыг (нэгдсэн ялгаанууд хэлбэрээр) үүсгэх нь</title> + + <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs</userinput> +&prompt.user; <userinput>cvs login</userinput> +<emphasis>At the prompt, enter the password</emphasis> <quote>anoncvs</quote>. +&prompt.user; <userinput>cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls</userinput> + </screen> + </example> + + <example> + <title>Өөр бусад ямар модулийн нэрс ашиглагдаж болохыг олох нь:</title> + + <screen>&prompt.user; <userinput>setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs</userinput> +&prompt.user; <userinput>cvs login</userinput> +<emphasis>At the prompt, enter the password</emphasis> <quote>anoncvs</quote>. +&prompt.user; <userinput>cvs co modules</userinput> +&prompt.user; <userinput>more modules/modules</userinput> + </screen> + </example> + </sect2> + + <sect2> + <title>Бусад эх үүсвэрүүд</title> + + <para>Дараах нэмэлт эх үүсвэрүүд нь CVS-ийг сурахад тус болж болох юм:</para> + + <itemizedlist> + <listitem> + <para>Кал Полигийн <ulink + url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">CVS заавар</ulink>.</para> + </listitem> + + <listitem> + <para><ulink url="http://ximbiot.com/cvs/wiki/">CVS гэр</ulink>, + CVS-ийн хөгжүүлэлт болон дэмжлэгийн нийгэм.</para> + </listitem> + + <listitem> + <para><ulink + url="http://www.FreeBSD.org/cgi/cvsweb.cgi">CVSweb</ulink> нь + FreeBSD төслийн CVS-д зориулсан вэб интерфэйс юм.</para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + + <sect1 id="ctm"> + <title>CTM-г ашиглах нь</title> + + <indexterm> + <primary>CTM</primary> + </indexterm> + + <para><application>CTM</application> нь алсын сангийн модыг төвтэй + синхрончлол хийхэд зориулсан арга юм. Энэ нь FreeBSD-ийн эх моднуудтай + ашиглахад зориулагдаж хөгжүүлэгдсэн бөгөөд цаг хугацаа өнгөрөх тусам бусад хүмүүс + бусад зорилгоор хэрэглэхэд ашигтайг мэдэж болох юм. Дельтанууд үүсгэх процессийн + талаар бараг баримт байхгүй болохоор бас хэрэв та <application>CTM</application>-г + бусад зүйлсэд зориулж ашиглахыг хүсэж байгаа бол дэлгэрэнгүй мэдээллийн талаар + &a.ctm-users.name; захидлын жагсаалтад хандана уу.</para> + + <sect2> + <title><application>CTM</application>-г би яагаад ашиглах ёстой вэ?</title> + + <para><application>CTM</application> нь танд FreeBSD эх моднуудын локал + хуулбарыг өгдөг. Модны төрөл бүрийн <quote>хэлбэрүүд</quote> байдаг. + Таны бүхэл CVS мод эсвэл аль нэг салбаруудын нэгийг дагахыг хүсэж байгаагаас + хамаарч <application>CTM</application> нь танд мэдээлэл өгч чадна. + Та FreeBSD-ийн идэвхтэй хөгжүүлэгч боловч олиггүй юм уу эсвэл TCP/IP холболт байхгүй + эсвэл өөрчлөлтүүдийг автоматаар тан руу илгээгддэг байлгахыг хүсэж байгаа + бол <application>CTM</application> нь танд зориулагджээ. + Та хамгийн идэвхтэй салбаруудын хувьд өдөрт гурав хүртэлх дельтануудыг авах + хэрэгтэй болно. Гэхдээ та тэдгээрийг автомат цахим захидлаар илгээгддэг + байхыг бодох хэрэгтэй. Шинэчлэлтүүдийн хэмжээг үргэлж аль болох бага байлгадаг. + Энэ ихэвчлэн 5K-с бага байдаг, хааяа (арваас нэгт) 10-50K хэмжээтэй + байдаг бөгөөд заримдаа том 100K+ эсвэл илүү бас байдаг.</para> + + <para>Та урьдчилан багцалсан хувилбарын оронд хөгжүүлэлтийн эхүүд дээр + шууд ажиллахтай холбоотой гардаг төрөл бүрийн анхааруулгуудын талаар бас + мэдэж байх хэрэгтэй болно. Энэ нь таныг <quote>current</quote> + эхүүдийг сонгох тохиолдолд ялангуяа үнэн байдаг. Таныг + <link linkend="current">FreeBSD-ийн одоо үеийн хэлбэрт байх нь</link> + хэсгийг уншихыг зөвлөдөг.</para> + </sect2> + + <sect2> + <title><application>CTM</application>-г ашиглахад надад юу хэрэгтэй вэ?</title> + + <para>Танд хоёр зүйл хэрэгтэй: <application>CTM</application> + програм болон түүнийг тэжээх эхний дельтанууд (<quote>current</quote> + түвшингүүдэд хүрэхийн тулд).</para> + + <para><application>CTM</application> програм нь хувилбар 2.0 гарснаас + хойш FreeBSD-ийн хэсэг болж ирсэн бөгөөд хэрэв танд эх байгаа бол энэ нь + <filename>/usr/src/usr.sbin/ctm</filename> санд байдаг.</para> + + <para><application>CTM</application>-г тэжээх <quote>дельтануудыг</quote> + нь FTP эсвэл цахим захидал гэсэн хоёр аргаар авч болно. Хэрэв танд Интернет уруу + хандах ерөнхий FTP хандалт байгаа бол дараах FTP сайтууд нь <application>CTM</application>-д + хандахыг дэмждэг:</para> + + <para><ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/"></ulink></para> + + <para>эсвэл <link + linkend="mirrors-ctm">толин тусгалууд</link> хаягийг үзнэ үү.</para> + + <para>тохирох сан руу FTP хийгээд <filename>README</filename> + файлыг татаж аваад тэндээс эхлээрэй.</para> + + <para>Хэрэв та өөрийн дельтануудыг цахим захидлаар авахыг хүсэж байгаа бол:</para> + + <para><application>CTM</application> түгээлтийн жагсаалтуудын + аль нэгэнд бүртгүүлэх хэрэгтэй. &a.ctm-cvs-cur.name; нь + бүхэл CVS модыг дэмждэг. &a.ctm-src-cur.name; нь + хөгжүүлэлтийн салбарын толгойг дэмждэг. &a.ctm-src-4.name; нь + 4.X хувилбарыг дэмждэг, гэх мэт. (Хэрэв та өөрийгөө жагсаалтад + хэрхэн бүртгүүлэхийг мэдэхгүй байгаа бол дээрх жагсаалтын нэрэн дээр + дарах юм уу эсвэл &a.mailman.lists.link; уруу очоод + өөрийн хүсэж байгаа жагсаалтан дээрээ дарах хэрэгтэй. Бүртгэхэд + шаардлагатай бүгдийг жагсаалтын хуудас агуулсан байх ёстой.)</para> + + <para>Өөрийн <application>CTM</application> шинэчлэлтүүдийг + хүлээн авч эхлэхдээ та тэдгээрийг задалж ашиглахдаа <command>ctm_rmail</command> + тушаал ашиглаж болох юм. Хэрэв та процессийг бүрэн автомат загвараар + ажилладаг байлгахыг хүсэж байгаа бол <filename>/etc/aliases</filename> + файл дахь оруулгаас <command>ctm_rmail</command> програмыг + шууд ашиглаж болох юм. Илүү дэлгэрэнгүйг <command>ctm_rmail</command>-ийн + гарын авлагын хуудаснаас шалгана уу.</para> + + <note> + <para><application>CTM</application> дельтануудыг авах ямар + аргыг ашиглаж байгаагаас үл хамааран та &a.ctm-announce.name; + захидлын жагсаалтад бүртгүүлэх хэрэгтэй. Ирээдүйд + <application>CTM</application> системийн ажиллагааны талаарх + зарлалууд илгээгдэх газар нь зөвхөн энэ болох юм. + Дээрх жагсаалтын нэрэн дээр дарж жагсаалтад бүртгүүлэхийн тулд + заавруудыг дагах хэрэгтэй.</para> + </note> + </sect2> + + <sect2> + <title><application>CTM</application>-г эхний удаа хэрэглэх</title> + + <para><application>CTM</application> дельтануудыг ашиглаж эхлэхээсээ + өмнө дельтанууд дараа дараагийн удаа үүсгэгдэхэд нь зориулж та эхлэх цэг дээр ирэх + хэрэгтэй болно.</para> + + <para>Танд юу байгааг эхлээд тодорхойлох хэрэгтэй. Бүгд + <quote>хоосон</quote> сангаас эхэлж болно. Өөрийн <application>CTM</application>-ээр + дэмжигдсэн модыг эхлүүлэхийн тулд та эхний <quote>Empty</quote> буюу хоосон + дельтаг ашиглах ёстой. Тодорхой нэг цэгт эдгээр <quote>started</quote> буюу + эхэлсэн дельтануудын аль нэгийг өөрийн хүслээр CD дээр түгээж болохоор энэ нь + зориулагдсан боловч одоогоор тийм юм болоогүй байгаа билээ.</para> + + <para>Моднууд нь хэдэн арван мегабайт байдаг болохоор өөртөө байгаагаас эхлэхийг + эрхэмлэх ёстой юм. Хэрэв танд -RELEASE CD байгаа бол та эхний эхийг түүнэс хуулж эсвэл + задалж болох юм. Энэ нь өгөгдлийн чухал дамжуулалтыг хэмнэх болно.</para> + + <para>Та эдгээр <quote>starter</quote> буюу эхлэх дельтануудыг + дугаарт нэмэгдсэн <literal>X</literal>-ээр таньж болно + (жишээ нь <filename>src-cur.3210XEmpty.gz</filename>). + <literal>X</literal>-ийн дараах тэмдэглээс нь таны эхний <quote>seed</quote> + буюу үрийн үүсэлд харгалзана. Дүрмээр бол <literal>Empty</literal> буюу + хоосноос шилжих үндсэн шилжилт нь 100 дельта бүрээс үүсгэгдэнэ. + Ингэхэд тэдгээр нь том байна! <filename>XEmpty</filename> + дельтануудын хувьд 70-аас 80 мегабайт <command>gzip</command> хийгдсэн + өгөгдөл нь нийтлэг байдаг.</para> + + <para>Эхлэх анхдагч дельтаг сонгосны дараа танд түүний дараах өндөр дугааруудтай + бүх дельтанууд хэрэгтэй болно.</para> + </sect2> + + <sect2> + <title>Өөрийн өдөр тутмын амьдралдаа <application>CTM</application>-г ашиглах нь</title> + + <para>Дельтануудыг өгөхийн тулд ердөө л дараахийг хийнэ:</para> + + <screen>&prompt.root; <userinput>cd /where/ever/you/want/the/stuff</userinput> +&prompt.root; <userinput>ctm -v -v /where/you/store/your/deltas/src-xxx.*</userinput></screen> + + <para><application>CTM</application> нь <command>gzip</command>-ээр + тавигдсан дельтануудыг ойлгодог болохоор та тэдгээрийг эхлээд + <command>gunzip</command> хийх хэрэггүй юм. Энэ нь дискийн зай + хэмнэх болно.</para> + + <para>Бүх процессийн талаар маш нууцлаг гэж бодоогүй л бол + <application>CTM</application> нь таны модыг хөндөхгүй байх болно. + Дельтаг шалгахын тулд та <option>-c</option> тугийг бас ашиглаж + болох бөгөөд <application>CTM</application> нь таны модыг + үнэндээ хөндөхгүй; энэ нь зөвхөн дельтаны бүрэн бүтэн байдлыг шалгаж + таны одоогийн модонд цэвэр хийгдэх эсэхийг л үздэг.</para> + + <para><application>CTM</application>-д өгөгдөх бусад сонголтууд + бас байдаг бөгөөд эдгээрийг гарын авлагын хуудаснуудаас үзнэ үү, + эсвэл илүү дэлгэрэнгүйг эхүүдээс хайна уу.</para> + + <para>Ингээд л бүгд бараг болж байна. Шинэ дельта авах бүртээ + өөрийн эхүүдийг хамгийн сүүлийн хувилбарт аваачихын тулд түүнийг + <application>CTM</application>-ээр ажиллуулах хэрэгтэй.</para> + + <para>Дельтануудыг дахин татаж авахад хэцүү байгаа бол битгий + устгаарай. Ямар нэг муу юм болж болзошгүй гэж үзээд тэдгээрийг та + хаа нэгтэй хадгалахыг хүсэж болох юм. Танд зөвхөн уян диск байсан ч + гэсэн <command>fdwrite</command> тушаалыг ашиглан хуулбар хийх + нь зүйтэй.</para> + </sect2> + + <sect2> + <title>Өөрийн локал өөрчлөлтүүдийг хадгалах нь</title> + + <para>Хөгжүүлэгчийн хувьд эх модыг өөрчлөх эсвэл түүн дээр турших хүсэл төрж + болох юм. <application>CTM</application> нь локал өөрчлөлтүүдийг + хязгаарлалттайгаар дэмждэг: <filename>foo</filename> файлыг байгаа + эсэхийг шалгахын өмнө <filename>foo.ctm</filename> файлыг эхлээд + хайдаг. Хэрэв энэ файл байвал <application>CTM</application> нь + <filename>foo</filename>-ийн оронд энэ файл дээр ажилладаг.</para> + + <para>Энэ нь бидэнд локал өөрчлөлтүүдийг хялбараар арчлах боломжийг + олгодог: өөрийн өөрчлөх төлөвлөгөөтэй байгаа файлуудаа <filename>.ctm</filename> + өргөтгөлтэй болгон хуулах хэрэгтэй. Дараа нь та кодыг чөлөөтэй оролдож + болох бөгөөд <application>CTM</application> нь <filename>.ctm</filename> + файлыг хамгийн сүүлийн хэлбэрт байлгах болно.</para> + </sect2> + + <sect2> + <title><application>CTM</application>-ийн бусад сонирхолтой сонголтууд</title> + + <sect3> + <title>Шинэчлэлтээр яг юу хөндөгдөхийг олох</title> + + <para>Та өөрийн эх архивт <application>CTM</application>-ийн + хийх өөрчлөлтүүдийн жагсаалтыг <option>-l</option> + сонголтыг <application>CTM</application>-д + өгөн тодорхойлж болно.</para> + + <para>Та өөрчлөлтүүдийн бүртгэлүүдийг хадгалах, өөрчлөгдсөн файлуудад + урьдчилан эсвэл дараа нь боловсруулалт хийх эсвэл ердөө л хэтэрхий зовниж + байгаа бол энэ нь ашигтай юм.</para> + </sect3> + + <sect3> + <title>Шинэчлэхээсээ өмнө нөөцлөлтүүд хийх</title> + + <para>Заримдаа та <application>CTM</application> шинэчлэлтээр + өөрчлөгдөх бүх файлуудыг нөөцөлж авахыг хүсэж болох юм.</para> + + <para><option>-B backup-file</option> сонголтыг зааснаар + <application>CTM</application>-ийг өгөгдсөн + <application>CTM</application> дельтагаар хөндөгдөх бүх + файлуудыг нөөцөлж <filename>backup-file</filename> руу + хадгалахад хүргэнэ.</para> + </sect3> + + <sect3> + <title>Шинэчлэлтээр хөндөгдөх файлуудыг хязгаарлах</title> + + <para>Заримдаа та өгөгдсөн <application>CTM</application> шинэчлэлтийн + хүрээг хязгаарлах сонирхолтой эсвэл дельтануудын дарааллаас цөөн + хэдэн файлуудыг задлах сонирхолтой байж болох юм.</para> + + <para><application>CTM</application>-ийн ажилладаг файлуудын + жагсаалтыг та <option>-e</option> болон <option>-x</option> + сонголтуудыг ашиглан шүүлт хийх регулар илэрхийллүүдийг заан хянаж + болно.</para> + + <para>Жишээ нь өөрийн хадгалсан <application>CTM</application> дельтануудын + цуглуулгаас <filename>lib/libc/Makefile</filename>-ийн + хамгийн сүүлийн хуулбарыг задалж авахын тулд дараах тушаалуудыг + ажиллуулна:</para> + + <screen>&prompt.root; <userinput>cd /where/ever/you/want/to/extract/it/</userinput> +&prompt.root; <userinput>ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*</userinput></screen> + + <para><application>CTM</application> дельтанд заагдсан файл бүрийн + хувьд тушаалын мөрөнд өгөгдсөн дарааллаар <option>-e</option> + болон <option>-x</option> сонголтуудыг өгсөн. + Файл нь бүх <option>-e</option> болон + <option>-x</option> сонголтууд түүнд өгөгдсөний дараа + зөвхөн сонгогдох эрхтэй гэж тэмдэглэгдсэн бол <application>CTM</application>-ээр + боловсруулагддаг.</para> + </sect3> + </sect2> + + <sect2> + <title><application>CTM</application>-ийн ирээдүйн төлөвлөгөөнүүд</title> + + <para>Маш их:</para> + + <itemizedlist> + <listitem> + <para><application>CTM</application>-ийн хуурамч шинэчлэлтүүдийг + илрүүлэхийн тулд <application>CTM</application> системд ямар нэгэн нэвтрэлт танилт + ашиглах.</para> + </listitem> + + <listitem> + <para><application>CTM</application>-ийн сонголтуудыг цэвэрлэх, + тэдгээр нь толгой эргүүлэм, зөн совингийн эсрэг болсон.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Бусад зүйлс</title> + + <para><literal>ports</literal> цуглуулгад зориулсан дельтануудын + дараалал бас байдаг боловч сонирхол тийм ч өндөр байдаггүй.</para> + </sect2> + + <sect2 id="mirrors-ctm"> + <title>CTM толин тусгалууд</title> + + <para><link linkend="ctm">CTM</link>/FreeBSD нь дараах толин тусгал сайтууд дахь + нэргүй FTP-ээр хандаж авах боломжтой байдаг. Хэрэв та <application>CTM</application>-г + нэргүй FTP-ээр авахыг сонгосон бол өөртөө ойр сайтыг оролдож үзнэ үү.</para> + + <para>Асуудал гарсан тохиолдолд &a.ctm-users.name; захидлын жагсаалтад + хандана уу.</para> + + <variablelist> + <varlistentry> + <term>Калифорни, Bay Area, албан ёсны эх</term> + + <listitem> + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Өмнөд Африк, хуучин дельтануудад зориулсан нөөц сервер</term> + + <listitem> + <itemizedlist> + <listitem> + <para><ulink url="ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/"></ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Тайван/R.O.C.</term> + + <listitem> + <itemizedlist> + <listitem> + <para><ulink url="ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> + </listitem> + + <listitem> + <para><ulink url="ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> + </listitem> + + <listitem> + <para><ulink url="ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/"></ulink></para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + </variablelist> + + <para>Хэрэв та өөртөө ойрхон толин тусгалыг олоогүй бол эсвэл толин тусгал нь + бүрэн биш байгаа бол <ulink url="http://www.alltheweb.com/">alltheweb</ulink> + зэрэг хайлтын системийг ашиглаад үзээрэй.</para> + </sect2></sect1> + + <sect1 id="cvsup"> + <title>CVSup-г ашиглах нь</title> + + <sect2 id="cvsup-intro"> + <title>Танилцуулга</title> + + <para><application>CVSup</application> нь алсын сервер хост дээр + байгаа мастер CVS архиваас эх модыг шинэчлэх болон түгээхэд зориулагдсан + програм хангамжийн багц юм. FreeBSD-ийн эхүүд Калифорни дахь төв хөгжүүлэлтийн + машин дээрх CVS архивт арчлагдаж байдаг. <application>CVSup</application>-ийн + тусламжтай FreeBSD хэрэглэгчид өөрсдийн эх модыг хялбараар хамгийн сүүлийн + хэлбэрт аваачиж чаддаг байна.</para> + + <para><application>CVSup</application> нь шинэчлэлтийн + <emphasis>pull</emphasis> буюу <emphasis>татах</emphasis> загварыг + ашигладаг. Татах загвар дээр клиент бүр серверээс шинэчлэлтийг хүссэн үедээ + эсвэл хэрэгтэй үедээ асуудаг. Сервер нь өөрийн хэрэглэгчдээс ирэх хүсэлтүүдийг + идэвхгүйгээр хүлээж байдаг. Сервер хэзээ ч хүсээгүй шинэчлэлтүүдийг илгээдэггүй. + Хэрэглэгчид нь шинэчлэлтийг авахын тулд <application>CVSup</application> + клиентийг гараар ажиллуулах юм уу эсвэл түүнийг автоматаар давтамжтайгаар + ажиллуулахын тулд <command>cron</command> ажил тохируулах ёстой болно.</para> + + <para>Ингэж том үсгээр бичсэн <application>CVSup</application> ухагдахуун нь + бүхэл програм хангамжийн багцыг хэлнэ. Түүний гол бүрэлдэхүүн хэсгүүд нь + хэрэглэгч бүрий машин дээр ажилладаг <command>cvsup</command> клиент, ба + FreeBSD-ийн толин тусгал сайтууд дээр ажиллаж байдаг <command>cvsupd</command> + сервер юм.</para> + + <para>FreeBSD-ийн баримт болон захидлын жагсаалтуудыг уншиж байхдаа та + <application>sup</application> гэж хэлснийг харж болох юм. + <application>Sup</application> нь <application>CVSup</application>-ийн + өмнөх үе бөгөөд ижил зорилгоор ашиглагддаг байсан. <application>CVSup</application> + нь sup-тай бараг л адилаар ашиглагддаг бөгөөд үнэндээ <command>sup</command> + ашиглаж болохоор тохиргооны файлуудыг ашигладаг. <application>CVSup</application> + нь илүү хурдан бөгөөд уян хатан учраас <application>Sup</application> + нь FreeBSD төсөлд ашиглагдахаа больсон.</para> + + <note> + <para><application>csup</application> хэрэгсэл нь <application>CVSup</application>-г + C дээр бичсэн хувилбар юм. Үүний хамгийн том давуу тал бол илүү хурдан бөгөөд + Modula-3 хэлээс хамаардаггүй, тиймээс та түүнийг суулгах шаардлагагүй байдаг. + Мөн хэрэв та &os; 6.2 юм уу эсвэл түүнээс хойшхи хувилбаруудыг ашиглаж байгаа + бол түүнийг шууд ашиглаж болно, учир нь энэ нь үндсэн системд орсон байдаг. + Хуучин &os; хувилбаруудын үндсэн системд &man.csup.1; байдаггүй, гэхдээ + та <filename role="package">net/csup</filename> портууд юм уу эсвэл + урьдчилан эмхэтгэсэн багцыг хялбархан суулгаж болно. + <application>csup</application> хэрэгсэл нь гэхдээ CVS горимыг дэмждэггүй. + Хэрэв та бүрэн архивыг толин тусгал хийхийг хүсэж байгаа бол <application>CVSup</application>-г + ашиглах хэрэгтэй болно. Хэрэв та <application>csup</application>-г ашиглахаар + шийдсэн бол <application>CVSup</application>-ийн суулгалт дахь алхмуудыг + алгасаж энэ нийтлэлийн үлдсэн хэсгийг дагаж байхдаа + <application>CVSup</application> гэснийг <application>csup</application> + болгож солиорой.</para> + </note> + </sect2> + + <sect2 id="cvsup-install"> + <title>Суулгалт</title> + + <para><application>CVSup</application>-г суулгах хамгийн хялбар арга бол + FreeBSD-ийн <link linkend="ports">багцын цуглуулга</link>ас + урьдчилан эмхэтгэсэн <filename role="package">net/cvsup</filename> + багцыг ашиглах явдал юм. Хэрэв та <application>CVSup</application>-г + эхээс бүтээхийг эрхэмлэж байгаа бол <filename role="package">net/cvsup</filename> + портыг ашиглаарай. Гэхдээ урьдчилан анхааруулъя: <filename role="package">net/cvsup</filename> + порт нь Modula-3 системээс хамаардаг бөгөөд үүнийг татан авч суулгахад ихээхэн + хэмжээний дискийн зай болон хугацаа шаарддаг.</para> + + <note> + <para>Хэрэв та <application>&xfree86;</application> эсвэл <application>&xorg;</application> + зэрэг суулгагдаагүй сервер машин дээр <application>CVSup</application>-г ашиглах гэж байгаа + бол <application>CVSup</application> <acronym>GUI</acronym>-г агуулаагүй + <filename role="package">net/cvsup-without-gui</filename> портыг ашиглах + хэрэгтэй.</para> + </note> + + <para>Хэрэв та <application>csup</application>-г FreeBSD 6.1 эсвэл + түүнээс өмнөх хувилбаруудад суулгахыг хүсэж байгаа бол + FreeBSD-ийн <link linkend="ports">багцын цуглуулга</link>ас + урьдчилан эмхэтгэсэн <filename role="package">net/csup</filename> + багцыг ашиглаж болно. Хэрэв та <application>csup</application>-г + эхээс бүтээхийг эрхэмлэж байгаа бол <filename role="package">net/csup</filename> + портыг ашиглаж болно.</para> + </sect2> + + <sect2 id="cvsup-config"> + <title>CVSup тохиргоо</title> + + <para><application>CVSup</application>-ийн ажиллагаа <filename>supfile</filename> + гэгддэг тохиргооны файлаар хянагддаг. + <ulink type="html" + url="file://localhost/usr/share/examples/cvsup/"><filename>/usr/share/examples/cvsup/</filename></ulink> + санд зарим жишээ <filename>supfiles</filename> байдаг.</para> + + <para><filename>supfile</filename> дахь мэдээлэл + <application>CVSup</application>-д зориулж дараах асуултуудад + хариулдаг:</para> + + <itemizedlist> + <listitem> + <para><link linkend="cvsup-config-files">Ямар файлуудыг та хүлээн авахыг хүсэж + байна вэ?</link></para> + </listitem> + + <listitem> + <para><link linkend="cvsup-config-vers">Тэдгээрийн ямар хувилбаруудыг та хүсэж + байна вэ?</link></para> + </listitem> + + <listitem> + <para><link linkend="cvsup-config-where">Тэдгээрийг та хаанаас авахыг хүсэж + байна вэ?</link></para> + </listitem> + + <listitem> + <para><link linkend="cvsup-config-dest">Та тэдгээрийг өөрийн машиныхаа + хаана байрлуулахыг хүсэж байна вэ?</link></para> + </listitem> + + <listitem> + <para><link linkend="cvsup-config-status">Та өөрийн төлөвийн файлуудыг + хаана байрлуулахыг хүсэж байна вэ?</link></para> + </listitem> + </itemizedlist> + + <para>Дараах хэсгүүдэд бид эдгээр асуултуудад хариулан түгээмэл + <filename>supfile</filename>-г бүтээх болно. Эхлээд бид + <filename>supfile</filename>-ийн ерөнхий бүтцийг тайлбарлах + болно.</para> + + <para><filename>supfile</filename> нь текст файл юм. Тайлбарууд + нь <literal>#</literal> тэмдэгтээс эхэлж мөр дуустал үргэлжилнэ. + Хоосон мөрнүүд болон зөвхөн тайлбараас тогтох мөрүүдийг орхидог.</para> + + <para>Үлдэж байгаа мөр болгон хэрэглэгчийн авахыг хүсэж байгаа файлуудын + цуглуулгыг тайлбарладаг. Мөр нь файлуудын <quote>цуглуулга</quote> буюу + файлуудын логик бүлэглэлийн нэрээс эхэлдэг бөгөөд эдгээрийг сервер + тодорхойлдог. Цуглуулгын нэр таны аль файлуудыг хүсэж байгааг серверт + хэлдэг. Цуглуулгын нэрийн дараа талбарууд байхгүй эсвэл байж болох + бөгөөд зайгаар тусгаарлагдсан байна. Эдгээр талбарууд нь дээрх + асуултуудад хариулдаг. Хоёр төрлийн талбар байдаг: тугны талбарууд ба + утгын талбарууд. Тугны талбар нь ганцаараа байгаа түлхүүр үгнээс + тогтдог, өөрөөр хэлбэл <literal>delete</literal> эсвэл + <literal>compress</literal> байна. Утгын талбар нь бас + түлхүүр үгээс эхлэх боловч хоосон зайгаар тусгаарлагдалгүйгээр + <literal>=</literal> болон хоёр дахь үгээс тогтоно. Жишээ нь + <literal>release=cvs</literal> нь утгын талбар юм.</para> + + <para><filename>supfile</filename> ихэвчлэн нэгээс илүү цуглуулгыг + хүлээн авахаар заасан байдаг. <filename>supfile</filename>-г + зохион байгуулах нэг арга нь цуглуулга бүрийн хувьд харгалзах бүх + талбаруудыг зааж өгөх явдал юм. Гэхдээ энэ нь <filename>supfile</filename>-ий + мөрүүдийг нэлээн урт болгодог бөгөөд <filename>supfile</filename> дахь + цуглуулгуудын бүгдийн хувьд ихэнх талбарууд нь ижил байдаг болохоор + таагүй юм. <application>CVSup</application> нь эдгээр асуудлуудыг + тойрон гарах анхдагч болгох арга замтай байдаг. Тусгай псевдо цуглуулгын + нэр <literal>*default</literal>-р эхэлсэн мөрүүд нь + тугнууд болон <filename>supfile</filename> дахь дараа дараачийн + цуглуулгуудын хувьд анхдагч болж ашиглагдах утгуудыг заахад хэрэглэгддэг. + Анхдагч утгыг цуглуулгатай цуг өөр утгыг заан өгч тухайн цуглуулгын хувьд + өөрчилж болдог. Анхдагчуудыг дундын supfile-д + нэмэлт <literal>*default</literal> мөрүүдээр өөрчилж эсвэл дарж + болдог.</para> + + <para>Ийм мэдээлэлтэйгээр бид одоо <link + linkend="current">FreeBSD-CURRENT</link>-ийн гол эх модыг + хүлээн авч шинэчлэхэд зориулсан <filename>supfile</filename>-г + бүтээх болно.</para> + + <itemizedlist> + <listitem> + <para><anchor id="cvsup-config-files">Ямар файлуудыг та хүлээн авахыг хүсэж + байна вэ?</para> + + <para><application>CVSup</application>-аар авах боломжтой файлууд нь + <quote>collections</quote> буюу цуглуулгууд гэгддэг бүлгүүдэд + хуваагдан зохион байгуулагддаг. Байгаа цуглуулгууд нь + <link + linkend="cvsup-collec">дараах хэсэгт</link> тайлбарлагдсан + байгаа. Энэ жишээн дээр бид FreeBSD-ийн хувьд бүх гол эхийг авахыг хүсэж + байна. <literal>src-all</literal> гэсэн ганц том цуглуулга + бидэнд үүнийг өгөх болно. <filename>supfile</filename>-аа + бүтээх эхний алхам болгож бид цуглуулгуудыг нэг мөрөнд нэгийг + тавьж жагсаана (энэ тохиолдолд зөвхөн нэг мөр байна):</para> + + <programlisting>src-all</programlisting> + </listitem> + + <listitem> + <para><anchor id="cvsup-config-vers">Тэдгээрийн ямар хувилбаруудыг та хүсэж + байна вэ?</para> + + <para><application>CVSup</application>-ийн тусламжтай та хэзээ ч юм байсан + эхүүдийн бараг ямар ч хувилбарыг хүлээн авч чадна. + <application>cvsupd</application> сервер нь бүх хувилбаруудыг агуулсан + CVS архиваас шууд ажилладаг болохоор энэ нь боломжтой юм. Та тэдгээрийн + алийг хүсэж байгаагаа <literal>tag=</literal> болон <option>date=</option> + утга талбаруудыг ашиглан зааж өгч болно.</para> + + <warning> + <para><literal>tag=</literal> талбарыг зөв зааж өгөхдөө анхааралтай + байх хэрэгтэй. Зарим хаягууд нь зөвхөн файлуудын зарим цуглуулгуудын + хувьд зөв байдаг. Хэрэв та буруу эсвэл буруу бичсэн хаягийг зааж өгөх юм + бол магадгүй таны устгахыг хүсээгүй файлуудыг <application>CVSup</application> нь + устгах юм. Ялангуяа <literal>ports-*</literal> + цуглуулгуудын хувьд <emphasis>зөвхөн</emphasis> + <literal>tag=.</literal>-г ашиглаарай.</para> + </warning> + + <para><literal>tag=</literal> талбар нь симболын хаягийг архивт + нэрлэдэг. Хоёр төрлийн хаяг байдаг бөгөөд эдгээр нь + залруулалтын хаягууд болон салбарын хаягууд юм. Залруулалтын + хаяг нь тухайн нэг залруулалтыг заадаг. + Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын + хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн + залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг + заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр + байж болох юм.</para> + + <para><xref linkend="cvs-tags"> нь хэрэглэгчдийн сонирхож болох + салбарын хаягуудыг агуулдаг. <application>CVSup</application>-ийн + тохиргооны файлд хаягийг зааж өгөхдөө өмнө нь <literal>tag=</literal> + гэж өгөх ёстой (<literal>RELENG_4</literal> нь + <literal>tag=RELENG_4</literal> болно). + Зөвхөн <literal>tag=.</literal> нь портын цуглуулгад + хамааралтай болохыг санаарай.</para> + + <warning> + <para>Хаягийн нэрийг яг үзүүлсэн шиг бичихдээ анхааралтай байгаарай. + <application>CVSup</application> нь зөв болон буруу + хаягуудыг ялгаж чаддаггүй. Хэрэв та хаягийг буруу бичвэл + <application>CVSup</application> нь + таныг зөв хаяг өгсөн гэж ойлгон ажиллах бөгөөд энэ нь ямар ч файлуудыг + заагаагүйд хүргэж болох юм. Энэ тохиолдолд энэ нь танд байгаа + эхүүдийг устгах болно.</para> + </warning> + + <para>Салбарын хаягийг заахад та тэр хөгжүүлэлтийн шугамын + файлуудын хамгийн сүүлийн хувилбаруудыг авах болно. + Хэрэв та ямар нэг өнгөрсөн хувилбарыг авахыг хүсвэл <option>date=</option> + талбарт огноог заан хийж өгч болно. &man.cvsup.1; гарын + авлагын хуудас үүнийг хэрхэн хийхийг тайлбарладаг.</para> + + <para>Бидний жишээний хувьд FreeBSD-CURRENT-г авахыг бид хүсэж байна. + Бид энэ мөрийг өөрсдийн <filename>supfile</filename>-ийн + эхэнд нэмнэ:</para> + + <programlisting>*default tag=.</programlisting> + + <para>Хэрэв та <literal>tag=</literal> талбар эсвэл <literal>date=</literal> + талбарын алийг ч зааж өгөөгүй бол чухал тусгай тохиолдол гарч + ирнэ. Энэ тохиолдолд тодорхой нэг хувилбарыг хүлээн авахын оронд + серверийн CVS архиваас RCS файлуудыг шууд хүлээн авдаг. + Ажиллагааны ийм горимыг хөгжүүлэгчид ерөнхийдөө эрхэмлэдэг. + Өөрсдийн системүүд дээр архивын хуулбарыг арчилснаар тэд + залруулалтын түүхийг хайж файлуудын өнгөрсөн хувилбаруудыг шалгах + боломжтой болох юм. Гэхдээ энэ хонжоо нь дискийн зайны хувьд + их өртөгтэйгээр орж ирдэг.</para> + </listitem> + + <listitem> + <para><anchor id="cvsup-config-where">Тэдгээрийг та хаанаас авахыг хүсэж + байна вэ?</para> + + <para>Бид <literal>host=</literal> талбарыг ашиглан <command>cvsup</command>-д + өөрийн шинэчлэлтүүдийг хаанаас авахыг хэлж өгдөг. <link linkend="cvsup-mirrors">CVSup + толин тусгал сайтууд</link>ын аль нь ч болох боловч та өөрийн кибер + ертөнцдөө ойрхныг турших хэрэгтэй. Энэ жишээн дээр бид + зохиомол FreeBSD түгээлтийн сайт + <hostid role="fqdn">cvsup99.FreeBSD.org</hostid>-г ашиглах + болно:</para> + + <programlisting>*default host=cvsup99.FreeBSD.org</programlisting> + + <para>Та <application>CVSup</application>-г ашиглахаасаа өмнө + үнэн хэрэг дээрээ байгаа жинхэнэ хостоор солих хэрэгтэй болно. + <command>cvsup</command>-г ажиллуулах үедээ та хостын тохируулгыг + тушаалын мөрөөс <option>-h + <replaceable>hostname</replaceable></option> сонголтоор + өөрчлөн дарж болно.</para> + </listitem> + + <listitem> + <para><anchor id="cvsup-config-dest">Та тэдгээрийг өөрийн машиныхаа + хаана байрлуулахыг хүсэж байна вэ?</para> + + <para><literal>prefix=</literal> талбар нь хүлээн авсан файлуудыг + хаана байрлуулахыг <command>cvsup</command> хэлнэ. + Энэ жишээн дээр бид эх файлуудыг өөрсдийн гол эх модны <filename>/usr/src</filename> + байрлалд шууд байрлуулах болно. <filename>src</filename> сан нь + бидний хүлээн авахаар сонгосон цуглуулгад далд байгаа болохоор + энэ нь зөв юм:</para> + + <programlisting>*default prefix=/usr</programlisting> + </listitem> + + <listitem> + <para><anchor id="cvsup-config-status"><command>cvsup</command> + өөрийн төлөвийн файлуудыг хаана арчлах ёстой вэ?</para> + + <para><application>CVSup</application> клиент нь <quote>base</quote> + буюу үндсэн гэгддэг сан дахь зарим төлөвийн файлуудыг арчилж байдаг. + Эдгээр файлууд нь ямар шинэчлэлтүүдийг та аль хэдийн хүлээн авсныг + хянаж <application>CVSup</application>-ийг илүү үр ашигтай + ажиллахад тусалдаг. Бид стандарт үндсэн сан <filename>/var/db</filename>-г + ашиглах болно:</para> + + <programlisting>*default base=/var/db</programlisting> + + <para>Хэрэв таны үндсэн сан байхгүй байгаа бол одоо түүнийг үүсгэх + хугацаа болсон байна. Хэрэв үндсэн сан байхгүй бол + <command>cvsup</command> ажиллахаас татгалзах болно.</para> + </listitem> + + <listitem> + <para><filename>supfile</filename>-ийн бусад + тохиргоонууд:</para> + + <para><filename>supfile</filename>-д ерөнхийдөө байх ёстой бас нэг + мөр байдаг:</para> + + <programlisting>*default release=cvs delete use-rel-suffix compress</programlisting> + + <para><literal>release=cvs</literal> нь сервер гол FreeBSD CVS + архиваас өөрийн мэдээллийг авах ёстойг зааж байна. Энэ нь + бараг үргэлж тохиолддог, хэдийгээр бусад боломжууд байдаг боловч + энэ хэлэлцүүлгийн хүрээнээс хальдаг.</para> + + <para><literal>delete</literal> нь + <application>CVSup</application>-д файлууд устгах зөвшөөрөл өгдөг. + <application>CVSup</application> нь таны эх модыг байнга + хамгийн сүүлийн хэлбэрт байлгадаг байхын тулд та үүнийг үргэлж + зааж өгөх хэрэгтэй. <application>CVSup</application> нь + өөрийн хариуцдаг зөвхөн тэр файлуудыг устгах тал дээр их анхааралтай + ажилладаг. Танд байж болох нэмэлт файлууд тэр хэвээрээ үлддэг.</para> + + <para> + + <literal>use-rel-suffix</literal> нь ... ойлгоход төвөгтэй юм. + Хэрэв та үүний тухай жинхэнээсээ мэдье гэж хүсэж байгаа бол + &man.cvsup.1; гарын авлагын хуудаснаас үзнэ үү. Хэрэв тийм биш бол + ердөө заагаад л тэгээд санаа зовох хэрэггүй юм.</para> + + <para><literal>compress</literal> нь холбооны суваг дээр + gzip загварын шахалтын хэрэглээг идэвхжүүлдэг. Хэрэв таны + сүлжээний холболт T1 эсвэл түүнээс хурдан бол та магадгүй + шахалтыг ашиглах хэрэггүй юм. Хэрэв үгүй бол энэ нь бодитойгоор + тусалдаг.</para> + </listitem> + + <listitem> + <para>Бүгдийг нийлүүлбэл:</para> + + <para>Энд бидний жишээнд зориулсан бүхэл <filename>supfile</filename> + байна:</para> + + <programlisting>*default tag=. +*default host=cvsup99.FreeBSD.org +*default prefix=/usr +*default base=/var/db +*default release=cvs delete use-rel-suffix compress + +src-all</programlisting> + </listitem> + </itemizedlist> + <sect3 id="cvsup-refuse-file"> + <title><filename>refuse</filename> файл</title> + + <para>Дээр дурдсанаар <application>CVSup</application> нь + <emphasis>татах аргыг</emphasis> ашигладаг. Энэ нь юу гэсэн үг вэ гэхээр + та <application>CVSup</application> сервер руу холбогдох бөгөөд + энэ нь <quote>Над дээрээс татаж авах боломжтой зүйлс энэ байна...</quote> + гэж хэлэх бөгөөд таны клиент <quote>OK, Би энэ,энэ, энийг авна.</quote> + гэж хариулна гэсэн үг юм. Анхдагч тохиргоон дээр + <application>CVSup</application> клиент нь таны тохиргооны файлд сонгосон хаяг болон + цуглуулгатай холбоотой бүх файлыг авна. Гэхдээ үүнийг та үргэлж хүсэхгүй байх, + ялангуяа хэрэв та <filename>doc</filename>, <filename>ports</filename>, эсвэл + <filename>www</filename> моднуудыг авч байгаа бол үүнийг хийхийг хүсэхгүй + байх — ихэнх хүмүүс дөрөв эсвэл таван хэлийг уншиж чаддаггүй + бөгөөд тиймээс тэдэнд хэлтэй холбоотой файлуудыг татаж авах хэрэггүй байдаг. + Хэрэв та портын цуглуулгыг <application>CVSup</application> хийж байгаа + бол та цуглуулга бүрийг тусад нь заан өгч үүнийг тойрон гарч болно + (өөрөөр хэлбэл, <emphasis>ports-astrology</emphasis>, + <emphasis>ports-biology</emphasis>, гэх мэтээр <emphasis>ports-all</emphasis> + гэхийн оронд). Гэхдээ <filename>doc</filename> + болон <filename>www</filename> моднууд нь хэлтэй холбоотой цуглуулгуудтай байдаггүй + болохоор та <application>CVSup</application>-ийн олон сайн боломжуудын + нэгийг ашиглах ёстой нь <filename>refuse</filename> юм.</para> + + <para><filename>refuse</filename> файл нь үндсэндээ + <application>CVSup</application>-д цуглуулгаас файл болгоныг + татаж авахгүй гэдгийг хэлдэг; өөрөөр хэлбэл клиентэд серверээс зарим + файлууд татаж авахаас <emphasis>татгалзахыг</emphasis> хэлж өгдөг. + <filename>refuse</filename> файл нь + <filename><replaceable>base</replaceable>/sup/</filename> сангаас + олдож болно (эсвэл хэрэв танд ийм файл байхгүй байгаа бол түүнийг дээрх санд байрлуулах + хэрэгтэй). <replaceable>base</replaceable> нь таны <filename>supfile</filename>-д + тодорхойлогдсон байдаг; бидний тодорхойлсон <replaceable>base</replaceable> нь + <filename>/var/db</filename> бөгөөд энэ нь анхдагчаар + <filename>refuse</filename> файл нь <filename>/var/db/sup/refuse</filename> + гэсэн үг юм.</para> + + <para><filename>refuse</filename> файл нь маш хялбар хэлбэршилттэй байдаг; + энэ нь таны татаж авахыг хүсээгүй файлууд эсвэл сангуудын нэрийг агуулдаг. + Жишээ нь хэрэв та Англи болон Германаар бага зэрэг ярьдгаас өөр хэлээр + ярьдаггүй бөгөөд баримтын Герман орчуулгыг авах сонирхолгүй байвал + өөрийн <filename>refuse</filename> файлд дараах:</para> + + <screen>doc/bn_* +doc/da_* +doc/de_* +doc/el_* +doc/es_* +doc/fr_* +doc/it_* +doc/ja_* +doc/nl_* +doc/no_* +doc/pl_* +doc/pt_* +doc/ru_* +doc/sr_* +doc/tr_* +doc/zh_*</screen> + + <para>мөрүүд болон гэх мэтээр бусад хэлнүүдийн хувьд оруулж өгөх хэрэгтэй + (та бүрэн жагсаалтыг <ulink + url="http://www.FreeBSD.org/cgi/cvsweb.cgi/">FreeBSD + CVS архивыг</ulink> шалган олж болно).</para> + + <para>Энэ ашигтай боломжийг ашиглан удаан холболттой юм уу эсвэл өөрсдийн + Интернетийн холболтод минутаар төлдөг хэрэглэгчид үнэ цэнэтэй хугацаагаа + хэмнэх болно. Учир нь тэд өөрсдийн хэзээ ч ашиглахгүй файлаа татаж авах + шаардлагагүй болох юм. <application>CVSup</application>-ийн + <filename>refuse</filename> файлууд болон бусад сайхан боломжуудын + талаар илүү мэдээллийг түүний гарын авлагын хуудаснаас үзнэ үү.</para> + </sect3> + </sect2> + + <sect2> + <title><application>CVSup</application>-г ажиллуулах нь</title> + + <para>Одоо та шинэчлэлт хийж үзэхэд бэлэн боллоо. Үүнийг хийх тушаалын мөр + их амархан:</para> + + <screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen> + + <para>энд байгаа <filename><replaceable>supfile</replaceable></filename> нь + таны дөнгөж үүсгэсэн <filename>supfile</filename>-ийн нэр юм. + Таныг X11 дээр ажиллаж байна гэж үзвэл <command>cvsup</command> нь + энгийн зүйлсийг хийх зарим товчлууруудтай GUI цонхыг үзүүлэх болно. + <guibutton>go</guibutton> товчлуурыг дарж ажиллахыг нь хараарай.</para> + + <para>Та энэ жишээн дээр өөрийн жинхэнэ <filename>/usr/src</filename> + модыг шинэчилж байгаа болохоор <command>cvsup</command> нь + таны файлуудыг шинэчлэхэд шаардлагатай зөвшөөрлүүдтэй байхын тулд + та програмыг <username>root</username> эрхээс ажиллуулах хэрэгтэй + болно. Өөрийн тохиргооны файлыг дөнгөж үүсгэсэн бөгөөд урьд нь энэ програмыг + хэзээ ч ашиглаж байгаагүй бол таныг бухимдуулж магадгүй юм. Өөрийн файлуудыг + хөндөлгүйгээр туршилтын журмаар ажиллуулах хялбар арга байдаг. + Хаа нэгтээ хоосон сан үүсгээд түүнийг тушаалын мөрөнд нэмэлт өгөгдлөөр оруулж + өгнө:</para> + + <screen>&prompt.root; <userinput>mkdir /var/tmp/dest</userinput> +&prompt.root; <userinput>cvsup supfile /var/tmp/dest</userinput></screen> + + <para>Таны заасан сан бүх файлын шинэчлэлтүүдийн хувьд очих сан болдог. + <application>CVSup</application> нь <filename>/usr/src</filename> сан + доторх таны энгийн файлуудыг шалгадаг, гэхдээ тэдгээрийн алийг ч өөрчлөх буюу + устгахгүй. Файлын шинэчлэлтүүд харин <filename>/var/tmp/dest/usr/src</filename> + санд хийгдэнэ. <application>CVSup</application> нь ингэж ажиллахдаа бас + өөрийн үндсэн сангийн төлөвийн файлуудыг өөрчлөлгүйгээр үлдээдэг. + Тэдгээр файлуудын шинэ хувилбарууд заагдсан сан уруу бичигдэх болно. + Танд <filename>/usr/src</filename> сан уруу унших эрх л байхад + иймэрхүү туршилтын ажиллагааг гүйцэтгэхэд <username>root</username> + эрх байх заавал шаардлагагүй юм.</para> + + <para>Хэрэв та X11-г ажиллуулахгүй байгаа юм уу эсвэл танд GUI таалагддаггүй бол + <command>cvsup</command>-г ажиллуулахдаа тушаалын мөрөн дээр + хоёр сонголтыг нэмж өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>supfile</replaceable></userinput></screen> + + <para><option>-g</option> сонголт нь <application>CVSup</application>-д + өөрийн GUI-г ашиглахгүйг хэлнэ. Хэрэв та X11-ийг ажиллуулахгүй байгаа бол + энэ автомат байдаг, үгүй бол та үүнийг зааж өгөх хэрэгтэй.</para> + + <para><option>-L 2</option> нь <application>CVSup</application>-д + хийж байгаа бүх шинэчлэлтүүдийнхээ талаар дэлгэрэнгүй мэдээллийг үзүүлэхийг + хэлж өгнө. Гурван түвшний харуулах горим байдаг бөгөөд энэ нь + <option>-L 0</option>-с <option>-L 2</option> хүртэл байна. Анхдагч нь + 0 байх бөгөөд энэ нь алдааны мэдэгдлээс бусдыг харуулахгүй.</para> + + <para>Бусад олон сонголтууд байдаг. Тэдгээрийн товч жагсаалтыг үзэхийн тулд + <command>cvsup -H</command> гэж бичнэ. Илүү дэлгэрэнгүй тайлбаруудын + талаар гарын авлагын хуудсыг үзнэ үү.</para> + + <para>Шинэчлэлт ажилладаг аргад сэтгэл ханамжтай болсныхоо дараа + та <application>CVSup</application>-г давтамжтайгаар ажиллуулахын тулд + &man.cron.8; ашиглан хийж өгч болно. Мэдээж та &man.cron.8;-с + <application>CVSup</application>-г ажиллуулахдаа өөрийнхөө GUI-г + ашиглахгүй болгох хэрэгтэй.</para> + </sect2> + + <sect2 id="cvsup-collec"> + <title><application>CVSup</application>-ийн файлын цуглуулгууд</title> + + <para><application>CVSup</application>-ийн файлын цуглуулгууд нь шатлалтайгаар + зохион байгуулагдсан байдаг. Цөөн том цуглуулгууд байдаг бөгөөд тэдгээр нь + арай жижиг дэд цуглуулгуудад хуваагддаг. Том цуглуулгыг хүлээн авах нь + түүний дэд цуглуулгууд тус бүрийг хүлээн авахтай адил юм. Цуглуулга хоорондын + шаталсан холбоонууд нь доорх жагсаалт дахь догол ашиглалтаар тусгагддаг.</para> + + <para>Хамгийн түгээмэл хэрэглэгддэг цуглуулгууд нь <literal>src-all</literal>, + болон <literal>ports-all</literal> юм. Бусад цуглуулгуудыг тусгай зорилгоор + зөвхөн жижиг бүлэг хүмүүс ашигладаг бөгөөд зарим толин тусгал сайтууд тэдгээрийг + бүгдийг агуулдаггүй байж болох юм.</para> + + <variablelist> + <varlistentry> + <term><literal>cvs-all release=cvs</literal></term> + + <listitem> + <para>Криптограф кодыг оролцуулаад FreeBSD-ийн гол CVS архив.</para> + + <variablelist> + <varlistentry> + <term><literal>distrib release=cvs</literal></term> + + <listitem> + <para>FreeBSD-ийн түгээлт болон толин тусгал хийхтэй холбоотой файлууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>doc-all release=cvs</literal></term> + <listitem> + <para>FreeBSD гарын авлагын эхүүд ба бусад баримт. Энэ нь FreeBSD-ийн + вэб сайтын файлуудыг агуулдаггүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-all release=cvs</literal></term> + + <listitem> + <para>FreeBSD-ийн портын цуглуулга.</para> + + <important id="cvsup-collec-pbase-warn"> + <para>Хэрэв та бүхэл <literal>ports-all</literal>-г (бүх портын мод) + шинэчлэхийг хүсэхгүй байгаа бөгөөд доор жагсаагдсан дэд цуглуулгуудын + нэгийг ашиглаж байгаа бол <literal>ports-base</literal> + дэд цуглуулгыг шинэчилсэн эсэхээ <emphasis>үргэлж</emphasis> + шалгаж байх хэрэгтэй. <literal>ports-base</literal>-ээр + танилцуулагдсан портын бүтээлтийн дэд бүтцэд ямар нэгэн өөрчлөлт + орох болгонд тэдгээр өөрчлөлтүүд нь <quote>жинхэнэ</quote> + портуудад тун удахгүй ашиглагдах нь бараг л тодорхой байдаг юм. + Тиймээс хэрэв та зөвхөн <quote>жинхэнэ</quote> портуудыг + шинэчилж тэдгээр нь шинэ боломжуудын заримыг ашигладаг бол + тэдгээрийн бүтээлт нь зарим нэг ид шидийн алдааны мэдэгдэлтэйгээр + амжилтгүй болох маш их магадлалтай юм. Энэ тохиолдолд + <emphasis>хамгийн эхэнд</emphasis> хийх зүйл бол + таны <literal>ports-base</literal> дэд цуглуулга + хамгийн сүүлийн үеийнх эсэхийг шалгах хэрэгтэй юм.</para> + </important> + + <important id="cvsup-collec-index-warn"> + <para>Хэрэв та <filename>ports/INDEX</filename>-ийн + өөрийн локал хуулбарыг бүтээх гэж байгаа бол + <literal>ports-all</literal> буюу бүх портыг + хүлээж авах <emphasis>ёстой</emphasis> (бүх портын мод). + <filename>ports/INDEX</filename>-г хэсэг модтой бүтээхийг + дэмждэггүй. <ulink url="&url.books.faq;/applications.html#MAKE-INDEX"> + FAQ</ulink> хаягийг үзнэ үү.</para> + </important> + + <variablelist> + <varlistentry> + <term><literal>ports-accessibility + release=cvs</literal></term> + + <listitem> + <para>Хөгжлийн бэрхшээлтэй хэрэглэгчдэд туслахад зориулсан програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-arabic + release=cvs</literal></term> + + <listitem> + <para>Араб хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-archivers + release=cvs</literal></term> + + <listitem> + <para>Архивлах хэрэгслүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-astro + release=cvs</literal></term> + + <listitem> + <para>Одон оронтой холбоотой портууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-audio + release=cvs</literal></term> + + <listitem> + <para>Дууны дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-base + release=cvs</literal></term> + + <listitem> + <para>Портын цуглуулгын бүтээх дэд бүтэц - + төрөл бүрийн файлууд <filename>/usr/ports</filename> + сангийн <filename>Mk/</filename> болон + <filename>Tools/</filename> дэд сангуудад байрладаг.</para> + + <note> + <para><link + linkend="cvsup-collec-pbase-warn">Дээрх чухал + анхааруулгыг</link> үзнэ үү: та FreeBSD-ийн + портын цуглуулгын ямар ч хэсгийг шинэчлэхдээ + энэ дэд цуглуулгыг <emphasis>үргэлж</emphasis> + шинэчилж байх хэрэгтэй!</para> + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-benchmarks + release=cvs</literal></term> + + <listitem> + <para>Бенчмаркууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-biology + release=cvs</literal></term> + + <listitem> + <para>Биолог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-cad + release=cvs</literal></term> + + <listitem> + <para>Компьютерийн тусламжтай дизайн хийх хэрэгслүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-chinese + release=cvs</literal></term> + + <listitem> + <para>Хятад хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-comms + release=cvs</literal></term> + + <listitem> + <para>Холбооны програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-converters + release=cvs</literal></term> + + <listitem> + <para>тэмдэгтийн код хөрвүүлэгчид.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-databases + release=cvs</literal></term> + + <listitem> + <para>Мэдээллийн баазууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-deskutils + release=cvs</literal></term> + + <listitem> + <para>Компьютер зохион бүтээгдэхээс өмнө + ширээн дээр байдаг байсан зүйлс.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-devel + release=cvs</literal></term> + + <listitem> + <para>Хөгжүүлэлтийн багажууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-dns + release=cvs</literal></term> + + <listitem> + <para>DNS-тэй холбоотой програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-editors + release=cvs</literal></term> + + <listitem> + <para>Засварлагчид.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-emulators + release=cvs</literal></term> + + <listitem> + <para>Бусад үйлдлийн системүүдэд зориулсан эмуляторууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-finance + release=cvs</literal></term> + + <listitem> + <para>Банк, санхүү болон тэдгээртэй холбоотой програмууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-ftp + release=cvs</literal></term> + + <listitem> + <para>FTP клиент ба серверийн багажууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-games + release=cvs</literal></term> + + <listitem> + <para>Тоглоомууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-german + release=cvs</literal></term> + + <listitem> + <para>Герман хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-graphics + release=cvs</literal></term> + + <listitem> + <para>Графикийн багажууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-hebrew + release=cvs</literal></term> + + <listitem> + <para>Хебрю хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-hungarian + release=cvs</literal></term> + + <listitem> + <para>Унгар хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-irc + release=cvs</literal></term> + + <listitem> + <para>Internet Relay Chat буюу чалчих багажууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-japanese + release=cvs</literal></term> + + <listitem> + <para>Япон хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-java + release=cvs</literal></term> + + <listitem> + <para>&java; багажууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-korean + release=cvs</literal></term> + + <listitem> + <para>Солонгос хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-lang + release=cvs</literal></term> + + <listitem> + <para>Програмчлалын хэлнүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-mail + release=cvs</literal></term> + + <listitem> + <para>Захидлын програмууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-math + release=cvs</literal></term> + + <listitem> + <para>Тоо тооцоолох програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-mbone + release=cvs</literal></term> + + <listitem> + <para>MBone програмууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-misc + release=cvs</literal></term> + + <listitem> + <para>Бусад багажууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-multimedia + release=cvs</literal></term> + + <listitem> + <para>Мультимедиа програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-net + release=cvs</literal></term> + + <listitem> + <para>Сүлжээний програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-net-im + release=cvs</literal></term> + + <listitem> + <para>Шуурхай мэдэгдэл (instant messaging) илгээх програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-net-mgmt + release=cvs</literal></term> + + <listitem> + <para>Сүлжээний удирдлагын програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-net-p2p + release=cvs</literal></term> + + <listitem> + <para>p2p сүлжээ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-news + release=cvs</literal></term> + + <listitem> + <para>USENET мэдээний програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-palm + release=cvs</literal></term> + + <listitem> + <para><trademark class="trade">Palm</trademark> төрлийн + төхөөрөмжүүдэд зориулсан програм хангамжийн дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-polish + release=cvs</literal></term> + + <listitem> + <para>Польш хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-ports-mgmt + release=cvs</literal></term> + + <listitem> + <para>Портууд болон багцуудыг удирдах багажууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-portuguese + release=cvs</literal></term> + + <listitem> + <para>Португал хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-print + release=cvs</literal></term> + + <listitem> + <para>Хэвлэлтийн програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-russian + release=cvs</literal></term> + + <listitem> + <para>Орос хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-science + release=cvs</literal></term> + + <listitem> + <para>Шинжлэх ухаан.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-security + release=cvs</literal></term> + + <listitem> + <para>Аюулгүй байдлын хэрэгслүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-shells + release=cvs</literal></term> + + <listitem> + <para>Тушаалын мөрийн бүрхүүлүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-sysutils + release=cvs</literal></term> + + <listitem> + <para>Системийн хэрэгслүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-textproc + release=cvs</literal></term> + + <listitem> + <para>текст боловсруулах хэрэгслүүд (ширээний хэвлэл ордоггүй).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-ukrainian + release=cvs</literal></term> + + <listitem> + <para>Украйн хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-vietnamese + release=cvs</literal></term> + + <listitem> + <para>Вьетнам хэлний дэмжлэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-www + release=cvs</literal></term> + + <listitem> + <para>World Wide + Web-тэй холбоотой програм хангамж.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11 + release=cvs</literal></term> + + <listitem> + <para>X Цонхны системийг дэмжих портууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-clocks + release=cvs</literal></term> + + <listitem> + <para>X11 цагнууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fm + release=cvs</literal></term> + + <listitem> + <para>X11 файл менежерүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-fonts + release=cvs</literal></term> + + <listitem> + <para>X11 үсгийн маягууд ба үсгийн маягийн хэрэгслүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-toolkits + release=cvs</literal></term> + + <listitem> + <para>X11 багажны цуглуулгууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-servers + release=cvs</literal></term> + + <listitem> + <para>X11 серверүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-themes + release=cvs</literal></term> + + <listitem> + <para>X11 харуулах маягууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ports-x11-wm + release=cvs</literal></term> + + <listitem> + <para>X11 цонхны менежерүүд.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>projects-all release=cvs</literal></term> + <listitem> + <para>FreeBSD төслийн архив дахь эхүүд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-all release=cvs</literal></term> + + <listitem> + <para>Криптограф кодыг оролцуулаад FreeBSD-ийн гол эхүүд.</para> + + <variablelist> + <varlistentry> + <term><literal>src-base + release=cvs</literal></term> + + <listitem> + <para><filename>/usr/src</filename> сангийн дээр байрлах + бусад файлууд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-bin + release=cvs</literal></term> + + <listitem> + <para>Ганц хэрэглэгчийн горимд хэрэг болох хэрэглэгчийн багажууд + (<filename>/usr/src/bin</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-contrib + release=cvs</literal></term> + + <listitem> + <para>Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг + FreeBSD төслөөс гаднах хэрэгслүүд ба сангууд + (<filename>/usr/src/contrib</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-crypto release=cvs</literal></term> + + <listitem> + <para>Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг + FreeBSD төслөөс гаднах криптограф хэрэгслүүд ба сангууд + (<filename>/usr/src/crypto</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-eBones release=cvs</literal></term> + + <listitem> + <para>Kerberos ба DES + (<filename>/usr/src/eBones</filename>). FreeBSD-ийн + одоогийн хувилбаруудад ашигладаггүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-etc + release=cvs</literal></term> + + <listitem> + <para>Системийн тохиргооны файлууд + (<filename>/usr/src/etc</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-games + release=cvs</literal></term> + + <listitem> + <para>Тоглоомууд + (<filename>/usr/src/games</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-gnu + release=cvs</literal></term> + + <listitem> + <para>GNU Нийтийн Лицензтэй хэрэгслүүд + (<filename>/usr/src/gnu</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-include + release=cvs</literal></term> + + <listitem> + <para>Толгой файлууд + (<filename>/usr/src/include</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-kerberos5 + release=cvs</literal></term> + + <listitem> + <para>Kerberos5 аюулгүй байдлын багц + (<filename>/usr/src/kerberos5</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-kerberosIV + release=cvs</literal></term> + + <listitem> + <para>KerberosIV аюулгүй байдлын багц + (<filename>/usr/src/kerberosIV</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-lib + release=cvs</literal></term> + + <listitem> + <para>Сангууд + (<filename>/usr/src/lib</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-libexec + release=cvs</literal></term> + + <listitem> + <para>Бусад програмуудаар ажилладаг системийн програмууд + (<filename>/usr/src/libexec</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-release + release=cvs</literal></term> + + <listitem> + <para>FreeBSD хувилбар гаргахад шаардагдах файлууд + (<filename>/usr/src/release</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-sbin release=cvs</literal></term> + + <listitem> + <para>Ганц хэрэглэгчийн горимд зориулсан системийн хэрэгслүүд + (<filename>/usr/src/sbin</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-secure + release=cvs</literal></term> + + <listitem> + <para>Криптограф сангууд ба тушаалууд + (<filename>/usr/src/secure</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-share + release=cvs</literal></term> + + <listitem> + <para>Олон системүүдийн хооронд хуваалцаж болох файлууд + (<filename>/usr/src/share</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-sys + release=cvs</literal></term> + + <listitem> + <para>Цөм + (<filename>/usr/src/sys</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-sys-crypto + release=cvs</literal></term> + + <listitem> + <para>Цөмийн криптограф код + (<filename>/usr/src/sys/crypto</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-tools + release=cvs</literal></term> + + <listitem> + <para>FreeBSD-г арчлахад зориулсан төрөл бүрийн хэрэгслүүд + (<filename>/usr/src/tools</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-usrbin + release=cvs</literal></term> + + <listitem> + <para>Хэрэглэгчийн хэрэгслүүд + (<filename>/usr/src/usr.bin</filename>).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>src-usrsbin + release=cvs</literal></term> + + <listitem> + <para>Системийн хэрэгслүүд + (<filename>/usr/src/usr.sbin</filename>).</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>www release=cvs</literal></term> + + <listitem> + <para>FreeBSD WWW сайтын эх.</para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>distrib release=self</literal></term> + + <listitem> + <para><application>CVSup</application> серверийн өөрийн + тохиргооны файлууд. <application>CVSup</application> + толин тусгал сайтуудад хэрэглэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>gnats release=current</literal></term> + + <listitem> + <para>GNATS алдаа мөрдөх мэдээллийн бааз.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>mail-archive release=current</literal></term> + + <listitem> + <para>FreeBSD захидлын жагсаалтын архив.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>www release=current</literal></term> + + <listitem> + <para>Урьдчилан боловсруулсан FreeBSD WWW сайтын файлууд + (эх файлууд биш). WWW толин тусгал сайтуудад хэрэглэгддэг.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2> + <title>Дэлгэрэнгүй мэдээллийг</title> + + <para><application>CVSup</application> FAQ болон бусад + <application>CVSup</application>-ийн талаарх мэдээллийг + <ulink url="http://www.polstra.com/projects/freeware/CVSup/"> + CVSup гэрийн хуудас</ulink> хаягаас үзнэ үү.</para> + + <para>Ихэнх FreeBSD-тэй холбоотой <application>CVSup</application>-ийн + хэлэлцүүлэг &a.hackers;-д болдог. Програмын шинэ хувилбар тэнд, бас + &a.announce;-д зарлагддаг.</para> + + <para>Асуултууд болон алдааны тайлангуудыг програмын зохиогч <email>cvsup-bugs@polstra.com</email> + руу хаяглах ёстой.</para> + </sect2> + + <sect2 id="cvsup-mirrors"> + <title>CVSup сайтууд</title> + + <para>FreeBSD-д зориулсан <link linkend="cvsup">CVSup</link> серверүүд дараах хаягууд дээр + ажиллаж байгаа:</para> + + &chap.mirrors.cvsup.inc; + </sect2> + </sect1> + + <sect1 id="portsnap"> + <title>Portsnap-г ашиглах нь</title> + + <sect2 id="portsnap-intro"> + <title>Танилцуулга</title> + + <para><application>Portsnap</application> нь &os;-ийн портын модыг + аюулгүйгээр түгээхэд зориулагдсан систем юм. Дунджаар цаг тутам + портын модны <quote>snapshot</quote> буюу хормын хувилбар үүсгэгдэж + дахин багцлагдаж криптографийн хувьд баталгаажуулагддаг. Үүний үр дүнд гарсан + файлууд нь дараа нь HTTP-ээр түгээгддэг.</para> + + <para><application>CVSup</application>-ийн адил + <application>Portsnap</application> нь шинэчлэлтийн + <emphasis>pull</emphasis> буюу <emphasis>татах</emphasis> + загварыг ашигладаг: Багцлагдаж баталгаажуулагдсан портын моднууд + клиентүүдээс ирэх файлын хүсэлтийг идэвхгүйгээр хүлээж байдаг вэб сервер дээр + байрлуулагддаг. Хэрэглэгчид шинэчлэлтүүдийг татаж авахын тулд + &man.portsnap.8;-г гараар ажиллуулах эсвэл шинэчлэлтүүдийг автоматаар + тогтмол татаж авдгаар &man.cron.8; ажлыг тохируулах ёстой.</para> + + <para>Техникийн шалтгаануудаас болоод <application>Portsnap</application> + нь <quote>амьд</quote> портын модыг <filename>/usr/ports/</filename> + санд шууд шинэчилдэггүй; харин анхдагчаар <filename>/var/db/portsnap/</filename> + санд хадгалагдсан портын модны шахагдсан хуулбараар дамжуулан ажилладаг. + Энэ шахагдсан хуулбар нь дараа нь амьд портын модыг шинэчлэхэд хэрэглэгддэг.</para> + + <note> + <para>Хэрэв <application>Portsnap</application> нь &os;-ийн + портын цуглуулгаас суулгагдсан бол түүний шахагдсан хормын хувилбарт + зориулсан анхдагч байрлал нь <filename>/var/db/portsnap/</filename>-ийн + оронд <filename>/usr/local/portsnap/</filename> байх болно.</para> + </note> + </sect2> + + <sect2 id="portsnap-install"> + <title>Суулгалт</title> + + <para>&os; 6.0 болон сүүлийн хувилбарууд дээр <application>Portsnap</application> нь + &os; үндсэн систем дээр байдаг. &os;-ийн хуучин хувилбарууд дээр үүнийг + <filename role="package">ports-mgmt/portsnap</filename> портыг + ашиглан суулгаж болно.</para> + </sect2> + + <sect2 id="portsnap-config"> + <title>Portsnap-ийн тохиргоо</title> + + <para><application>Portsnap</application>-ийн ажиллагаа + <filename>/etc/portsnap.conf</filename> тохиргооны файлаар хянагддаг. + Ихэнх хэрэглэгчдийн хувьд анхдагч тохиргооны файл хангалттай; илүү дэлгэрэнгүйг + &man.portsnap.conf.5; гарын авлагын хуудаснаас лавлана уу.</para> + + <note> + <para>Хэрэв <application>Portsnap</application> нь &os;-ийн + портын цуглуулгаас суулгагдсан бол <filename>/etc/portsnap.conf</filename>-ийн + оронд <filename>/usr/local/etc/portsnap.conf</filename> тохиргооны файлыг + ашиглах болно. Энэ тохиргооны файл нь порт суулгагдах үед үүсгэгддэггүй, гэхдээ + жишээ тохиргооны файл түгээгддэг; түүнийг байрлал уруу нь хуулаад дараах + тушаалыг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf</userinput></screen> + </note> + </sect2> + + <sect2> + <title><application>Portsnap</application>-г эхний удаа ажиллуулах нь</title> + + <para>&man.portsnap.8; эхний удаа ажиллахдаа бүхэл портын модны шахагдсан + хормын хувилбарыг <filename>/var/db/portsnap/</filename> (хэрэв + <application>Portsnap</application> нь портын цуглуулгаас суулгагдсан бол + <filename>/usr/local/portsnap/</filename> байна) руу татаж + авах хэрэгтэй болдог. 2006 оны эхнээс эхлээд энэ нь ойролцоогоор 41 MB + татаж авахаар байна.</para> + + <screen>&prompt.root; <userinput>portsnap fetch</userinput></screen> + + <para>Шахагдсан хормын хувилбар татагдсаны дараа портын модны <quote>амьд</quote> + хуулбарыг <filename>/usr/ports/</filename> руу задалж болно. Энэ нь + портын модны аль хэсгүүд сүүлд шинэчлэгдэх ёстойг <command>portsnap</command> тодорхойлж + чадах үндсэн шугамыг тогтоож өгдөг болохоор портын мод (өөрөөр хэлбэл + <application>CVSup</application> ашиглан) энэ сан уруу үүсгэгдсэн + байсан ч гэсэн энэ үйлдэл шаардлагатай байдаг.</para> + + <screen>&prompt.root; <userinput>portsnap extract</userinput></screen> + + <note> + <para>Анхдагч суулгалтад <filename role="directory">/usr/ports</filename> + сан үүсгэгддэггүй. Хэрэв та &os; 6.0-RELEASE-г ажиллуулж байгаа бол + энэ нь <command>portsnap</command>-г ашиглаж эхлэхээс өмнө үүсгэгдсэн + байх ёстой. &os; эсвэл <application>Portsnap</application>-ийн сүүлийн + хувилбарууд дээр энэ үйлдэл нь <command>portsnap</command> тушаалыг + эхлэн ашиглахад автоматаар хийгдэх болно.<para> + </note> + </sect2> + + <sect2> + <title>Портын модыг шинэчлэх нь</title> + + <para>Портын модны эхний шахагдсан хормын хувилбар татагдаж + <filename>/usr/ports/</filename> руу задлагдсаны дараа + портын модыг шинэчлэх явц хоёр алхмаас тогтоно: шинэчлэлтүүдийг + шахагдсан хормын хувилбар руу <emphasis>татан</emphasis> авч + амьд портын модыг <emphasis>шинэчлэх</emphasis>ийн + тулд тэдгээрийг ашиглана. Эдгээр хоёр алхмыг <command>portsnap</command> + руу нэг тушаалаар зааж өгч болно:</para> + + <screen>&prompt.root; <userinput>portsnap fetch update</userinput></screen> + + <note> + <para><command>portsnap</command>-ийн зарим хуучин хувилбарууд + энэ бичлэгийг дэмждэггүй; хэрэв энэ нь амжилтгүй болвол дараахийг + туршаад үзээрэй:</para> + + <screen>&prompt.root; <userinput>portsnap fetch</userinput> +&prompt.root; <userinput>portsnap update</userinput></screen> + </note> + </sect2> + + <sect2> + <title>Portsnap-г cron-с ажиллуулах нь</title> + + <para><application>Portsnap</application> серверүүдэд + хандахад <quote>олон хүн</quote> холбогдсон асуудлуудыг + тойрон гарахын тулд <command>portsnap fetch</command> + тушаал нь &man.cron.8; ажлаас ажиллахгүй. Харин + тусгай <command>portsnap cron</command> тушаал байх + бөгөөд энэ нь шинэчлэлтүүдийг татаж авахаасаа өмнө + 3600 секунд хүртэл санамсаргүй хугацаагаар хүлээдэг.</para> + + <para>Мөн энэ нь порт бүтээгдэж байх үед юм уу эсвэл суулгагдаж байх үед ажиллавал + асуудлууд үүсгэх магадлалтай болохоор <command>portsnap update</command> + тушаалыг <command>cron</command> ажлаас ажиллуулахгүй + байхыг тууштай зөвлөдөг. Гэхдээ портын <filename>INDEX</filename> + файлуудыг шинэчлэх нь аюулгүй байдаг бөгөөд үүнийг <option>-I</option> + тугийг <command>portsnap</command> тушаалд өгч хийж болно. + (Мэдээж хэрэв <command>portsnap -I update</command> нь + <command>cron</command>-с ажиллавал үлдсэн модыг шинэчлэхийн + тулд <command>portsnap update</command> тушаалыг + <option>-I</option> туггүйгээр дараа нь ажиллуулах хэрэгтэй болно.)</para> + + <para>Дараах мөрийг <filename>/etc/crontab</filename> файлд + нэмэхэд <command>portsnap</command>-ийг өөрийн шахагдсан хормын + хувилбар болон <filename>INDEX</filename> файлуудыг + <filename>/usr/ports/</filename> санд шинэчлэж + суулгагдсан портуудаас хуучин портууд байвал цахим захидал илгээхэд + хүргэх болно:</para> + + <programlisting>0 3 * * * root portsnap -I cron update && pkg_version -vIL=</programlisting> + + <note> + <para>Хэрэв системийн цагийг локал цагийн бүс гэж тохируулаагүй бол + <application>Portsnap</application> серверүүд дээр ачааллыг + тэгш хуваарилахын тулд <literal>3</literal> гэдгийг 0-с 23-ын + хоорондох санамсаргүй утгаар солино уу.</para> + </note> + <note> + <para><command>portsnap</command>-ийн зарим хуучин хувилбарууд + <command>portsnap</command>-тай цуг зэрэг олон тушаалуудыг жагсаахыг дэмждэггүй + (өөрөөр хэлбэл <literal>cron update</literal>). Хэрэв + дээрх мөр амжилтгүй болвол <command>portsnap -I cron update</command> + тушаалыг <command>portsnap cron && portsnap -I update</command> + тушаалуудаар солиод үзээрэй.</para> + </note> + </sect2> + </sect1> + + <sect1 id="cvs-tags"> + <title>CVS Tags буюу хаягууд</title> + + <para><application>cvs</application> эсвэл + <application>CVSup</application> ашиглан эхийг авах юм уу эсвэл шинэчилж + байгаа үед revision tag буюу залруулалтын хаягийг зааж өгөх ёстой байдаг. + Залруулалтын хаяг нь &os; хөгжүүлэлтийн тодорхой нэг байх юм уу эсвэл + хугацааны тодорхой нэг цэг байдаг. Эхнийх нь <quote>branch tags</quote> + буюу <quote>салбарын хаягууд</quote> гэгддэг бөгөөд хоёр дахь нь + <quote>хувилбарын хаягууд</quote> гэгддэг.</para> + + <sect2> + <title>Салбарын хаягууд</title> + + <para><literal>HEAD</literal>-с (энэ нь үргэлж зөв хаяг байдаг) бусад бүх + хаягууд зөвхөн <filename>src/</filename> модонд хамаардаг. + <filename>ports/</filename>, <filename>doc/</filename>, болон + <filename>www/</filename> моднууд нь салбарладаггүй.</para> + + <variablelist> + <varlistentry> + <term>HEAD</term> + + <listitem> + <para>Гол шугамын симболын нэр, эсвэл FreeBSD-CURRENT. + Залруулалт заагаагүй тохиолдолд бас анхдагч байдаг.</para> + + <para><application>CVSup</application>-д энэ хаяг нь + <literal>.</literal> гэсэн тэмдэгтээр илэрхийлэгддэг + (цэг биш харин <literal>.</literal> тэмдэгт).</para> + + <note> + <para>CVS-д энэ нь залруулалт заагаагүй тохиолдолд анхдагч байдаг. + Хэрэв та өөрөө хүсээгүй л бол STABLE машин дээр CURRENT + эхийг татан авч шинэчлэх нь ихэвчлэн тийм ч сайн санаа + <emphasis>биш</emphasis> юм.</para> + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_6</term> + + <listitem> + <para>FreeBSD-6.X-д зориулсан хөгжүүлэлтийн шугам, бас + FreeBSD 6-STABLE гэгддэг</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_6_2</term> + + <listitem> + <para>FreeBSD-6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_6_1</term> + + <listitem> + <para>FreeBSD-6.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_6_0</term> + + <listitem> + <para>FreeBSD-6.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5</term> + + <listitem> + <para>FreeBSD-5.X-д зориулсан хөгжүүлэлтийн шугам, бас + FreeBSD 5-STABLE гэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_5</term> + + <listitem> + <para>FreeBSD-5.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_4</term> + + <listitem> + <para>FreeBSD-5.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_3</term> + + <listitem> + <para>FreeBSD-5.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_2</term> + + <listitem> + <para>FreeBSD-5.2 болон FreeBSD-5.2.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_1</term> + + <listitem> + <para>FreeBSD-5.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_0</term> + + <listitem> + <para>FreeBSD-5.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4</term> + + <listitem> + <para>FreeBSD-4.X-д зориулсан хөгжүүлэлтийн шугам, бас + FreeBSD 4-STABLE гэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_11</term> + + <listitem> + <para>FreeBSD-4.11-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_10</term> + + <listitem> + <para>FreeBSD-4.10-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_9</term> + + <listitem> + <para>FreeBSD-4.9-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_8</term> + + <listitem> + <para>FreeBSD-4.8-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_7</term> + + <listitem> + <para>FreeBSD-4.7-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_6</term> + + <listitem> + <para>FreeBSD-4.6 болон FreeBSD-4.6.2-д зориулсан хувилбарын салбар, + аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_5</term> + + <listitem> + <para>FreeBSD-4.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_4</term> + + <listitem> + <para>FreeBSD-4.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_3</term> + + <listitem> + <para>FreeBSD-4.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад + чухал засваруудад зориулж зөвхөн ашиглагддаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_3</term> + + <listitem> + <para>FreeBSD-3.X-д зориулсан хөгжүүлэлтийн шугам, бас + 3.X-STABLE гэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2</term> + + <listitem> + <para>FreeBSD-2.2.X-д зориулсан хөгжүүлэлтийн шугам, бас + 2.2-STABLE гэгддэг. Энэ салбар нь гол төлөв хуучирсан.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2> + <title>Хувилбарын хаягууд</title> + + <para>Эдгээр хаягууд нь &os;-ийн тодорхой нэг хувилбар гарсан үеийн цагийн + тодорхой цэгийг заадаг. Хувилбар инженерчлэлийн процессийн талаар + <ulink url="&url.base;/releng/">Хувилбар инженерчлэлийн + мэдээлэл</ulink> болон + <ulink url="&url.articles.releng;/release-proc.html">Хувилбарын процесс</ulink> + баримтуудад илүү дэлгэрэнгүй баримтжуулагдсан байдаг. + <filename class="directory">src</filename> мод нь + <literal>RELENG_</literal> гэж эхэлсэн хаягийн нэрсийг ашигладаг. + <filename class="directory">ports</filename> болон + <filename class="directory">doc</filename> моднууд нь + <literal>RELEASE</literal> гэж эхэлсэн хаягийн нэрсийг ашигладаг. + Төгсгөлд нь <filename class="directory">www</filename> мод нь + хувилбаруудад зориулсан ямар нэг тусгай нэрээр хаяглагддаггүй.</para> + + <variablelist> + <varlistentry> + <term>RELENG_6_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD 6.2</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_6_1_0_RELEASE</term> + + <listitem> + <para>FreeBSD 6.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_6_0_0_RELEASE</term> + + <listitem> + <para>FreeBSD 6.0</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_5_0_RELEASE</term> + + <listitem> + <para>FreeBSD 5.5</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_4_0_RELEASE</term> + + <listitem> + <para>FreeBSD 5.4</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_11_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.11</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_3_0_RELEASE</term> + + <listitem> + <para>FreeBSD 5.3</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_10_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.10</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_2_1_RELEASE</term> + + <listitem> + <para>FreeBSD 5.2.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD 5.2</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_9_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.9</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_1_0_RELEASE</term> + + <listitem> + <para>FreeBSD 5.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_8_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.8</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_5_0_0_RELEASE</term> + + <listitem> + <para>FreeBSD 5.0</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_7_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.7</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_6_2_RELEASE</term> + + <listitem> + <para>FreeBSD 4.6.2</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_6_1_RELEASE</term> + + <listitem> + <para>FreeBSD 4.6.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_6_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.6</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_5_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.5</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_4_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.4</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_3_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.3</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.2</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_1_1_RELEASE</term> + + <listitem> + <para>FreeBSD 4.1.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_1_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_4_0_0_RELEASE</term> + + <listitem> + <para>FreeBSD 4.0</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_3_5_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.5</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_3_4_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.4</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_3_3_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.3</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_3_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.2</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_3_1_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_3_0_0_RELEASE</term> + + <listitem> + <para>FreeBSD-3.0</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_8_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.8</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_7_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.7</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_6_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.6</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_5_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.5</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_2_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.2</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_1_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.1</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RELENG_2_2_0_RELEASE</term> + + <listitem> + <para>FreeBSD-2.2.0</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + </sect1> + + <sect1 id="mirrors-afs"> + <title>AFS сайтууд</title> + + <para>FreeBSD-д зориулсан AFS серверүүд нь дараах сайтууд дээр ажиллаж байна:</para> + + <variablelist> + <varlistentry> + <term>Швед</term> + + <listitem> + <para>Файлуудад хүрэх зам нь: + <filename>/afs/stacken.kth.se/ftp/pub/FreeBSD/</filename></para> + + <programlisting>stacken.kth.se # Stacken Computer Club, KTH, Sweden +130.237.234.43 #hot.stacken.kth.se +130.237.237.230 #fishburger.stacken.kth.se +130.237.234.3 #milko.stacken.kth.se</programlisting> + + <para>Арчлагч <email>ftp@stacken.kth.se</email></para> + </listitem> + </varlistentry> + </variablelist> + </sect1> + + <sect1 id="mirrors-rsync"> + <title>rsync сайтууд</title> + + <para>Дараах сайтууд нь FreeBSD-г rsync протоколоор түгээгдэх боломжийг + бүрдүүлдэг. <application>rsync</application> хэрэгсэл нь + &man.rcp.1; тушаалтай бараг төстэйгээр ажилладаг боловч + илүү олон тохируулгуудтай бөгөөд хоёр талын файлуудын зөвхөн ялгаатайг нь + дамжуулдаг. Ингэснээр сүлжээгээр хийх хамгийн сүүлийн хэлбэрт аваачих үйлдлийг + ихээхэн хурдасгадаг байна. Хэрэв та FreeBSD FTP сервер юм уу эсвэл + CVS архивын толин тусгал сайт бол энэ нь их ашигтай байдаг. + <application>rsync</application> цуглуулга нь олон үйлдлийн системүүд + дээр байдаг. FreeBSD-ийн хувьд <filename role="package">net/rsync</filename> + порт эсвэл багцыг үзнэ үү.</para> + + <variablelist> + <varlistentry> + <term>Бүгд Найрамдах Чех Улс</term> + + <listitem> + <para>rsync://ftp.cz.FreeBSD.org/</para> + + <para>Байгаа цуглуулгууд:</para> + <itemizedlist> + <listitem><para>ftp: FreeBSD FTP серверийн хэсэгчилсэн толин тусгал.</para></listitem> + <listitem><para>FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.</para></listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Герман</term> + + <listitem> + <para>rsync://grappa.unix-ag.uni-kl.de/</para> + + <para>Байгаа цуглуулгууд:</para> + <itemizedlist> + <listitem><para>freebsd-cvs: Бүрэн FreeBSD CVS архив.</para></listitem> + </itemizedlist> + <para>Үүнээс гадна энэ машин нь NetBSD болон OpenBSD төслүүдийн CVS архивуудыг бас толин тусгал + хийдэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Нидерланд</term> + + <listitem> + <para>rsync://ftp.nl.FreeBSD.org/</para> + + <para>Байгаа цуглуулгууд:</para> + <itemizedlist> + <listitem><para>vol/4/freebsd-core: FreeBSD FTP серверийн бүрэн толин тусгал.</para></listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Тайван</term> + + <listitem> + <para>rsync://ftp.tw.FreeBSD.org/</para> + <para>rsync://ftp2.tw.FreeBSD.org/</para> + <para>rsync://ftp6.tw.FreeBSD.org/</para> + + <para>Байгаа цуглуулгууд:</para> + <itemizedlist> + <listitem><para>FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.</para></listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Их Британи</term> + + <listitem> + <para>rsync://rsync.mirror.ac.uk/</para> + + <para>Байгаа цуглуулгууд:</para> + <itemizedlist> + <listitem><para>ftp.FreeBSD.org: FreeBSD FTP серверийн бүрэн толин тусгал.</para></listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Америкийн Нэгдсэн Улс</term> + + <listitem> + <para>rsync://ftp-master.FreeBSD.org/</para> + + <para>Энэ серверийг FreeBSD-ийн анхдагч толин тусгал сайтууд зөвхөн хэрэглэж + болно.</para> + <para>Байгаа цуглуулгууд:</para> + <itemizedlist> + <listitem><para>FreeBSD: FreeBSD FTP серверийн мастер архив.</para></listitem> + <listitem><para>acl: FreeBSD-ийн мастер ACL жагсаалт.</para></listitem> + </itemizedlist> + + <para>rsync://ftp13.FreeBSD.org/</para> + + <para>Байгаа цуглуулгууд:</para> + <itemizedlist> + <listitem><para>FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.</para></listitem> + </itemizedlist> + </listitem> + </varlistentry> + </variablelist> + </sect1> +</appendix> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../appendix.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "appendix") + End: +--> + diff --git a/mn_MN.UTF-8/books/handbook/multimedia/Makefile b/mn_MN.UTF-8/books/handbook/multimedia/Makefile new file mode 100644 index 0000000000..3afa2e98ec --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/multimedia/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.2 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= multimedia/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/multimedia/chapter.sgml b/mn_MN.UTF-8/books/handbook/multimedia/chapter.sgml new file mode 100644 index 0000000000..db1ddb5ab8 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/multimedia/chapter.sgml @@ -0,0 +1,1742 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.126 + + $FreeBSD$ +--> + +<chapter id="multimedia"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Росс</firstname> + <surname>Липперт</surname> + <contrib>Засварласан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Мультимедиа</title> + <sect1 id="multimedia-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>FreeBSD нь танд өөрийн компьютераас гарах өндөр чанарын гаралтад + сэтгэл ханамжтай байх боломжийг олгож төрөл бүрийн дууны картуудыг дэмждэг. + Энэ нь аудиог MPEG Аудио Давхарга 3 (MP3), WAV, болон Ogg Vorbis + зэрэг бусад олон хэлбэршилтүүдээр бичлэг хийх болон тоглуулах чадвартай + байдаг. FreeBSD-ийн портын цуглуулга нь таны бичигдсэн аудиог засварлах, + дууны нөлөөллүүдийг нэмэх болон залгагдсан MIDI төхөөрөмжүүд хянахыг + зөвшөөрөх програмуудыг бас агуулдаг.</para> + + <para>Туршилт хийх хүсэлтэй байх нөхцөлд FreeBSD нь видео файлууд болон DVD-үүдийг + тоглуулахыг дэмжиж чаддаг. Төрөл бүрийн видео зөөвөрлөгчийг + кодчилох, хөрвүүлэх, болон тоглуулах програмуудын тоо дууны програмуудын + тоотой харьцуулах юм бол хязгаарлагдмал байдаг. Жишээ нь, үүнийг бичиж + байх үед, <filename role="package">audio/sox</filename>-той адил + хэлбэршилтүүдийн хооронд хөрвүүлэхэд хэрэглэгдэх дахин кодчилох сайн програм + FreeBSD-ийн портын цуглуулгад байхгүй байгаа билээ. Гэхдээ энэ талбар дахь + програм хангамжийн байдал хурдацтай өөрчлөгдөж байна.</para> + + <para>Энэ бүлэг нь таны дууны картыг тохируулахад шаардлагатай алхмуудыг + тайлбарлах болно. X11-ийн (<xref linkend="x11">) тохиргоо болон + суулгац нь таны видео тоног төхөөрөмжийн асуудлуудыг аль хэдийн зохицуулсан + байдаг боловч илүү сайн тоглуулахын тулд зарим нэгэн нарийн тохируулгууд + хийх хэрэгтэй байж болох юм.</para> + + <para>Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Таны дууны карт чинь танигдсан байхаар өөрийн системээ хэрхэн тохируулах + талаар.</para> + </listitem> + + <listitem> + <para>Жишээ програмуудыг ашиглан таны карт ажиллаж байгааг + шалгах аргууд.</para> + </listitem> + + <listitem> + <para>Өөрийн дууны тохиргооны алдааг хэрхэн олж засварлах талаар.</para> + </listitem> + + <listitem> + <para>MP3-ууд болон бусад аудиог хэрхэн тоглуулах ба кодчилох талаар.</para> + </listitem> + + <listitem> + <para>X серверээр видео хэрхэн дэмжигдсэн талаар.</para> + </listitem> + + <listitem> + <para>Сайн үр дүн өгдөг зарим нэгэн тоглуулагч/кодчилогч портууд.</para> + </listitem> + + <listitem> + <para>DVD-үүд, <filename>.mpg</filename> болон + <filename>.avi</filename> файлуудыг хэрхэн тоглуулах талаар.</para> + </listitem> + + <listitem> + <para>CD болон DVD-ээс файлууд уруу мэдээллийг хэрхэн авах.</para> + </listitem> + + <listitem> + <para>TV карт хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>Дүрс скан хийгчийг хэрхэн тохируулах талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem><para>Шинэ цөмийг хэрхэн тохируулж суулгах талаар мэдэх (<xref + linkend="kernelconfig">).</para></listitem> + </itemizedlist> + + <warning> + <para>&man.mount.8; тушаалаар аудио CD-үүдийг холбохыг оролдох нь + хамгийн гайгүйдээ алдаанд, хамгийн муудаа <emphasis>цөмийн + сүйрэл</emphasis>д хүргэж болох юм. Эдгээр зөөвөрлөгчид нь + ердийн ISO файлын системүүдээс ялгаатай тусгай кодчилолуудтай + байдаг.</para> + </warning> + + </sect1> + + <sect1 id="sound-setup"> + <sect1info> + <authorgroup> + <author> + <firstname>Мозес</firstname> + <surname>Мур</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + <!-- 20 November 2000 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>&os; 5.X-д зориулж өргөжүүлсэн </contrib> + <!-- 13 September 2004 --> + </author> + </authorgroup> + </sect1info> + + <title>Дууны картыг тохируулах</title> + + <sect2 id="sound-device"> + <title>Системийг тохируулах</title> + + <indexterm><primary>PCI</primary></indexterm> + <indexterm><primary>ISA</primary></indexterm> + <indexterm><primary>дууны картууд</primary></indexterm> + <para>Эхлэхээсээ өмнө та өөртөө байгаа картынхаа загвар, ашиглаж байгаа + бичил схем болон PCI эсвэл ISA картны алин болохыг мэдэх шаардлагатай. + FreeBSD нь төрөл бүрийн PCI эсвэл ISA картуудыг дэмждэг. + <ulink url="&rel.current.hardware;">Тоног төхөөрөмжийн тэмдэглэгээ</ulink>ний + дэмжигдсэн аудио төхөөрөмжүүдийн жагсаалтыг шалгаж өөрийн картыг + дэмжигдсэн эсэхийг үзээрэй. Энэ баримт нь таны картыг ямар + драйвер дэмждэгийг бас хэлэх болно.</para> + + <indexterm> + <primary>цөм</primary> + <secondary>тохиргоо</secondary> + </indexterm> + + <para>Өөрийн дууны төхөөрөмжийг ашиглахын тулд тохирох төхөөрөмжийн драйверийг + та ачаалах хэрэгтэй болно. Үүнийг хоёр аргын аль нэгээр хийж болно. + Хамгийн амархан арга бол &man.kldload.8; тушаалаар өөрийн картныхаа + цөмийн модулийг тушаалын мөрөөс:</para> + + <screen>&prompt.root; <userinput>kldload snd_emu10k1</userinput></screen> + + <para>гэж ачаалах юм уу эсвэл <filename>/boot/loader.conf</filename> + файлд тохирох мөрийг ингэж нэмэн дуудаж болно:</para> + + <programlisting>snd_emu10k1_load="YES"</programlisting> + + <para>Эдгээр жишээнүүд нь Creative &soundblaster; Live! дууны картад + зориулагдсан юм. Бусад байгаа дуудагдаж болох дууны модулиуд + <filename>/boot/defaults/loader.conf</filename>-д жагсаагдсан + байдаг. Хэрэв та аль драйверийг ашиглахаа мэдэхгүй эргэлзэж байвал + <filename>snd_driver</filename> модулийг дуудаж үзэж болох юм:</para> + + <screen>&prompt.root; <userinput>kldload snd_driver</userinput></screen> + + <para>Энэ нь хамгийн түгээмэл драйверуудыг нэг удаа ачаалдаг метадрайвер юм. + Энэ нь зөв драйверийг хайхыг хурдасгадаг. Дууны бүх драйверуудыг + <filename>/boot/loader.conf</filename> файлаар ачаалах + бас боломжтой байдаг.</para> + + <para><filename>snd_driver</filename> метадрайверыг дуудсаны дараа + та өөрийн дууны картдаа ямар драйвер сонгогдсоныг олохыг хүсвэл + <filename>/dev/sndstat</filename> файлыг <command>cat /dev/sndstat</command> + тушаалын тусламжтай шалгаж болох юм.</para> + + <para>Хоёр дахь арга нь өөрийн дууны картын дэмжлэгийг өөрийн цөмдөө эмхэтгэх + явдал юм. Доорх хэсэг нь энэ аргаар өөрийн тоног төхөөрөмжид зориулан + дэмжлэг нэмэхэд шаардлагатай мэдээллийг өгнө. Өөрийн цөмийг дахин эмхэтгэх + талаарх дэлгэрэнгүй мэдээллийг <xref linkend="kernelconfig">-с + үзнэ үү.</para> + + <sect3> + <title>Дууны дэмжлэгтэй цөмийг тохируулах</title> + + <para>Эхлээд хийх ёстой зүйл нь ерөнхий аудио драйвер &man.sound.4;-г + цөм уруу нэмэх явдал юм. Ингэхийн тулд та дараах мөрийг цөмийн тохиргооны + файлдаа нэмэх хэрэгтэй болно:</para> + + <programlisting>device sound</programlisting> + + <para>Дараа нь бид өөрсдийн дууны картдаа зориулж дэмжлэг нэмэх хэрэгтэй. + Тийм болохоор картыг ямар драйвер дэмждэгийг мэдэх хэрэгтэй. + Өөрийн дууны картын зөв драйверийг тодорхойлохын тулд + <ulink url="&rel.current.hardware;">Тоног төхөөрөмжийн тэмдэглэгээ</ulink>ний + дэмжигдсэн аудио төхөөрөмжүүдийн жагсаалтыг шалгах хэрэгтэй. Жишээ нь + Creative &soundblaster; Live! дууны карт нь &man.snd.emu10k1.4; + драйвераар дэмжигдсэн байдаг. Энэ картад зориулж дэмжлэг нэмэхийн тулд + дараахийг ашиглана:</para> + + <programlisting>device snd_emu10k1</programlisting> + + <para>Хэрхэн ашиглах талаар драйверийн гарын авлагын хуудаснаас + уншихаа мартуузай. Цөмийн тохиргоонд дууны драйверуудыг хэрхэн + ашиглах талаарх мэдээллийг <filename>/usr/src/sys/conf/NOTES</filename> + файлаас бас олж болно.</para> + + <para>PnP биш ISA картууд нь цөмийг дууны картын тохируулгуудын + (IRQ, I/O порт, гэх мэт) талаарх мэдээлэлтэй нь танаас шаардаж + болох юм. Үүнийг <filename>/boot/device.hints</filename> + файлын тусламжтай хийдэг. Системийг ачаалах үед &man.loader.8; + нь энэ файлыг уншиж тохируулгуудыг цөм уруу дамжуулдаг. Жишээ нь + хуучин Creative &soundblaster; 16 ISA PnP биш карт + &man.snd.sbc.4; драйверийг snd_sb16(4)-тай цуг ашиглах + болно. Энэ картны хувьд дараах мөрүүдийг цөмийн тохиргооны файлд + нэмэх хэрэгтэй:</para> + + <programlisting>device snd_sbc +device snd_sb16</programlisting> + + <para>бөгөөд бас дараахийг <filename>/boot/device.hints</filename>-д + нэмэх хэрэгтэй:</para> + + <programlisting>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"</programlisting> + + <para>Энэ тохиолдолд карт нь <literal>0x220</literal> + I/O порт болон IRQ <literal>5</literal>-ыг ашиглаж байна.</para> + + <para><filename>/boot/device.hints</filename> файлд ашигласан + синтаксийн талаар дууны драйверийн гарын авлагын хуудсанд өгүүлсэн + байдаг.</para> + + <para>Дээр үзүүлсэн тохируулгууд нь анхдагчууд юм. Зарим тохиолдолд + та IRQ юм уу эсвэл бусал тохируулгуудыг өөрийн картдаа тааруулан өөрчлөх + хэрэг гарч болох юм. Илүү мэдээллийг &man.snd.sbc.4; гарын авлагын + хуудаснаас үзнэ үү.</para> + </sect3> + </sect2> + + <sect2 id="sound-testing"> + <title>Дууны картыг тест хийх</title> + + <para>Өөрчилсөн цөмийг дахин ачаалсны дараа эсвэл шаардлагатай модулийг + дуудсаны дараа дууны карт нь иймэрхүүгээр таны системийн мэдэгдлийн + буфферт (&man.dmesg.8;) гарч ирэх ёстой:</para> + + <screen>pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0 +pcm0: [GIANT-LOCKED] +pcm0: <Cirrus Logic CS4205 AC97 Codec></screen> + + <para>Дууны картын төлөвийг <filename>/dev/sndstat</filename> + файлын тусламжтай шалгаж болно:</para> + + <screen>&prompt.root; <userinput>cat /dev/sndstat</userinput> +FreeBSD Audio Driver (newpcm) +Installed devices: +pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384 +kld snd_ich (1p/2r/0v channels duplex default)</screen> + + <para>Таны системээс гарах гаралт өөр өөр байж болно. Хэрэв + ямар ч <devicename>pcm</devicename> төхөөрөмжүүд гарч ирэхгүй + байвал буцаад урьд нь юу хийснийгээ дахин шалгах хэрэгтэй. + Өөрийн цөмийн тохиргооны файлыг дахин шалгаж зөв төхөөрөмж сонгогдсон + эсэхийг шалгаарай. Нийтлэг асуудлууд <xref + linkend="troubleshooting"> хэсэгт жагсаагдсан байгаа.</para> + + <para>Хэрэв бүгд зүгээр болвол одоо та ажиллагаатай дууны карттай байх ёстой. + Хэрэв таны CD-ROM эсвэл DVD-ROM хөтөч таны дууны карттай зөв хосолсон + бол та хөтөчдөө CD хийж түүнийг &man.cdcontrol.1;-оор тоглуулж болно:</para> + + <screen>&prompt.user; <userinput>cdcontrol -f /dev/acd0 play 1</userinput></screen> + + <para><filename + role="package">audio/workman</filename> зэрэг төрөл бүрийн + програмууд нь илүү нөхөрсөг интерфэйсийн боломжтой байдаг. Та + MP3 аудио файлууд сонсохын тулд + <filename role="package">audio/mpg123</filename> зэрэг + програмыг суулгахыг хүсэж болох юм. Картыг хурдан тест хийх арга бол + <filename>/dev/dsp</filename> уруу өгөгдөл иймэрхүү маягаар + илгээх явдал юм:</para> + + <screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable> > /dev/dsp</userinput></screen> + + <para>Энд байгаа <replaceable>filename</replaceable> нь ямар ч + файл байж болно. Энэ тушаалын мөр нь шуугиан үүсгэх ёстой бөгөөд энэ нь + уг дууны карт ажиллаж байгааг баталж байгаа юм.</para> + + <para>Дууны картын холигчийн түвшингүүдийг &man.mixer.8; тушаалаар + өөрчилж болно. Илүү дэлгэрэнгүйг &man.mixer.8; гарын авлагын хуудаснаас + олж болно.</para> + + <sect3 id="troubleshooting"> + <title>Нийтлэг асуудлууд</title> + + <indexterm><primary>төхөөрөмжийн цэгүүд</primary></indexterm> + <indexterm><primary>I/O порт</primary></indexterm> + <indexterm><primary>IRQ</primary></indexterm> + <indexterm><primary>DSP</primary></indexterm> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Алдаа</entry> + <entry>Шийдэл</entry> + </row> + </thead> + + <tbody> + <row> + <entry><errorname>unsupported subdevice XX</errorname></entry> + <entry><para>Нэг буюу олон төхөөрөмжийн цэгүүд зөв үүсгэгдээгүй. Дээрх + алхмуудыг давтах хэрэгтэй.</para></entry> + </row> + + <row> + <entry><errorname>sb_dspwr(XX) timed out</errorname></entry> + <entry><para>I/O порт зөв тохируулагдаагүй.</para></entry> + </row> + + <row> + <entry><errorname>bad irq XX</errorname></entry> + <entry><para>IRQ буруу тохируулагдсан. Тохируулагдсан IRQ болон + дууны IRQ адил байгаа эсэхийг шалгана.</para></entry> + </row> + + <row> + <entry><errorname>xxx: gus pcm not attached, out of memory</errorname></entry> + <entry><para>Төхөөрөмжийн ашиглах хангалттай санах ой байхгүй байна.</para></entry> + </row> + + <row> + <entry><errorname>xxx: can't open /dev/dsp!</errorname></entry> + <entry><para>Өөр програм төхөөрөмжийг онгорхой барьж байгаа + эсэхийг <command>fstat | grep dsp</command> тушаалаар шалгана. + Дурдахад илүүдэхгүй хэргийн эзэд бол <application>esound</application> болон <application>KDE</application>-ийн + дууны дэмжлэгүүд юм.</para></entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect3> + </sect2> + + <sect2 id="sound-multiple-sources"> + <sect2info> + <authorgroup> + <author> + <firstname>Муниш</firstname> + <surname>Чопра</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + <title>Дууны олон эхүүдийг хэрэглэх нь</title> + + <para><application>esound</application> эсвэл + <application>artsd</application> нь зарим нэг програмуудтай дууны + төхөөрөмжийг хуваалцахыг дэмждэггүй бөгөөд энэ тохиолдолд заримдаа зэрэг + тоглуулах чадвартай дууны олон эхүүдтэй байх туйлын сонирхол байдаг.</para> + + <para>FreeBSD нь үүнийг &man.sysctl.8; хэрэгслийн тусламжтай тохируулж + болох <emphasis>Виртуал Дууны Сувгууд</emphasis>ын тусламжтай + хийх боломжийг танд олгодог. Виртуал сувгууд нь цөмд дууг холих замаар + өөрийн дууны картын тоглуулах сувгуудыг олон болгохыг танд зөвшөөрдөг.</para> + + <para>Виртуал сувгуудын тоог тохируулах хоёр sysctl-ийн хувьсагч байдаг бөгөөд + хэрэв та <username>root</username> хэрэглэгч бол иймэрхүү маягаар үүнийг + тохируулж болно:</para> + <screen>&prompt.root; <userinput>sysctl hw.snd.pcm0.vchans=4</userinput> +&prompt.root; <userinput>sysctl hw.snd.maxautovchans=4</userinput></screen> + + <para>Дээрх жишээ нь дөрвөн виртуал сувгийг хуваарилж байгаа бөгөөд энэ тоо нь + өдөр тутмын хэрэглээнд зориулагдсан практик тоо юм. + <varname>hw.snd.pcm0.vchans</varname> нь <devicename>pcm0</devicename>-ийн + виртуал сувгуудын тоо бөгөөд төхөөрөмжийг залгасны дараа тохируулах боломжтой + болдог. <literal>hw.snd.maxautovchans</literal> нь &man.kldload.8; + ашиглан залгагдах үед шинэ аудио төхөөрөмжид өгөгдөх виртуал сувгуудын тоо юм. + <devicename>pcm</devicename> төхөөрөмж нь тоног төхөөрөмжийн драйверуудаас + тусдаа дуудагдаж болох учраас <varname>hw.snd.maxautovchans</varname> нь + дараа нь залгагдах төхөөрөмжүүдэд өгөгдөх виртуал сувгуудын тоог хадгалдаг.</para> + + <note> + <para>Төхөөрөмжийг ашиглаж байхад та виртуал сувгуудын тоог өөрчилж чадахгүй. + Эхлээд хөгжим тоглуулагчид юм уу эсвэл дууны демонууд зэрэг төхөөрөмжийг ашиглаж + байгаа програмуудыг хаах хэрэгтэй.</para> + </note> + + <para>Хэрэв та &man.devfs.5;-ийг ашиглахгүй байгаа бол өөрийн програмуудаа + <filename>/dev/dsp0</filename>.<replaceable>x</replaceable> + уруу зааж өгөх хэрэгтэй болох бөгөөд дээрх жишээн дээрх шиг + <varname>hw.snd.pcm.0.vchans</varname> 4 гэж тохируулагдсан бол + <replaceable>x</replaceable> нь 0-ээс 3-ийн хооронд байна. + &man.devfs.5; ашиглаж байгаа систем дээр дээрх нь хэрэглэгчид + мэдэгдэлгүйгээр автоматаар хуваарилагдах болно.</para> + </sect2> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Жозеф</firstname> + <surname>Эл-Рэйэс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect2info> + + <title>Холигчийн сувгуудын анхдагч утгуудыг тохируулах</title> + + <para>Өөр өөр холигчийн сувгуудын анхдагч утгууд нь &man.pcm.4; драйверийн + эх кодод бичигдэж хийгдсэн байдаг. Холигчийн утгуудыг санаж тэдгээрийг + эхлэх үед тохируулах олон төрлийн програмууд болон демонууд байдаг боловч + энэ нь цэвэр шийдэл биш юм. Бид драйверийн түвшинд анхдагч утгуудтай + байхыг хүсдэг. Үүнийг <filename>/boot/device.hints</filename> + файлд тохирох утгуудыг тодорхойлон хийдэг. Өөрөө хэлбэл:</para> + +<programlisting>hint.pcm.0.vol="100"</programlisting> + + <para>Энэ нь &man.pcm.4; модул ачаалагдах үед дууны сувгийн чангыг + анхдагч утга 100 гэж тохируулах болно.</para> + </sect2> +</sect1> + + <sect1 id="sound-mp3"> + <sect1info> + <authorgroup> + <author> + <firstname>Шерн</firstname> + <surname>Ли</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- 11 Sept 2001 --> + </sect1info> + + <title>MP3 аудио</title> + + <para>MP3 (MPEG Давхарга 3 Аудио) нь CD-тэй ойролцоо дууны чанарт хүрдэг + бөгөөд энэ боломжийг таны FreeBSD ажлын станц ашиглахгүйгээр үлдэх ямар нэг + шалтгаан байх ёсгүй юм.</para> + + <sect2 id="mp3-players"> + <title>MP3 тоглуулагчид</title> + + <para>Хамгийн алдартай X11 MP3 тоглуулагч бол <application>XMMS</application> + (X Multimedia System) юм. Nullsoft-ийн <application>Winamp</application>-тай + GUI нь бараг л адилхан болохоор <application>Winamp</application>-ийн + арьснуудыг <application>XMMS</application>-д ашиглаж болдог. + <application>XMMS</application> нь өөрийн гэсэн залгаасын дэмжлэгтэй + бас байдаг.</para> + + <para><application>XMMS</application> нь <filename role="package">multimedia/xmms</filename> + портоос эсвэл багцаас суулгагдаж болдог.</para> + + <para><application>XMMS</application>-ийн интерфэйс нь хялбар бөгөөд + тоглуулах жагсаалт, графикийн тэнцүүлэгч болон өөр олон боломжуудтай байдаг. + <application>Winamp</application>-ийг мэддэг хүмүүс + <application>XMMS</application>-ийг ашиглахад хялбарыг + олж мэдэх болно.</para> + + <para><filename role="package">audio/mpg123</filename> нь өөр нэг, тушаалын + мөрийн MP3 тоглуулагч юм.</para> + + <para><application>mpg123</application>-ийг тушаалын мөрөөс + дууны төхөөрөмж болон MP3 файлыг зааж өгөн доор үзүүлсэн шиг + ажиллуулж болно:</para> + + <screen>&prompt.root; <userinput>mpg123 -a <replaceable>/dev/dsp1.0</replaceable> Foobar-GreatestHits.mp3</userinput> +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 +</screen> + + <para><literal>/dev/dsp1.0</literal>-ийг өөрийн систем дээрх + <devicename>dsp</devicename> төхөөрөмжөөр солих шаардлагатай.</para> + + </sect2> + + <sect2 id="rip-cd"> + <title>CD Аудио замуудыг авах нь</title> + + <para>CD эсвэл CD замыг MP3 уруу кодчилохоосоо өмнө CD дээрх аудио өгөгдлийг + хатуу хөтөч уруугаа авах ёстой. Түүхий CDDA (CD Digital Audio) өгөгдлийг + WAV файлууд уруу хуулан үүнийг хийдэг.</para> + + <para><filename role="package">sysutils/cdrtools</filename> + цуглуулгын <command>cdda2wav</command> хэрэгсэл нь CD-үүдээс аудио + мэдээлэл болон тэдгээртэй холбоотой мэдээллийг авахад хэрэглэгддэг.</para> + + <para>Хөтөчид аудио CD байхад дараах тушаалыг (<username>root</username>-ээр) + ажиллуулж бүх CD-г тус тусдаа (зам тус бүрийг) WAV файлуудад авч + болно:</para> + + <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen> + + <para><application>cdda2wav</application> нь ATAPI (IDE) CDROM + хөтөчүүдийг дэмжих болно. IDE хөтөчөөс авахын тулд SCSI нэгжийн дугааруудын + оронд төхөөрөмжийн нэрийг заах хэрэгтэй. Жишээ нь 7-р замыг IDE хөтөчөөс + авахын тулд:</para> + + <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0</replaceable> -t 7</userinput></screen> + + <para><option>-D <replaceable>0,1,0</replaceable></option> + тохируулга нь <command>cdrecord + -scanbus</command> тушаалын гаралттай таарч байгаа + SCSI төхөөрөмж <devicename>0,1,0</devicename>-ийг заана.</para> + + <para>Замуудыг авахын тулд <option>-t</option> тохируулгыг + доор үзүүлсэн шиг ашиглана:</para> + + <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen> + + <para>Энэ жишээ нь аудио CDROM-ийн долдугаар замыг авч байна. Хэсэг + замуудыг авахын тулд, жишээ нь, нэгээс долоо хүртэлх замыг авахын тулд + хүрээг зааж өгнө:</para> + + <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen> + + <para>&man.dd.1; хэрэгсэл ATAPI хөтөчүүд дээрх аудио замуудыг + гаргаж авахад бас ашиглагдаж болно. Энэ боломжийн талаар дэлгэрэнгүйг + <xref linkend="duplicating-audiocds">-с уншина уу.</para> + + </sect2> + + <sect2 id="mp3-encoding"> + <title>MP3-уудыг кодчилох</title> + + <para>Өнөө үед сонгож байгаа mp3 кодчилогч бол <application>Lame</application> юм. + <application>Lame</application> нь <filename role="package">audio/lame</filename> + портын модноос олдож болно.</para> + + <para>Авсан WAV файлуудыг ашиглан дараах тушаал + <filename>audio01.wav</filename>-г <filename>audio01.mp3</filename> + болгон хөрвүүлнэ:</para> + + <screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> \ +--tt "<replaceable>Foo Song Title</replaceable>" \ +--ta "<replaceable>FooBar Artist</replaceable>" \ +--tl "<replaceable>FooBar Album</replaceable>" \ +--ty "<replaceable>2001</replaceable>" \ +--tc "<replaceable>Ripped and encoded by Foo</replaceable>" \ +--tg "<replaceable>Genre</replaceable>" \ +<replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen> + + <para>128 кбит нь ашиглагдаж байгаа стандарт MP3 битийн хурд юм + шиг байгаа юм. Олон хүмүүс илүү өндөр чанарын 160 эсвэл 192 гэсэн + хурдуудад сэтгэл ханамжтай байдаг. Битийн хурд өндөр болох тусам + MP3 илүү их дискийн хэмжээг ашиглах боловч чанар өндөр болдог. + + <option>-h</option> тохируулга нь <quote>илүү өндөр чанартай боловч + бага зэрэг удаан</quote> горимыг идэвхжүүлдэг. + <option>--t</option>-ээр эхэлсэн тохируулгууд ID3 мэдээллүүдийг заадаг + бөгөөд энэ нь MP3 файл дотор оруулах дууны мэдээллийг ихэвчлэн агуулдаг. + Нэмэлт кодчилох тохируулгуудыг <application>Lame</application>-ийн гарын авлагын хуудаснаас лавлан + олж болно.</para> + </sect2> + + <sect2 id="mp3-decoding"> + <title>MP3-уудыг декод хийх</title> + + <para>Аудио CD-г MP3-уудаас шарахын тул тэдгээр нь шахагдаагүй WAV хэлбэршилт уруу + хөрвүүлэгдэх ёстой. <application>XMMS</application> болон + <application>mpg123</application> нь MP3-ийн гаралтыг + шахаагүй файлын хэлбэршилт уруу гаргахыг дэмждэг.</para> + + <para><application>XMMS</application>-ээр диск уруу бичихдээ:</para> + + <procedure> + <step> + <para><application>XMMS</application>-ийг ажиллуулна.</para> + </step> + + <step> + <para>Цонхон дээр баруу товчлуурыг дарж <application>XMMS</application>-ийн + цэсийг гаргана.</para> + </step> + + <step> + <para><literal>Options</literal>-оос + <literal>Preference</literal>-ийг сонгоно.</para> + </step> + + <step> + <para>Гаралтын Залгаасыг (Output Plugin) <quote>Disk Writer + Plugin</quote> болгон өөрчилнө.</para> + </step> + + <step> + <para><literal>Configure</literal>-г дарна.</para> + </step> + + <step> + <para>Шахагдаагүй файлуудыг бичих санг оруулна + (эсвэл browse-ийг сонгоно).</para> + </step> + + <step> + <para>MP3 файлыг <application>XMMS</application> + уруу, дууны чангыг 100% болгон EQ тохиргоонуудыг + хааж ердийнхөөрөө дуудна.</para> + </step> + + <step> + <para><literal>Play</literal>-г дарна — + <application>XMMS</application> нь MP3 тоглуулж байгаа + юм шигээр гарах бөгөөд гэхдээ хөгжим сонсогдохгүй. Энэ нь үнэндээ + MP3-ийг файл уруу тоглуулж байгаа юм.</para> + </step> + + <step> + <para>MP3-уудыг дахин сонсохын тулд анхдагч Гаралтын Залгаасыг буцааж + өмнө нь байсан шигээр тохируулахаа мартуузай.</para> + </step> + </procedure> + + <para><application>mpg123</application>-аар stdout уруу бичих:</para> + + <procedure> + <step> + <para><command>mpg123 -s <replaceable>audio01.mp3</replaceable> + > audio01.pcm</command> тушаалыг ажиллуулна</para> + </step> + </procedure> + + <para><application>XMMS</application> нь файлыг WAV хэлбэршилтээр + бичдэг бол <application>mpg123</application> нь MP3-ийг түүхий + PCM аудио өгөгдөл болгон хөрвүүлдэг. Эдгээр хэлбэршилтүүдийг + <application>cdrecord</application>-д аудио CD-үүд хийхийн тулд + ашиглаж болно. Та түүхий PCM-ийг &man.burncd.8;-д ашиглах ёстой. + Хэрэв та WAV файлуудыг ашиглавал зам болгоны эхэнд богино тик гэсэн чимээг + мэдрэх бөгөөд энэ чимээ нь WAV файлын толгой юм. Та WAV файлын + толгойг <application>SoX</application> хэрэгсэл ашиглан арилгаж болно + (үүнийг <filename role="package">audio/sox</filename> портоос эсвэл + багцаас суулгаж болно):</para> + + <screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen> + + <para>FreeBSD дээр CD шарагчийг ашиглах талаарх илүү дэлгэрэнгүй мэдээллийг + <xref linkend="creating-cds">-с уншина уу.</para> + </sect2> + </sect1> + + <sect1 id="video-playback"> + <sect1info> + <authorgroup> + <author> + <firstname>Росс</firstname> + <surname>Липперт</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- 5 June 2002 --> + </sect1info> + + <title>Видео тоглуулах</title> + + <para>Видео тоглуулах нь маш шинэ, хурдацтай хөгжиж байгаа хэрэглээний талбар + юм. Хүлээцтэй байгаарай. Дууны хувьд хийгдсэн шиг бүгд асуудалгүй ажиллахгүй + байж болох юм.</para> + + <para>Эхлэхээсээ өмнө өөрийн видео картын загвар болон ашиглаж байгаа + бичил схемийг та мэдэх шаардлагатай. <application>&xorg;</application> болон <application>&xfree86;</application> + нь төрөл бүрийн видео картуудыг дэмждэг боловч цөөхөн нь сайн + тоглуулах ажиллагаатай байдаг. Өөрийн картыг ашиглан X серверийн + дэмжсэн өргөтгөлүүдийн жагсаалтыг авахын тулд X11-ийг ажиллаж байхад + нь &man.xdpyinfo.1; тушаалыг ашиглах хэрэгтэй.</para> + + <para>Ер нь богино хэмжээний MPEG файлтай байх нь зүйтэй бөгөөд + төрөл бүрийн тоглуулагч болон тохируулгуудыг шалгахад тест файл + маягаар ашиглагдаж болох юм. Зарим нэгэн DVD тоглуулагчид анхдагчаар + <filename>/dev/dvd</filename>-д DVD зөөвөрлөгчийг хайх юм уу + эсвэл энэ төхөөрөмжийн нэрийг тэдгээрт бичигдсэн байх ёстой гэж үздэг + болохоор та симболын холбоосыг тохирох төхөөрөмжүүд уруу хийж + өгөх нь ашигтай байж болох юм:</para> + + <screen>&prompt.root; <userinput>ln -sf /dev/acd0 /dev/dvd</userinput> +&prompt.root; <userinput>ln -sf /dev/acd0 /dev/rdvd</userinput></screen> + + <para>&man.devfs.5;-ийн хийгдсэн чанараас хамаараад эдгээр шиг гараар + хийгдсэн холбоосууд нь системийг дахин ачаалахад үлддэггүй. Өөрийн + системийг ачаалахад автоматаар симболын холбоосууд үүсгэхийн тулд + дараах мөрүүдийг <filename>/etc/devfs.conf</filename> файлд + нэмнэ:</para> + + <programlisting>link acd0 dvd +link acd0 rdvd</programlisting> + + <para>Мөн тусгай DVD-ROM функцүүдийг ажиллуулахыг шаарддаг DVD + шифрлэлтийг буцаах үйлдэл нь DVD төхөөрөмж дээр бичих зөвшөөрлийг + шаарддаг.</para> + + <para>Хуваалцсан санах ойн X11 интерфэйсийг өргөтгөж сайжруулахын тулд + зарим &man.sysctl.8; хувьсагчдын утгуудыг ихэсгэх шаардлагатай + байдаг:</para> + + <programlisting>kern.ipc.shmmax=67108864 +kern.ipc.shmall=32768</programlisting> + + <sect2 id="video-interface"> + <title>Видео боломжуудыг тодорхойлох нь</title> + + <indexterm><primary>XVideo</primary></indexterm> + <indexterm><primary>SDL</primary></indexterm> + <indexterm><primary>DGA</primary></indexterm> + + <para>X11 дээр видеог үзүүлэх хэд хэдэн боломжит аргууд байдаг. + Яг юу ажиллах нь голчлон тоног төхөөрөмжөөс хамаарна. + Доор тайлбарласан арга бүр тоног төхөөрөмжөөс хамаараад + чанарын хувьд янз бүр байна. Хоёрдугаарт X11 дээр + видеог амь оруулах нь сүүлийн үед маш их анхаарал татаж + байгаа сэдэв бөгөөд <application>&xorg;</application>, юм уу эсвэл <application>&xfree86;</application>-ийн + хувилбар бүрт чухал сайжруулалт хийгдсэн байж болох юм.</para> + + <para>Нийтлэг видео интерфэйсүүдийг дурдвал:</para> + + <orderedlist> + <listitem> + <para>X11: хуваалцсан санах ойг ашиглах ердийн X11 гаралт.</para> + </listitem> + <listitem> + <para>XVideo: Дурын X11-ийн дүрслэгдэх боломжтой зүйл дээр + видеог дэмждэг X11 интерфэйсийн өргөтгөл.</para> + </listitem> + <listitem> + <para>SDL: Simple Directmedia Layer буюу энгийн Directmedia давхарга.</para> + </listitem> + <listitem> + <para>DGA: Direct Graphics Access буюу шууд графикийн хандалт.</para> + </listitem> + <listitem> + <para>SVGAlib: доод түвшний консолийн график давхарга.</para> + </listitem> + </orderedlist> + + <sect3 id="video-interface-xvideo"> + <title>XVideo</title> + + <para><application>&xorg;</application> болон <application>&xfree86; 4.X</application> + нь видеог тусгай хурдасгуураар дүрслэгдэхүйц обьектууд дээр шууд үзүүлэхийг + зөвшөөрдөг <emphasis>XVideo</emphasis> (бас Xvideo, Xv, xv гэгддэг) + гэгддэг өргөтгөлтэй байдаг. Энэ өргөтгөл нь доод түвшний чанар муутай машин + дээр ч гэсэн видеог сайн чанартай тоглуулах боломжийг олгодог.</para> + + <para>Өргөтгөл ажиллаж байгаа эсэхийг шалгахын тулд + <command>xvinfo</command> тушаалыг ашиглана:</para> + + <screen>&prompt.user; <userinput>xvinfo</userinput></screen> + + <para>Хэрэв үр дүн иймэрхүү харагдвал XVideo нь таны картны хувьд + дэмжигдсэн байна:</para> +<screen>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 + client gettable attribute (current value is 2110) + "XV_BRIGHTNESS" (range -128 to 127) + client settable attribute + client gettable attribute (current value is 0) + "XV_CONTRAST" (range 0 to 255) + client settable attribute + client gettable attribute (current value is 128) + "XV_SATURATION" (range 0 to 255) + client settable attribute + client gettable attribute (current value is 128) + "XV_HUE" (range -180 to 180) + client settable attribute + client gettable attribute (current value is 0) + 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 + type: RGB (packed) + depth: 1 + red, green, blue masks: 0x0, 0x0, 0x0</screen> + + <para>Жагсаагдсан хэлбэршилтүүд (YUV2, YUV12, гэх мэт) нь + XVideo-ийн шийдэл бүрт байдаггүй бөгөөд тэдгээрийн энэ + байхгүй явдал нь зарим нэг тоглуулагчдад саад болж болохыг + санаарай.</para> + + <para>Хэрэв үр дүн иймэрхүү харагдаж байвал:</para> +<screen>X-Video Extension version 2.2 +screen #0 +no adaptors present</screen> + + <para>XVideo таны картын хувьд дэмжигдээгүй байх магадлалтай.</para> + + <para>Хэрэв XVideo нь таны картын хувьд дэмжигдээгүй байвал + амилуулж байгаа видео тооцоололтын шаардлагуудыг + таны дэлгэц хангах нь улам илүү хэцүү болно гэсэн + үг юм. Таны видео карт болон процессороос хамаараад + магадгүй та сэтгэл ханахуйц үр дүнд хүрч болох юм. + Ажиллагааг сайжруулах аргуудын талаар та <xref + linkend="video-further-reading"> хэсгээс нэмэлт уншлага + хийх шаардлагатай болж болох юм.</para> + + </sect3> + + <sect3 id="video-interface-SDL"> + <title>Simple Directmedia Layer буюу Энгийн Directmedia давхарга</title> + + <para>Simple Directmedia Layer буюу SDL нь + µsoft.windows;, BeOS, болон &unix;-ийн хооронд + хөрвүүлэх давхарга байхаар зориулагдсан бөгөөд ингэснээр дуу болон + графикийн үр ашигтай хэрэглээг бий болгож тавцан хооронд + ажиллах програмуудыг хөгжүүлэх боломжтой болсон юм. + SDL давхарга нь тоног төхөөрөмжийг доод түвшинд хийсвэрлэх боломжийг олгодог + бөгөөд энэ нь заримдаа X11 интерфэйсээс илүү үр дүнтэй байдаг.</para> + + <para>SDL нь <filename role="package">devel/sdl12</filename>-с олдож болно.</para> + + </sect3> + + <sect3 id="video-interface-DGA"> + <title>Direct Graphics Access буюу Шууд Графикийн Хандалт</title> + + <para>Direct Graphics Access буюу Шууд Графикийн Хандалт нь + X11 өргөтгөл бөгөөд програмд X серверийг орхин өнгөрч framebuffer-ийг + шууд өөрчлөх боломжийг олгодог. Энэ нь энэ хуваалцалд нөлөөлөх + доод түвшний санах ойн тааруулалт дээр тулгуурладаг болохоор + үүнийг ашиглаж байгаа програмууд <username>root</username>-ээр + ажиллах ёстой байдаг.</para> + + <para>DGA өргөтгөл нь &man.dga.1;-аар тест хийгдэж хурд, ажиллагааны + хувьд шалгагдаж болно. <command>dga</command> ажиллаж байхад + товчлуур дарах болгонд дэлгэцийн өнгөнүүдийг өөрчилдөг. Гарахын тулд + <keycap>q</keycap>-г дарна.</para> + + </sect3> + + </sect2> + + <sect2 id="video-ports"> + <title>Видеотой холбоотой портууд болон багцууд</title> + + <indexterm><primary>видео портууд</primary></indexterm> + <indexterm><primary>видео багцууд</primary></indexterm> + + <para>Энэ хэсэг нь FreeBSD-ийн портын цуглуулга дахь видео тоглуулахад ашиглаж + болох програм хангамжуудыг хэлэлцэх болно. Видео тоглуулах нь програм + хангамжийн хөгжүүлэлтийн маш идэвхтэй талбар бөгөөд төрөл бүрийн програмуудын + боломжууд нь энд өгсөн тайлбараас зарим талаараа зөрж болох юм.</para> + + <para>Эцэст нь FreeBSD дээр ажилладаг олон видео програмууд нь Линуксийн + програмууд маягаар хөгжүүлэгдсэн байдгийг мэдэх нь чухал юм. Эдгээр програмуудын + олонхи нь бета чанарых хэвээр байгаа билээ. FreeBSD дээр видео багцуудад + учирч болох асуудлуудын заримыг дурдвал:</para> + + <orderedlist> + + <listitem> + <para>Ямар нэг програмын үүсгэсэн файлыг өөр нэг нь тоглуулж чадахгүй байх.</para> + </listitem> + + <listitem> + <para>Өөрийн үүсгэсэн файлыг тоглуулж чадахгүй байх.</para> + </listitem> + + <listitem> + <para>Тухайн машин бүр дээр бүтээгдсэн, хоёр өөр машин дээрх нэг програм + ижил файлыг өөрөөр тоглуулах.</para> + </listitem> + + <listitem> + <para>Дүрсийн хэмжээг өөрчлөх зэрэг маш хялбар шүүлт нь алдаатай хэмжээ + өөрчлөх дэг журмаас болж маш муу үзэгдлүүдэд хүргэдэг.</para> + </listitem> + + <listitem> + <para>Програм байнга core үүсгэдэг.</para> + </listitem> + + <listitem> + <para>Баримт порттой цуг суугддаггүй бөгөөд түүнийг нэг бол вэб дээрээс юм уу эсвэл + портын <filename class='directory'>work</filename> сангаас + олж болдог.</para> + </listitem> + + </orderedlist> + + <para>Эдгээр програмуудын олонхи нь <quote>Линук-изм</quote>ийг харуулдаг. + Линукс тархацууд дахь зарим стандарт сангуудын хийгдсэн арга эсвэл + програм зохиогчдын тооцсон Линуксийн цөмийн зарим боломжуудаас болоод + асуудлууд гарч болно гэсэн үг юм. Эдгээр асуудлууд нь заримдаа анзаарагддаггүй + бөгөөд порт арчлагчид эдгээрийг тойрон гарсан шийдлүүдийг хийсэн байдаг. + Гэхдээ энэ нь доорх асуудлуудад хүргэж болзошгүй юм:</para> + + <orderedlist> + + <listitem> + <para>Процессорын шинж чанаруудыг илрүүлэх <filename>/proc/cpuinfo</filename>-ийн + хэрэглээ.</para> + </listitem> + + <listitem> + <para>Дуусахдаа програмыг бүрмэсэн төгсгөхийн оронд гацаадаг урсгалуудын (threads) + буруу хэрэглээ.</para> + </listitem> + + <listitem> + <para>Програмтай цуг ихэвчлэн ашиглагддаг програм хангамж FreeBSD-ийн портын + цуглуулгад байхгүй байх.</para> + </listitem> + + </orderedlist> + + <para>Одоогоор эдгээр програмуудын хөгжүүлэгчид нь порт хийхэд шаардагдах + тойрон гарах арга замуудыг багасгахын тулд порт арчлагчидтай хамтран ажиллаж байгаа билээ.</para> + + <sect3 id="video-mplayer"> + <title>MPlayer</title> + + <para><application>MPlayer</application> нь саяхан хөгжүүлэгдсэн бөгөөд + хурдацтай хөгжүүлэгдэж байгаа видео тоглуулагч юм. <application>MPlayer</application> + багийн зорилго нь хурд болон Линукс ба бусад Юниксууд дээрх уян хатан чанар + юм. Энэ төсөл нь багийг үндэслэгч тэр үед байсан тоглуулагчуудын муу тоглуулах + ажиллагаанаас залхсан үед үүссэн байна. Зарим нь дизайныг сайжруулж график + интерфэйс хийгдсэн гэж хэлж болох юм. Гэхдээ та тушаалын мөрийн тохируулгууд + болон товчлууруудын хяналтад дасаад ирэхэд энэ нь харин маш сайн ажилладаг.</para> + + <sect4 id="video-mplayer-building"> + <title>MPlayer-ийг бүтээх</title> + <indexterm><primary>MPlayer</primary> + <secondary>бүтээх</secondary></indexterm> + + <para><application>MPlayer</application> нь <filename + role="package">multimedia/mplayer</filename> санд байрладаг. + <application>MPlayer</application> нь бүтээх явцад төрөл бүрийн + тоног төхөөрөмжийн шалгалтуудыг гүйцэтгэж нэг системээс нөгөөд хөрвүүлэгдэхгүй + хоёртьн файлыг гаргадаг. Тиймээс хоёртын багцыг ашиглалгүйгээр + портоос бүтээх нь чухал юм. Мөн <filename>Makefile</filename>-д тайлбарласнаар + бүтээлтийн эхэнд <command>make</command> тушаалд хэд хэдэн тохируулгуудыг зааж + өгч болдог:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/multimedia/mplayer</userinput> +&prompt.root; <userinput>make</userinput> +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 +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 +</screen> + + <para>Ихэнх хэрэглэгчдэд анхдагч портын тохируулгууд хангалттай байх ёстой. + Гэхдээ хэрэв танд XvID кодек хэрэгтэй бол тушаалын мөрөнд <makevar>WITH_XVID</makevar> + тохируулгыг зааж өгөх хэрэгтэй. Анхдагч DVD төхөөрөмжийг бас <makevar>WITH_DVD_DEVICE</makevar> + тохируулгаар тодорхойлж болох бөгөөд анхдагчаар <filename>/dev/acd0</filename> + ашиглагдах болно.</para> + + <para>Үүнийг бичиж байх үед <application>MPlayer</application> порт нь + өөрийн HTML баримт болон хоёр ажиллах файл <command>mplayer</command>, болон + <command>mencoder</command> тушаалуудаа бүтээдэг байсан бөгөөд сүүлийн + тушаал нь видеог дахин кодчилох хэрэгсэл юм.</para> + + <para><application>MPlayer</application>-ийн HTML баримт нь маш мэдээлэл сайтай + байдаг. Хэрэв уншигч энэ бүлэгт дурдсан видео тоног төхөөрөмж болон интерфэйсүүдийн талаарх мэдээлэл дутуу + байгааг мэдвэл <application>MPlayer</application>-ийн баримт нь харин + маш бүрэн гүйцэд нэмэгдэл болох юм. Хэрэв та &unix; дээрх видео дэмжлэгийн + талаар мэдээлэл хайж байгаа бол <application>MPlayer</application>-ийн баримтыг + цаг зав гарган заавал ч үгүй унших хэрэгтэй.</para> + + </sect4> + + <sect4 id="video-mplayer-using"> + <title>MPlayer ашиглах</title> + <indexterm><primary>MPlayer</primary> + <secondary>use</secondary></indexterm> + + <para><application>MPlayer</application>-ийн ямар ч хэрэглэгч өөрийн + гэрийн сандаа <filename>.mplayer</filename> дэд санг үүсгэх ёстой. + Энэ шаардлагатай дэд санг үүсгэхийн тулд та дараах тушаалыг бичиж болно:</para> + +<screen>&prompt.user; <userinput>cd /usr/ports/multimedia/mplayer</userinput> +&prompt.user; <userinput>make install-user</userinput></screen> + + <para><command>mplayer</command>-ийн тушаалын тохируулгууд гарын авлагын + хуудсанд дурдсан байдаг. Бүр илүү дэлгэрэнгүйг HTML баримтаас үзэж болно. + Энэ хэсэгт бид цөөн хэдэн нийтлэг хэрэглээг тайлбарлах болно.</para> + + <para><filename><replaceable>testfile.avi</replaceable></filename> + зэрэг файлыг тоглуулахын тулд <option>-vo</option> тохируулгаар төрөл бүрийн + видео интерфэйсүүдийн аль нэгийг оруулж өгнө:</para> + + <screen>&prompt.user; <userinput>mplayer -vo xv testfile.avi</userinput></screen> + <screen>&prompt.user; <userinput>mplayer -vo sdl testfile.avi</userinput></screen> + <screen>&prompt.user; <userinput>mplayer -vo x11 testfile.avi</userinput></screen> + <screen>&prompt.root; <userinput>mplayer -vo dga testfile.avi</userinput></screen> + <screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' testfile.avi</userinput></screen> + + <para>Эдгээр бүх тохируулгуудыг бүгдийг туршиж үзэх нь зүйтэй. Эдгээрийн + харьцангуй ажиллагаа нь олон хүчин зүйлүүдээс шалтгаалдаг бөгөөд тоног төхөөрөмжөөс + ихээхэн хамаарч өөр өөр байна.</para> + + <para>DVD-ээс тоглуулахын тулд <filename>testfile.avi</filename>-г + <option>dvd://<replaceable>N</replaceable> -dvd-device + <replaceable>DEVICE</replaceable></option> мөрөөр солих хэрэгтэй. + Энд байгаа <replaceable>N</replaceable> нь тоглуулах гарчгийн дугаар бөгөөд + <filename><replaceable>DEVICE</replaceable></filename> нь + DVD-ROM-д зориулсан төхөөрөмжийн цэг юм. Жишээ нь <filename>/dev/dvd</filename>-ийн + 3-р гарчгийг тоглуулахын тулд дараахийг ажиллуулна:</para> + + <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen> + + <note> + <para>Анхдагч DVD төхөөрөмжийг <application>MPlayer</application> + портыг <makevar>WITH_DVD_DEVICE</makevar> тохируулгаар бүтээж + байх үед тодорхойлж болдог. Анхдагчаар энэ төхөөрөмж нь + <filename>/dev/acd0</filename> юм. Илүү дэлгэрэнгүй + мэдээллийг портын <filename>Makefile</filename> файлаас + олж болно.</para> + </note> + + <para>Зогсоох, пауз авах, урагшлуулах гэх мэтийг хийхийн тулд товчлууруудын + талаар үзэх хэрэгтэй бөгөөд ингэхийн тулд <command>mplayer -h</command> + тушаалыг ажиллуулах юм уу эсвэл гарын авлагын хуудсыг унших нь зүйтэй юм.</para> + + <para>Тоглуулахад хэрэгтэй чухал нэмэлт тохируулгууд нь: + бүрэн дэлгэцийн горимд шилжүүлдэг <option>-fs -zoom</option> + болон ажиллагаанд тусалдаг <option>-framedrop</option> тохируулгууд + юм.</para> + + <para>mplayer-ийн тушаалын мөрийг их урт болгохгүйн тулд <filename>.mplayer/config</filename> + файл үүсгээд анхдагч тохируулгуудыг тэнд тохируулах хэрэгтэй:</para> +<programlisting>vo=xv +fs=yes +zoom=yes</programlisting> + + <para>Төгсгөлд нь <command>mplayer</command> нь DVD гарчгийг + <filename>.vob</filename> файл уруу гаргахад хэрэглэгдэж болдог. + DVD-ээс хоёр дахь гарчгийг гаргаж авахын тулд үүнийг бичнэ:</para> + + <screen>&prompt.root; <userinput>mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd</userinput></screen> + + <para>Гаралтын файл <filename>out.vob</filename> нь MPEG + байх бөгөөд энэ хэсэгт тайлбарлагдсан бусад багцуудаар удирдагдаж + болох юм.</para> + + </sect4> + <sect4 id="video-mencoder"> + <title>mencoder</title> + <indexterm> + <primary>mencoder</primary> + </indexterm> + + <para><command>mencoder</command>-ийг ашиглахаасаа өмнө HTML + баримтаас тохируулгуудтай танилцах нь зүйтэй юм. Гарын авлагын хуудас + байдаг боловч HTML баримтгүйгээр энэ нь тийм ч тустай биш юм. + Чанар, битийн бага хурдыг сайжруулах болон хэлбэршилтүүдийг өөрчлөх + тоолж баршгүй аргууд байдаг бөгөөд эдгээр аргуудын зарим нь + сайн, муу ажиллагааны хооронд ялгаа гаргаж болох юм. Танд туслах + хэд хэдэн жишээ энд байна. Эхлээд энгийн хуулбар:</para> + + <screen>&prompt.user; <userinput>mencoder input.avi -oac copy -ovc copy -o output.avi</userinput></screen> + + <para>Тушаалын мөрийн буруу хослолууд нь <command>mplayer</command>-ээр ч + тоглуулах боломжгүй файл гаргахад хүргэж болох юм. Тиймээс + хэрэв та файл уруу гаргаж авахыг хүсвэл <command>mplayer</command>-ийн + <option>-dumpfile</option>-ийг ашиглаарай.</para> + + <para><filename>input.avi</filename>-г MPEG4 кодек уруу MPEG3 аудио кодчилолтойгоор + хөрвүүлэхийн тулд (<filename role="package">audio/lame</filename> шаардлагатай):</para> + + <screen>&prompt.user; <userinput>mencoder input.avi -oac mp3lame -lameopts br=192 \ + -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi</userinput></screen> + + <para>Энэ нь <command>mplayer</command> + болон <command>xine</command> тоглуулах боломжтой гаралтыг үүсгэнэ.</para> + + <para>DVD гарчгийг шууд дахин кодчилохын тулд <filename>input.avi</filename> файлын оронд + <option>dvd://1 -dvd-device /dev/dvd</option> мөрийг тавьж + <username>root</username> эрхээр ажиллуулах хэрэгтэй. Эхний удаадаа + та өөрийн хийсэн зүйлдээ сэтгэл ханамжгүй байх магадлалтай болохоор + гарчгийг файл уруу гаргаж файл дээрээ ажиллахыг зөвлөдөг.</para> + </sect4> + + </sect3> + + <sect3 id="video-xine"> + <title>xine видео тоглуулагч</title> + + <para><application>xine</application> видео тоглуулагч нь + аль ч талаасаа зөвхөн бүгдийг багтаасан видео шийдэл байх зорилготой төсөл биш + бөгөөд энэ нь бас дахин ашиглагдах боломжтой үндсэн сан болон + залгаасуудаар өргөтгөх боломжтой модулчлагдсан ажиллах файлуудыг + үүсгэх зорилготой төсөл юм. Энэ нь багц болон <filename + role="package">multimedia/xine</filename> гэсэн порт хэлбэрээр байдаг.</para> + + <para><application>xine</application> тоглуулагч нь бас л бүрэн + гүйцэд боловсроогүй байгаа билээ. Хэдий тийм ч гэсэн сайнаар эхэлж + байгаа юм. Практикт <application>xine</application> нь + хурдан видео карттай CPU юм уу аль эсвэл XVideo өргөтгөлийн дэмжлэгийг + шаарддаг. GUI нь ашиглагдаж болохоор боловч болхи юм.</para> + + <para>Үүнийг бичиж байх үед CSS кодчилол хийгдсэн DVD-үүдийг тоглуулах + <application>xine</application>-тай цуг ирдэг оролтын + модул байгаагүй. Үүнд зориулан бүтээгдсэн модулиудтай гуравдагч талын + бүтээлтүүд байдаг боловч эдгээрийн аль нь ч FreeBSD-ийн портын цуглуулгад + байдаггүй.</para> + + <para><application>MPlayer</application>-тэй харьцуулах юм бол + <application>xine</application> нь хэрэглэгчийн хувьд илүүг хийдэг + боловч нөгөө талаараа хэрэглэгчид зарим нэг илүү нарийн тааруулах хяналтын + боломжийг өгдөггүй юм. <application>xine</application> видео тоглуулагч + нь XVideo интерфэйсүүд дээр хамгийн сайн ажилладаг.</para> + + <para>Анхдагчаар <application>xine</application> тоглуулагч нь + график хэрэглэгчийн интерфэйс эхлүүлэх болно. Дараа нь тухайн файлыг онгойлгохдоо + цэсүүдийг ашиглаж болно:</para> + + <screen>&prompt.user; <userinput>xine</userinput></screen> + + <para>Өөрөөр, GUI-гүйгээр дараах тушаал ашиглан файлыг нэн даруй тоглуулахаар + ажиллуулж болно:</para> + + <screen>&prompt.user; <userinput>xine -g -p mymovie.avi</userinput></screen> + + </sect3> + + <sect3 id="video-ports-transcode"> + <title>transcode буюу код хооронд хөрвүүлэгч хэрэгслүүд</title> + + <para><application>transcode</application> програм хангамж нь тоглуулагч биш, харин + видео болон аудио файлуудыг дахин кодчилоход зориулагдсан хэрэгслүүдийн цуглуулга юм. + <filename>stdin/stdout</filename> урсгалын интерфэйсүүдийн хамтаар тушаалын + мөрийн хэрэгслүүдийг ашиглан <application>transcode</application>-оор видео файлуудыг + нийлүүлэх, эвдэрсэн файлуудыг засах боломжтой болдог.</para> + + <para><filename + role="package">multimedia/transcode</filename> портыг бүтээж байх + явцад олон тооны тохируулгуудыг зааж өгч болдог бөгөөд бид дараах тушаалын + мөрийг <application>transcode</application>-ийг бүтээхэд ашиглахыг + зөвлөдөг:</para> + + <screen>&prompt.root; <userinput>make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \ +WITH_MJPEG=yes -DWITH_XVID=yes</userinput></screen> + + <para>Санал болгогдсон тохируулгууд ихэнх хэрэглэгчдийн хувьд хангалттай байх ёстой.</para> + + <para><command>transcode</command>-ийн багтаамжуудыг харуулахын + тулд DivX файлыг PAL MPEG-1 файл (PAL VCD) уруу хэрхэн хөрвүүлэхийг + харуулах нэг жишээг үзүүлье:</para> + + <screen>&prompt.user; <userinput>transcode -i input.avi -V --export_prof vcd-pal -o output_vcd</userinput> +&prompt.user; <userinput>mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa</userinput></screen> + + <para>Гарах MPEG файл <filename>output_vcd.mpg</filename>-г + <application>MPlayer</application>-ээр тоглуулах боломжтой байна. + Та файлыг бүр Видео CD хийхийн тулд CD-R зөөвөрлөгч уруу шарж болох + бөгөөд энэ тохиолдолд та <filename + role="package">multimedia/vcdimager</filename> болон <filename + role="package">sysutils/cdrdao</filename> програмуудыг суулгаж + ашиглах хэрэгтэй болно.</para> + + <para><command>transcode</command>-д зориулсан гарын авлагын хуудас + байдаг боловч та илүү мэдээлэл болон жишээнүүдийн талаар + <ulink + url="http://www.transcoding.org/cgi-bin/transcode">transcode + wiki</ulink>-с бас лавлах хэрэгтэй.</para> + </sect3> + + </sect2> + + <sect2 id="video-further-reading"> + <title>Нэмэлт унших зүйлс</title> + + <para>FreeBSD-д зориулсан төрөл бүрийн видео програм хангамжийн багцууд + хурдацтай хөгжиж байна. Ойрын ирээдүйд энд дурдсан асуудлуудын + олонхи нь шийдэгдэх магадлал тун өндөр юм. Тэр болтол + FreeBSD-ийн A/V боломжуудыг аль болох ихээр авахыг хүсэж + байгаа хүмүүс цугтаа хэд хэдэн FAQ болон заавруудаас уншсан зүйлсээрээ + мэдлэгээ хуваалцаж өөр өөр цөөн хэдэн програмууд ашиглах хэрэгтэй юм. + Энэхүү хэсэг нь тийм нэмэлт мэдээллүүдийг уншигчдад өгөх зорилгоор + бичигдсэн юм.</para> + + <para> + <ulink url="http://www.mplayerhq.hu/DOCS/">MPlayer-ийн баримт</ulink> + нь техникийн хувьд маш сайн мэдээлэлтэй юм. &unix;-ийн видеогийн + талаар өндөр түвшний туршлагатай болохыг хүссэн хэн бүхэн эдгээр баримтуудаас + зөвлөгөө авах нь зүйтэй юм. <application>MPlayer</application>-ийн + захидлын жагсаалт нь баримтыг уншаагүй хүмүүст тийм ч нөхөрсөг бус байдаг + учраас тэдэнд алдааны мэдэгдлүүдийг илгээхээр төлөвлөж байгаа бол түр азнаад + RTFM (read the fine manual эсвэл read the fucking manual).</para> + + <para><ulink url="http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html"> xine HOWTO</ulink> + нь бүх тоглуулагчийн хувьд ерөнхий байдаг ажиллагааны сайжруулалтын + талаарх бүлгийг агуулдаг.</para> + + <para>Төгсгөлд нь уншигчдын туршиж болох зарим ирээдүйтэй програмууд байдаг:</para> + + <itemizedlist> + + <listitem> + <para><filename + role='package'>multimedia/avifile</filename> порт хэлбэрээр + бас байдаг <ulink + url="http://avifile.sourceforge.net/">Avifile</ulink>.</para> + </listitem> + + <listitem> + <para><filename + role='package'>multimedia/ogle</filename> порт хэлбэрээр + бас байдаг <ulink + url="http://www.dtek.chalmers.se/groups/dvd/">Ogle</ulink>.</para> + </listitem> + + <listitem> + <para><ulink url="http://xtheater.sourceforge.net/">Xtheater</ulink></para> + </listitem> + + <listitem> + <para>DVD агуулгыг зохиоход зориулагдсан нээлттэй эх багц <filename + role="package">multimedia/dvdauthor</filename>.</para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + + <sect1 id="tvcard"> + <sect1info> + <authorgroup> + <author> + <firstname>Жозеф</firstname> + <surname>Эл-Рэйэс</surname> + <contrib>Анхлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>Өргөжүүлж тохируулсан </contrib> + <!-- 02 January 2004 --> + </author> + </authorgroup> + </sect1info> + + <title>ТВ картуудыг тохируулах</title> + <indexterm> + <primary>ТВ картууд</primary> + </indexterm> + + <sect2> + <title>Танилцуулга</title> + + <para>ТВ картууд нь өөрийн компьютер дээр цацаж байгаа юм уу эсвэл + кабелийн ТВ үзэх боломжийг танд олгодог. Тэдгээрийн ихэнх нь + нийлмэл видеог RCA юм уу эсвэл S-видео оролтоор хүлээн авдаг бөгөөд + эдгээр картуудын зарим нь ФМ радио тааруулагчтай (tuner) ирдэг.</para> + + <para>&os; нь Brooktree Bt848/849/878/879 эсвэл + Conexant CN-878/Fusion 878a Видео Барих (capture) бичил схемийг + &man.bktr.4; драйвертай цуг ашиглан PCI дээр суурилсан ТВ картуудын + дэмжлэгийг хангадаг. Та дэмжигдсэн тааруулагчтай цуг ирсэн хавтанг бас + шалгах хэрэгтэй. Дэмжигдсэн тааруулагчдын жагсаалтын талаар + &man.bktr.4; гарын авлагын хуудаснаас лавлана уу.</para> + </sect2> + + <sect2> + <title>Драйвер нэмэх</title> + + <para>Өөрийн картыг ашиглахын тулд &man.bktr.4; драйверийг дуудах + хэрэгтэй болох бөгөөд дараах мөрийг <filename>/boot/loader.conf</filename> + файлд ингэж нэмэн үүнийг хийж болно:</para> + + <programlisting>bktr_load="YES"</programlisting> + + <para>Өөрөөр, ТВ картын дэмжлэгийг өөрийн цөмд статикаар эмхэтгэж + болох бөгөөд энэ тохиолдолд өөрийн цөмийн тохиргоондоо дараах мөрүүдийг + нэмнэ:</para> + + <programlisting>device bktr +device iicbus +device iicbb +device smbus</programlisting> + + <para>Картын бүрэлдэхүүнүүд I2C шугамаар хоорондоо холбогддог болохоор + эдгээр нэмэлт төхөөрөмжийн драйверууд нь шаардлагатай байдаг. Дараа нь + шинэ цөмөө бүтээж суулгах хэрэгтэй.</para> + + <para>Дэмжлэг таны системд нэмэгдсэний дараа та өөрийн машиныг дахин + ачаалах хэрэгтэй. Ачаалах процессийн үеэр таны ТВ карт доорхтой + төстэйгээр гарч ирэн харагдах ёстой:</para> + + <programlisting>bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0 +iicbb0: <I2C bit-banging driver> on bti2c0 +iicbus0: <Philips I2C bus> on iicbb0 master-only +iicbus1: <Philips I2C bus> on iicbb0 master-only +smbus0: <System Management Bus> on bti2c0 +bktr0: Pinnacle/Miro TV, Philips SECAM tuner.</programlisting> + + <para>Мэдээж эдгээр мэдэгдлүүд нь таны тоног төхөөрөмжөөс хамаарч + өөр байж болно. Гэхдээ та тааруулагч зөв олдсон эсэхийг шалгах + ёстой; зарим нэг олдсон параметрүүдийг &man.sysctl.8; MIB-үүд + болон цөмийн тохиргооны файлын тохируулгуудаар дарж өөрчлөх + боломжтой хэвээр байдаг. Жишээ нь хэрэв та тааруулагчийг + Philips SECAM тааруулагч уруу болгохыг хүсвэл өөрийн цөмийн + тохиргооны файлдаа дараах мөрийг нэмэх хэрэгтэй:</para> + + <programlisting>options OVERRIDE_TUNER=6</programlisting> + + <para>эсвэл та &man.sysctl.8;-ийг шууд ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>sysctl hw.bt848.tuner=6</userinput></screen> + + <para>Байдаг тохируулгуудын талаар дэлгэрэнгүйг &man.bktr.4; + гарын авлагын хуудас болон <filename>/usr/src/sys/conf/NOTES</filename> + файлаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Ашигтай програмууд</title> + + <para>Өөрийн ТВ картыг ашиглахын тулд та дараах програмуудын аль нэгийг + суулгах хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para><filename role="package">multimedia/fxtv</filename> + нь цонхон-дээрх-ТВ болон дүрс/аудио/видео барих (capture) боломжуудыг + олгодог.</para> + </listitem> + <listitem> + <para><filename role="package">multimedia/xawtv</filename> + нь бас ТВ програм бөгөөд <application>fxtv</application>-тэй + адил боломжуудтай байдаг.</para> + </listitem> + <listitem> + <para><filename role="package">misc/alevt</filename> нь + Видеотект/Телетекстийг декод хийн үзүүлдэг.</para> + </listitem> + <listitem> + <para><filename role="package">audio/xmradio</filename> нь + зарим нэг ТВ карттай цуг ирдэг ФМ радио тааруулагчийг ашиглах + програм юм.</para> + </listitem> + <listitem> + <para><filename role="package">audio/wmtune</filename> нь + радио тааруулагчуудад зориулсан ширээний эвтэйхэн програм юм.</para> + </listitem> + </itemizedlist> + + <para>Илүү олон програмууд &os;-ийн портын цуглуулгад байдаг.</para> + </sect2> + + <sect2> + <title>Алдааг олж засварлах</title> + + <para>Та өөрийн ТВ картандаа ямар нэг асуудал олох юм бол та эхлээд + видео барих бичил схем ба тааруулагч нь &man.bktr.4; драйвераар + яг дэмжигдсэн эсэх болон та зөв тохиргооны сонголтуудыг дамжуулсан эсэхээ + шалгах хэрэгтэй. Өөрийн ТВ картын талаарх төрөл бүрийн асуултууд болон + илүү дэмжлэгийн талаар та &a.multimedia.name; захидлын жагсаалтад + хандаж түүний архивыг нь ашиглаж болох юм.</para> + </sect2> + </sect1> + + <sect1 id="scanners"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Фонвил</surname> + <contrib>Бичсэн </contrib> + <!-- 04 August 2004 --> + </author> + </authorgroup> + </sect1info> + + <title>Дүрс скан хийгчид</title> + <indexterm> + <primary>image scanners</primary> + </indexterm> + + <sect2> + <title>Танилцуулга</title> + + <para>&os; дээр дүрс скан хийгчдэд хандах боломжийг &os;-ийн + портын цуглуулгад байдаг <application>SANE</application> + (Scanner Access Now Easy буюу Скан хийгчид хандах Хандалт Одоо Амархан гэгдэх) + <acronym role="Application Programming Interface">API</acronym> + олгодог. <application>SANE</application> нь &os;-ийн зарим + төхөөрөмжийн драйверууд ашиглан скан хийгчийн техник хангамжид + ханддаг.</para> + + <para>&os; нь SCSI болон USB скан хийгчдийг дэмждэг. Ямар нэг тохиргоо хийхээсээ + өмнө таны скан хийгч <application>SANE</application>-ээр дэмжигдсэн + эсэхийг шалгаарай. <application>SANE</application> нь + скан хийгчийн дэмжлэг болон түүний төлөвийн талаарх мэдээллээр таныг + хангах <ulink + url="http://www.sane-project.org/sane-supported-devices.html">дэмжигдсэн + төхөөрөмжүүд</ulink>ийн жагсаалттай байдаг. &man.uscanner.4; + гарын авлагын хуудас нь дэмжигдсэн USB скан хийгчдийн жагсаалтыг + бас агуулдаг.</para> + </sect2> + + <sect2> + <title>Цөмийн тохиргоо</title> + + <para>Дээр дурдсанаар SCSI болон USB интерфэйсүүд нь дэмжигдсэн байдаг. + Таны скан хийгчийн интерфэйсээс болоод өөр өөр төхөөрөмжийн драйверууд + шаардагддаг.</para> + + <sect3 id="scanners-kernel-usb"> + <title>USB интерфэйс</title> + + <para><filename>GENERIC</filename> цөм нь анхдагчаар USB скан хийгчдийг + дэмжихэд шаардлагатай төхөөрөмжийн драйверуудыг агуулдаг. Цөмийг өөрөө + тохируулан ашиглах бол дараах мөрүүд өөрийн цөмийн тохиргооны файлд байгаа + эсэхийг шалгах хэрэгтэй:</para> + + <programlisting>device usb +device uhci +device ohci +device uscanner</programlisting> + + <para>Таны эх хавтан дээрх USB бичил схемээс хамаарч танд зөвхөн + <literal>device uhci</literal> юм уу эсвэл <literal>device ohci</literal> + мөрийн аль нэг хэрэгтэй болно. Гэхдээ хоюуланг нь цөмийн тохиргоондоо + байлгах нь аюулгүй юм.</para> + + <para>Хэрэв та өөрийн цөмийг дахин бүтээхийг хүсэхгүй байгаа бөгөөд + таны цөм чинь <filename>GENERIC</filename> байгаа бол &man.kldload.8; + тушаал ашиглан &man.uscanner.4; төхөөрөмжийн драйверийг шууд + дуудаж болно:</para> + + <screen>&prompt.root; <userinput>kldload uscanner</userinput></screen> + + <para>Энэ модулийг систем эхлэх болгонд дуудахын тулд дараах мөрийг + <filename>/boot/loader.conf</filename> файлд нэмнэ:</para> + + <programlisting>uscanner_load="YES"</programlisting> + + <para>Зөв цөмөөр дахин ачаалсны дараа юм уу эсвэл шаардлагатай + модулийг дуудсаны дараа өөрийн USB скан хийгчийг залгана. Таны скан хийгчийг + таньж байгааг үзүүлэх мөр системий мэдэгдлийн буфферт (&man.dmesg.8;) + гарч ирэх ёстой:</para> + + <screen>uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2</screen> + + <para>Энэ нь бидний скан хийгч <filename>/dev/uscanner0</filename> + төхөөрөмжийн цэгийг ашиглаж байгааг харуулж байна.</para> + </sect3> + + <sect3> + <title>SCSI интерфэйс</title> + + <para>Хэрэв таны скан хийгч SCSI интерфэйстэй ирсэн бол ямар SCSI + хянагч хавтанг ашиглахаа мэдэх нь чухал юм. Ашиглагдах SCSI бичил схемээс + хамаараад та өөрийн цөмийн тохиргооны файлаа тааруулах хэрэгтэй + болно. <filename>GENERIC</filename> цөм нь хамгийн түгээмэл + SCSI хянагчуудыг дэмждэг. <filename>NOTES</filename> файлыг + уншиж өөрийн цөмийн тохиргооны файлд зөв мөрийг нэмсэн эсэхээ шалгаарай. + SCSI хувиргагч драйвераас гадна та өөрийн цөмийн тохиргооны файлдаа + дараах мөрүүдтэй байх хэрэгтэй:</para> + + <programlisting>device scbus +device pass</programlisting> + + <para>Таны цөм зөв эмхэтгэгдэж суулгагдсаны дараа ачаалах үед та + системийн мэдэгдлийн буфферт төхөөрөмжийг харж чадаж байх ёстой:</para> + + <screen>pass2 at aic0 bus 0 target 2 lun 0 +pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device +pass2: 3.300MB/s transfers</screen> + + <para>Таны скан хийгч системийг ачаалах үед асаагүй байсан ч гэсэн + гараар &man.camcontrol.8; тушаалын тусламжтай SCSI шугамын + хайлтыг хийж илрүүлэх боломжтой байдаг:</para> + + <screen>&prompt.root; <userinput>camcontrol rescan all</userinput> +Re-scan of bus 0 was successful +Re-scan of bus 1 was successful +Re-scan of bus 2 was successful +Re-scan of bus 3 was successful</screen> + + <para>Дараа нь скан хийгч SCSI төхөөрөмжүүдийн жагсаалтад гарч + ирэх болно:</para> + + <screen>&prompt.root; <userinput>camcontrol devlist</userinput> +<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0) +<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1) +<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3) +<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)</screen> + + <para>SCSI төхөөрөмжүүдийн талаарх дэлгэрэнгүй мэдээлэл + &man.scsi.4; болон &man.camcontrol.8; гарын авлагын хуудаснуудад + байдаг.</para> + </sect3> + </sect2> + + <sect2> + <title>SANE тохиргоо</title> + + <para><application>SANE</application> систем нь хоёр хэсэгт хуваагддаг: + эдгээр нь арын хэсэг (<filename + role="package">graphics/sane-backends</filename>) болон + урд хэсэг (<filename + role="package">graphics/sane-frontends</filename>) юм. + Арын хэсэг нь скан хийгчид өөрт нь хандах хандалтыг олгодог. + <application>SANE</application>-ий <ulink + url="http://www.sane-project.org/sane-supported-devices.html">дэмжигдсэн + төхөөрөмжүүд</ulink>ийн жагсаалт таны дүрс скан хийгчийг ямар арын + хэсэг дэмжихийг заадаг. Та өөрийн төхөөрөмжийг ашиглаж чаддаг байхын тулд + өөрийн скан хийгчийн хувьд зөв арын хэсгийг тодорхойлох нь зайлшгүй + шаардлагатай юм. Урд хэсэг нь график хайлт хийх интерфэйсийн боломжийг + олгодог (<application>xscanimage</application>).</para> + + <para>Эхний алхам нь <filename + role="package">graphics/sane-backends</filename> порт юм уу + эсвэл багцыг суулгах явдал юм. Дараа нь <command>sane-find-scanner</command> + тушаал ашиглан <application>SANE</application> системээр + скан хийгчийн илрүүлэлтийг шалгана:</para> + + <screen>&prompt.root; <userinput>sane-find-scanner -q</userinput> +found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3</screen> + + <para>Гаралт нь скан хийгчийн интерфэйсийн төрөл болон системд скан хийгчийг + залгахад хэрэглэгдсэн төхөөрөмжийн цэгийг үзүүлэх болно. Үйлдвэрлэгч болон + бүтээгдэхүүний загвар гарч ирэхгүй байж болох бөгөөд энэ нь тийм чухал биш + юм.</para> + + <note> + <para>Зарим USB скан хийгчид нь танаас firmware дуудаж ачаалахыг + шаарддаг бөгөөд энэ нь арын хэсгийн гарын авлагын хуудсанд тайлбарлагдсан + байгаа. Та &man.sane-find-scanner.1; болон &man.sane.7; + гарын авлагын хуудаснуудыг бас унших хэрэгтэй юм.</para> + </note> + + <para>Одоо бид скан хийгчийг скан хийх урд хэсгээр танигдах эсэхийг нь + шалгах хэрэгтэй. Анхдагчаар <application>SANE</application> + арын хэсгүүд нь &man.scanimage.1; гэгддэг тушаалын мөрийн хэрэгсэлтэй + ирдэг. Энэ тушаал нь танд төхөөрөмжүүдийг жагсааж тушаалын мөрөөс дүрс + эзэмшилтийг хийхийг зөвшөөрдөг. <option>-L</option> тохируулга + нь скан хийгчийн төхөөрөмжүүдийг жагсаахад хэрэглэгддэг:</para> + + <screen>&prompt.root; <userinput>scanimage -L</userinput> +device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner</screen> + + <para>Гаралт байхгүй юм уу эсвэл скан хийгч танигдсангүй гэсэн мэдэгдэл нь + &man.scanimage.1; нь скан хийгчийг таньж чадаагүйг харуулна. + Хэрэв ингэсэн бол та арын хэсгийн тохиргооны файлыг засварлаж + ашиглагдах скан хийгч төхөөрөмжийг тодорхойлох хэрэгтэй. + <filename + class="directory">/usr/local/etc/sane.d/</filename> сан + бүх арын хэсгийн тохиргооны файлуудыг агуулдаг. Энэ танилтын асуудал + зарим нэг USB скан хийгчдийн хувьд тохиолддог.</para> + + <para>Жишээ нь <xref linkend="scanners-kernel-usb">-д + хэрэглэгдсэн USB скан хийгчтэй байхад <command>sane-find-scanner</command> тушаалыг + ажиллуулахад дараах мэдээллийг бидэнд өгөх болно:</para> + + <screen>&prompt.root; <userinput>sane-find-scanner -q</userinput> +found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0</screen> + <para>Скан хийгч нь зөв олдсон бөгөөд USB интерфэйсийг ашиглан + <filename>/dev/uscanner0</filename> төхөөрөмжийн цэгт + залгагдсан байна. Одоо бид скан хийгч зөв танигдсан эсэхийг шалгаж + болно:</para> + + <screen>&prompt.root; <userinput>scanimage -L</userinput> + +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).</screen> + + <para>Скан хийгч нь танигдаагүй болохоор бид + <filename>/usr/local/etc/sane.d/epson.conf</filename> файлыг + засварлах хэрэгтэй болно. Ашиглагдсан скан хийгчийн загвар нь + &epson.perfection; 1650 байсан, тэгэхээр бид <literal>epson</literal> + арын хэсгийг скан хийгчийг ашиглахыг мэдлээ. Арын хэсгүүдийн тохиргооны файлууд + дахь туслах тайлбаруудыг уншихаа мартуузай. Мөрийн өөрчлөлтүүд нь их + энгийн: таны скан хийгчийн хувьд буруу интерфэйстэй бүх мөрүүдийг тайлбар + болгоно (бидний хувьд, бидний скан хийгч USB интерфэйсийг ашигладаг болохоор + <literal>scsi</literal> гэсэн үгээс эхэлсэн бүх мөрүүдийг тайлбар + болгоно), дараа нь файлын төгсгөлд ашиглагдах интерфэйс болон төхөөрөмжийн + цэгийг заасан мөрийг нэмнэ. Энэ тохиолдолд бид дараах мөрийг нэмнэ:</para> + + <programlisting>usb /dev/uscanner0</programlisting> + + <para>Илүү дэлгэрэнгүй мэдээлэл болон хэрэглээний зөв синтаксийн талаар арын + хэсгийн тохиргооны файлд байгаа тайлбарууд болон арын хэсгийн гарын авлагын + хуудаснаас уншихаа мартуузай. Бид одоо скан хийгч танигдсан эсэхийг + шалгаж болно:</para> + + <screen>&prompt.root; <userinput>scanimage -L</userinput> +device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner</screen> + + <para>Бидний USB скан хийгч танигдлаа. Үйлдвэрлэгч болон загвар нь скан хийгчийнхтэй + таарахгүй байвал энэ нь тийм чухал биш юм. Бодолцож үзэх гол түлхүүр зүйл нь + бидэнд зөв арын хэсгийн нэр болон зөв төхөөрөмжийн цэгийг өгдөг + <literal>`epson:/dev/uscanner0'</literal> талбар юм.</para> + + <para><command>scanimage -L</command> тушаал скан хийгчийг харж + чаддаг болсны дараа тохиргоо дуусна. Төхөөрөмж нь одоо скан хийхэд бэлэн + болсон байна.</para> + + <para>&man.scanimage.1; нь дүрс эзэмшилтийг тушаалын мөрөөс хийхийг + бидэнд зөвшөөрдөг боловч дүрс скан хийхдээ график хэрэглэгчийн интерфэйс + ашиглахыг эрхэмлэх нь зүйтэй юм. <application>SANE</application> нь + хялбар боловч үр ашигтай график интерфэйсийг санал болгодог: энэ нь + <application>xscanimage</application> + (<filename + role="package">graphics/sane-frontends</filename>) юм.</para> + + <para><application>Xsane</application> (<filename + role="package">graphics/xsane</filename>) нь өөр нэг алдартай + график скан хийгч урд хэсэг юм. Энэ урд хэсэг нь төрөл бүрийн скан хийгч + горим (фото хуулбар хийх, факс, гэх мэт), өнгөний засвар, бөөнөөр + скан хийх гэх мэт дэвшилтэт боломжуудыг санал болгодог. Эдгээр програмууд нь + <application>GIMP</application> залгаас болж ашиглагдах + боломжтой байдаг.</para> + </sect2> + + <sect2> + <title>Бусад хэрэглэгчдэд скан хийгчид хандах боломжийг өгөх</title> + + <para>Өмнөх бүх үйлдлүүдийг <username>root</username> зөвшөөрлүүдээр + хийсэн билээ. Гэхдээ өөр хэрэглэгчдэд скан хийгчид хандах боломжийг өгөх + хэрэг танд байж болох юм. Скан хийгчийн ашигладаг төхөөрөмжийн цэгт + хандахад унших болон бичих зөвшөөрлүүд хэрэглэгчид хэрэгтэй болно. + Жишээ нь бидний USB скан хийгч <groupname>operator</groupname> + бүлгийн эзэмшдэг <filename>/dev/uscanner0</filename> төхөөрөмжийн + цэгийг ашиглаж байна. Хэрэглэгч <username>joe</username>-г + <groupname>operator</groupname> бүлэгт нэмэх нь скан хийгчийг ашиглахыг + түүнд зөвшөөрөх болно:</para> + + <screen>&prompt.root; <userinput>pw groupmod operator -m <replaceable>joe</replaceable></userinput></screen> + + <para>Илүү дэлгэрэнгүйг &man.pw.8; гарын авлагын хуудаснаас уншина уу. + Та <filename>/dev/uscanner0</filename> төхөөрөмжийн цэгт + бичих зөвшөөрлүүдийг (0660 эсвэл 0664) бас тохируулах хэрэгтэй. + Анхдагчаар зөвхөн <groupname>operator</groupname> бүлэг нь + төхөөрөмжийн цэгийг уншиж чаддаг. <filename>/etc/devfs.rules</filename> + файлд дараах мөрүүдийг нэмж үүнийг хийж болно:</para> + + <programlisting>[system=5] +add path uscanner0 mode 660</programlisting> + + <para>Дараа нь дараах мөрийг <filename>/etc/rc.conf</filename> файлд + нэмж машиныг дахин ачаална:</para> + + <programlisting>devfs_system_ruleset="system"</programlisting> + + <para>Эдгээр мөрнүүдийн талаарх дэлгэрэнгүй мэдээллийг &man.devfs.8; + гарын авлагын хуудаснаас олж болно.</para> + + <note> + <para>Мэдээж аюулгүй байдлын шалтгаануудаас болоод та хэрэглэгчийг + ямар нэгэн бүлэг уруу ялангуяа <groupname>operator</groupname> бүлэг уруу + нэмэхээсээ өмнө дахин бодох хэрэгтэй.</para> + </note> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/network-servers/Makefile b/mn_MN.UTF-8/books/handbook/network-servers/Makefile new file mode 100644 index 0000000000..217e8234d6 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/network-servers/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= network-servers/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml new file mode 100644 index 0000000000..79cd9e926f --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml @@ -0,0 +1,4532 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.95 + + $FreeBSD$ +--> + +<chapter id="network-servers"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Муррей</firstname> + <surname>Стокли</surname> + <contrib>Дахин зохион байгуулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + <!-- 23 July 2004 --> + </chapterinfo> + + <title>Сүлжээний орчны Серверүүд</title> + + <sect1 id="network-servers-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>Энэ бүлэгт өргөн хэрэглэгддэг, &unix; системүүдийн сүлжээний орчинд ажилладаг +үйлчилгээнүүдийн талаар авч үзэх болно. Бид энд олон өөр үйлчилгээнүүдийг хэрхэн +суулгах, тохируулах, шалгах болон засвар үйлчилгээг хариуцах талаар үзэх болно. +Танд зориулж жишээ тохиргооны файлуудыг мөн оруулж өгсөн байгаа.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + + <listitem> + <para><application>inetd</application> демоныг хэрхэн удирдах.</para> + </listitem> + + <listitem> + <para>Сүлжээний орчны файл системийг хэрхэн зохион байгуулах.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн бүртгэлийг хуваалцах сүлжээний орчны мэдээллийн серверийг хэрхэн зохион байгуулах.</para> + </listitem> + + <listitem> + <para>DHCP ашиглан автоматаар сүлжээний тохиргоог хэрхэн хийх.</para> + </listitem> + + <listitem> + <para>Домэйн нэрийн серверийг хэрхэн зохион байгуулах.</para> + </listitem> + + <listitem> + <para><application>Apache</application> HTTP Серверийг хэрхэн зохион байгуулах.</para> + </listitem> + + <listitem> + <para>File Transfer Protocol буюу Файл Дамжуулах Протокол(FTP) Серверийг хэрхэн зохион байгуулах.</para> + </listitem> + + <listitem> + <para><application>Samba</application> ашиглан &windows; хэрэглэгчид зориулсан +файл болон хэвлэгч серверийг хэрхэн зохион байгуулах.</para> + </listitem> + + <listitem> + <para>Цаг болон өдрийг тохируулах хийгээд NTP протокол ашиглан цагийн серверийг хэрхэн зохион байгуулах.</para> + </listitem> + + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдсэн байх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para><filename>/etc/rc</filename> скриптүүдийн үндсийг ойлгосон байх.</para> + </listitem> + + <listitem> + <para>Сүлжээний үндсэн нэр томъёоллыг мэддэг байх.</para> + </listitem> + + <listitem> + <para>Гуравдагч этгээдийн нэмэлт програмыг(<xref linkend="ports">) хэрхэн суулгахыг мэддэг байх.</para> + </listitem> + + </itemizedlist> + </sect1> + + <sect1 id="network-inetd"> + <sect1info> + <authorgroup> + <author> + <firstname>Черн</firstname> + <surname>Лий</surname> + <contrib>Хувь нэмрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <contrib>&os; 6.1-RELEASE-д зориулж шинэчилсэн </contrib> + <othername>&os; Баримтжуулах Төсөл</othername> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + + <title><application>inetd</application> <quote>Супер-Сервер</quote></title> + + <sect2 id="network-inetd-overview"> + <title>Ерөнхий агуулга</title> + + <para>&man.inetd.8; нь олон тооны үйлчилгээний холболтуудыг удирддаг тул +заримдаа түүнийг <quote>Интернет Супер-Сервер</quote> гэж нэрлэх нь бий. +Гаднаас үүсч буй холболтыг <application>inetd</application> хүлээн авч, аль програмтай холбогдохыг +тодорхойлон, тухайн процессыг салаалуулж, сокетийг түүн рүү чиглүүлнэ (програмын стандарт оролт, +гаралт болон алдааны дескриптороор үйлчилгээний сокетийг өгнө). Бага ашиглагддаг сервер дээр +<application>inetd</application>-г ажиллуулах нь бүх демоныг дангаар бие-даах горимд ажиллуулсантай +харьцуулахад системийн нийт ачааллыг багасгаж өгдөг. </para> + + <para>Голчлон, <application>inetd</application> нь бусад демонуудыг салаалуулахад хэрэглэгддэг +боловч <application>chargen</application>, <application>auth</application>, +ба <application>daytime</application> гэх мэт нилээд олон ердийн протоколуудыг шууд зохицуулан ажиллуулж чадна.</para> + + <para>Энэ хэсэгт <application>inetd</application>-н анхан шатны тохиргоог тушаалын мөрний тохируулгаар, +мөн <filename>/etc/inetd.conf</filename> тохиргооны файлаар хэрхэн хийхийг үзүүлэх болно.</para> + </sect2> + + <sect2 id="network-inetd-settings"> + <title>Тохиргоо</title> + + <para><application>inetd</application> нь &man.rc.8; системээр эхлүүлэгдэнэ. +<literal>inetd_enable</literal> тохируулгын анхдагч утга нь <literal>NO</literal> бөгөөд, +системийг суулгах явцад хэрэглэгчийн зааж өгсний дагуу <application>sysinstall</application> +програмын тусламжтай идэвхжүүлж болно. <programlisting>inetd_enable="YES"</programlisting> эсвэл +<programlisting>inetd_enable="NO"</programlisting>-г <filename>/etc/rc.conf</filename> +файл дотор байрлуулснаар <application>inetd</application>-г систем ачаалахад эхэлдэг болгож болно. +<programlisting>/etc/rc.d/inetd rcvar</programlisting> тушаалыг өгөн одоо идэвхтэй байгаа +тохиргоог харж болно.</para> + + <para>Дээр нь, <literal>inetd_flags</literal> тохируулгаар дамжуулан +<application>inetd</application> програмд тушаалын мөрнөөс өөр олон тохируулгыг +зааж өгч болно.</para> + </sect2> + + <sect2 id="network-inetd-cmdline"> + <title>Тушаалын мөрний тохируулгууд</title> + + <para>Бусад сервер демоны адил, <application>inetd</application> нь +түүнийг өөрчлөн тохируулахад зориулагдсан олон тооны тохируулгуудын хамт ирдэг. +Тохируулгуудыг бүрнээр жагсаан бичвэл:</para> + + <para><command>inetd</command> <option>[-d] [-l] [-w] [-W] [-c maximum] [-C rate] [-a address | hostname] + [-p filename] [-R rate] [-s maximum] [configuration file]</option></para> + + <para><application>inetd</application>-н эдгээр тохируулгуудыг +<filename>/etc/rc.conf</filename> файл доторх +<literal>inetd_flags</literal> тохируулгын тусламжтай зааж өгч болно. +Анхдагч байдлаар, <literal>inetd_flags</literal> нь <literal>-wW -C 60</literal> гэсэн +утгыг авсан байх ба энэ нь <application>inetd</application>-ны үйлчилгээнүүдийн хувьд +TCP wrapping буюу TCP-ийн гүйцэтгэл хялбаршуулалтыг идэвхжүүлэх ба тухайн ямар нэг IP хаягнаас аль нэг үйлчилгээнд +нэг минутанд 60-аас дээш удаа хүсэлт тавих боломжгүй болгоно.</para> + + <para>Хэдийгээр бид гаднаас хэтэрхий олон +тооны хандалт хийгдэж байгаа үед тохируулгаар түүнийг хэрхэн хязгаарлахыг +доор үзүүлж байгаа ч гэсэн, анхлан суралцагчдад зөвлөхөд +эдгээр параметрүүдийг ихэвчлэн өөрчлөх шаардлагагүй байдаг. +Тохируулгуудын бүрэн жагсаалтыг &man.inetd.8; заавар хуудаснаас үзнэ үү.</para> + + <variablelist> + <varlistentry> + <term>-c maximum</term> + + <listitem> + <para>Үйлчилгээг нэгэн зэрэг хэдэн удаа дуудаж болох хамгийн дээд +тооны анхдагч утгыг заана; Анхдагч утга нь хязгааргүй. +Үйлчилгээ тус бүрээр <option>max-child</option> параметрийн тусламжтай +утгыг дарж өөрчилж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-C rate</term> + + <listitem> + <para>Үйлчилгээг нэг IP хаягнаас нэг минутын дотор хэдэн удаа +дуудаж болох +хамгийн дээд тооны анхдагч утгыг заана; Анхдагч утга нь хязгааргүй. +Үйлчилгээ тус бүрээр <option>max-connections-per-ip-per-minute</option> параметрийн тусламжтай +утгыг дарж өөрчилж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-R rate</term> + + <listitem> + <para>Үйлчилгээг нэг минутын дотор хэдэн удаа дуудаж болох +хамгийн дээд тоог заана; Анхдагч утга нь 256. 0-г +тавьснаар хязгааргүй болгоно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-s maximum</term> + + <listitem> + <para>Үйлчилгээг нэг IP хаягнаас хэдэн удаа +дуудаж болох хамгийн дээд тоог заана; Анхдагч утга нь хязгааргүй. +Үйлчилгээ тус бүрээр <option>max-child-per-ip</option> параметрийн тусламжтай +утгыг дарж өөрчилж болно.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2 id="network-inetd-conf"> + <!-- XXX This section isn't very clear, and could do with some lovin' --> + <title><filename>inetd.conf</filename></title> + + <para><application>inetd</application>-г <filename>/etc/inetd.conf</filename> +файлын тусламжтай тохируулна.</para> + + <para><filename>/etc/inetd.conf</filename> файлд өөрчлөлт хийсний дараа, +<application>inetd</application>-р тохиргооны файлыг дахин уншуулахдаа +дараах тушаалыг өгнө:</para> + + <example id="network-inetd-reread"> + <title><application>inetd</application>-н тохиргооны файлыг дахин дуудах нь</title> + + <screen>&prompt.root; <userinput>/etc/rc.d/inetd reload</userinput></screen> + </example> + + <para>Тохиргооны файлын мөр бүр тусдаа демоныг заана. +Файл доторх тайлбарууд нь урдаа <quote>#</quote> тэмдэгтэй байна. +<filename>/etc/inetd.conf</filename> файл доторх бичлэгүүдийн формат дараах +байдалтай байна:</para> + + <programlisting>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</programlisting> + + <para>IPv4 ашигладаг &man.ftpd.8; демоны хувьд жишээ бичлэг дараах байдалтай байж болно:</para> + + <programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting> + + <variablelist> + <varlistentry> + <term>service-name</term> + + <listitem> + <para>Тухайн демоны үйлчилгээний нэрийг заана. +Энэ нь <filename>/etc/services</filename> файл дотор бичигдсэн үйлчилгээнүүдийн нэг +байх ёстой бөгөөд аль портон дээр сонсохыг <application>inetd</application>-д хэлж өгнө. +Хэрэв шинэ үйлчилгээ үүсгэсэн бол түүнийг заавал <filename>/etc/services</filename> файл +дотор нэмсэн байх ёстой.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>socket-type</term> + + <listitem> + <para><literal>stream</literal>, + <literal>dgram</literal>, <literal>raw</literal>, эсвэл <literal>seqpacket</literal> эдгээрийн нэг байна. +<literal>stream</literal>-г холболтон дээр үндэслэсэн TCP демонуудын хувьд хэрэглэдэг бол, +<literal>dgram</literal>-г <acronym>UDP</acronym> протоколоор ажилладаг демонуудын хувьд хэрэглэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>protocol</term> + + <listitem> + <para>Доорхоос нэг нь байна:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Протокол</entry> + <entry>Тайлбар</entry> + </row> + </thead> + <tbody> + <row> + <entry>tcp, tcp4</entry> + <entry>TCP IPv4</entry> + </row> + <row> + <entry>udp, udp4</entry> + <entry>UDP IPv4</entry> + </row> + <row> + <entry>tcp6</entry> + <entry>TCP IPv6</entry> + </row> + <row> + <entry>udp6</entry> + <entry>UDP IPv6</entry> + </row> + <row> + <entry>tcp46</entry> + <entry>TCP IPv4 ба v6 хоёул</entry> + </row> + <row> + <entry>udp46</entry> + <entry>UDP IPv4 ба v6 хоёул</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </listitem> + </varlistentry> + + <varlistentry> + <term>{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]</term> + + <listitem> + <para><option>wait|nowait</option> нь <application>inetd</application>-р дуудагдсан +демон өөрийн сокетийг зохицуулж чадах эсэхийг заана. +<option>dgram</option> сокеттой демоны хувьд <option>wait</option> тохируулгыг +хэрэглэнэ. Харин ихэвчлэн олон салаатай байдаг +stream сокеттой демоны хувьд <option>nowait</option> тохируулгыг хэрэглэх +хэрэгтэй. <option>wait</option> нь ихэвчлэн олон сокетыг нэг демонд +шилжүүлэн өгдөг бол, <option>nowait</option> нь шинээр үүссэн сокет тус бүрт +харгалзуулан хүүхэд демоныг салаалуулан үүсгэдэг.</para> + + <para><application>inetd</application>-ийн салаалуулан үүсгэж +чадах хамгийн их хүүхэд демоны тоог <option>max-child</option> +тохируулгын тусламжтай зааж өгч болно. Хэрэв +тухайн демоны ажиллаж болох тохиолдлыг 10-р хязгаарлах бол, +<option>nowait</option>-н ард <literal>/10</literal> гэж бичнэ. +<literal>/0</literal> нь хүүхдийн тоог хязгаарлахгүй гэсэн утгатай.</para> + + <para><option>max-child</option>-с гадна, нэг газраас тухайн демонтой +үүсгэж байгаа холболтын тоог хязгаарладаг өөр хоёр +тохируулгыг хэрэглэж болно. +<option>max-connections-per-ip-per-minute</option> нь тухайн ямар нэг IP хаягнаас +нэг минутанд үүсгэж болох холболтын тоог хязгаарлана, +жишээлбэл: 10 гэсэн утга нь тухайн ямар нэг IP хаягнаас +нэг минутын дотор тухайн үйлчилгээнд холбогдохоор оролдох +оролдлогын тоог 10-р хязгаарлана. <option>max-child-per-ip</option> нь +Тухайн ямар нэг IP хаяг дээр үүсгэгдсэн хүүхдийн тоог хязгаарлана. +Эдгээр тохируулгууд нь санаатай болон санамсаргүйгээр нөөцийг +хэтрүүлэн хэрэглэх, мөн Үйлчилгээг Зогсоох (DoS) халдлагаас хамгаалахад +хэрэгтэй байдаг.</para> + + <para>Хэрэглэхдээ, <option>wait</option> ба <option>nowait</option> +хоёрын аль нэгийг заавал хэрэглэх ёстой. Харин <option>max-child</option>, + <option>max-connections-per-ip-per-minute</option> ба + <option>max-child-per-ip</option> тохируулгуудыг сонгон хэрэглэж болно.</para> + + <para>Stream төрлийн олон салаатай (урсгал) демоны хувьд, <option>max-child</option>, + <option>max-connections-per-ip-per-minute</option> эсвэл <option>max-child-per-ip</option> хязгаарлалтуудын +алийг ч хэрэглэхгүй бол ердөө л: <literal>nowait</literal> байна.</para> + + <para>Дээрхтэй адил демон, 10 хүүхэд демоны хязгаарлалттай бол: <literal>nowait/10</literal> байна.</para> + + <para>Мөн адил демон, 10 хүүхэд демоны хязгаарлалттай, +минутанд нэг IP хаягнаас үүсгэх холболтын тоог 20-р хязгаарлах бол: + <literal>nowait/10/20</literal> байна.</para> + + <para>Эдгээр тохируулгуудыг &man.fingerd.8; демоны анхдагч тохиргоон дээр +жишээ болгон харвал:</para> + + <programlisting>finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s</programlisting> + + <para>Эцэст нь, 100 хүүхдийн хязгаарлалттай, нэг IP хаягнаас үүсэх холболтын +тоог 5-р хязгаарласан демоны жишээг авбал: <literal>nowait/100/0/5</literal> байх юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>user</term> + + <listitem> + <para>Энд тухайн демон ямар хэрэглэгчийн нэрээр ажиллахыг зааж өгнө. +Ихэвчлэн демонууд <username>root</username> хэрэглэгчийн нэр дээр ажилладаг. +Аюулгүй байдлын үүднээс, зарим серверүүд <username>daemon</username>, эсвэл +хамгийн бага эрхтэй <username>nobody</username> хэрэглэгчийн нэр дээр ажиллах нь +элбэг байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>server-program</term> + + <listitem> + <para>Энд гаднаас холболт хүлээн авахад ажиллуулах демоны +бүрэн замыг зааж өгнө. Хэрэв энэ демон <application>inetd</application>-р удирдагдсан +дотоод үйлчилгээ бол <option>internal</option> тохируулгыг хэрэглэх хэрэгтэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>server-program-arguments</term> + + <listitem> + <para>Үүнийг <option>server-program</option>-тай хамт, <literal>argv[0]</literal>-с эхлэн +програмын аргументыг зааж өгөх байдлаар хэрэглэнэ. Хэрэв командын +мөрөнд <command>mydaemon -d</command> гэсэн байдлаар хэрэглэдэг бол, <option>server-program-arguments</option>-н +утга <literal>mydaemon -d</literal> байна. Дахин хэлэхэд, хэрэв тухайн демон дотоод үйлчилгээний +нэг бол <option>internal</option>-г энд мөн хэрэглэнэ үү.</para> + </listitem> + </varlistentry> + </variablelist> + </sect2> + + <sect2 id="network-inetd-security"> + <title>Аюулгүй байдал</title> + + <para>Үйлдлийн системийг суулгах үед хийсэн сонголтуудаас хамааран +<application>inetd</application>-н үйлчилгээнүүдийн ихэнх нь +идэвхтэй болсон байдаг. Хэрэв хэрэглэх +онцын шаардлага байхгүй бол тэдгээрийг идэвхгүй болгоно уу. +<filename>/etc/inetd.conf</filename> файл дотор, идэвхгүй болгох гэж +байгаа демоныхоо харгалзах мөрийн урд <quote>#</quote> +тэмдгийг тавина. Дараа нь <link linkend="network-inetd-reread">inetd-н тохиргоог дахин +ачаална</link>. <application>fingerd</application> зэрэг зарим демонууд гадны халдагчид +хэрэгтэй мэдээллийг түгээж байдаг тул тэдгээр үйлчилгээг бүрмөсөн хааж +болох юм.</para> + + <para>Зарим демонууд аюулгүй байдлыг бодолцолгүйгээр бүтээгдсэн +байдаг ба холболт тогтоох харьцангуй урт болзоот хугацаатай, эсвэл болзоот +хугацааг огт зааж өгөөгүй байдаг. Энэ нь халдагчид тодорхой демон уруу холболт +тогтоох хүсэлтийг олон дахин илгээж, нөөцийг дуусгах замаар системд халдах +боломжийг олгодог. Хэрэв ямар нэг демоны хувьд үүссэн холболтын тоо +хэтэрхий олон байвал <option>max-connections-per-ip-per-minute</option>, +<option>max-child</option> эсвэл <option>max-child-per-ip</option> тохиргооны +тусламжтайгаар хязгаарлалт хийх нь оновчтой байдаг.</para> + + <para>Анхдагч байдлаар TCP-ийн дундын хяналт (гүйцэтгэл хялбаршуулалт) идэвхтэй байдаг. +<application>inetd</application>-р дуудагдсан демонуудын хувьд TCP хязгаарлалт +тавихын талаар дэлгэрэнгүй мэдээллийг &man.hosts.access.5; +заавар хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2 id="network-inetd-misc"> + <title>Элдэв зүйлс</title> + + <para><application>daytime</application>, + <application>time</application>, + <application>echo</application>, + <application>discard</application>, + <application>chargen</application>, ба <application>auth</application> бүгд +<application>inetd</application>-н дотоод үйлчилгээнүүд юм.</para> + + <para><application>auth</application> үйлчилгээ нь +сүлжээний орчинд, тодорхойлолт өгөх үйлчилгээ үзүүлдэг +бөгөөд тодорхой түвшинд тохиргоо хийх боломжтой байдаг бол +бусад үйлчилгээнүүдийг зөвхөн идэвхтэй эсвэл идэвхгүй болгох +боломжтой.</para> + + <para>Бүрэн дүүрэн мэдээллийг &man.inetd.8; заавар хуудаснаас +үзнэ үү.</para> + </sect2> + </sect1> + + <sect1 id="network-nfs"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Дахин зохион байгуулж, сайжруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Билл</firstname> + <surname>Свингл</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Сүлжээний Файлын Систем (NFS)</title> + + <indexterm><primary>NFS</primary></indexterm> + <para>FreeBSD дээр дэмжигддэг олон файлын системүүдийн нэг бол +Network File System буюу Сүлжээний Файлын Систем юм, мөн <acronym role="Network + File System">NFS</acronym> гэж нэрлэнэ. <acronym role="Network File + System">NFS</acronym> нь сүлжээний орчинд файл болон санг +бусадтай хуваалцах боломжийг олгодог. <acronym role="Network File System">NFS</acronym>-г +хэрэглэн, хэрэглэгчид болон програмууд алслагдсан систем рүү +дотоод файл руу хандаж байгаатай адилаар хандах боломжтой.</para> + + <para><acronym>NFS</acronym>-н тэмдэглүүштэй давуу талуудаас дурдвал:</para> + + <itemizedlist> + <listitem> + <para>Өргөн хэрэглэгддэг өгөгдлийг нэгтгэн нэг машин дээр +байрлуулж, түүнд алсаас хандах боломжтой болсноор +дотоод машинууд илүү бага диск хэрэглэх болно. </para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн хувьд сүлжээнд байгаа машин бүр дээр тус +тусдаа гэрийн сантай байх шаардлагагүй болно. +Гэрийн санг нэг удаа <acronym>NFS</acronym> сервер дээр үүсгээд +түүнийгээ сүлжээгээр дамжин хэрэглэх боломжтой.</para> + </listitem> + + <listitem> + <para>Уян диск, CDROM болон &iomegazip; төхөөрөмжүүдийг сүлжээний +бусад машинууд хэрэглэх боломжтой болно. +Ингэснээр сүлжээнд хэрэглэгдэх зөөвөрлөх боломжтой +хадгалах төхөөрөмжүүдийн тоог багасгана.</para> + </listitem> + </itemizedlist> + + <sect2> + <title><acronym>NFS</acronym> хэрхэн ажилладаг вэ</title> + + <para><acronym>NFS</acronym> нь үндсэн хоёр хэсгээс бүрдэнэ: +сервер болон нэг ба түүнээс дээш тооны харилцагч. Сервер машин дээр +хадгалагдаж байгаа өгөгдөл рүү харилцагч алсаас хандана. +Дээрх үйлдлийг зөв гүйцэтгэхийн тулд нилээд хэдэн процессийн +тохиргоог хийж, ажиллуулсан байх ёстой.</para> + + <para>Сервер дээр дараах демонууд ажиллаж байх ёстой:</para> + <indexterm> + <primary>NFS</primary> + <secondary>сервер</secondary> + </indexterm> + <indexterm> + <primary>файл сервер</primary> + <secondary>UNIX харилцагчид</secondary> + </indexterm> + + <indexterm> + <primary><application>rpcbind</application></primary> + </indexterm> + <indexterm> + <primary><application>mountd</application></primary> + </indexterm> + <indexterm> + <primary><application>nfsd</application></primary> + </indexterm> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="3*"> + + <thead> + <row> + <entry>Демон</entry> + <entry>Тайлбар</entry> + </row> + </thead> + <tbody> + <row> + <entry><application>nfsd</application></entry> + <entry><acronym>NFS</acronym> харилцагчдаас ирэх +хүсэлтийг хүлээн авах <acronym>NFS</acronym> демон.</entry> + </row> + <row> + <entry><application>mountd</application></entry> + <entry>&man.nfsd.8;-с дамжиж ирсэн хүсэлтийг гүйцэтгэгч +<acronym>NFS</acronym> холбох демон.</entry> + </row> + <row> + <entry><application>rpcbind</application></entry> + <entry>Энэ демоны тусламжтай <acronym>NFS</acronym> +харилцагчид <acronym>NFS</acronym> сервер аль портон дээр +ажиллаж байгааг олж мэднэ.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Харилцагч <application>nfsiod</application> гэсэн демоныг мөн +ажиллуулж болно. <application>nfsiod</application> демон +<acronym>NFS</acronym> серверээс ирэх хүсэлтийг гүйцэтгэнэ. +Ингэх нь системийг хэвийн, алдаагүй ажиллуулахад зайлшгүй +шаардлагагүй боловч зарим үзүүлэлтүүдийг сайжруулдаг тул нэмэлт +байдлаар хэрэглэж болно. Дэлгэрэнгүй мэдээллийг +&man.nfsiod.8; хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2 id="network-configuring-nfs"> + <title><acronym>NFS</acronym>-н тохиргоог хийх</title> + <indexterm> + <primary>NFS</primary> + <secondary>тохиргоо</secondary> + </indexterm> + + <para><acronym>NFS</acronym>-н тохиргоог хийх нь харьцангуй +амархан. Ажиллах ёстой процессуудыг системтэй хамт автоматаар +асдаг болгохын тулд <filename>/etc/rc.conf</filename> файлыг бага зэрэг +өөрчлөхөд хангалттай.</para> + + <para><acronym>NFS</acronym> сервер дээрх <filename>/etc/rc.conf</filename> файл дотор +дараах тохируулгууд идэвхжсэн байгаа эсэхийг шалгана уу:</para> + + <programlisting>rpcbind_enable="YES" +nfs_server_enable="YES" +mountd_flags="-r"</programlisting> + + <para><application>mountd</application> нь <acronym>NFS</acronym> серверийг +идэвхжүүлсэн тохиолдолд өөрөө автоматаар ажиллана.</para> + + <para>Харилцагч талд, <filename>/etc/rc.conf</filename> файл дотор +дараах тохируулга идэвхтэй байгаа эсэхийг шалгана уу:</para> + + <programlisting>nfs_client_enable="YES"</programlisting> + + <para><filename>/etc/exports</filename> файл дотор +<acronym>NFS</acronym> ямар файл системүүдийг экспорт +хийхийг (заримдаа <quote>хуваалцах</quote> гэж мөн нэрлэнэ) зааж өгнө. +<filename>/etc/exports</filename> файлын мөр бүр нь нэг файл системд харгалзана. +Энэ файл системд хандах эрхтэй машинуудыг заахаас гадна, +ямар тохируулгаар хандахыг мөн зааж өгч болно. Энэ файл дотор бичигдэж +болох нилээд олон ийм тохируулгууд байгаа хэдий ч, бид тэдгээрээс +зөвхөн заримыг нь энд авч үзэх болно. Та бусад тохируулгуудын +талаар &man.exports.5; заавар хуудаснаас уншиж мэднэ үү.</para> + + <para>Доор <filename>/etc/exports</filename> файлаас хэдэн жишээ мөрийг үзүүлэв:</para> + + <indexterm> + <primary>NFS</primary> + <secondary>экспортлох жишээ</secondary> + </indexterm> + + <para>Дараах жишээн дээрээс файл системийг +хэрхэн экспортлох санааг олж авах болно. Тохируулгууд нь +таны сүлжээний тохиргоо, нөхцөл байдлаас шалтгаалан +өөр байхыг анхаарна уу. Жишээ нь, <filename>/cdrom</filename> гэсэн санг +3 машин руу экспортлохын тулд дараах байдалтай бичнэ. Жишээн дээрх +3 машин сервертэй адил домэйн нэртэй, эсвэл таны <filename>/etc/hosts</filename> +файл дотор тодорхойлогдсон гэж үзсэн болно. <option>-ro</option> туг нь +экспортлогдож буй файл системийг зөвхөн унших боломжтой +болохыг заана. Энэ тугийг тавьснаар алсаас хандаж буй машин +энэ файл систем дээр ямар нэг өөрчлөлт хийх боломжгүй болно.</para> + + <programlisting>/cdrom -ro host1 host2 host3</programlisting> + + <para>Дараах жишээн дээр <filename>/home</filename> санг +IP хаягаар нь зааж өгсөн 3 машин руу экспортлож байна. +Ингэж IP хаягаар нь зааж өгөх нь дотоод сүлжээндээ +<acronym>DNS</acronym> сервер ажиллуулаагүй үед их хэрэгтэй байдаг. +Эсвэл <filename>/etc/hosts</filename> файл дотор дотоод хостуудын +нэрийг тохируулж болно; &man.hosts.5; хэсгийг дахин үзнэ үү. +<option>-alldirs</option> гэсэн туг нь дэд сангуудыг +холболтын цэг байхыг зөвшөөрч өгдөг. Өөрөөр хэлбэл, +дэд сангуудыг холболгүй орхиж, харилцагч зөвхөн өөрийн +хэрэгцээтэй байгаа сангаа холбохыг зөвшөөрнө гэсэн үг юм.</para> + + <programlisting>/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4</programlisting> + + <para>Дараах жишээн дээр <filename>/a</filename> санг +хоёр өөр доменоос 2 харилцагч хандаж болохоор +экспортлож байна. <option>-maproot=root</option> гэсэн туг нь +алслагдсан систем дээрх <username>root</username> хэрэглэгч +экспортлогдсон файл систем дээр <username>root</username> эрхээр +бичихийг зөвшөөрнө. Хэрэв <literal>-maproot=root</literal> тугийг тусгайлан зааж өгөөгүй бол, +хэдий алслагдсан систем дээрх хэрэглэгч <username>root</username> эрхтэй ч +экспортлогдсон файл систем дээр бичих эрхгүй болно.</para> + + <programlisting>/a -maproot=root host.example.com box.example.org</programlisting> + + <para>Харилцагч экспортлогдсон файл систем рүү хандахын +тулд эрх нь байх ёстой. Тухайн харилцагч <filename>/etc/exports</filename> +файл дотор бүртгэлтэй эсэхийг шалгаарай.</para> + + <para><filename>/etc/exports</filename> файл дотор мөр болгон нь +нэг файл системийг нэг хост руу экспортлох мэдээллийг +төлөөлнө. Алслагдсан хост аль нэг файл системийн хувьд +зөвхөн ганц удаа л тодорхойлогдсон байх ёстой ба үүнд харгалзах +ганцхан анхдагч бичлэг байж болно. Жишээ нь, <filename>/usr</filename> нь +нэг файл систем гэж бодъё. <filename>/etc/exports</filename> файл доторх +дараах бичлэгүүд нь буруу юм:</para> + + <programlisting># Invalid when /usr is one file system +/usr/src client +/usr/ports client</programlisting> + + <para>Учир нь <filename>/usr</filename> гэсэн файл системийг <hostid>client</hostid> +гэсэн хост руу экспортлосон хоёр бичлэг байна. Энэ тохиолдолд +дараах форматаар бичвэл зөв болно:</para> + + <programlisting>/usr/src /usr/ports client</programlisting> + + <para>Нэг хост руу экспортлогдож байгаа файл системийн хувьд +шинжүүдийг бүгдийг нэг мөрөнд жагсаан бичих ёстой. +Харилцагчийг зааж өгөөгүй мөрүүдийг энгийн хост гэж үзнэ. +Энэ нь файл системийг экспортлох боломжийг хязгаарлана, +гэвч энэ нь ихэнх хүмүүст хүнд асуудал биш байдаг.</para> + + <para>Дараагийн жишээн дээр <filename>/usr</filename> ба <filename>/exports</filename> +гэсэн дотоод файл системийг экспортлосон байна:</para> + + <programlisting># 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</programlisting> + + <para><filename>/etc/exports</filename> файл дотор гарсан +өөрчлөлтүүдийг хүчинтэй болгохын тулд, +өөрчлөлт орсон тухай бүрд <application>mountd</application> демоныг +албадан <filename>/etc/exports</filename>-г дахин уншуулах хэрэгтэй болдог. +Үүний тулд эсвэл HUP дохиог ажиллаж байгаа демонд өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen> + + <para>эсвэл <command>mountd</command> &man.rc.8; скриптийг зохих параметрын +хамт ажиллуулах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/mountd onereload</userinput></screen> + + <para>rc скриптийг хэрэглэх зааврыг <xref linkend="configtuning-rcd"> хэсгээс +үзнэ үү.</para> + + <para>Бас нэг боломж нь, FreeBSD-г эхнээс нь ачаалж, бүх процессыг дахин +эхлүүлэх юм. Гэвч үүний тулд заавал системийг дахин ачаалах шаардлага байхгүй. +<username>root</username> эрхээр дараах тушаалуудыг өгснөөр зөвхөн хэрэгтэй процессуудаа +дахин эхлүүлэх боломжтой.</para> + + <para><acronym>NFS</acronym> сервер дээр:</para> + + <screen>&prompt.root; <userinput>rpcbind</userinput> +&prompt.root; <userinput>nfsd -u -t -n 4</userinput> +&prompt.root; <userinput>mountd -r</userinput></screen> + + <para><acronym>NFS</acronym> харилцагч дээр:</para> + + <screen>&prompt.root; <userinput>nfsiod -n 4</userinput></screen> + + <para>Одоо алсын файл системийг холбоход бэлэн боллоо. +Доорх жишээнүүд дээр серверийн нэрийг <hostid>server</hostid>, +харилцагчийн нэрийг <hostid>client</hostid> гэж авсан болно. +Хэрэв та алсын файл системийг зөвхөн түр хугацаагаар холбох гэж байгаа +эсвэл тохиргоогоо шалгах гэж байгаа бол, харилцагч талд +<username>root</username> эрхээр дараах тушаалыг өгөхөд хангалттай:</para> + <indexterm> + <primary>NFS</primary> + <secondary>холболт</secondary> + </indexterm> + <screen>&prompt.root; <userinput>mount server:/home /mnt</userinput></screen> + + <para>Энэ тушаалыг өгснөөр та сервер талд байгаа <filename>/home</filename> +гэсэн санг харилцагч талд байгаа <filename>/mnt</filename> сантай +холбох болно. Хэрэв бүх зүйл зөв тохируулагдсан бол, та харилцагч талын +<filename>/mnt</filename> сан дотор орж сервер дээр байгаа файлуудыг +харж чадах ёстой.</para> + + <para>Хэрэв систем шинээр ачаалах бүрд ямар нэг алсын +файл системийг холбох хүсэлтэй байгаа бол, +түүнийгээ <filename>/etc/fstab</filename> файл дотор нэмж бичих хэрэгтэй. +Жишээ нь:</para> + + <programlisting>server:/home /mnt nfs rw 0 0</programlisting> + + <para>Боломжит бүх сонголтуудын талаар &man.fstab.5; заавар хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Цоожлолт</title> + + <para>Зарим програмууд (ж.н. <application>mutt</application>) +зөв ажиллахын тулд файл цоожлолтыг шаарддаг. +<acronym>NFS</acronym>-н хувьд, <application>rpc.lockd</application>-г +файл цоожлолтонд хэрэглэж болно. Түүнийг идэвхжүүлэхийн тулд, +сервер болон харилцагч талд хоёуланд нь <filename>/etc/rc.conf</filename> +файл дотор дараах мөрүүдийг нэмж өгөх хэрэгтэй +(<acronym>NFS</acronym> сервер болон харилцагч талуудыг аль хэдийн тохируулчихсан +гэж үзэв):</para> + + <programlisting>rpc_lockd_enable="YES" +rpc_statd_enable="YES"</programlisting> + + <para>Програмыг дараах байдалтай эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/nfslocking start</userinput></screen> + + <para>Хэрэв <acronym>NFS</acronym> харилцагч болон <acronym>NFS</acronym> +сервер талуудын хооронд жинхэнэ файл цоожлолт хийгдэх +шаардлагагүй бол, <acronym>NFS</acronym> харилцагч талд &man.mount.nfs.8;-д +<option>-L</option> тохируулгыг өгөн дотоод цоожлолт хийлгэж болно. +Дэлгэрэнгүй мэдээллийг &man.mount.nfs.8; заавар хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Практик хэрэглээ</title> + + <para><acronym>NFS</acronym> нь олон практик хэрэглээтэй. Хамгийн элбэг +тохиолддог хэрэглээг доор жагсаав:</para> + + <indexterm> + <primary>NFS</primary> + <secondary>хэрэглээ</secondary> + </indexterm> + <itemizedlist> + <listitem> + <para>Олон машиныг нэг CDROM эсвэл төхөөрөмжийг дундаа +хэрэглэдэг байхаар зохион байгуулах. Энэ нь нэг програмыг +олон машин дээр суулгах хамгийн хямд, хялбар арга юм.</para> + </listitem> + + <listitem> + <para>Том сүлжээний хувьд, бүх хэрэглэгчдийн гэрийн санг хадгалдаг +төвлөрсөн <acronym>NFS</acronym> серверийг тохируулах. Эдгээр гэрийн сангуудыг +дараа нь сүлжээний орчинд экспортлосноор хэрэглэгчид аль машин дээр +ажиллаж буйгаас үл хамааран өөрийн нэг л сан дотор ажиллах боломжтой +болно.</para> + </listitem> + + <listitem> + <para>Олон машин дундаа нэг <filename>/usr/ports/distfiles</filename> +сантай байх. Ийм замаар, нэг портыг олон машин дээр суулгах +хэрэгтэй үед машин бүр дээр эх файлыг татаж авалгүйгээр хурдан суулгах +боломжтой болно.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2 id="network-amd"> + <sect2info> + <authorgroup> + <author> + <firstname>Вылий</firstname> + <surname>Стилвелл</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Черн</firstname> + <surname>Лий</surname> + <contrib>Дахин эмхтгэсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын </firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect2info> + <title><application>amd</application>-р автоматаар холбох нь</title> + + <indexterm><primary>amd</primary></indexterm> + <indexterm><primary>автоматаар холбогч демон</primary></indexterm> + + <para>&man.amd.8; (автоматаар холбогч демон) + нь алсын файл системийн файл эсвэл санд хэрэглэгч +хандах тухай бүрт уг файл системийг автоматаар холбодог. +Хэсэг хугацааны туршид идэвхгүй байгаа файл системийг +<application>amd</application> мөн автоматаар салгана. <application>amd</application>-г +хэрэглэснээр <filename>/etc/fstab</filename> дотор бичигддэг байнгын +холболтоос гадна, холболт хийх боломжийг олгодог.</para> + + <para><application>amd</application> нь өөрийгөө, <filename>/host</filename> ба <filename>/net</filename> +сангууд дээр NFS сервер байдлаар холбож ажиллах бөгөөд эдгээр +сангууд доторх файлд хандах үед, <application>amd</application> +харгалзах алсын холболтыг хайж олоод автоматаар холбох болно. +<filename>/net</filename> нь экспортлогдсон файл системийг +IP хаягаар нь холбоход, харин <filename>/host</filename> нь +хост нэрээр нь холбоход хэрэглэгдэнэ.</para> + + <para><filename>/host/foobar/usr</filename> сан доторх +файлд хандана гэдэг нь <application>amd</application>-г +<hostid>foobar</hostid> гэсэн хост дээр экспортлогдсон <filename>/usr</filename> +санг холбохын зааж өгнө.</para> + + <example> + <title>Экспортыг <application>amd</application>-р холбох</title> + + <para>Алсын хост дээр байгаа боломжит холболтуудын +жагсаалтыг <command>showmount</command> тушаалын тусламжтай харж болно. +Жишээлбэл, <hostid>foobar</hostid> нэртэй хостын экспортыг харахын тулд:</para> + + <screen>&prompt.user; <userinput>showmount -e foobar</userinput> +Exports list on foobar: +/usr 10.10.10.0 +/a 10.10.10.0 +&prompt.user; <userinput>cd /host/foobar/usr</userinput></screen> + </example> + + <para>Жишээн дээр үзүүлсэнээр <command>showmount</command> нь <filename>/usr</filename>-г +экспортлогдсон болохыг харуулж байна. <filename>/host/foobar/usr</filename> сан +дотор ороход, <application>amd</application> нь <hostid>foobar</hostid> гэсэн хост нэрийг +тайлахыг оролдох ба заасан санг холбоно.</para> + + <para><application>amd</application>-г эхлэл скриптүүдээр эхлүүлж болох ба +үүний тулд <filename>/etc/rc.conf</filename> файл дотор дараах мөрийг нэмэх хэрэгтэй:</para> + + <programlisting>amd_enable="YES"</programlisting> + + <para>Мөн, <application>amd</application> програмд <varname>amd_flags</varname> тохируулгын +тусламжтай тугуудыг өгч болно. <varname>amd_flags</varname>-н анхдагч утга нь:</para> + + <programlisting>amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"</programlisting> + + <para><filename>/etc/amd.map</filename> файл дотор экспортуудыг холбох анхдагч +тохируулгуудыг зааж өгсөн байна. <filename>/etc/amd.conf</filename> файл дотор +<application>amd</application>-н илүү дээд түвшний чанаруудыг тодорхойлж өгнө.</para> + + <para>Дэлгэрэнгүй мэдээллийг &man.amd.8; ба &man.amd.conf.5; заавар хуудаснаас +үзнэ үү.</para> + </sect2> + + <sect2 id="network-nfs-integration"> + <sect2info> + <authorgroup> + <author> + <firstname>Жон</firstname> + <surname>Линд</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + + </sect2info> + <title>Бусад системтэй нэгтгэхэд тохиолдох асуудлууд</title> + + <para>ISA PC системд зориулсан зарим Ethernet адаптерууд +учир дутагдалтай байдгаас сүлжээний орчинд ажиллахад, тэр дундаа +NFS-тэй ажиллахад нилээд асуудалтай байдаг. +Энэ асуудал зөвхөн FreeBSD-д тохиолддоггүй боловч FreeBSD систем үүнд нилээд +өртөмхий байдаг.</para> + + <para>Энэ асуудал нь (FreeBSD) PC системийг өндөр үзүүлэлттэй машинуудтай (жишээлбэл, +Silicon Graphics, Inc., ба Sun Microsystems, Inc компаниудын хийсэн) +сүлжээнд холбох үед бараг үргэлж тохиолддог. NFS холболт хийхэд асуудалгүй, +зарим үйлдлүүдийг хийхэд амжилттай байх боловч, гаднаас ирж явж байгаа +хүсэлтүүдийг боловсруулж чадаж байгаа хэдий ч сервер гэнэт харилцагчид +хариу өгөхгүй болдог. Энэ асуудал мөн харилцагчийн хувьд, харилцагч +FreeBSD систем эсвэл ажлын машин байхаас үл шалтгаалан тохиолдоно. +Ихэнх системийн хувьд, нэгэнт ийм асуудалд орсон бол харилцагч талыг +ном ёсных нь дагуу унтраах боломжгүй болдог. Ганц авдаг арга хэмжээ бол системийг +хүчээр унтрааж асаах юм. Учир нь, NFS-н энэ асуудал одоо хир нь шийдэгдээгүй +байна.</para> + + <para>Хэдийгээр <quote>зөв</quote> шийдэл бол +FreeBSD системд тохирох илүү өндөр үзүүлэлттэй, илүү багтаамжтай +Ethernet адаптерийг олж авах боловч, +боломжит ажиллагааг хангахын тулд нэг арга байна. +Хэрэв FreeBSD систем нь <emphasis>сервер</emphasis> бол, харилцагч талаас +холболт хийхдээ <option>-w=1024</option> тохируулгыг оруулж өгөх явдал юм. +Хэрэв FreeBSD систем нь <emphasis>харилцагч</emphasis> бол, NFS файл системтэй +холбогдохдоо <option>-r=1024</option> тохируулгыг хэрэглэх юм. +Эдгээр тохируулгуудыг автомат холболтын хувьд +<filename>fstab</filename> бичлэгийн дөрөв дэхь талбарыг ашиглан, +гар аргаар холболт хийх бол &man.mount.8; тушаалын <option>-o</option> +параметрыг ашиглан зааж өгч болно.</para> + + <para>NFS сервер болон харилцагчид өөр өөр сүлжээнд +байхад гардаг өөр нэг асуудлыг энэ асуудалтай +хольж хутгах тохиолдол байдгийг энд дурдах нь зүйтэй болов уу. +Хэрэв тийм бол, чиглүүлэгчид шаардлагатай <acronym>UDP</acronym> +мэдээллийг дамжуулж чадаж байгаа эсэхийг +<emphasis>нягталж</emphasis> үзээрэй. Үгүй бол, өөр юу ч хийлээ гээд +та үр дүнд хүрч чадахгүй.</para> + + <para>Дараах жишээн дээр, <hostid>fastws</hostid> нь өндөр үзүүлэлттэй +ажлын машины хост (интерфэйс) нэр, <hostid>freebox</hostid> нь +бага үзүүлэлттэй Ethernet адаптертай FreeBSD системийн +нэр юм. Мөн, <filename>/sharedfs</filename> нь экспортлогдох гэж байгаа NFS +файл систем (&man.exports.5;-г үз), ба <filename>/project</filename> нь +харилцагч талын экспортлогдсон файл системийг холбох цэг байх болно. +Аль ч тохиолдолд, <option>hard</option> эсвэл <option>soft</option> ба <option>bg</option> +зэрэг нэмэлт тохируулгууд таны хувьд хэрэгтэй байж болох юм.</para> + + <para>FreeBSD системийг (<hostid>freebox</hostid>) <hostid>freebox</hostid> дээр +<filename>/etc/fstab</filename> дотор харилцагч байдлаар зааж өгөх жишээ:</para> + + <programlisting>fastws:/sharedfs /project nfs rw,-r=1024 0 0</programlisting> + + <para><hostid>freebox</hostid> дээр гараар холбохдоо:</para> + + <screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sharedfs /project</userinput></screen> + + <para>FreeBSD системийг (<hostid>freebox</hostid>) <hostid>fastws</hostid> дээр + <filename>/etc/fstab</filename> дотор сервер байдлаар зааж өгөх жишээ:</para> + + <programlisting>freebox:/sharedfs /project nfs rw,-w=1024 0 0</programlisting> + + <para><hostid>fastws</hostid> дээр гараар холбохдоо:</para> + + <screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sharedfs /project</userinput></screen> + + <para>Бараг бүх 16-битийн Ethernet адаптерийн хувьд +унших ба бичих хэмжээн дээр дээрх байдлаар хязгаарлалт +хийлгүйгээр ажиллах боломжтой байдаг.</para> + + <para>Сонирхсон улсуудад толилуулахад, дээрх алдаа гарахад +чухам юу тохиолддог, яагаад засагдах боломжгүй болох талаар +дор тайлбарлав. NFS нь голчлон 8 K (хэдийгээр илүү бага хэмжээтэй +хэсэг дээр ажиллаж чадах боловч) хэмжээтэй <quote>блок</quote>ууд дээр +ажилладаг. Хамгийн урт Ethernet пакет 1500 байт орчим байх ба, +NFS <quote>блок</quote> нь хэд хэдэн Ethernet пакетуудад хуваагдах +хэрэгтэй болдог. Дээд түвшний програмын хувьд +энэ нь нэг нэгж хэвээр байх ба хүлээж аваад, нийлүүлээд, бататгал +хийхэд ч мөн нэг нэгж хэвээр байдаг. Өндөр үзүүлэлттэй ажлын машинууд +NFS нэгжийг бүрдүүлж байгаа тэдгээр пакетуудыг стандартад +заасны дагуу аль болох ойрхон ойрхон, нэг нэгээр нь цувуулж +гаргана. Жижиг, бага багтаамжтай картууд дээр, дээд түвшний програмд +дамжуулахаас өмнө сүүлийн пакет нь өмнөх пакетаа дарснаар +тухайн нэгжийг буцааж нийлүүлж, бататгах боломжгүй болно. +Үүнээс болж, ажлын машины болзоот хугацаа дуусаж бүхэл бүтэн 8 K +нэгжийг дахин дамжуулах болно. Энэ үйл ажиллагаа дахин дахин хязгааргүй +давтагдах болно.</para> + + <para>Нэгжийн хэмжээг Ethernet пакетын хэмжээнээс бага +байлгаснаар, бид Ethernet пакет тус бүрийг бататгаж +мухардалд орохоос сэргийлж чадна.</para> + + <para>Өндөр үзүүлэлттэй ажлын машинууд PC систем рүү өгөгдлийг +цацсаар байх үед давхцал үүссээр байх боловч, илүү сайн карт +ашигласнаар NFS <quote>нэгж</quote>ийн хувьд заавал тийм давхцал үүсэх +албагүй болно. Давхцал үүссэн тохиолдолд, түүнд өртсөн нэгжийг +дахин дамжуулах ба түүнийг хүлээн авч, нийлүүлж, бататгах боломж өндөртэй.</para> + </sect2> + </sect1> + + <sect1 id="network-nis"> + <sect1info> + <authorgroup> + <author> + <firstname>Билл</firstname> + <surname>Свингл</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Эрик</firstname> + <surname>Огрен</surname> + <contrib>Сайжруулсан </contrib> + </author> + <author> + <firstname>Удо</firstname> + <surname>Эрдэлхофф</surname> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Сүлжээний Мэдээллийн Систем (NIS/YP)</title> + + <sect2> + <title>Энэ юу вэ?</title> + <indexterm><primary>NIS</primary></indexterm> + <indexterm><primary>Solaris</primary></indexterm> + <indexterm><primary>HP-UX</primary></indexterm> + <indexterm><primary>AIX</primary></indexterm> + <indexterm><primary>Linux</primary></indexterm> + <indexterm><primary>NetBSD</primary></indexterm> + <indexterm><primary>OpenBSD</primary></indexterm> + + <para><acronym role="Network Information System">NIS</acronym>, + нь Network Information Services буюу Сүлжээний Мэдээллийн Үйлчилгээнүүд +гэсэн үгийн товчлол бөгөөд &unix; (анхандаа &sunos;) системүүдийн +удирдлагыг төвлөрүүлэх зорилгоор Sun Microsystems анх хөгжүүлсэн. +Одоо энэ салбарын үндсэн стандарт болжээ; бүх гол &unix; төрлийн системүүд +(&solaris;, HP-UX, &aix;, Линукс, NetBSD, OpenBSD, FreeBSD, гэх мэт) <acronym role="Network Information + System">NIS</acronym>-г дэмждэг.</para> + + <indexterm><primary>шар хуудас</primary><see>NIS</see></indexterm> + + <para><acronym role="Network Information System">NIS</acronym> анх Yellow Pages буюу Шар Хуудас +гэсэн нэртэй байсан боловч худалдааны тэмдгийн асуудлаас болж +Sun нэрийг нь сольсон. Хуучин нэр (ба yp) нь одоо хир нь хэрэглэгдсээр байдаг.</para> + + <indexterm> + <primary>NIS</primary> + <secondary>домэйнууд</secondary> + </indexterm> + + <para>Энэ нь RPC дээр үндэслэсэн, нэг NIS домэйнд байгаа +бүлэг машинууд дундаа адилхан тохиргооны файлтай боломжийг +олгодог харилцагч/сервер систем юм. Үүний тусламжтай +системийн администратор NIS харилцагч системийг +зайлшгүй байх үндсэн тохиргоотойгоор үүсгэх, тохиргооны өгөгдлийг +нэг дор нэмэх, хасах, өөрчлөх зэрэг үйлдлүүдийг хийх +боломжтой болдог.</para> + + <indexterm><primary>Windows NT</primary></indexterm> + + <para>Энэ нь &windowsnt;-н домэйн системтэй төстэй. +Хэдийгээр тэдгээрийн дотоод ажиллагаа нь ердөө ч адилхан биш боловч +үндсэн үүргийг нь адилтгаж болох юм.</para> + </sect2> + + <sect2> + <title>Таны мэдэж байх ёстой Нэр томъёо/Процессууд</title> + + <para>NIS сервер эсвэл NIS харилцагч байдлаар ажилладаг NIS-г FreeBSD дээр +зохион байгуулахын тулд нилээд хэдэн нэр томъёо, чухал хэрэглэгчийн +процессуудтай та тааралдах болно:</para> + + <indexterm> + <primary><application>rpcbind</application></primary> + </indexterm> + <indexterm> + <primary><application>portmap</application></primary> + </indexterm> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="3*"> + + <thead> + <row> + <entry>Нэр томъёо</entry> + <entry>Тайлбар</entry> + </row> + </thead> + <tbody> + <row> + <entry>NIS домэйн нэр</entry> + + <entry>NIS мастер сервер болон түүний бүх харилцагчид +(түүний зарц серверийг оруулаад) бүгд NIS домэйн нэртэй байна. +&windowsnt;-н домэйн нэртэй адилаар, NIS домэйн нэр <acronym>DNS</acronym>-тэй +ямар ч хамаагүй.</entry> + </row> + <row> + <entry><application>rpcbind</application></entry> + + <entry><acronym>RPC</acronym>-г (Remote Procedure Call буюу Алсын Процедур Дуудах, NIS-н +ашигладаг сүлжээний протокол) идэвхтэй байлгахын тулд заавал ажиллаж +байх ёстой. Хэрэв <application>rpcbind</application> ажиллахгүй бол, +NIS сервер ажиллуулах, NIS харилцагч болох боломжгүй.</entry> + </row> + <row> + <entry><application>ypbind</application></entry> + + <entry>NIS харилцагчийг NIS сервертэй <quote>холбоно</quote>. +NIS домэйн нэрийг системээс авч, <acronym>RPC</acronym> ашиглан сервертэй холбоно. +<application>ypbind</application> нь NIS орчны харилцагч-серверийн харилцааны цөм нь болж +өгдөг; Хэрэв харилцагчийн машин дээр <application>ypbind</application> үхвэл, +NIS сервер рүү хандах боломжгүй болно.</entry> + </row> + <row> + <entry><application>ypserv</application></entry> + <entry>Зөвхөн NIS сервер дээр ажиллаж байх ёстой; +энэ бол NIS сервер процесс өөрөө юм. Хэрэв &man.ypserv.8; үхвэл, +сервер NIS хүсэлтэд хариу өгөх боломжгүй болно (магадгүй, +түүний үүргийг үргэлжлүүлэх зарц сервер байгаа байх). Зарим +NIS-н хувьд (FreeBSD-гийх биш), анх холбогдож байсан сервер байхгүй болбол +өөр сервертэй холбоо тогтоохыг оролддоггүй хувилбарууд байдаг. +Ихэнхдээ, ийм үед ганц тус болох зүйл бол сервер процессыг +дахин эхлүүлэх (эсвэл серверийг бүхлээр нь), эсвэл харилцагч талын +<application>ypbind</application> процессыг дахин эхлүүлэх юм.</entry> + </row> + <row> + <entry><application>rpc.yppasswdd</application></entry> + <entry>Зөвхөн NIS эзэн сервер дээр ажиллаж байх ёстой өөр +нэг процесс; Энэ демон NIS харилцагч нарыг өөрсдийн нэвтрэх үгийг +солих боломжийг олгоно. Хэрэв энэ демон ажиллахгүй бол, +хэрэглэгчид NIS эзэн сервер рүү нэвтэрч орон тэнд нэвтрэх үгээ солих +хэрэгтэй болно.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + <!-- XXX Missing: rpc.ypxfrd (not important, though) May only run + on the master --> + + </sect2> + + <sect2> + <title>Хэрхэн ажилладаг вэ?</title> + + <para>NIS орчинд гурван төрлийн хост байна: +эзэн сервер, зарц сервер, ба харилцагч. Серверүүд нь +хостуудын тохиргооны мэдээллийг хадгалсан агуулахын үүргийг +гүйцэтгэнэ. Эзэн сервер энэ мэдээллийн бүрэн эрхтэй хуулбарыг +хадгалж байдаг бол, зарц сервер нь энэ мэдээллийн хуулбарыг +нөөцөнд хадгалж байдаг. Серверүүд харилцагчдыг эдгээр мэдээллээр +хангана.</para> + + <para>Олон файлд байгаа мэдээллийг энэ маягаар хуваалцаж хэрэглэнэ. +<filename>master.passwd</filename>, <filename>group</filename>, ба <filename>hosts</filename> гэсэн файлуудыг +ихэвчлэн NIS тусламжтай хуваалцана. Эдгээр файлд байдаг мэдээлэл +харилцагч талын нэг процессд хэрэгтэй боллоо гэхэд түүнийг өөрийн дотоодоос +хайхын оронд түүнд оноогдсон NIS серверээс асуулга хийнэ.</para> + + <sect3> + <title>Машины төрөл</title> + + <itemizedlist> + <indexterm> + <primary>NIS</primary> + <secondary>эзэн сервер</secondary> + </indexterm> + <listitem> + <para><emphasis>NIS эзэн сервер</emphasis>. Энэ сервер, &windowsnt;-н анхдагч +домэйн сервер хянагчийн нэг адил, NIS харилцагчдын хэрэгцээний бүх файлуудыг +агуулсан байна. <filename>passwd</filename>, <filename>group</filename> ба NIS харилцагчийн хэрэглэх +бусад олон файлууд эзэн сервер дээр байна.</para> + + <note><para>Нэг машин нэгээс олон NIS домэйны хувьд NIS эзэн +сервер байж болно. Гэхдээ, энд бид бага хэмжээний NIS орчны талаар +ярилцах тул энэ талаар энд үзэхгүй.</para></note> + </listitem> + <indexterm> + <primary>NIS</primary> + <secondary>зарц сервер</secondary> + </indexterm> + <listitem> + <para><emphasis>NIS зарц сервер</emphasis>. &windowsnt;-н нөөц домэйн хянагчтай адилаар, +NIS зарц сервер нь NIS эзэн серверийн өгөгдөлийн файлын хуулбарыг хадгална. +NIS зарц серверүүд нь нөөцөнд байдаг. Тэдгээр нь мөн эзэн серверийн +ачааллыг хуваалцаж байдаг: NIS Харилцагчид нь хамгийн түрүүнд хариу өгсөн +серверт холбогдох ба үүний тоонд зарц серверүүд ч бас орно.</para> + </listitem> + <indexterm> + <primary>NIS</primary> + <secondary>харилцагч</secondary> + </indexterm> + <listitem> + <para><emphasis>NIS харилцагч</emphasis>. NIS харилцагч нь ихэнх +&windowsnt; ажлын машины адилаар, NIS серверт шалгуулж (эсвэл &windowsnt; ажлын +машины хувьд &windowsnt; домэйн хянагчид) нэвтэрнэ.</para> + </listitem> + </itemizedlist> + </sect3> + </sect2> + + <sect2> + <title>NIS/YP-г хэрэглэх нь</title> + + <para>Энэ хэсэгт жишээ NIS орчныг үүсгэх болно.</para> + + <sect3> + <title>Төлөвлөх</title> + + <para>Та өөрийгөө нэгэн их сургуулийн жижигхэн лабораторийн +администратор гэж бод. Энэ лаб 15 FreeBSD машинаас бүрдэх ба +одоогоор төвлөрсөн удирдлага байхгүй; машин бүр өөрийн +<filename>/etc/passwd</filename> ба <filename>/etc/master.passwd</filename> файлуудтай. Эдгээр файлуудыг +адилхан байлгахын тулд гараараа зөөж тавьдаг; одоогийн байдлаар лабораторт шинэ +хэрэглэгч нэмэхийн тулд, бүх 15 машин дээр нэг бүрчлэн <command>adduser</command> +тушаалыг оруулах хэрэгтэй байгаа. Мэдээж үүнийг өөрчлөх хэрэгтэй, +иймээс та лаборатортоо NIS хэрэглэхээр боллоо. Машинуудаасаа хоёрыг +нь сервер болгохоор сонгож авлаа.</para> + + <para>Тиймээс, лабораторийн тохиргоо дараах байдалтай байна:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Машины нэр</entry> + <entry>IP хаяг</entry> + <entry>Машины үүрэг</entry> + </row> + </thead> + <tbody> + <row> + <entry><hostid>ellington</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.2</hostid></entry> + <entry>NIS эзэн</entry> + </row> + <row> + <entry><hostid>coltrane</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.3</hostid></entry> + <entry>NIS зарц</entry> + </row> + <row> + <entry><hostid>basie</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.4</hostid></entry> + <entry>Факультетийн ажлын машин</entry> + </row> + <row> + <entry><hostid>bird</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.5</hostid></entry> + <entry>Харилцагч машин</entry> + </row> + <row> + <entry><hostid>cli[1-11]</hostid></entry> + <entry><hostid role="ipaddr">10.0.0.[6-17]</hostid></entry> + <entry>Бусад харилцагч машинууд</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Хэрэв та NIS зураглалыг анх удаа хийж байгаа бол, +хаанаас эхлэхээ эхлээд сайн бодох хэрэгтэй. Сүлжээ чинь ямар ч +хэмжээтэй байж болно, гол нь хэд хэдэн сонголт хийх хэрэгтэй.</para> + + <sect4> + <title>NIS Домэйн Нэрийг сонгох нь</title> + + <indexterm> + <primary>NIS</primary> + <secondary>домэйннэр</secondary> + </indexterm> + <para>Өөрийн тань байнга хэрэглэдэг <quote>домэйн нэр</quote> байж болохгүй. +Залруулж хэлбэл <quote>NIS домэйн нэр</quote> байх ёстой. Харилцагч мэдээлэл +олж авахын тулд хүсэлтээ цацах үед NIS домэйн нэрийг хэрэглэнэ. +Үүгээр нэг сүлжээнд байгаа олон серверүүд хэн нь хэний асуултанд хариулах +ёстойгоо мэдэж авна. NIS домэйн нэрийг хоорондоо ямар нэг байдлаар +хамаатай бүлэг хостын нэр гэж ойлгож болно.</para> + + <para>Зарим байгууллагууд өөрийн Интернетийн домэйн нэрийг +NIS домэйн нэрээр хэрэглэх нь байдаг. Энэ нь сүлжээний ямар нэг асуудлыг +задлан шинжлэх явцад түвэг удах тул энэ аргыг зөвлөдөггүй. NIS домэйн нэр нь +сүлжээний орчинд цор ганц байх ёстой бөгөөд төлөөлж байгаа бүлэг машинаа онцолсон +нэр байвал дөхөм байдаг. Жишээлбэл, Acme Inc. компаны Урлагийн хэлтэс <quote>acme-art</quote> +гэсэн NIS домэйнтой байж болох юм. Бид өөрсдийн жишээндээ <literal>test-domain</literal> гэсэн +домэйн нэрийг авлаа.</para> + + <indexterm><primary>SunOS</primary></indexterm> + <para>Гэвч, зарим үйлдлийн системүүд (цохон дурдвал &sunos;) +өөрийн NIS домэйн нэрийг Интернет домэйн нэрээр хэрэглэдэг. +Хэрэв таны сүлжээний нэг болон түүнээс дээш тооны машин +ийм асуудалтай бол, та Интернет домэйн нэрээ NIS домэйндоо хэрэглэх +<emphasis>ёстой</emphasis>.</para> + </sect4> + + <sect4> + <title>Серверт тавигдах шаардлагууд</title> + + <para>NIS серверт зориулсан машин сонгон авахдаа +анхаарах хэд хэдэн зүйлс бий. NIS-тэй холбоотой нэг учир дутагдалтай +зүйл бол харилцагчдийн серверээс хамаарах хамаарал юм. Хэрэв +харилцагч өөрийн NIS домэйнийг асуухаар сервертэй холбогдож чадахгүй бол, +тэр машин ашиглагдах боломжгүй болдог. Хэрэглэгч болон бүлгийн мэдээлэл +дутуугаас ихэнх системүүд түр хугацаанд зогсдог. Тиймээс, дахин дахин +асааж унтраалгаад байхааргүй, эсвэл туршилтанд хэрэглэгдэхээр +машиныг сонгох хэрэгтэй. NIS сервер нь тусдаа, зөвхөн NIS серверт зориулагдсан +машин байх ёстой. Хэрэв ачаалал багатай сүлжээнд ажиллаж байгаа бол, +NIS серверийг өөр үйлчилгээ ажиллаж байгаа машин дээр тавьж болох талтай. +Хамгийн гол нь NIS сервер чинь ажиллахгүй болбол, <emphasis>бүх</emphasis> NIS харилцагчид чинь +мөн ажиллахгүй болохыг санаарай.</para> + </sect4> + </sect3> + + <sect3> + <title>NIS Серверүүд</title> + + <para>Бүх NIS мэдээлэл он цагийн дарааллаараа +NIS эзэн сервер дээр хадгалагдаж байдаг. +Энэ мэдээллийг хадгалж байгаа өгөгдлийн санг NIS буулгалт гэж нэрлэнэ. +FreeBSD-д, эдгээр буулгалтууд <filename>/var/yp/[domainname]</filename> файл дотор байрлана. +<filename>[domainname]</filename> нь NIS домэйн нэр болно. Нэг NIS сервер хэд хэдэн +домэйнийг зэрэг агуулж чадах тул домэйн тус бүрт зориулсан хэд хэдэн +ийм сан байж болно. Домэйн бүр өөрийн гэсэн буулгалтуудтай байна.</para> + + <para>NIS эзэн болон зарц серверүүд бүх NIS хүсэлтийг <command>ypserv</command> демоны +тусламжтай удирдаж явуулна. <command>ypserv</command> нь NIS харилцагч нараас +ирж буй хүсэлтийг хүлээн авч, домэйнийг хөрвүүлэн, уг домэйн нэрд харгалзах +өгөгдлийн файлын замыг хайж олоод, өгөгдлийг буцаан харилцагчид дамжуулах үүрэгтэй.</para> + + <sect4> + <title>NIS Эзэн Серверийг зохион байгуулах нь</title> + <indexterm> + <primary>NIS</primary> + <secondary>серверийн тохиргоо</secondary> + </indexterm> + <para>Эзэн NIS серверийг зохион байгуулах нь харьцангуй +ойлгомжтой. FreeBSD нь бэлэн NIS суучихсан ирдэг. Зөвхөн <filename>/etc/rc.conf</filename> +файл дотор дараах мөрүүдийг нэмэхэд л хангалттай, үлдсэнийг нь +FreeBSD таны өмнөөс хийгээд өгөх болно.</para> + + <procedure> + <step> + <para><programlisting>nisdomainname="test-domain"</programlisting> + Энэ мөр сүлжээ асахад (жишээ нь, систем дахин ачаалсны дараа) +NIS домэйн нэрийг <literal>test-domain</literal> болгоно.</para> + </step> + <step> + <para><programlisting>nis_server_enable="YES"</programlisting> + Энэ мөр нь сүлжээ асахад NIS сервер процессуудыг +асаахыг хэлж өгнө.</para> + </step> + <step> + <para><programlisting>nis_yppasswdd_enable="YES"</programlisting> + Энэ мөр нь <command>rpc.yppasswdd</command> демоныг идэвхжүүлнэ. Дээр хэлсэнчлэн, +энэ демон нь харилцагч машин дээрээс хэрэглэгч өөрийн NIS нэвтрэх +үгийг солих боломжтой болгодог.</para> + </step> + </procedure> + + <note> + <para>Таны NIS тохиргооноос хамааран, нэмэлт мөрүүдийг оруулах +хэрэгтэй болж магадгүй. <link + linkend="network-nis-server-is-client">NIS сервер мөртлөө давхар NIS +харилцагч серверийн талаарх хэсгээс</link>, доор, дэлгэрэнгүй +мэдээллийг авна уу.</para> + </note> + + <para>Одоо, супер хэрэглэгчийн эрхээр <command>/etc/netstart</command> +тушаалыг өгөх л үлдлээ. Энэ нь таны <filename>/etc/rc.conf</filename> файл дотор +тодорхойлж өгсөн утгуудыг ашиглан бүх зүйлсийг таны өмнөөс +хийх болно.</para> + </sect4> + + <sect4> + <title>NIS Буулгалтуудыг эхлүүлэх нь</title> + <indexterm> + <primary>NIS</primary> + <secondary>буулгалтууд</secondary> + </indexterm> + <para><emphasis>NIS буулгалтууд</emphasis> нь өгөгдлийн сангийн +файлууд бөгөөд <filename>/var/yp</filename> сан дотор хадгалагдана. +Тэдгээрийг NIS эзэн серверийн <filename>/etc</filename> сан дотор байгаа +<filename>/etc/master.passwd</filename> файлаас бусад тохиргооны файлуудаас үүсгэдэг. +Энэ нь их учиртай. Мэдээж та өөрийн <username>root</username> болон удирдах +эрхтэй дансуудынхаа нэвтрэх үгийг NIS домэйн дахь бүх сервер дээр +тарааж тавих хүсэлгүй байгаа биз дээ. Тиймээс, +NIS буулгалтуудыг эхлүүлэхийн өмнө, дараах зүйлсийг хийх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cp /etc/master.passwd /var/yp/master.passwd</userinput> +&prompt.root; <userinput>cd /var/yp</userinput> +&prompt.root; <userinput>vi master.passwd</userinput></screen> + + <para>Системийн дансуудад хамаарах мөрүүдийг (<username>bin</username>, + <username>tty</username>, <username>kmem</username>, + <username>games</username>, гэх мэт), мөн NIS харилцагч дээр тарааж +тавих хүсэлгүй байгаа дансуудад хамаарах мөрүүдийг (жишээлбэл +<username>root</username> ба бусад UID 0 (супер хэрэглэгчийн) дансууд) бүгдийг +устгах хэрэгтэй.</para> + + <note><para><filename>/var/yp/master.passwd</filename> файл бүлгийн болон нийтийн хувьд +унших эрхгүй (600 төлөв) байгааг нягтална уу! Шаардлагатай бол +<command>chmod</command> тушаалыг хэрэглээрэй.</para></note> + + <indexterm><primary>Tru64 UNIX</primary></indexterm> + + <para>Дээрхийг гүйцэтгэж дууссаны дараа, +сая NIS буулгалтуудыг эхлүүлнэ! FreeBSD нь танд үүнийг хийж өгөх +<command>ypinit</command> нэртэй скриптийг (холбогдох заавар хуудаснаас +дэлгэрэнгүй мэдээллийг авна уу) агуулж байдаг. +Энэ скрипт ихэнх &unix; үйлдлийн системд байдаг боловч, +заримд нь байхгүй байх тохиолдол бий. +Digital UNIX/Compaq Tru64 UNIX дээр энэ скрипт <command>ypsetup</command> гэсэн +нэртэй байдаг. Бид NIS эзэн серверийн хувьд буулгалтуудыг +үүсгэж байгаа тул <command>ypinit</command> тушаалыг <option>-m</option> +тохируулгын хамт өгнө. Дээрх алхамуудыг бүгдийг хийсний дараа, +NIS буулгалтуудыг үүсгэхдээ дараах тушаалыг өгнө:</para> + + <screen>ellington&prompt.root; <userinput>ypinit -m test-domain</userinput> +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] <userinput>n</userinput> +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 <control D>. +master server : ellington +next host to add: <userinput>coltrane</userinput> +next host to add: <userinput>^D</userinput> +The current list of NIS servers looks like this: +ellington +coltrane +Is this correct? [y/n: y] <userinput>y</userinput> + +[..output from map generation..] + +NIS Map update completed. +ellington has been setup as an YP master server without any errors.</screen> + + <para><command>ypinit</command> нь <filename>/var/yp/Makefile.dist</filename>-с +<filename>/var/yp/Makefile</filename>-г үүсгэсэн байх ёстой. +Үүсэхдээ, энэ файл таныг ганц NIS сервертэй орчинд +зөвхөн FreeBSD машинуудтай ажиллаж байна гэж үзнэ. +<literal>test-domain</literal> нь зарц сервертэй тул, +та <filename>/var/yp/Makefile</filename> файлыг засах хэрэгтэй:</para> + + <screen>ellington&prompt.root; <userinput>vi /var/yp/Makefile</userinput></screen> + + <para>Доорх мөрийг далдлах хэрэгтэй</para> + + <programlisting>NOPUSH = "True"</programlisting> + + <para>(хэрэв далдлагдаагүй бол).</para> + </sect4> + + <sect4> + <title>NIS Зарц Серверийг зохион байгуулах нь</title> + <indexterm> + <primary>NIS</primary> + <secondary>зарц сервер</secondary> + </indexterm> + <para>NIS зарц серверийг зохион байгуулах нь +эзэн серверийг зохион байгуулахаас ч хялбар байдаг. +Зарц сервер рүү нэвтэрч ороод түрүүн хийсэн шигээ +<filename>/etc/rc.conf</filename> файлыг засах хэрэгтэй. +Ганц ялгаа нь <command>ypinit</command> тушаалыг өгөхдөө +<option>-s</option> тохируулгыг өгнө. <option>-s</option> тохируулга нь +NIS эзэн серверийн нэрийг хамт оруулахыг шаардах тул бидний +тушаалын мөр дараах байдалтай байна:</para> + + <screen>coltrane&prompt.root; <userinput>ypinit -s ellington test-domain</userinput> + +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] <userinput>n</userinput> + +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 +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.</screen> + + <para>Одоо <filename>/var/yp/test-domain</filename> нэртэй сан +үүссэн байх ёстой. NIS эзэн серверийн буулгалтуудын хуулбарууд +энэ сан дотор байх ёстой. Эдгээр файлууд шинэчлэгдэж +байгаа эсэхийг нягтлаж байх хэрэгтэй. +Таны зарц серверийн <filename>/etc/crontab</filename> доторх дараах мөрүүд +үүнийг хийх болно:</para> + + <programlisting>20 * * * * root /usr/libexec/ypxfr passwd.byname +21 * * * * root /usr/libexec/ypxfr passwd.byuid</programlisting> + + <para>Энэ хоёр мөр нь зарц сервер өөрийн буулгалтуудыг +эзэн сервертэй ижилхэн байлгахыг хүчилнэ. Хэдийгээр +эдгээр мөрүүдийг заавал хэрэглэх шаардлагагүй боловч, +эзэн сервер өөрийх нь NIS буулгалтад гарсан өөрчлөлтүүд +зарц серверүүдийн хувьд дамжигдсан эсэхийг шалгадаг, +нэвтрэх үгийн талаарх мэдээлэл нь системийн хувьд амин чухал зэргээс +дээрх шинэчлэлтийг хүчлэх нь зүгээр.</para> + + <para>Одоо, зарц сервер талд мөн <command>/etc/netstart</command> тушаалыг өгч +NIS серверийг ажиллуулна.</para> + </sect4> + </sect3> + + <sect3> + <title>NIS Харилцагчид</title> + + <para>NIS харилцагч нь <command>ypbind</command> демоны тусламжтай +тодорхой нэг NIS сервертэй холбоо тогтооно. <command>ypbind</command> +системийн анхдагч домэйнийг шалгах ба (<command>domainname</command> тушаалаар +өгөгдсөн), дотоод сүлжээнд RPC хүсэлтийг цацаж эхлэнэ. +Эдгээр хүсэлтүүд нь <command>ypbind</command>-н холбоо тогтоох гэж байгаа +домэйн нэрийг зааж өгнө. Хэрэв тухайн домэйнд +үйлчлэхээр тохируулагдсан сервер дээрх хүсэлтийг +хүлээн авбал, <command>ypbind</command>-д хариу өгөх ба хариуг хүлээж авсан +тал серверийн хаягыг тэмдэглэж авна. Хэрэв хэд хэдэн сервер +хариу өгсөн бол (нэг эзэн ба хэд хэдэн зарц), <command>ypbind</command> +хамгийн түрүүнд хариу өгсөн серверийг сонгон авна. Түүнээс хойш, +харилцагч өөрийн бүх NIS хүсэлтүүдээ тэр сервер рүү явуулна. +<command>ypbind</command> нь хааяа сервер амьд байгаа эсэхийг нягтлахын тулд +<quote>ping</quote> хийж үзнэ. Хэрэв хангалттай хугацааны дотор хариу хүлээж +аваагүй бол, <command>ypbind</command> энэ домэйнтэй холбоо тасарлаа гэж үзээд +өөр сервер олохын тулд хүсэлтээ цацаж эхэлнэ.</para> + + <sect4> + <title>NIS Харилцагчийг зохион байгуулах</title> + <indexterm> + <primary>NIS</primary> + <secondary>харилцагчийг тохируулах нь</secondary> + </indexterm> + <para>FreeBSD машин дээр NIS харилцагчийг зохион байгуулах нь +нилээд хялбар байдаг.</para> + + <procedure> + <step> + <para><filename>/etc/rc.conf</filename> файлыг нээгээд, NIS +домэйн нэрийг зааж өгөх ба сүлжээ асах үед <command>ypbind</command>-г +ажиллуулдаг болгохын тулд дараах мөрүүдийг нэмэж бичнэ:</para> + + <programlisting>nisdomainname="test-domain" +nis_client_enable="YES"</programlisting> + </step> + + <step> + <para>NIS серверээс хэрэгтэй нэвтрэх үгүүдийг импортлож +авахын тулд <filename>/etc/master.passwd</filename> файл дотор байгаа +бүх хэрэглэгчийн дансыг устгаад, файлын төгсгөлд +дараах мөрийг нэмэхийн тулд <command>vipw</command> тушаалыг +ашиглана:</para> + + <programlisting>+:::::::::</programlisting> + + <note> + <para>Энэ мөр нь NIS серверийн нэвтрэх үгийн буулгалтанд +байгаа хүчинтэй хэрэглэгчид данс олгоно. Энэ мөрийг өөрчлөх замаар +NIS харилцагчийг хэд хэдэн янзаар тохируулж болно. Дэлгэрэнгүй +мэдээллийг доорх <link linkend="network-netgroups">netgroups + section</link> хэсгээс үзнэ үү. Цааш гүнзгийрүүлэн судлах хүсэлтэй бол +<literal>NFS ба NIS-г удирдах нь</literal> талаарх O'Reilly-н номыг үзнэ үү.</para> + </note> + + <note> + <para>Дор хаяж нэг дотоод эрхийг (өөрөөр хэлбэл NIS-с импортолж аваагүй) +<filename>/etc/master.passwd</filename> файл дотор авч үлдэх хэрэгтэй. +Энэ данс <groupname>wheel</groupname> бүлгийн гишүүн байх ёстой. Хэрэв NIS дээр ямар нэг +асуудал гарлаа гэхэд энэ эрхээр алсаас нэвтрэн орж, <username>root</username> болоод +асуудлыг шийдвэрлэх болно.</para> + </note> + </step> + + <step> + <para>NIS серверээс бүх бүлгүүдийг импортлож авахын тулд +дараах мөрийг <filename>/etc/group</filename> файлд нэмнэ:</para> + + <programlisting>+:*::</programlisting> + </step> + </procedure> + + <para>Үүний дараа, <command>ypcat passwd</command> тушаалыг өгч +NIS серверийн passwd буулгалтыг харж чадаж байх ёстой.</para> + </sect4> + </sect3> + </sect2> + + <sect2> + <title>NIS-н Аюулгүй байдал</title> + + <para>Ер нь ямар ч алсын хэрэглэгчийн хувьд өөрийн чинь +домэйн нэрийг мэдэж байвал RPC хүсэлтийг &man.ypserv.8;-д явуулж +NIS буулгалтыг харах боломжтой. Ийм төрлийн зөвшөөрөгдөөгүй +үйлдлээс сэргийлэхийн тулд &man.ypserv.8; нь зөвхөн зааж өгсөн хостуудаас +ирсэн хандалтыг зөвшөөрдөг <quote>securenets</quote> гэсэн функцийг агуулж +байдаг. Систем анх ачаалахад, &man.ypserv.8; нь securenets-н мэдээллийг +<filename>/var/yp/securenets</filename> гэсэн файлаас ачаална.</para> + + <note> + <para>Энэ замыг <option>-p</option> тохируулгаар зааж өгөх ба янз бүр байж болно. +Энэ файлд сүлжээг сүлжээний багийн хамт зайгаар тусгаарлан +оруулж өгсөн байна. <quote>#</quote> тэмдгээр эхэлсэн мөрүүд нь тайлбар болно. +Жишээ securenets файл дараах байдалтай байна:</para> + </note> + + <programlisting># 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</programlisting> + + <para>Хэрэв &man.ypserv.8;-н хүсэлт хүлээж авсан хаяг +эдгээр дүрмүүдийн аль нэгэд тохирч байвал хүсэлтийг +ердийн байдлаар боловсруулна. Хэрэв энэ хаяг ямар ч дүрмэнд +тохирохгүй байвал, хүсэлтийг үл анхаарах бөгөөд +анхааруулах бичлэгийг бүртгэлд нэмнэ. Хэрэв +<filename>/var/yp/securenets</filename> гэсэн файл байхгүй бол, +<command>ypserv</command> нь гаднаас ирсэн бүх хүсэлтийг хүлээн авна.</para> + + <para><command>ypserv</command> програм нь Wietse Venema-н <application>TCP Wrapper</application> багцыг +дэмждэг. Энэ нь администраторуудын хувьд <filename>/var/yp/securenets</filename>-ны оронд +<application>TCP Wrapper</application>-н тохиргооны файлыг хандалтыг хянахад хэрэглэх +боломжтой болгодог.</para> + + <note> + <para>Хэдийгээр эдгээр хандалтыг хянах механизмууд нь +аюулгүй байдлыг адил түвшинд хангах боловч, +хоёул <quote>IP залилах</quote> халдлагад өртөмхий байдаг. NIS-тэй холбоотой +бүх урсгалыг галт хана дээрээ хааж өгөх хэрэгтэй.</para> + + <para><filename>/var/yp/securenets</filename> хэрэглэж байгаа серверүүд +хуучин TCP/IP дээр ажиллаж байгаа зүй ёсны NIS харилцагчид үйлчилж +чадахгүй байж магадгүй. Учир нь, тэдгээр нь өргөн цацалт хийхдээ +хост битүүдийг бүгдийг тэглэдэг ба өргөн цацалтын хаягыг тооцоолохдоо +дэд сүлжээний багийг таньж чаддаггүй болно. Хэдийгээр эдгээр асуудлуудыг +харилцагчийн тохиргоог өөрчилснөөр шийдэж болох боловч, +бусад асуудлууд нь харилцагчийн системийг цааш ашиглах боломжгүй эсвэл +<filename>/var/yp/securenets</filename>-г болиулах шаардлагатай болдог.</para> + + <para>Ийм хуучин TCP/IP дээр ажилладаг сервер дээр +<filename>/var/yp/securenets</filename>-г хэрэглэх нь үнэхээр хэрэггүй бөгөөд +сүлжээний ихэнх хэсэгт NIS-г ашиглах боломжгүй байдаг.</para> + + <indexterm><primary>TCP Wrapper-ууд</primary></indexterm> + <para><application>TCP Wrapper</application> багцийг ашиглах нь +NIS серверийн хоцролтыг ихэсгэдэг. Энэ нэмэлт саатал нь +харилцагчийн програм дээр ялангуяа ачаалал ихтэй сүлжээнд, +эсвэл удаан NIS сервертэй бол хүлээх хугацаа дуусахад хүргэх талтай. +Хэрэв таны харилцагч систем чинь дээрх шинж тэмдгүүдийн аль нэгийг +агуулж байгаа бол та энэ харилцагч системээ NIS зарц сервер болгож өөрчлөн +хүчээр өөрөөсөө өөртөө холбогдохоор тохируулах хэрэгтэй.</para> + </note> + </sect2> + + <sect2> + <title>Зарим хэрэглэгчдийн нэвтрэхийг хаах</title> + + <para>Манай лабораторийн жишээн дээр, <hostid>basie</hostid> нэртэй нэг +машин байгаа. Энэ машиныг зөвхөн багш нар хэрэглэх ёстой. +Бид энэ машиныг NIS домэйн дотроос гаргахыг хүсэхгүй байгаа, дээр нь +эзэн NIS сервер дээр байгаа <filename>passwd</filename> файл нь +багш нар болон оюутнуудын дансыг хоёуланг агуулж байгаа. +Бид одоо яах ёстой вэ?</para> + + <para>NIS өгөгдлийн сан дотор бүртгэл нь байгаа ч, зарим +хэрэглэгчдийг тухайн машин руу нэвтрэхийг хаах нэг арга байна. +Үүний тулд <literal>-<replaceable>username</replaceable></literal> гэсэн мөрийг +харилцагч машин дээр <filename>/etc/master.passwd</filename> файлын төгсгөлд нэмэх +хэрэгтэй. Энд <replaceable>username</replaceable> гэдэг нь +нэвтрэхийг нь хаах гэж байгаа хэрэглэгчийн нэр юм. +Дээрх үйлдлийг хийхдээ <command>vipw</command>-г ашиглахыг зөвлөж байна. +<command>vipw</command> нь <filename>/etc/master.passwd</filename> файл дотор хийгдсэн өөрчлөлтийг +хянах бөгөөд өөрчлөлт хийж дууссаны дараа нэвтрэх үгийн санг автоматаар +дахин үүсгэж өгдөг. Жишээ нь, хэрэв бид <username>bill</username> гэсэн хэрэглэгчийг +<hostid>basie</hostid> хост дээр нэвтрэхийг хаахыг хүсэж байгаа бол:</para> + + <screen>basie&prompt.root; <userinput>vipw</userinput> +<userinput>[add -bill to the end, exit]</userinput> +vipw: rebuilding the database... +vipw: done + +basie&prompt.root; <userinput>cat /etc/master.passwd</userinput> + +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&prompt.root;</screen> + </sect2> + + <sect2 id="network-netgroups"> + <sect2info> + <authorgroup> + <author> + <firstname>Удо</firstname> + <surname>Эрделхофф</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect2info> + + <title>Netgroups-г Хэрэглэх нь</title> + <indexterm><primary>netgroups</primary></indexterm> + + <para>Цөөхөн тооны машин эсвэл хэрэглэгчийн хувьд +тусгай дүрэм хэрэгтэй үед өмнөх хэсэгт дурдсан аргыг +хэрэглэх нь илүү тохиромжтой. Харин том сүлжээний хувьд +зарим хэрэглэгчийн чухал машин руу нэвтрэх эрхийг хаахаа мартах, +эсвэл бүх машиныг нэг бүрчлэн гараараа тохируулж өгөх, өөрөөр хэлбэл +NIS-н <emphasis>төвлөрсөн</emphasis> удирдлага гэсэн гол санааг ашиглаж чадахгүй байх +тохиолдлууд <emphasis>гарах болно</emphasis>.</para> + + <para>NIS-г хөгжүүлэгчид энэ асуудлыг шийдэхийн тулд +<emphasis>netgroups</emphasis> буюу сүлжээний бүлгүүд гэсэн шинэ зүйлийг бий болгожээ. +Түүний зорилго болон семантикийг &unix; файл системийн +жирийн бүлэгтэй дүйцүүлж болох юм. Гол ялгаанууд нь гэвэл +тоон дугаар байхгүй, мөн сүлжээний бүлгийг тодорхойлж өгөхдөө +хэрэглэгч болон өөр сүлжээний бүлгийг оруулж болдог.</para> + + <para>Сүлжээний бүлэг нь хэдэн зуун хэрэглэгч болон машинтай +том, төвөгтэй сүлжээтэй ажиллахад зориулж бүтээгдсэн юм. +Нэг талаар, хэрэв та үнэхээр тийм том сүлжээнд ажиллаж байгаа бол +энэ нь Сайн Зүйл юм. Харин нөгөө талаас, энэ байдал нь +жижигхэн сүлжээнд хялбар жишээн дээр сүлжээний бүлгийг тайлбарлах +бараг боломжгүй болгож байна. Энэ хэсгийн үлдсэн хэсэгт хэрэглэж +байгаа жишээн дээр энэ асуудлыг харуулахыг оролдлоо.</para> + + <para>NIS-г лабораторидоо нэвтрүүлсэн тань танай удирдлагуудын +анхаарлыг татсан гэж бодьё. Одоо оюутны хотхон дотор байгаа +бусад машиныг NIS домэйнд оруулж өргөтгөх ажлыг хийхийг танд +даалгажээ. Дараах хоёр хүснэгтэнд шинээр нэмэх хэрэглэгч болон +машины нэрийг товч тайлбарын хамт үзүүллээ.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Хэрэглэгчийн нэр</entry> + <entry>Тайлбар</entry> + </row> + </thead> + + <tbody> + <row> + <entry><username>alpha</username>, <username>beta</username></entry> + <entry>IT хэлтсийн ердийн ажилчид</entry> + </row> + + <row> + <entry><username>charlie</username>, <username>delta</username></entry> + <entry>IT хэлтсийн шинэ дагалдан</entry> + </row> + + <row> + <entry><username>echo</username>, <username>foxtrott</username>, <username>golf</username>, ...</entry> + <entry>бусад ердийн ажилчид</entry> + </row> + + <row> + <entry><username>able</username>, <username>baker</username>, ...</entry> + <entry>дадлагажигчид</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Машины нэр</entry> + <entry>Тайлбар</entry> + </row> + </thead> + + <tbody> + <row> + <!-- Names taken from "Good Omens" by Neil Gaiman and Terry + Pratchett. Many thanks for a brilliant book. --> + + <entry><hostid>war</hostid>, <hostid>death</hostid>, + <hostid>famine</hostid>, + <hostid>pollution</hostid></entry> + <entry>Таны хамгийн чухал серверүүд. Зөвхөн IT хэлтсийн +ажилчид л нэвтрэх эрхтэй.</entry> + </row> + <row> + <!-- gluttony was omitted because it was too fat --> + + <entry><hostid>pride</hostid>, <hostid>greed</hostid>, + <hostid>envy</hostid>, <hostid>wrath</hostid>, + <hostid>lust</hostid>, <hostid>sloth</hostid></entry> + <entry>Харьцангуй чухал биш серверүүд. IT хэлтэст харъяалагддаг бүх +хүмүүс нэвтрэх эрхтэй.</entry> + </row> + + <row> + <entry><hostid>one</hostid>, <hostid>two</hostid>, + <hostid>three</hostid>, <hostid>four</hostid>, + ...</entry> + + <entry>Ердийн ажлын машинууд. Зөвхөн <emphasis>үндсэн</emphasis> ажилчид +нэвтрэх эрхтэй.</entry> + </row> + + <row> + <entry><hostid>trashcan</hostid></entry> + <entry>Чухал зүйл байхгүй маш хуучин машин. +Дадлагажигчид хүртэл нэвтрэх эрхтэй.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Хэрэв та дээрх хязгаарлалтуудыг +тус бүрд нь хэрэглэгчийг хаах замаар хийх гэж оролдвол +бүх машин дээр хаах хэрэглэгч тус бүрийн хувьд +<literal>-<replaceable>user</replaceable></literal> мөрийг <filename>passwd</filename> +файл дотор нэмж өгөх ёстой болно. Хэрэв нэг л мөрийг +нэмэхээ мартвал асуудалд орно гэсэн үг.</para> + + <para>Энэ байдалд сүлжээний бүлгийг ашиглах нь +нилээд олон давуу талтай. Хэрэглэгч бүрийг тус тусад нь +авч үзнэ; нэг хэрэглэгчийг нэг болон түүнээс дээш тооны +сүлжээний бүлэгт оноож, тухайн сүлжээний бүлгийн бүх гишүүдийн хувьд +нэвтрэхийг эсвэл зөвшөөрч эсвэл хаана. Хэрэв та шинэ машин нэмбэл, +зөвхөн сүлжээний бүлгүүдийн хувьд л нэвтрэх эрхийг зааж өгнө. Хэрэв шинэ +хэрэглэгч нэмбэл, тухайн хэрэглэгчийг нэг болон түүнээс дээш +тооны сүлжээний бүлэгт нэмэхэд л хангалттай. Эдгээр өөрчлөлтүүд нь нэг +нэгнээсээ хамааралгүй: <quote>хэрэглэгч ба машины бүх хувилбарт нэмэх...</quote> +шаардлагагүй болно. Хэрэв та NIS-г анхнаас нь бодлоготой хийх юм бол, +машинууд руу нэвтрэх эрхийг хянахдаа +зөвхөн ганцхан тохиргооны файлыг өөрчлөхөд хангалттай.</para> + + <para>Хамгийн эхний алхам бол NIS сүлжээний бүлгийн буулгалтыг +эхлүүлэх юм. FreeBSD-н &man.ypinit.8; нь энэ буулгалтыг анхдагч байдлаар +үүсгэдэггүй, гэвч хэрэв нэгэнт үүсгэчихвэл түүний NIS-тэй ажиллах хэсэг нь +энэ буулгалт дээр ажиллах чадвартай. Хоосон буулгалт үүсгэхийн тулд:</para> + + <screen>ellington&prompt.root; <userinput>vi /var/yp/netgroup</userinput></screen> + + <para>гэж бичээд дараах зүйлсийг нэмж бичнэ. Манай жишээний хувьд, +бидэнд дор хаяж дөрвөн сүлжээний бүлэг хэрэгтэй: IT ажилчид, +IT дагалдангууд, ердийн ажилчид болон дадлагажигчид.</para> + + <programlisting>IT_EMP (,alpha,test-domain) (,beta,test-domain) +IT_APP (,charlie,test-domain) (,delta,test-domain) +USERS (,echo,test-domain) (,foxtrott,test-domain) \ + (,golf,test-domain) +INTERNS (,able,test-domain) (,baker,test-domain)</programlisting> + + <para><literal>IT_EMP</literal>, <literal>IT_APP</literal> гэх мэт нь сүлжээний бүлгийн +нэр. Хаалтан дотор байгаа бүлэг нь хэрэглэгч нэмж байгаа нь. Бүлэг доторх +гурван талбар нь:</para> + + <orderedlist> + <listitem> + <para>Дараах зүйлүүд хүчинтэй байх хостын нэр. Хэрэв хостын нэр зааж өгөхгүй бол, +бүх хостын хувьд хүчинтэй гэсэн үг. Хэрэв хостын нэр зааж өгвөл, +та үл ойлгогдох, толгой эргүүлсэн хачин зүйлстэй тулгарах болно.</para> + </listitem> + + <listitem> + <para>Энэ сүлжээний бүлэгт хамаарах дансны нэр.</para> + </listitem> + + <listitem> + <para>Тухайн дансны NIS домэйн. Хэрэв та нэгээс олон NIS +домэйнд харъяалагддаг азгүй залуусын нэг бол, +өөрийн сүлжээний бүлэгт өөр NIS домэйноос данс импортлож болно.</para> + </listitem> + </orderedlist> + + <para>Эдгээр талбаруудын алинд ч орлуулагддаг тэмдэгт ашиглаж болно. +Дэлгэрэнгүй мэдээллийг &man.netgroup.5; заавар хуудаснаас үзнэ үү.</para> + + <note> + <indexterm><primary>сүлжээний бүлгүүд</primary></indexterm> + <para>Сүлжээний бүлгүүдийн нэр 8-с дээш тэмдэгт байж +болохгүй, ялангуяа тухайн NIS домэйнд өөр үйлдлийн системтэй +машинууд ажиллаж байгаа бол. Нэрүүд нь том жижиг үсгийн ялгаатай; +сүлжээний бүлгийн нэрийг том үсгээр бичих нь +хэрэглэгчийн нэр, машины нэр болон сүлжээний бүлгийн нэрийг +хооронд нь ялгахад хялбар болгодог.</para> + + <para>Зарим NIS харилцагчид (FreeBSD-с бусад) олон тооны гишүүдтэй +сүлжээний бүлэгтэй ажиллаж чаддаггүй. Жишээлбэл, +&sunos;-н зарим хуучин хувилбарууд сүлжээний бүлэг +15-с дээш тооны <emphasis>гишүүн</emphasis>-тэй бол асуудалтай байдаг. +Энэ хязгаарыг давахын тулд 15 ба түүнээс доош тооны хэрэглэгчтэй +дэд сүлжээний бүлгүүд үүсгээд, дараа нь эдгээр дэд сүлжээний бүлгүүдээс +тогтсон жинхэнэ сүлжээний бүлэг үүсгэх замаар үүсгэж болно:</para> + + <programlisting>BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...] +BIGGRP2 (,joe16,domain) (,joe17,domain) [...] +BIGGRP3 (,joe31,domain) (,joe32,domain) +BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3</programlisting> + + <para>Хэрэв танд нэг сүлжээний бүлэгт 225-с дээш хэрэглэгч хэрэгтэй +бол, дээрх үйлдлийг давтах маягаар цааш үргэлжлүүлж болно.</para> + </note> + + <para>Шинээр үүсгэсэн NIS буулгалтаа идэвхжүүлэх болон тараах нь амархан:</para> + + <screen>ellington&prompt.root; <userinput>cd /var/yp</userinput> +ellington&prompt.root; <userinput>make</userinput></screen> + + <para>Ингэснээр <filename>netgroup</filename>, + <filename>netgroup.byhost</filename> ба + <filename>netgroup.byuser</filename> гэсэн гурван NIS буулгалт үүсэх болно. +Дээрх шинэ буулгалтууд идэвхтэй болсон эсэхийг &man.ypcat.1; ашиглан +шалгаарай:</para> + + <screen>ellington&prompt.user; <userinput>ypcat -k netgroup</userinput> +ellington&prompt.user; <userinput>ypcat -k netgroup.byhost</userinput> +ellington&prompt.user; <userinput>ypcat -k netgroup.byuser</userinput></screen> + + <para>Эхний тушаалын үр дүн <filename>/var/yp/netgroup</filename> файл доторхтой +төстэй байх ёстой. Хэрэв та хостоор тусгайлан сүлжээний бүлэг үүсгээгүй бол +хоёр дахь тушаалын үр дүнд юу ч гарах ёсгүй. Гурав дахь тушаалын +тусламжтай тухайн хэрэглэгчийн сүлжээний бүлгүүдийн жагсаалтыг +харахад хэрэглэгдэнэ.</para> + + <para>Харилцагчийг тохируулахад нилээд хялбар. +<hostid>war</hostid> нэртэй серверийг тохируулахын тулд, &man.vipw.8;-г +ажиллуулаад</para> + + <programlisting>+:::::::::</programlisting> + + <para>гэсэн мөрийг</para> + + <programlisting>+@IT_EMP:::::::::</programlisting> + + <para>гэсэн мөрөөр сольж бичих хэрэгтэй. +Ингэснээр, зөвхөн <literal>IT_EMP</literal> сүлжээний бүлэгт заагдсан +хэрэглэгчдийн мэдээлэл <hostid>war</hostid>-н нэвтрэх үгийн санд импортлогдож, +зөвхөн эдгээр хэрэглэгчид л энэ машин руу нэвтрэх эрхтэй боллоо.</para> + + <para>Харамсалтай нь, энэ хязгаарлалт нь +бүрхүүлийн <literal>~</literal> функцэд, мөн хэрэглэгчийн нэр ба тоон дугаарыг +хооронд нь хөрвүүлдэг бүх дэд програмуудад хамаатай. Өөрөөр хэлбэл, +<command>cd ~<replaceable>user</replaceable></command> тушаал ажиллахгүй, +<command>ls -l</command> тушаал хэрэглэгчийн нэрийн оронд +түүний тоон дугаарыг харуулах ба <command>find . -user joe -print</command> тушаал +<errorname>Тийм хэрэглэгч байхгүй</errorname> гэсэн алдааны мэдээлэл өгч амжилтгүй +болох болно. Үүнийг засахын тулд, бүх хэрэглэгчдийн бүртгэлийг +<emphasis>сервер рүү нэвтрэх эрхгүйгээр</emphasis> импортлох хэрэгтэй болно.</para> + + <para>Үүний тулд өөр нэг мөрийг <filename>/etc/master.passwd</filename> файлд нэмж өгөх хэрэгтэй. +Энэ мөр нь:</para> + + <para><literal>+:::::::::/sbin/nologin</literal> гэсэн бичлэгийг агуулж байх ёстой бөгөөд, +энэ нь <quote>бүх бүртгэлийг импортло, гэхдээ импортлогдож байгаа бүртгэлүүдийн +бүрхүүлийг <filename>/sbin/nologin</filename>-р соль</quote> гэсэн утгатай. Үүнтэй адилаар +<literal>passwd</literal> файлын ямар ч талбарыг <filename>/etc/master.passwd</filename> файл дахь анхдагч +утгыг сольж бичсэнээр өөрчилж болно.</para> + + <!-- Been there, done that, got the scars to prove it - ue --> + <warning> + <para><literal>+:::::::::/sbin/nologin</literal> гэсэн мөр <literal>+@IT_EMP:::::::::</literal> гэсэн мөрийн +дараа бичигдсэн эсэхийг сайтар нягтлаарай. Үгүй бол, NIS-с импортлогдсон бүх +хэрэглэгчдийн бүрхүүл <filename>/sbin/nologin</filename> болчихно шүү.</para> + </warning> + + <para>Дээрх өөрчлөлтийг хийсний дараа, +хэрэв IT хэлтэст шинэ ажилчин орвол, +зөвхөн ганцхан NIS буулгалтыг өөрчлөх боллоо. Чухал бус бусад серверийн хувьд +ижилхэн арга хэрэглэж, тэдгээрийн өөрийн <filename>/etc/master.passwd</filename> файл дотор байгаа +хуучин <literal>+:::::::::</literal> мөрийг:</para> + + <programlisting>+@IT_EMP::::::::: ++@IT_APP::::::::: ++:::::::::/sbin/nologin</programlisting> + + <para>гэсэн мөрөөр сольж бичих хэрэгтэй. Ердийн ажлын машины хувьд:</para> + + <programlisting>+@IT_EMP::::::::: ++@USERS::::::::: ++:::::::::/sbin/nologin</programlisting> + + <para>байх ёстой. Ингээд бүх зүйл асуудалгүй ажиллах болно. +Гэтэл хэдэн долоо хоногийн дараа дүрэм, журманд өөрчлөлт орлоо: +IT хэлтэс дадлагажигч авч эхэллээ. IT хэлтсийн дадлагажигчид +ердийн ажлын машин болон чухал бус серверүүдэд нэвтрэх эрхтэй; +IT дагалдангууд гол сервер рүү нэвтрэх эрхтэй болжээ. Одоо <literal>IT_INTERN</literal> +гэсэн шинэ сүлжээний бүлэг нэмж, энэ бүлэгт шинэ IT дадлагажигчдийг +нэмээд, энэ өөрчлөлтийг бүх машины тохиргоонд оруулж эхлэх хэрэгтэй... +Бидний хэлж заншсанаар: <quote>Төвлөрсөн төлөвлөгөөн дээрх алдаа, +бүх юмыг орвонгоор нь эргүүлнэ</quote>.</para> + + <para>Энэ мэт тохиолдолуудад NIS-н +өөр сүлжээний бүлгээс шинэ сүлжээний бүлэг үүсгэх боломж нь тус болно. +Нэг боломж нь үүрэг дээр үндэслэсэн сүлжээний бүлэг юм. +Жишээ нь, чухал серверүүд рүү нэвтрэх эрхийг хянахын тулд +<literal>BIGSRV</literal> гэсэн нэртэй сүлжээний бүлэг үүсгэж болох ба, +чухал бус серверүүдийн хувьд өөр <literal>SMALLSRV</literal> гэсэн бүрэг үүсгэж, +<literal>USERBOX</literal> гэсэн гурав дахь бүлгийг ердийн ажлын машинуудад зориулж +үүсгэж болох юм. Эдгээр сүлжээний бүлэг тус бүр +дээрх гурван төрлийн машинд нэвтрэх эрхтэй +сүлжээний бүлгүүдийг агуулна. NIS сүлжээний бүлгийн буулгалт +дараах байдалтай байна:</para> + + <programlisting>BIGSRV IT_EMP IT_APP +SMALLSRV IT_EMP IT_APP ITINTERN +USERBOX IT_EMP ITINTERN USERS</programlisting> + + <para>Нэвтрэх эрхийг хязгаарлах энэ арга нь +ижил төрлийн хязгаарлалттай машинуудыг нэг бүлэг болговол илүү +үр дүнтэй ажиллана. Харамсалтай нь, заавал тийм байх албагүй. +Ихэнх тохиолдолд, машин тус бүрээр нэвтрэх эрхийг хязгаарлах +боломжтой байх шаардлага зайлшгүй тулгардаг.</para> + + <para>Машин дээр үндэслэсэн сүлжээний бүлэг тодорхойлох нь +дээрх мэтийн дүрэм журамд өөрчлөлт ороход хэрэглэж болох +хоёр дахь боломж юм. Энэ тохиолдолд, машин бүрийн +<filename>/etc/master.passwd</filename> файл дотор <quote>+</quote>-р эхэлсэн хоёр +мөр бичлэг байна. Эхнийх нь энэ машин руу нэвтрэх эрхтэй дансуудаас бүрдсэн +сүлжээний бүлгийг нэмж өгнө, хоёр дахь нь бусад дансуудыг +<filename>/sbin/nologin</filename> бүрхүүлтэйгээр нэмнэ. Сүлжээний бүлгийн нэрийг +машины нэрийг <quote>БҮХ ҮСГИЙГ ТОМООР</quote> байхаар сонгож авах нь +тохиромжтой. Өөрөөр хэлбэл, мөрүүд дараах байдалтай харагдах ёстой:</para> + + <programlisting>+@<replaceable>BOXNAME</replaceable>::::::::: ++:::::::::/sbin/nologin</programlisting> + + <para>Бүх машины хувьд дээрх үйлдлийг хийж дууссаны дараа, +өөрийн <filename>/etc/master.passwd</filename> файлыг дахин өөрчлөх шаардлагагүй болно. +Бусад бүх өөрчлөлтүүдийг NIS буулгалтыг өөрчилснөөр шийдэх болно. Дээрх асуудалд +тохирох сүлжээний бүлгийн буулгалтыг зарим нэмэлт өөрчлөлтүүдийн хамт +дор жишээ болгож үзүүлэв:</para> + + <programlisting># 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 +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]</programlisting> + + <para>Хэрэв та хэрэглэгчдийнхээ дансыг удирдахын тулд +ямар нэг өгөгдлийн санг ашигладаг бол, дээрх буулгалтын эхний +хэсгийг өгөгдлийн сангийнхаа тайлан бэлтгэх багажуудыг +ашиглах үүсгэх боломжтой. Энэ замаар, шинэ хэрэглэгчид машинуудад +хандах эрхийг автоматаар олж авах болно.</para> + + <para>Эцэст нь анхааруулж хэлэх нэг зүйл байна: Машин дээр үндэслэсэн +сүлжээний бүлгийг хэрэглэхийг байнга зөвлөхгүй. Хэрэв +оюутны лабораторид зориулсан, хэдэн арван эсвэл хэдэн зуун +нэг ижил машинтай ажиллаж байгаа бол, NIS буулгалтыг тодорхой хэмжээнд барьж +байхын тулд машин дээр үндэслэсэн сүлжээний бүлгийн оронд үүрэг дээр үндэслэсэн +сүлжээний бүлгийг хэрэглэх хэрэгтэй.</para> + </sect2> + + <sect2> + <title>Санаж явах чухал зүйлс</title> + + <para>NIS орчинд ороод, өөрөөр хийх ёстой хэд хэдэн зүйлс байна.</para> + + <itemizedlist> + <listitem> + <para>Лабораторид шинэ хэрэглэгч нэмэх бүрдээ +<emphasis>зөвхөн</emphasis> эзэн NIS серверт нэмэх ёстой, +ба <emphasis>NIS буулгалтыг заавал дахин үүсгэх ёстой</emphasis>. +Хэрэв ингэхээ мартвал, шинэ хэрэглэгч эзэн NIS серверээс +өөр хаашаа ч нэвтэрч чадахгүй болно. Жишээ нь, +бид <username>jsmith</username> гэсэн шинэ хэрэглэгчийг лабораторид нэмэх боллоо:</para> + + <screen>&prompt.root; <userinput>pw useradd jsmith</userinput> +&prompt.root; <userinput>cd /var/yp</userinput> +&prompt.root; <userinput>make test-domain</userinput></screen> + + <para><command>pw useradd jsmith</command>-н оронд <command>adduser jsmith</command>-г мөн хэрэглэж болно.</para> + </listitem> + <listitem> + <para><emphasis>Администратор эрхтэй дансуудыг NIS буулгалтад оруулах ёсгүй</emphasis>. +Администратор эрхээр орох ёсгүй хэрэглэгчдийн машин дээр администратор эрхтэй +дансууд болон нэвтрэх үгүүдийг тараах хүсэлгүй байгаа биз дээ.</para> + </listitem> + <listitem> + <para><emphasis>NIS эзэн болон зарц серверийн аюулгүй байдлыг хангаж, +ажиллахгүй байх хугацааг багасгах хэрэгтэй</emphasis>. Хэрэв хэн нэг нь +серверт нууцаар нэвтэрч, эсвэл унтрааж орхивол хүмүүсийг лабораторийн машинууд руу +нэвтрэх боломжгүй болгож, саад болох болно.</para> + + <para>Энэ нь ямар ч төвлөрсөн удирдах системийн +гол сул тал юм. Хэрэв та өөрийн NIS серверийг хамгаалахгүй бол, +та маш олон ууртай хэрэглэгчидтэй таарах болно шүү!</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>NIS v1 нийцтэй байдал</title> + + <para> FreeBSD-н <application>ypserv</application> нь NIS v1 харилцагчдад үйлчлэх +зарим дэмжигчтэй ирдэг. FreeBSD-н NIS нь зөвхөн NIS v2 протоколыг хэрэглэдэг, +гэхдээ бусад нь хуучин системүүдтэй нийцтэй ажиллахын тулд +v1 протоколыг дэмждэг байхаар бүтээгдсэн байдаг. +Эдгээр системтэй хамт ирсэн <application>ypbind</application> демонууд +хэдийгээр үнэн хэрэг дээрээ хэзээ ч хэрэглэхгүй боловч +NIS v1 сервертэй холболт үүсгэхийг оролддог (ба +v2 серверээс хариу хүлээж авсан ч өргөн цацалт хийж +хайлтаа үргэлжлүүлдэг талтай). Хэдийгээр +ердийн харилцагчийн хүсэлтийг дэмждэг боловч, +<application>ypserv</application>-н энэ хувилбар v1 буулгалтыг зөөх хүсэлттэй ажиллаж чадахгүй; +иймээс, зөвхөн v1 протоколыг дэмждэг хуучин NIS серверүүдтэй +холбоотойгоор эзэн эсвэл зарц байдлаар ажиллаж чадахгүй. +Аз болоход, ийм серверийг одоо хэрэглэж байгаа газар байхгүй.</para> + </sect2> + + <sect2 id="network-nis-server-is-client"> + <title>NIS Сервер мөртлөө NIS Харилцагч</title> + + <para> Сервер машин нь мөн NIS харилцагч байдлаар ажилладаг +олон сервертэй домэйнд <application>ypserv</application>-г ажиллуулахдаа +анхааралтай байх хэрэгтэй. Ийм серверийг өргөн цацалт хийлгэж, +өөр нэг сервертэй холбоо тогтоохыг зөвшөөрөхийн оронд өөрөө өөртэй нь +хүчээр холбох нь ихэвчлэн дээр байдаг. Хэрэв нэг сервер унтарч, бусад +серверүүд түүнээс хамааралтай байх юм бол хачин алдаанууд гарч болзошгүй. +Эцэст нь бүх харилцагчдын хүлээх хугацаа дуусаж, +бүгд өөр сервертэй холбогдохыг оролдох болно. Хэдийгээр бүх серверүүд +холболтуудаа сэргээж буцаад хэвийн байдалдаа орсон ч, саатлаас болж +харилцагчид холбогдож чадахгүй хэвээр байх болно.</para> + + <para>Хостыг ямар нэг сервертэй холбогдохыг +<command>ypbind</command> тушаалыг <option>-S</option> тугийн хамт ажиллуулж, +урдаас зааж өгч болно. Хэрэв NIS серверийг дахин ачаалах тоолонд энэ +тушаалыг гараар оруулах хүсэлгүй байгаа бол, дараах мөрүүдийг +өөрийн <filename>/etc/rc.conf</filename> файл дотор нэмээрэй:</para> + + <programlisting>nis_client_enable="YES" # run client stuff as well +nis_client_flags="-S <replaceable>NIS domain</replaceable>,<replaceable>server</replaceable>"</programlisting> + + <para>Дэлгэрэнгүй мэдээллийг &man.ypbind.8; заавар хуудаснаас үзнэ үү.</para> + </sect2> + + <sect2> + <title>Нэвтрэх үгийн хэлбэр</title> + <indexterm> + <primary>NIS</primary> + <secondary>нэвтрэх үгийн хэлбэр</secondary> + </indexterm> + <para>NIS-г зохион байгуулах явцад ихэвчлэн тохиолддог асуудлуудын нэг бол +нэвтрэх үгийн хэлбэрийн нийцгүй байдал юм. Хэрэв таны NIS +сервер DES хувиргалттай нэвтрэх үгийг хэрэглэдэг бол, +зөвхөн DES хэрэглэдэг харилцагчид үйлчлэх чадвартай. Жишээлбэл, +хэрэв сүлжээнд чинь &solaris; NIS харилцагчид байгаа бол, +та бараг л DES хувиргалттай нэвтрэх үг хэрэглэх шаардлагатай гэсэн үг.</para> + + <para>Таны сервер болон харилцагчид ямар хэлбэрийн нэвтрэх үг хэрэглэдгийг +шалгахдаа <filename>/etc/login.conf</filename> файлыг үзээрэй. Хэрэв тухайн хост +DES хувиргалттай нэвтрэх үг хэрэглэдэг бол, <literal>default</literal> буюу анхдагч ангилал +нь дараах мөрүүдийг агуулсан байх болно:</para> + + <programlisting>default:\ + :passwd_format=des:\ + :copyright=/etc/COPYRIGHT:\ + [Further entries elided]</programlisting> + + <para><literal>passwd_format</literal> нь өөр <literal>blf</literal> ба <literal>md5</literal> гэсэн +утгуудыг авч болно (Blowfish болон MD5 хувиргалттай нэвтрэх үгийн хувьд).</para> + + <para>Хэрэв та <filename>/etc/login.conf</filename> файлд өөрчлөлт хийсэн бол, +нэвтрэх чадварын санг дахин үүсгэх шаардлагатай. Үүний тулд дараах тушаалыг +<username>root</username> эрхээр өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen> + + <note><para><filename>/etc/master.passwd</filename> файл дотор аль хэдийн үүссэн нэвтрэх үгийн +хэлбэр нь хэрэглэгч нэвтрэх чадварын сан дахин үүссэнээс хойш анх удаа нэвтрэх +үгээ солих хүртэл өөрчлөгдөхгүй.</para></note> + + <para>Мөн, таны сонгосон хэлбэрээр нэвтрэх үгүүдэд +хувиргалт хийгддэг болгохын тулд, +<filename>/etc/auth.conf</filename> файл доторх <literal>crypt_default</literal> утга +таны сонгосон хэлбэрийг хамгийн түрүүнд оруулсан байгаа эсэхийг +шалгах хэрэгтэй. Жишээ нь, DES хувиргалттай нэвтрэх үгийг хэрэглэх үед:</para> + + <programlisting>crypt_default = des blf md5</programlisting> + + <para>&os; дээр тулгуурласан NIS сервер болон харилцагч бүр дээр дээрх +үйлдлүүдийг хийснээр, нэвтрэх үгийн хэлбэр бүгд таарч байгаа гэдэгт +санаа амар байж болно. Хэрэв NIS харилцагч дээр нэвтэрч ороход асуудал +гарвал, асуудлыг тодруулах нэг газар байна. +Хэрэв та холимог сүлжээний хувьд NIS сервер босгох гэж байгаа бол, +ихэнх систем дээр зайлшгүй байх хамгийн бага стандарт тул, +бүх системүүд дээрээ DES ашиглах хэрэгтэйг санаарай.</para> + </sect2> + </sect1> + + <sect1 id="network-dhcp"> + <sect1info> + <authorgroup> + <author> + <firstname>Грег</firstname> + <surname>Сүттер</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Автомат Сүлжээний Тохиргоо (DHCP)</title> + + <sect2> + <title>DHCP гэж юу вэ?</title> + <indexterm> + <primary>Динамик Хостын Тохиргооны Протокол</primary> + <see>DHCP</see> + </indexterm> + <indexterm> + <primary>Интернет Софтвер Консорциум(ISC)</primary> + </indexterm> + + <para>DHCP, Dynamic Host Configuration Protocol буюу Динамик Хостын Тохиргооны Протокол нь +систем ямар байдлаар сүлжээнд холбогдох, +тухайн сүлжээнд харилцаанд орохын тулд шаардагдах +мэдээллийг хэрхэн олж авахыг зааж өгдөг. FreeBSD-н +6.0-с өмнөх хувилбарууд ISC (Internet Software Consortium) DHCP харилцагчийг +(&man.dhclient.8;) хэрэглэдэг. +Хамгийн сүүлийн хувилбар дээр OpenBSD 3.7-с авсан +OpenBSD-н <command>dhclient</command>-г хэрэглэдэг. Энэ бүлэгт гарах +<command>dhclient</command>-р ISC ба OpenBSD DHCP харилцагчийг хоёуланг +нь төлөөлүүлсэн болно. DHCP серверийн хувьд ISC тархацын +серверийг авч үзэх болно.</para> + </sect2> + + <sect2> + <title>Энэ хэсэгт авч үзэх зүйлс</title> + + <para>Энэ хэсэгт ISC ба OpenBSD DHCP харилцагчийн харилцагч талыг бүтээж байгаа элементүүд, +болон ISC DHCP системийн сервер талыг бүтээж байгаа элементүүдийг хоёуланг нь +авч үзэх болно. Харилцагч талын програм, <command>dhclient</command>, нь +FreeBSD-тэй нэгдмэл байдлаар ирдэг бол, сервер талын хэсэг нь +<filename role="package">net/isc-dhcp3-server</filename> портоос суулгах боломжтой байдлаар ирдэг. +&man.dhclient.8;, &man.dhcp-options.5;, ба &man.dhclient.conf.5; заавар хуудсууд болон доор өгөгдсөн зөвлөмжүүд +нь хэрэг болно.</para> + </sect2> + + <sect2> + <title>Хэрхэн ажилладаг вэ?</title> + <indexterm><primary>UDP</primary></indexterm> + <para>Харилцагч машин дээр <command>dhclient</command> DHCP харилцагчийг +ажиллуулахад, тохиргооны мэдээллийг хүссэн хүсэлтийг цацаж эхэлнэ. +Анхдагч байдлаар, эдгээр хүсэлтүүд нь UDP 68-р портоос гарч, серверийн +UDP 67 порт руу илгээгдэнэ. Сервер харилцагчид IP хаяг болон сүлжээний баг, +чиглүүлэгч, DNS серверийн хаяг зэрэг хэрэгтэй мэдээллийг хариу илгээнэ. +Энэ бүх мэдээллийг DHCP <quote>түрээслэх</quote> хэлбэрээр өгөх ба зөвхөн тодорхой +хугацааны туршид хүчинтэй байна (DHCP серверийг хариуцагч тохируулж өгсөн байна). +Ийм байдлаар, сүлжээнд холбогдохоо больсон харилцагчийн ашиглагдаагүй +IP хаягуудыг автоматаар буцааж авах боломжтой болно.</para> + + <para>DHCP харилцагч серверээс өргөн мэдээллийг +авч чадна. Бүрэн жагсаалтыг &man.dhcp-options.5;-с олж үзэж болно.</para> + </sect2> + + <sect2> + <title>FreeBSD-тэй нэгдмэл байдал</title> + + <para>&os; нь ISC эсвэл OpenBSD DHCP харилцагч, + <command>dhclient</command>-г өөртэйгөө бүрэн нэгтгэсэн байдаг (&os; хувилбараас хамааран). +DHCP сервер ажиллаж байгаа сүлжээнд сүлжээний тохиргоог хийх нарийн +чимхлүүр ажлаас хөнгөвчлөх үүднээс, DHCP харилцагчийг систем суулгагч +болон үндсэн системийн аль алинд хамт оруулж өгсөн байдаг. +<command>dhclient</command> нь FreeBSD-н 3.2-с хойших бүх тархацуудад нэгтгэгдсэн байгаа.</para> + <indexterm> + <primary><application>sysinstall</application></primary> + </indexterm> + + <para><application>sysinstall</application> нь DHCP-г дэмждэг. <application>sysinstall</application>-р +сүлжээний интерфэйсийг тохируулахад асуудаг хоёр дахь асуулт бол: +<quote>Та энэ интерфэйсийг DHCP-р тохируулахыг хүсэж байна уу?</quote>. +Зөвшөөрсөн хариулт өгсөн тохиолдолд <command>dhclient</command>-г ажиллуулах бөгөөд, +хэрэв амжилттай бол сүлжээний тохиргоо автоматаар хийгдэнэ.</para> + + <para>Систем ачаалах үед DHCP ашигладаг болгохын тулд, +хоёр зүйлийг хийх хэрэгтэй:</para> + <indexterm> + <primary>DHCP</primary> + <secondary>шаардлагууд</secondary> + </indexterm> + <itemizedlist> + <listitem> + <para><devicename>bpf</devicename> төхөөрөмж цөмтэй хамт эмхэтгэгдсэн байх ёстой. +Үүний тулд, <literal>device bpf</literal> мөрийг цөмийн +тохиргооны файлд нэмэж бичээд цөмийг дахин бүтээх +хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг <xref linkend="kernelconfig"> +хэсгээс авна уу.</para> +<para><devicename>bpf</devicename> төхөөрөмж нь FreeBSD-н <filename>GENERAL</filename> цөмийн нэг хэсэг +бөгөөд, DHCP-г ажиллуулахын тулд тусгайлан шинээр цөм бүтээх шаардлагагүй.</para> + <note> +<para>Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд, +<devicename>bpf</devicename> нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог +төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын +тулд <username>root</username> эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд +<devicename>bpf</devicename> <emphasis>заавал</emphasis> хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг +маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г +ашиглахын тулд <devicename>bpf</devicename>-г цөмд нэмэх хэрэггүй.</para> + </note> + </listitem> + <listitem> + <para><filename>/etc/rc.conf</filename> файлыг нээгээд дараах мөрийг нэмж бичнэ:</para> + + <programlisting>ifconfig_fxp0="DHCP"</programlisting> + + <note> + <para><xref linkend="config-network-setup">-д тайлбарласан ёсоор, +<literal>fxp0</literal>-г динамикаар тохируулах гэж байгаа +интерфэйсийн нэрээр сольж бичнэ.</para> + </note> + + <para>Хэрэв таны <command>dhclient</command> өөр газар байгаа бол, эсвэл +хэрэв та <command>dhclient</command>-г нэмэлт тугуудын хамт ажиллуулах хүсэлтэй бол, +дараах мөрүүдийг нэмж бичнэ үү (эсвэл шаардлагатай хэсгийг засаж бичнэ үү):</para> + + <programlisting>dhcp_program="/sbin/dhclient" +dhcp_flags=""</programlisting> + </listitem> + </itemizedlist> + + <indexterm> + <primary>DHCP</primary> + <secondary>сервер</secondary> + </indexterm> + <para>DHCP сервер <application>dhcpd</application> нь портуудын цуглуулгад байгаа +<filename role="package">net/isc-dhcp3-server</filename> портын нэг хэсэг байдлаар ирдэг. Энэ порт нь +ISC DHCP сервер болон түүний баримтуудыг агуулсан байдаг.</para> + </sect2> + + <sect2> + <title>Файлууд</title> + <indexterm> + <primary>DHCP</primary> + <secondary>тохиргооны файлууд</secondary> + </indexterm> + <itemizedlist> + <listitem><para><filename>/etc/dhclient.conf</filename></para> + <para><command>dhclient</command> нь <filename>/etc/dhclient.conf</filename> гэсэн тохиргооны +файлыг шаарддаг. Ихэвчлэн энэ файл зөвхөн тайлбаруудаас бүрдэх ба +анхдагч утгууд нь харьцангуй өөрчлөх шаардлагагүйгээр өгөгдсөн байдаг. +Энэ тохиргооны файлыг &man.dhclient.conf.5; заавар хуудсанд тайлбарласан байгаа.</para> + </listitem> + + <listitem><para><filename>/sbin/dhclient</filename></para> + <para><command>dhclient</command> нь статикаар холбогдсон байх ба +<filename>/sbin</filename> дотор байрлана. &man.dhclient.8; хуудаснаас +<command>dhclient</command>-н талаар дэлгэрэнгүй мэдээллийг авна уу.</para> + </listitem> + + <listitem><para><filename>/sbin/dhclient-script</filename></para> + <para><command>dhclient-script</command> нь зөвхөн FreeBSD-д байдаг, DHCP харилцагчийг +тохируулах зориулалттай тусгай скрипт юм. Энэ скриптыг +&man.dhclient-script.8; заавар хуудсанд тайлбарласан байх ба, ажиллуулахын +тулд хэрэглэгч ямар нэг засвар хийх шаардлагагүй.</para> + </listitem> + + <listitem><para><filename>/var/db/dhclient.leases</filename></para> + <para>DHCP харилцагч нь түрээсэлж авсан хаягуудаа агуулсан өгөгдлийн +санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг. &man.dhclient.leases.5; хэсэгт +илүү дэлгэрэнгүй тайлбар бий.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Гүнзгийрүүлэн унших</title> + + <para>DHCP протокол нь бүрэн хэмжээгээр <ulink url="http://www.freesoft.org/CIE/RFC/2131/">RFC 2131</ulink>-д +тодорхойлогдсон байдаг. Нэмэлт эх үүсвэрүүд <ulink url="http://www.dhcp.org/"></ulink>-д мөн бий.</para> + </sect2> + + <sect2 id="network-dhcp-server"> + <title>DHCP Серверийг Суулгах болон Тохируулах</title> + + <sect3> + <title>Энэ хэсэгт авч үзэх зүйлс</title> + + <para>Энэ хэсэгт ISC (Internet Software Consortium) DHCP серверийг +ашиглан FreeBSD системийг хэрхэн DHCP сервер байдлаар ажиллуулах +талаар авч үзэх болно.</para> + + <para>Сервер нь FreeBSD-н нэг хэсэг байдлаар ирдэггүй бөгөөд +ийм үйлчилгээ үзүүлэхийн тулд <filename role="package">net/isc-dhcp3-server</filename> портыг +суулгах хэрэгтэй болдог. Портуудын цуглуулгын хэрхэн ашиглах талаар +<xref linkend="ports"> хэсгээс дэлгэрэнгүй мэдээллийг авна уу.</para> + </sect3> + + <sect3> + <title>DHCP Серверийг суулгах нь</title> + <indexterm> + <primary>DHCP</primary> + <secondary>суулгах</secondary> + </indexterm> + <para>FreeBSD системийг DHCP сервер байдлаар тохируулахын тулд, +&man.bpf.4; төхөөрөмж цөмд эмхэтгэгдсэн байх ёстой. Үүний тулд, +цөмийн тохиргооны файл дотор <literal>bpf төхөөрөмж</literal>ийг нэмээд цөмийг дахин +бүтээх хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг +<xref linkend="kernelconfig"> хэсгээс үзнэ үү.</para> + +<para><devicename>bpf</devicename> төхөөрөмж нь FreeBSD-н <filename>GENERAL</filename> цөмийн нэг хэсэг бөгөөд, +DHCP-г ажиллуулахын тулд +тусгайлан шинээр цөм бүтээх шаардлагагүй.</para> + <note> + <para>Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд, +<devicename>bpf</devicename> нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог +төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын +тулд <username>root</username> эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд +<devicename>bpf</devicename> <emphasis>заавал</emphasis> хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг +маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г +ашиглахын тулд <devicename>bpf</devicename>-г цөмд нэмэх хэрэггүй.</para> + </note> + + <para>Үүний дараа <filename role="package">net/isc-dhcp3-server</filename> +порттой хамт ирсэн жишээ <filename>dhcpd.conf</filename> файлыг засах хэрэгтэй. +Анхдагч байдлаар, <filename>/usr/local/etc/dhcpd.conf.sample</filename> гэсэн файл байх ба +өөрчлөлт хийхийнхээ өмнө энэ файлыг <filename>/usr/local/etc/dhcpd.conf</filename> +нэртэйгээр хуулж тавих хэрэгтэй.</para> + </sect3> + + <sect3> + <title>DHCP Серверийг тохируулах</title> + <indexterm> + <primary>DHCP</primary> + <secondary>dhcpd.conf</secondary> + </indexterm> + <para><filename>dhcpd.conf</filename> нь +дэд сүлжээ болон хостуудтай холбоотой өгөгдөл зарлалтаас +бүрдэх ба жишээн дээр тайлбарлавал илүү амархан байх болов уу:</para> + + <programlisting>option domain-name "example.com";<co id="domain-name"> +option domain-name-servers 192.168.4.100;<co id="domain-name-servers"> +option subnet-mask 255.255.255.0;<co id="subnet-mask"> + +default-lease-time 3600;<co id="default-lease-time"> +max-lease-time 86400;<co id="max-lease-time"> +ddns-update-style none;<co id="ddns-update-style"> + +subnet 192.168.4.0 netmask 255.255.255.0 { + range 192.168.4.129 192.168.4.254;<co id="range"> + option routers 192.168.4.1;<co id="routers"> +} + +host mailhost { + hardware ethernet 02:03:04:05:06:07;<co id="hardware"> + fixed-address mailhost.example.com;<co id="fixed-address"> +}</programlisting> + + <calloutlist> + <callout arearefs="domain-name"> + <para>Энэ тохируулга нь анхдагч хайлтын домэйн байдлаар +харилцагчид өгөх домэйныг заана. Энэ талаар дэлгэрэнгүй мэдээллийг +&man.resolv.conf.5; хэсгээс үзнэ үү.</para> + </callout> + + <callout arearefs="domain-name-servers"> + <para>Энэ тохируулга нь харилцагчийн хэрэглэх ёстой +DNS серверүүдийг таслалаар холбосон жагсаалт байна.</para> + </callout> + + <callout arearefs="subnet-mask"> + <para>Хэрэглэгчид өгөх сүлжээний багийг заана.</para> + </callout> + + <callout arearefs="default-lease-time"> + <para>Түрээслэлт (lease) хүчинтэй байх тийм тусгай хугацааг + харилцагч хүсэж болох юм. Хэрэв харилцагч хүсээгүй бол сервер энд заасан дуусах + хугацаагаар (секундээр) түрээс хийх болно.</para> + </callout> + + <callout arearefs="max-lease-time"> + <para>Серверийн түрээслүүлэх хамгийн дээд хугацааг заана. +Харилцагч үүнээс урт хугацаагаар түрээслэх хүсэлт тавибал +хүсэлтийг хүлээж авах боловч зөвхөн <literal>max-lease-time</literal> секундын туршид +хүчинтэй байна.</para> + </callout> + + <callout arearefs="ddns-update-style"> + <para>Түрээслэх болон эргүүлж авахад DHCP сервер +DNS-г шинэчлэхийг оролдох шаардлагатай эсэхийг зааж өгнө. +ISC шийдлийн хувьд, энэ тохируулга <emphasis>заавал</emphasis> байх ёстой.</para> + </callout> + + <callout arearefs="range"> + <para>Харилцагчид оноох IP хаягуудын хүрээг заана. Энэ хүрээнд багтах +IP хаягуудыг харилцагчид өгөх болно.</para> + </callout> + + <callout arearefs="routers"> + <para>Харилцагчид өгөх анхдагч гарцыг заана.</para> + </callout> + + <callout arearefs="hardware"> + <para>Хостын MAC хаягыг заана (ингэснээр DHCP сервер тухайн хостыг +хүсэлт тавихад таньж чадна).</para> + </callout> + + <callout arearefs="fixed-address"> + <para>Хостод тогтмол IP хаяг оноохыг заана. +Энд хостын нэрийг хэрэглэж болохыг тэмдэглэх хэрэгтэй. +DHCP сервер IP хаяг түрээслүүлэх +хариуг өгөхөөс өмнө хост нэрийг тайлах болно.</para> + </callout> + </calloutlist> + + <para><filename>dhcpd.conf</filename> файлыг бичиж дууссаны дараа, +<filename>/etc/rc.conf</filename> файл дотор DHCP серверийг идэвхжүүлэх хэрэгтэй, +өөрөөр хэлбэл доорх мөрүүдийг нэмж бичих хэрэгтэй:</para> + + <programlisting>dhcpd_enable="YES" +dhcpd_ifaces="dc0"</programlisting> + + <para><literal>dc0</literal>-г өөрийн тань DHCP сервер DHCP харилцагчдийн хүсэлтийг +хүлээж авах ёстой интерфэйсийн нэрээр (эсвэл интерфэйсүүдийг зайгаар +тусгаарлан) сольж бичих хэрэгтэй.</para> + + <para>Дараа нь, доорх тушаалыг өгөн серверийг ажиллуулах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/isc-dhcpd.sh start</userinput></screen> + + <para>Серверийнхээ тохиргооны файлд өөрчлөлт оруулах бүрдээ, +<literal>SIGHUP</literal> дохиог <application>dhcpd</application>-д өгөх нь бусад демонуудын +хувьд тохиргоог дахин дууддаг шиг биш харин тохиргоог дахин +ачаалах<emphasis>гүй</emphasis> болохыг анхаарах хэрэгтэй. Процессыг зогсоохын +тулд <literal>SIGTERM</literal> дохиог өгөх хэрэгтэй ба дээрх тушаалыг өгөн дахин эхлүүлэх хэрэгтэй.</para> + </sect3> + + <sect3> + <title>Файлууд</title> + <indexterm> + <primary>DHCP</primary> + <secondary>тохиргооны файлууд</secondary> + </indexterm> + <itemizedlist> + <listitem><para><filename>/usr/local/sbin/dhcpd</filename></para> + <para><application>dhcpd</application> нь статикаар холбогдсон байх ба +<filename>/usr/local/sbin</filename> дотор байрлана. Порттой хамт суусан +&man.dhcpd.8; заавар хуудаснаас <application>dhcpd</application>-н талаар дэлгэрэнгүй мэдээллийг +авна уу.</para> + </listitem> + <listitem><para><filename>/usr/local/etc/dhcpd.conf</filename></para> + <para><application>dhcpd</application> нь <filename>/usr/local/etc/dhcpd.conf</filename> гэсэн тохиргооны +файлыг шаарддаг. Энэ файл дотор харилцагчид өгөх бүх мэдээллээс гадна +серверийн өөрийн үйл ажиллагаатай холбоотой мэдээлэл байх ёстой. Энэ +тохиргооны файлыг портоос суусан &man.dhcpd.conf.5; заавар хуудсанд тайлбарласан байгаа.</para> + </listitem> + + <listitem><para><filename>/var/db/dhcpd.leases</filename></para> + <para>DHCP сервер нь түрээслүүлсэн хаягуудаа агуулсан +өгөгдлийн санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг. +Портоос суусан &man.dhcpd.leases.5; заавар хуудсанд илүү дэлгэрэнгүй +тайлбар бий.</para> + </listitem> + <listitem><para><filename>/usr/local/sbin/dhcrelay</filename></para> + <para><application>dhcrelay</application>-г нэг DHCP сервер +харилцагчаас хүлээн авсан хүсэлтийг өөр сүлжээнд байгаа +нөгөө DHCP сервер рүү дамжуулдаг, нарийн бүтэцтэй орчинд хэрэглэнэ. +Хэрэв энэ функцийг ашиглах шаардлагатай бол, +<filename role="package">net/isc-dhcp3-relay</filename> портыг суулгаарай. +Порттой хамт ирэх &man.dhcrelay.8; заавар хуудаснаас дэлгэрэнгүй +мэдээллийг авна уу.</para> + </listitem> + </itemizedlist> + </sect3> + + </sect2> + + </sect1> + + <sect1 id="network-dns"> + <sect1info> + <authorgroup> + <author> + <firstname>Черн</firstname> + <surname>Лий</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + <author> + <firstname>Том</firstname> + <surname>Родес</surname> + </author> + <author> + <firstname>Даниел</firstname> + <surname>Герзо</surname> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын </firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + + </sect1info> + <title>Домэйн Нэрийн Систем (<acronym>DNS</acronym>)</title> + + <sect2> + <title>Удиртгал</title> + <indexterm><primary>BIND</primary></indexterm> + + <para>&os; анхдагч байдлаар <acronym>DNS</acronym> протоколын +хамгийн өргөн хэрэглэгддэг хэрэгжүүлэлт болох BIND (Berkeley + Internet Name Domain)-н аль нэг хувилбарыг агуулсан байдаг. +<acronym>DNS</acronym> нь нэрүүдийг <acronym>IP</acronym> хаягууд руу, мөн +эсрэгээр нь буулгахад хэрэглэгддэг протокол юм. +Жишээ нь, <hostid role="fqdn">www.FreeBSD.org</hostid>-г асуусан DNS асуулга явуулахад, +хариуд нь &os; Төсөлийн веб серверийн <acronym>IP</acronym> хаяг ирэх бол, +<hostid role="fqdn">ftp.FreeBSD.org</hostid>-н хувьд асуулга явуулахад, +хариуд нь харгалзах <acronym>FTP</acronym> машины <acronym>IP</acronym> хаяг ирэх болно. +Яг үүнтэй адилаар эсрэгээр нь хийж болно. Ямар нэг <acronym>IP</acronym>-р асуулга +явуулахад түүний хост нэрийг олж болно. <acronym>DNS</acronym> хайлт хийхийн тулд +тухайн системд домэйн нэрийн сервер ажиллаж байх ёстой.</para> + + <para>&os; нь одоо <acronym>BIND</acronym>9 + <acronym>DNS</acronym> сервер програмын хамт ирдэг болсон. +Бидний суулгац нь файл системийн шинэчилсэн зохион байгуулалт, +автомат &man.chroot.8; тохиргоо зэрэг аюулгүй байдлыг дээд зэргээр +хангах функцүүдтэй ирдэг.</para> + + <indexterm><primary>DNS</primary></indexterm> + <para><acronym>DNS</acronym> бол Интернет дээр тулгуурласан, +бүрэн эрхт root буюу эх сервер, Top Level Domain буюу Дээд Түвшний Домэйн (<acronym>TLD</acronym>) +сервер, болон домэйн тус бүрийн мэдээллийг агуулж байдаг +бусад жижиг нэрийн серверүүдээс бүтсэн нарийн төвөгтэй +систем юм.</para> + + <para>BIND одоо + Internet Software Consortium + <ulink url="http://www.isc.org/"></ulink>-н мэдэлд байдаг.</para> + </sect2> + + <sect2> + <title>Нэр Томъёо</title> + + <para>Энэ баримтыг ойлгохын тулд, <acronym>DNS</acronym>-тэй холбоотой +зарим нэр томъёог ойлгосон байх шаардлагатай.</para> + + <indexterm><primary>resolver</primary></indexterm> + <indexterm><primary>reverse DNS</primary></indexterm> + <indexterm><primary>root zone</primary></indexterm> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="3*"> + + <thead> + <row> + <entry>Нэр</entry> + <entry>Тайлбар</entry> + </row> + </thead> + + <tbody> + <row> + <entry>Forward буюу Ердийн <acronym>DNS</acronym></entry> + <entry>Хост нэрийг IP хаяг руу буулгана.</entry> + </row> + + <row> + <entry>Origin буюу Үүсэл</entry> + <entry>Тухайн бүсийн файлд хамрагдаж байгаа домэйнийг заана.</entry> + </row> + + <row> + <entry><application>named</application>, BIND, нэрийн сервер</entry> + <entry>&os;-н BIND нэрийн серверийг нэрлэх түгээмэл нэршил.</entry> + </row> + + <row> + <entry>Resolver буюу Тайлагч</entry> + <entry>Машин, бүсийн мэдээллийн талаар нэрийн серверээс асуулга +явуулахын тулд ашигладаг системийн процесс.</entry> + </row> + + <row> + <entry>Reverse буюу Урвуу <acronym>DNS</acronym></entry> + <entry>Ердийн <acronym>DNS</acronym>-н урвуу нь; <acronym>IP</acronym> +хаягийг хост нэр рүү буулгана.</entry> + </row> + + <row> + <entry>Root zone буюу Эх бүс</entry> + + <entry>Интернет бүсийн шатлалын эхлэл. +Файл системийн бүх файлууд эх санд харъяалагддаг шиг, +бүх бүсүүд эх бүсэд харъяалагдана.</entry> + </row> + + <row> + <entry>Zone буюу Бүс</entry> + <entry>Нэг бүрэн эрхт газраар удирдуулж байгаа +домэйн, дэд домэйн, эсвэл <acronym>DNS</acronym>-н нэг хэсэг.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <indexterm> + <primary>бүсүүд</primary> + <secondary>жишээнүүд</secondary> + </indexterm> + + <para>Бүсүүдийн жишээ:</para> + + <itemizedlist> + <listitem> + <para><hostid>.</hostid> бол эх бүс.</para> + </listitem> + + <listitem> + <para><hostid>org.</hostid> бол эх бүсийн доорх Top Level Domain буюу +Дээд Түвшний Домэйн (<acronym>TLD</acronym>).</para> + </listitem> + + <listitem> + <para><hostid role="domainname">example.org.</hostid> бол <hostid>org.</hostid> <acronym>TLD</acronym>-н +доорх бүс.</para> + </listitem> + + <listitem> + <para><hostid>1.168.192.in-addr.arpa</hostid> бол <hostid role="ipaddr">192.168.1.*</hostid> +<acronym>IP</acronym> хүрээнд багтаж байгаа бүх <acronym>IP</acronym> +хаягуудыг агуулсан бүс.</para> + </listitem> + </itemizedlist> + + <para>Хост нэр зүүн тал руугаа явах тусам илүү тодорхой +болж байгааг та бүхэн анзаарсан байх. Жишээлбэл, <hostid role="domainname">example.org.</hostid> +нь <hostid>org.</hostid>-с илүү тодорхой, харин <hostid>org.</hostid> нь эх бүсээс +илүү тодорхой байна. Хост нэрийн зохион байгуулалт нь +файл системийнхтэй төстэй: <filename role="directory">/dev</filename> директор нь +эх директорт харъяалагдана, гэх мэт.</para> + </sect2> + + <sect2> + <title>Нэрийн Сервер ажиллуулах Шалтгаанууд</title> + + <para>Нэрийн Серверүүд ихэвчлэн хоёр янз байна: authoritative буюу бүрэн эрхт нэрийн сервер, +ба caching буюу түр тогтоогч нэрийн сервер.</para> + + <para>Бүрэн эрхт нэрийн сервер нь дараах тохиолдлуудад хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para><acronym>DNS</acronym> мэдээллийг өөртөө агуулж, энэ мэдээллийг нийтэд зарлан, +ирсэн асуулгуудад бүрэн эрхтэйгээр хариулах хүсэлтэй үед.</para> + </listitem> + + <listitem> + <para>Бүртгэлтэй домэйны хувьд, жишээлбэл <hostid role="domainname">example.org</hostid>, +түүний дор орших хост нэрүүдэд <acronym>IP</acronym> хаяг оноож өгөх хэрэгтэй үед.</para> + </listitem> + + <listitem> + <para>Бүлэг <acronym>IP</acronym> хаягуудад урвуу <acronym>DNS</acronym> мэдээлэл хэрэгтэй үед +(<acronym>IP</acronym>-с хост нэр рүү).</para> + </listitem> + + <listitem> + <para>Нөөц эсвэл хоёрдогч нэрийн сервер, зарц гэж нэрлэнэ, +асуулгуудад хариулуулах шаардлагатай үед.</para> + </listitem> + </itemizedlist> + + <para>Түр тогтоогч нэрийн сервер дараах тохиолдлуудад хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>Дотоод <acronym>DNS</acronym> сервер нь асуулгын хариуг +түр тогтоосноор гадаад нэрийн серверээс илүү хурдан хариу өгч +байгаа үед.</para> + </listitem> + </itemizedlist> + + <para><hostid role="fqdn">www.FreeBSD.org</hostid>-р асуулга явуулсан үед, тайлагч ихэвчлэн +үйлчилгээ авдаг <acronym>ISP</acronym>-нхаа нэрийн серверээс асуугаад хариуг олж авна. +Дотоод, түр тогтоогч <acronym>DNS</acronym> сервер ажиллуулснаар, +асуулгыг гадаад интернетээс зөвхөн ганц удаа явуулах бөгөөд, +хариуг тогтоож авна. Түүнээс хойших асуулгуудад түр тогтоогч нэрийн сервер +хариулах ба гадагшаа дахин асуулга явуулах шаардлага байхгүй.</para> + </sect2> + + <sect2> + <title>Хэрхэн ажилладаг вэ?</title> + <para>&os;-д BIND демоныг ойлгомжтойгоор <application>named</application> гэж нэрлэнэ.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Файл</entry> + <entry>Тайлбар</entry> + </row> + </thead> + + <tbody> + <row> + <entry>&man.named.8;</entry> + <entry>BIND демон.</entry> + </row> + + <row> + <entry>&man.rndc.8;</entry> + <entry>Нэрийн серверийг хянах хэрэгсэл.</entry> + </row> + + <row> + <entry><filename role="directory">/etc/namedb</filename></entry> + <entry>BIND-н бүсийн мэдээлэл хадгалагдаж байгаа сан.</entry> + </row> + + <row> + <entry><filename>/etc/namedb/named.conf</filename></entry> + <entry>демоны тохиргооны файл.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Тухайн бүс сервер дээр хэрхэн тохируулагдсанаас хамаарч +энэ бүстэй хамааралтай файлууд <filename role="directory">/etc/namedb</filename> +директорын <filename role="directory">master</filename>, +<filename role="directory">slave</filename>, эсвэл <filename role="directory">dynamic</filename> +гэсэн дэд сангуудад байрлана. Эдгээр файлуудад +гадны асуулгад хариу болгон өгөх <acronym>DNS</acronym> мэдээллүүд +байрлана.</para> + </sect2> + + <sect2> + <title>BIND-г ажиллуулах нь</title> + <indexterm> + <primary>BIND</primary> + <secondary>ажиллуулах</secondary> + </indexterm> + + <para>BIND нь анхдагч байдлаар суучихсан ирдэг тул тохируулахад +хялбар байдаг.</para> + + <para><application>named</application>-н анхдагч тохиргоо нь +&man.chroot.8; орчинд ажиллах, тайлагч нэрийн сервер байдлаар хийгдсэн байдаг. +Энэ тохиргоогоор серверийг ажиллуулахын тулд дараах тушаалыг өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/named forcestart</userinput></screen> + + <para><application>named</application> демоныг систем ачаалах үед +ажиллуулдаг болгохын тулд <filename>/etc/rc.conf</filename> дотор дараах мөрүүдийг нэмэх +хэрэгтэй:</para> + + <programlisting>named_enable="YES"</programlisting> + + <para>Мэдээж <filename>/etc/namedb/named.conf</filename> файл дотор +өөр олон тохируулгууд байгаа боловч энэ баримтын мэдлээс халих +тул энд дурдсангүй. Хэрэв &os; дээрх <application>named</application>-н эхлэл +тохируулгуудын талаар сонирхож байгаа бол <filename>/etc/defaults/rc.conf</filename> +дотор байгаа <literal>named_<replaceable>*</replaceable></literal> тугуудыг нэг ороод үзээрэй. +Мөн &man.rc.conf.5; заавар хуудаснаас тусламж авч болно. <xref linkend="configtuning-rcd"> +хэсгийг уншихад илүүдэхгүй.</para> + </sect2> + + <sect2> + <title>Тохиргооны файлууд</title> + <indexterm> + <primary>BIND</primary> + <secondary>тохиргооны файлууд</secondary> + </indexterm> + + <para><application>named</application>-н тохиргооны файлууд нь +<filename role="directory">/etc/namedb</filename> директор дотор байрлах ба +хэрэв хялбар тайлагчаас өөр түвшинд ажиллах хэрэгтэй бол +ажиллуулахаасаа өмнө тохиргооны файлд засвар хийх хэрэгтэй. +Ихэнх тохиргоог энэ сан дотор гүйцэтгэнэ.</para> + + <sect3> + <title><command>make-localhost</command>-г хэрэглэх нь</title> + + <para>localhost-н хувьд эзэн бүсийг тохируулахын тулд +<filename role="directory">/etc/namedb</filename> директорруу шилжээд дараах тушаалыг +өгнө:</para> + + <screen>&prompt.root; <userinput>sh make-localhost</userinput></screen> + + <para>Хэрэв бүх зүйл зүй ёсоор явагдвал, +<filename class="directory">master</filename> дэд директор дотор шинэ файл үүссэн байх ёстой. +Файлууд нь дотоод домэйны хувьд <filename>localhost.rev</filename>, +<acronym>IPv6</acronym> тохиргооны хувьд <filename>localhost-v6.rev</filename> гэсэн нэртэй байна. +Анхдагч тохиргооны файлын хувьд <filename>named.conf</filename> файл дотор +шаардлагатай мэдээллүүд байрлана.</para> + </sect3> + + <sect3> + <title><filename>/etc/namedb/named.conf</filename></title> + + <programlisting>// $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; + }; +*/</programlisting> + + <para>Тайлбар дээр хэлсэнчлэн +дээд гарцын түр тогтоогчоос хүртэхийн тулд +<literal>forwarders</literal>-г идэвхжүүлж болох юм. +Энгийн үед, нэрийн сервер нь хариултыг олтлоо давталттай байдлаар +хэд хэдэн нэрийн серверүүдээр дамжин асууна. +Энэ тохируулгыг идэвхжүүлснээр, дээд гарцынхаа нэрийн серверээс +(эсвэл зааж өгсөн нэрийн сервер) хамгийн түрүүнд асууж, энэ серверийн +түр санах ойд байгаа мэдээллээс хүртэхийг эрмэлзэнэ. +Хэрэв дээд гарцын нэрийн сервер нь олон асуулгад хариулдаг, хурдан үйлчилдэг +сервер байвал дээрх тохируулгыг идэвхжүүлсний үр ашиг гарна.</para> + + <warning> + <para><hostid role="ipaddr">127.0.0.1</hostid> энд ажиллах<emphasis>гүй</emphasis>. Энэ +<acronym>IP</acronym> хаягыг өөрийн дээд гарцын нэрийн серверээр сольж бичнэ үү.</para> + </warning> + + <programlisting> /* + * 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. :-) Use actual names +// and addresses instead. + +/* An example master zone +zone "example.net" { + type master; + file "master/example.net"; +}; +*/ + +/* 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; + }; +}; +*/</programlisting> + + <para><filename>named.conf</filename> доторх эдгээр жишээнүүд нь +ердийн болон урвуу бүсийн зарц бүртгэлүүд болно.</para> + + <para>Шинэ бүс нэмэхдээ, <filename>named.conf</filename> файл дотор шинэ бүртгэл +оруулах хэрэгтэй.</para> + + <para>Жишээ нь, <hostid role="domainname">example.org</hostid> домэйны хувьд +хамгийн хялбар бүртгэл дараах байдалтай байна:</para> + + <programlisting>zone "example.org" { + type master; + file "master/example.org"; +};</programlisting> + + <para>Энэ бүс нь эзэн бүс болохыг <option>type</option> илэрхийллээс харж болно. +Мөн бүсийн мэдээллийг <filename>/etc/namedb/master/example.org</filename> файл дотор агуулж байгааг +<option>file</option> илэрхийллээс харж болно.</para> + + <programlisting>zone "example.org" { + type slave; + file "slave/example.org"; +};</programlisting> + + <para>Зарц бүсийн хувьд, тухайн бүсийн хувьд бүсийн мэдээлэл +эзэн нэрийн серверээс зөөгдөж ирэх ба зааж өгсөн файлд хадгалагдана. +Эзэн сервер унтарсан эсвэл холбоо тогтоох боломжгүй болбол, +зарц нэрийн серверт бүсийн мэдээлэл байгаа тул асуулгуудад хариулах +чадвартай байна.</para> + </sect3> + + <sect3> + <title>Бүсийн Файлууд</title> + <indexterm> + <primary>BIND</primary> + <secondary>бүсийн файлууд</secondary> + </indexterm> + + <para><hostid role="domainname">example.org</hostid> домэйны хувьд жишээ эзэн бүсийн файлыг +дор үзүүлэв (<filename>/etc/namedb/master/example.org</filename> файл):</para> + + <programlisting>$TTL 3600 ; 1 hour +example.org. IN SOA ns1.example.org. admin.example.org. ( + 2006051501 ; Serial + 10800 ; Refresh + 3600 ; Retry + 604800 ; Expire + 86400 ; Minimum TTL + ) + +; DNS Servers + IN NS ns1.example.org. + IN NS ns2.example.org. + +; MX Records + IN MX 10 mx.example.org. + IN MX 20 mail.example.org. + + IN A 192.168.1.1 + +; Machine Names +localhost IN A 127.0.0.1 +ns1 IN A 192.168.1.2 +ns2 IN A 192.168.1.3 +mx IN A 192.168.1.4 +mail IN A 192.168.1.5 + +; Aliases +www IN CNAME @</programlisting> + + <para><quote>.</quote> тэмдэгтээр төгссөн хост нэрүүд нь жинхэнэ хост нэрүүд бөгөөд +<quote>.</quote> тэмдэгтээр төгсөөгүй нэрүүдэд үүсэл залгагдахыг анхаарна уу. +Жишээлбэл, <literal>www</literal> нь <literal>www.<replaceable>үүсэл</replaceable></literal>-руу хөрвүүлэгдэх болно. +Манай жишээн дээр бол, бидний үүсэл <hostid>example.org.</hostid> тул <literal>www</literal> нь +<hostid>www.example.org.</hostid> болж хөрвүүлэгдэнэ.</para> + + <para> + Бүсийн файл дараах хэлбэртэй байна: + </para> + <programlisting>recordname IN recordtype value</programlisting> + + <indexterm> + <primary>DNS</primary> + <secondary>бичлэгүүд</secondary> + </indexterm> + <para> + Хамгийн өргөн хэрэглэгддэг DNS бичлэгүүд: + </para> + + <variablelist> + <varlistentry> + <term>SOA</term> + + <listitem><para>start of zone authority буюу бүсийн бүрэн эрхт мэдээллийн эхлэл</para></listitem> + </varlistentry> + + <varlistentry> + <term>NS</term> + + <listitem><para>бүрэн эрхт нэрийн сервер</para></listitem> + </varlistentry> + + <varlistentry> + <term>A</term> + + <listitem><para>хостын хаяг</para></listitem> + </varlistentry> + + <varlistentry> + <term>CNAME</term> + + <listitem><para>хуурамч дүрд өгөх хүлээн зөвшөөрөгдсөн нэр</para></listitem> + </varlistentry> + + <varlistentry> + <term>MX</term> + + <listitem><para>захидал солилцогч</para></listitem> + </varlistentry> + + <varlistentry> + <term>PTR</term> + + <listitem><para>домэйн нэрийг заагч (урвуу DNS-д хэрэглэнэ) + </para></listitem> + </varlistentry> + </variablelist> + + <programlisting> +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</programlisting> + + + + <variablelist> + <varlistentry> + <term><hostid role="domainname">example.org.</hostid></term> + + <listitem><para>домэйн нэр, мөн энэ бүсийн файлын хувьд үүсэл болно.</para></listitem> + </varlistentry> + + <varlistentry> + <term><hostid role="fqdn">ns1.example.org.</hostid></term> + + <listitem><para>энэ бүсийн гол/бүрэн эрхт нэрийн сервер.</para></listitem> + </varlistentry> + + <varlistentry> + <term><literal>admin.example.org.</literal></term> + + <listitem><para>энэ бүсийг хариуцагч хүн, <quote>@</quote> тэмдэгтийг нь орлуулсан +цахим захидлын хаяг. (<email>admin@example.org</email> нь <literal>admin.example.org</literal> болно)</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>2006051501</literal></term> + + <listitem><para>Файлын сериал дугаар. Бүсийн файлд өөрчлөлт оруулах болгонд +энэ дугаарыг нэмэгдүүлэх шаардлагатай. Одоо цагт ихэнх админууд энэ сериал дугаарыг +<literal>yyyymmddrr</literal> хэлбэрээр хэрэглэх болсон. <literal>2006051501</literal> гэдэг нь +хамгийн сүүлд 05/15/2006-нд засвар хийсэн, хамгийн сүүлийн <literal>01</literal> гэдэг нь +энэ өдөр хийгдсэн хамгийн анхны засвар гэдгийг илтгэнэ. Энэ сериал дугаар +нь зарц серверүүдэд бүсийн мэдээлэл өөрчлөгдсөн талаар мэдээлэл өгдөг тул их чухал зүйл +байгаа юм.</para> + </listitem> + </varlistentry> + </variablelist> + + <programlisting> + IN NS ns1.example.org.</programlisting> + + <para> + Энэ бол NS бичлэг. Тухайн бүсийн хувьд бүрэн эрхт хариултыг +өгч чадах сервер бүрийн хувьд энэ бичлэг байх ёстой.</para> + + <programlisting> +localhost IN A 127.0.0.1 +ns1 IN A 192.168.1.2 +ns2 IN A 192.168.1.3 +mx IN A 192.168.1.4 +mail IN A 192.168.1.5</programlisting> + + <para> + A бичлэг нь машины нэрийг заана. Дээр үзүүлсэнчлэн, +<hostid role="fqdn">ns1.example.org</hostid> нь <hostid role="ipaddr">192.168.1.2</hostid>-руу буулгагдана. + </para> + + <programlisting> + IN A 192.168.1.1</programlisting> + + <para>Энэ мөр нь <hostid role="ipaddr">192.168.1.1</hostid> гэсэн IP хаягийг +үүсэлд оноож байна, бидний жишээн дээр <hostid role="domainname">example.org</hostid>.</para> + + <programlisting> +www IN CNAME @</programlisting> + + <para> + Хүлээн зөвшөөрөгдсөн нэрийн бичлэг нь машинд хуурамч дүр +өгөхөд хэрэглэгдэнэ. Энэ жишээн дээр, <hostid>www</hostid> нь +<hostid role="domainname">example.org</hostid> (<hostid role="ipaddr">192.168.1.1</hostid>) гэсэн домэйн нэртэй +<quote>эзэн</quote> машины хуурамч дүрийн нэр юм. CNAME-г хуурамч хост нэр өгөхөд, +эсвэл олон машины дунд тойрч хэрэглэгдэх нэг хост нэр өгөхөд хэрэглэнэ.</para> + + <indexterm> + <primary>MX бичлэг</primary> + </indexterm> + + <programlisting> + IN MX 10 mail.example.org.</programlisting> + + <para> + MX бичлэг нь аль захидлын серверүүд тухайн бүсийн захидлыг +хүлээж авах үүрэгтэй болохыг зааж өгнө. <hostid role="fqdn">mail.example.org</hostid> +нь захидлын серверийн хост нэр бөгөөд 10 нь энэ захидлын серверийн +зэрэглэлийг зааж байна.</para> + + <para> + Нэг бүсэд 10, 20 гэх мэт ялгаатай зэрэглэлтэй +хэд хэдэн захидлын сервер байж болно. <hostid role="domainname">example.org</hostid> +домэйн руу захидал явуулах гэж байгаа сервер эхлээд +хамгийн өндөр зэрэглэлтэй MX сервертэй (хамгийн бага зэрэглэлийн дугаартай), дараа нь дараагийн хамгийн өндөр зэрэглэлтэй +сервертэй гэх мэтчилэн захидлыг явуулж чадтал дарааллаар нь холбоо тогтооно.</para> + + <para> + in-addr.arpa бүсийн файл (урвуу DNS) нь ижил хэлбэртэй байна. Ганцхан ялгаа нь +A болон CNAME бичлэгийн оронд PTR бичлэгийг хэрэглэнэ. + </para> + + <programlisting>$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 + + IN NS ns1.example.org. + IN NS ns2.example.org. + +1 IN PTR example.org. +2 IN PTR ns1.example.org. +3 IN PTR ns2.example.org. +4 IN PTR mx.example.org. +5 IN PTR mail.example.org.</programlisting> + + <para>Энэ файлд, жишээ домэйны IP-с хост нэррүү буулгасан +зохих шаардлагатай буулгалтуудыг үзүүлсэн байна.</para> + </sect3> + </sect2> + + <sect2> + <title>Түр тогтоогч Нэрийн Сервер (Caching Name Server)</title> + <indexterm> + <primary>BIND</primary> + <secondary>түр тогтоогч нэрийн сервер</secondary> + </indexterm> + + <para>Түр тогтоогч нэрийн сервер гэдэг нь +ямар ч бүсийн хувьд бүрэн эрхт биш нэрийн серверийг хэлнэ. +Ийм төрлийн сервер нь зөвхөн асуулга явуулах бөгөөд +хариултыг дараа хэрэглэхээр тогтоож авдаг. Ийм нэрийн серверийг +зохион байгуулахын тулд, тохиргоог ердийн нэрийн сервертэй адилаар +хийх боловч, ямар ч бүсийн мэдээллийг оруулахгүй байхаар хийнэ.</para> + </sect2> + + <sect2> + <title>Аюулгүй байдал</title> + + <para>Хэдийгээр BIND нь хамгийн өргөн хэрэглэгддэг DNS сервер боловч, +аюулгүй байдалтай холбоотой асуудлууд байнга тулгардаг. +Гадны халдлагад өртөж болзошгүй аюулгүй байдлын цоорхой заримдаа +олддог.</para> + + <para>Хэдийгээр &os; <application>named</application>-г автоматаар &man.chroot.8; орчинд +оруулдаг боловч; <acronym>DNS</acronym> халдлагад ашиглаж болохуйц +хэд хэдэн механизмууд байсаар байна.</para> + + <para><ulink url="http://www.cert.org/">CERT</ulink>-с гаргадаг аюулгүй байдлын +санамжуудыг уншихыг зөвлөж байна. Мөн &a.security-notifications;-д бүртгүүлж, +шинээр гарч байгаа Интернет болон &os;-н аюулгүй байдлын асуудлуудын +талаар мэдээлэлтэй байхыг зөвлөе.</para> + + <tip> + <para>Хэрэв ямар нэгэн асуудал тулгарвал, +эхийг байнга шинэчилж, <application>named</application>-г шинээр бүтээх нь алдаа болохгүй.</para> + </tip> + </sect2> + + <sect2> + <title>Гүнзгийрүүлэн унших</title> + + <para>BIND/<application>named</application> заавар хуудсууд: + &man.rndc.8; &man.named.8; &man.named.conf.5;</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.isc.org/products/BIND/">ISC BIND-н Албан ёсны Хуудас</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="http://www.isc.org/sw/guild/bf/">ISC BIND-н Албан ёсны Хэлэлцүүлэг</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="http://www.nominum.com/getOpenSourceResource.php?id=6"> + BIND FAQ</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.oreilly.com/catalog/dns5/">O'Reilly + "DNS ба BIND" 5 дахь Хэвлэлт</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="ftp://ftp.isi.edu/in-notes/rfc1034.txt">RFC1034 + - Домэйн Нэрүүд - Зарчмууд болон Боломжууд</ulink></para> + </listitem> + + <listitem> + <para><ulink + url="ftp://ftp.isi.edu/in-notes/rfc1035.txt">RFC1035 + - Домэйн Нэрүүд - Хэрэгжүүлэлт болон Үзүүлэлтүүд</ulink></para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="network-apache"> + <sect1info> + <authorgroup> + <author> + <firstname>Муррей</firstname> + <surname>Стокли</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Apache HTTP Сервер</title> + + <indexterm><primary>веб серверүүд</primary> + <secondary>зохион байгуулах</secondary></indexterm> + <indexterm><primary>Apache</primary></indexterm> + + <sect2> + <title>Удиртгал</title> + + <para>Дэлхийн хамгийн их ачаалалтай ажилладаг +зарим веб сайтууд &os; дээр ажилладаг. Интернетэд ажиллаж байгаа +веб серверүүдийн олонхи нь <application>Apache HTTP Сервер</application>ийг ашиглаж +байна. <application>Apache</application> софтвер багц таны FreeBSD суулгах дискэнд +орсон байгаа. Хэрэв та &os;-г анх суулгахдаа <application>Apache</application>-г хамт +суулгаагүй бол <filename role="package">www/apache13</filename> эсвэл <filename role="package">www/apache20</filename> +портоос суулгаж болно.</para> + + <para><application>Apache</application> нэгэнт амжилттай суусан бол түүнийг тохируулах +шаардлагатай.</para> + + <note><para><application>Apache HTTP Server</application>-н 1.3.X хувилбар нь +&os;-д хамгийн өргөн хэрэглэгддэг тул бид энэ хэсэгт энэ хувилбарыг үзэх болно. +<application>Apache</application> 2.X-д олон шинэ технологи нэвтэрсэн боловч +бид энэ талаар энд үзэхгүй. <application>Apache</application> 2.X-н талаар +дэлгэрэнгүй мэдээллийг <ulink url="http://httpd.apache.org/"></ulink> хаягаар орж үзнэ үү.</para></note> + + </sect2> + + <sect2> + <title>Тохиргоо</title> + + <indexterm><primary>Apache</primary> + <secondary>тохиргооны файл</secondary></indexterm> + + <para>&os; дээрх <application>Apache HTTP Сервер</application>ийн гол тохиргооны файл +бол <filename>/usr/local/etc/apache/httpd.conf</filename> юм. Энэ файлд, +&unix;-н текст тохиргооны файлын нэгэн адил тайлбар мөрүүдийн өмнө +<literal>#</literal> тэмдэгтийг хэрэглэдэг. Бүх боломжит тохируулгуудын +талаар дэлгэрүүлж тайлбарлах нь энэ номын хүрээнээс халих тул, +хамгийн их өөрчлөлт хийгддэг директивүүдийг энд авч үзье.</para> + + <variablelist> + <varlistentry> + <term><literal>ServerRoot "/usr/local"</literal></term> + + <listitem> + <para>Энэ директив <application>Apache</application> суулгацын +анхдагч директор шатлалын эхийг зааж өгнө. Хоёртын файлууд +серверийн эх директорын +<filename class="directory">bin</filename> ба <filename class="directory">sbin</filename> дэд директоруудад, +тохиргооны файлууд <filename class="directory">etc/apache</filename> дэд директорт байрлана.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ServerAdmin you@your.address</literal></term> + + <listitem> + <para>Сервертэй холбоотой асуудлуудын талаар +илгээх цахим захидлын хаягыг заана. Энэ хаяг алдааны хуудсууд гэх зэрэг +сервер талаас автоматаар үүсгэгддэг зарим хуудсууд дээр +бичигдэх болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ServerName www.example.com</literal></term> + + <listitem> + <para><literal>ServerName</literal> нь хост дээр тохируулагдсан хост нэрээс +өөр нэрийг сервертээ өгөх боломжийг танд олгоно (өөрөөр хэлбэл, хостын жинхэнэ +хост нэрийн оронд <hostid>www</hostid>-г хэрэглэх). Энэ нэрээр таны сервер харилцагч +нартай харилцах болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>DocumentRoot "/usr/local/www/data"</literal></term> + + <listitem> + <para><literal>DocumentRoot</literal>: Энэ директорт байгаа веб баримтуудыг +харилцагч нарт үзүүлэх болно. Анхдагч байдлаар, бүх хүсэлтүүд энэ +директорт өгөгдөнө. Гэвч симбол холбоосууд болон хуурамч дүрүүдийг +ашиглан өөр газар руу зааж өгч болно.</para> + </listitem> + </varlistentry> + </variablelist> + + <para><application>Apache</application>-н тохиргооны файлд ямар нэг +өөрчлөлт хийхээсээ өмнө нөөц хуулбарыг авч үлдэхээ мартуузай. +Тохиргоо хийж дууссан бол одоо <application>Apache</application>-г ажиллуулах +хэрэгтэй.</para> + +<!-- sect3 for performance tuning directives? maxservers minservers --> +<!-- etc..?? --> + +<!-- Advanced configuration section. + +Performance tuning directives. + +Log file format --> + + </sect2> + + <sect2> + <title><application>Apache</application>-г ажиллуулах нь</title> + + <indexterm><primary>Apache</primary> + <secondary>эхлүүлэх ба зогсоох</secondary></indexterm> + + <para>Бусад олон сүлжээний орчны серверүүд +<application>inetd</application> супер серверээс ажилладаг бол, +<application>Apache</application> тэгдэггүй. Харилцагч веб хөтөчүүдээс +ирэх HTTP хүсэлтүүдэд хариулахдаа илүү өндөр үзүүлэлттэй ажиллуулахын тулд +түүнийг бие даан ажилладаг байхаар тохируулсан байдаг. +Эхлүүлэх, зогсоох болон дахин эхлүүлэх зэрэг үйлдлийг +аль болох хялбар болгохын тулд бүрхүүлийн скрипт хялбаршуулагч +хамт ирдэг. <application>Apache</application>-г анх удаа эхлүүлэхийн тулд, дараах +тушаалыг өгнө:</para> + + <screen>&prompt.root; <userinput>/usr/local/sbin/apachectl start</userinput></screen> + + <para>Хүссэн үедээ серверийг дараах тушаалаар зогсооно:</para> + + <screen>&prompt.root; <userinput>/usr/local/sbin/apachectl stop</userinput></screen> + + <para>Тохиргооны файлд өөрчлөлт оруулсны дараа, +серверийг дахин эхлүүлэх шаардлагатай:</para> + + <screen>&prompt.root; <userinput>/usr/local/sbin/apachectl restart</userinput></screen> + + <para>Тогтсон холболтуудыг таслалгүйгээр <application>Apache</application>-г +дахин эхлүүлэхийн тулд дараах тушаалыг өгнө:</para> + + <screen>&prompt.root; <userinput>/usr/local/sbin/apachectl graceful</userinput></screen> + + <para>Нэмэлт мэдээллийг &man.apachectl.8; заавар хуудаснаас авна уу.</para> + + <para>Систем ачаалах үед <application>Apache</application>-г эхлүүлэхийн тулд +дараах мөрүүдийг <filename>/etc/rc.conf</filename> файлд нэмж бичнэ:</para> + + <programlisting>apache_enable="YES"</programlisting> + + <para>Хэрэв систем ачаалах үед эхэлдэг <application>Apache</application> +<command>httpd</command> програмд нэмэлт тушаалын мөрний тохируулгуудыг +оруулах хүсэлтэй бол, дараах мөрийг мөн <filename>rc.conf</filename> файлд +нэмэх хэрэгтэй:</para> + + <programlisting>apache_flags=""</programlisting> + + <para>Одоо таны веб сервер ажиллаж байна. +Та өөрийн веб сайтыг веб хөтөч дээрээ <literal>http://localhost/</literal> +хаягийг оруулан харж болно. Энд гарах анхдагч веб хуудас бол +<filename>/usr/local/www/data/index.html</filename> юм.</para> + + </sect2> + + <sect2> + <title>Давхар байршуулалт</title> + + <para><application>Apache</application> нь хоёр төрлийн давхар +байршуулах үйлчилгээг дэмждэг. Эхнийх нь +нэр дээр үндэслэсэн давхар байршуулалт юм. +Нэр дээр үндэслэсэн давхар байршуулалт дээр +хост нэрийг ялгаж мэдэхдээ харилцагчийн HTTP/1.1 толгойн хэсгийг ашигладаг. +Иим байдлаар олон өөр домэйнууд нэг IP хаягийг хуваан хэрэглэх +боломжтой болдог.</para> + + <para><application>Apache</application> дээр, нэр дээр үндэслэсэн +давхар байршуулалтыг хэрэглэхийн тулд +дараахтай төстэй бүртгэлийг <filename>httpd.conf</filename> +файл дотор нэмж бичих хэрэгтэй:</para> + + <programlisting>NameVirtualHost *</programlisting> + + <para>Таны веб серверийн нэр <hostid role="fqdn">www.domain.tld</hostid> +бөгөөд <hostid role="fqdn">www.someotherdomain.tld</hostid> нэртэй домэйныг +давхар байршуулах хүсэлтэй бол, та дараах бүртгэлийг +<filename>httpd.conf</filename> файлд нэмэх хэрэгтэй болно:</para> + + <screen><VirtualHost *> +ServerName www.domain.tld +DocumentRoot /www/domain.tld +</VirtualHost> + +<VirtualHost *> +ServerName www.someotherdomain.tld +DocumentRoot /www/someotherdomain.tld +</VirtualHost></screen> + + <para>Дээрх хаягуудын оронд хэрэгтэй хаягуудыг, замуудын оронд +баримтууд байгаа зохих замуудыг сольж бичнэ үү.</para> + + <para>Давхар хостуудыг зохион байгуулах талаар +дэлгэрэнгүй мэдээллийг <application>Apache</application>-н албан ёсны баримтжуулалт: +<ulink url="http://httpd.apache.org/docs/vhosts/"></ulink>-с олж үзнэ үү.</para> + + </sect2> + + <sect2> + <title>Apache Модулиуд</title> + + <indexterm><primary>Apache</primary> + <secondary>модулиуд</secondary></indexterm> + + <para>Үндсэн серверийн үүрэг функцийг сайжруулахын +тулд бүтээгдсэн <application>Apache</application>-н олон модулиуд байдаг. +FreeBSD Портуудын Цуглуулга нь <application>Apache</application>-г түүний +өргөн хэрэглэгддэг зарим модулиудын хамт хялбар суулгах +боломжийг олгодог.</para> + + <sect3> + <title>mod_ssl</title> + + <indexterm><primary>веб серверүүд</primary> + <secondary>аюулгүй</secondary></indexterm> + <indexterm><primary>SSL</primary></indexterm> + <indexterm><primary>криптограф</primary></indexterm> + + <para><application>mod_ssl</application> модуль нь Secure Sockets Layer (SSL v2/v3) ба +Transport Layer Security (TLS v1) протоколоор дамжуулан өндөр +нууцлалыг хангахын тулд OpenSSL санг ашигладаг. +Энэ модуль нь батламж олгодог итгэмжлэгдсэн байгууллагаас +батламж авахын тулд шаардлагатай бүх зүйлсээр хангадаг тул +та үүнийг ашиглан &os; дээр аюулгүй веб сервер ажиллуулж чадна.</para> + + <para>Хэрэв та <application>Apache</application>-г суулгаж амжаагүй бол, +<application>mod_ssl</application> модулийг агуулдаг +<application>Apache</application>-н 1.3.X хувилбарыг <filename role="package">www/apache13-modssl</filename> +портоос суулгаж болох юм. +<application>Apache</application> 2.X-н хувьд SSL дэмжлэгийг <filename role="package">www/apache20</filename> +портоос авч болно. SSL дэмжлэг автоматаар идэвхжсэн байдаг.</para> + +<!-- XXX add more information about configuring mod_ssl here. --> +<!-- Generating keys, getting the key signed, setting up your secure --> +<!-- web server! --> + </sect3> + + <sect3> + <title>Perl & PHP орсон Динамик Вебсайтууд</title> + <para>Сүүлийн жилүүдэд, өөрийн ашиг орлогыг нэмэгдүүлэх, +хүмүүст хүрэх зорилгоор илүү олон компанууд +бизнесээ Интернетээр явуулах болжээ. Энэ нь +динамик агуулгатай веб хуудсууд төрөн гарах +хэрэгцээ шаардлагыг улам нэмэгдүүлсэн. µsoft; гэх мэт зарим компаниуд +ч өөрийн бүтээгдэхүүнүүдэд тэдгээрээс оруулах болсон хэдий ч, +нээлттэй эхийн нэгдэл энэ асуудалд хариу өгсөн юм. Динамик веб агуулгыг +бий болгох хоёр боломж бол <application>mod_perl</application> & + <application>mod_php</application> байлаа.</para> + + <sect4> + <title>mod_perl</title> + + <indexterm> + <primary>mod_perl</primary> + <secondary>Perl</secondary> + </indexterm> + + <para><application>Apache</application>/Perl нэгтгэх төсөл +Perl програмчлалын хэл ба <application>Apache HTTP Сервер</application>ийн +бүх хүч чадлыг нэгтгэсэн юм. <application>mod_perl</application> модулийн +тусламжтай <application>Apache</application> модулиудыг тэр чигээр нь +Perl дээр бичих боломжтой. Дээр нь, серверт суулгасан +шургуу хөрвүүлэгч, гадны хөрвүүлэгч ашиглах илүү ажил болон +Perl эхлүүлэх хугацааны алдагдлаас зайлсхийж чадсан юм.</para> + + <para><application>mod_perl</application>-г хэд хэдэн янзаар хэрэглэж болно. +<application>mod_perl</application>-г хэрэглэж эхлэхээс өмнө +<application>mod_perl</application> 1.0 зөвхөн <application>Apache</application> 1.3-тай ажилладаг, +<application>mod_perl</application> 2.0 зөвхөн <application>Apache</application> 2-той ажилладаг гэдгийг +санаарай. <application>mod_perl</application> 1.0-г <filename role="package">www/mod_perl</filename> портоос, +түүний статикаар эмхэтгэсэн хувилбарыг <filename role="package">www/apache13-modperl</filename> +портоос суулгаж болно. <application>mod_perl</application> 2.0-г +<filename role="package">www/mod_perl2</filename> портоос суулгаж болно.</para> + </sect4> + + <sect4> + <sect4info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Родес</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect4info> + <title>mod_php</title> + + <indexterm> + <primary>mod_php</primary> + <secondary>PHP</secondary> + </indexterm> + + <para><acronym>PHP</acronym> буюу <quote>PHP:Hypertext Preprocessor</quote> бол +веб хөгжүүлэлтэд тусгайлан тохируулсан, энгийн хэрэглээний +скрипт хэл юм. <acronym>HTML</acronym> дотор суулгах боломжтой түүний +синтакс C, &java;, ба Perl-с гаралтай. Энэ нь веб хөгжүүлэгчдэд +динамикаар үүсгэгдэх веб хуудсыг хурдан бичих боломжтой болгох +үүднээс тэгсэн хэрэг.</para> + + <para><application>Apache</application> веб серверийг +<acronym>PHP</acronym>5-г дэмждэг болгохын тулд, <filename role="package">lang/php5</filename> +портыг суулгаж эхлэх хэрэгтэй.</para> + + <para>Хэрэв <filename role="package">lang/php5</filename> портыг +анх удаа суулгаж байгаа бол, боломжит +<literal>ТОХИРУУЛГУУД</literal> автоматаар дэлгэцэн дээр гарч ирнэ. +Хэрэв цэс гарч ирэхгүй бол, өөрөөр хэлбэл +<filename role="package">lang/php5</filename> портыг өмнө нь хэзээ нэгэн цагт +суулгаж байсан бол, тохируулгуудын харилцах цонхыг гаргаж ирэхийн тулд +дараах тушаалыг:</para> + + <screen>&prompt.root; <userinput>make config</userinput></screen> + + <para>порт директор дотор өгөх хэрэгтэй.</para> + + <para>Тохируулгуудын харилцах цонхонд, +<application>mod_php5</application>-г <application>Apache</application>-н +ачаалах боломжтой модуль байдлаар бүтээхийн тулд +<literal>APACHE</literal> тохируулгыг идэвхжүүлнэ.</para> + + <note> + <para>Олон сайтууд <acronym>PHP</acronym>4-г янз бүрийн шалтгааны улмаас +(өөрөөр хэлбэл, нийцтэй байдал эсвэл аль хэдийн үйлчилгээнд гаргачихсан +веб програмууд) ашигласаар байна. Хэрэв +<application>mod_php4</application>-г <application>mod_php5</application>-н оронд ашиглах +шаардлагатай бол, <filename role="package">lang/php4</filename> портыг ашиглаарай. +<filename role="package">lang/php4</filename> порт нь <filename role="package">lang/php5</filename> портод +байдаг тохиргооны болон бүтээх үеийн олон тохируулгуудыг дэмждэг.</para> + </note> + + <para>Энэ хэсэг код динамик <acronym>PHP</acronym> програмыг дэмждэг болгоход +шаардлагатай модулиудыг суулгаж тохируулах болно. Доорх мөрүүд +<filename>/usr/local/etc/apache/httpd.conf</filename> файл дотор нэмэгдсэн эсэхийг шалгаарай:</para> + + <programlisting>LoadModule php5_module libexec/apache/libphp5.so</programlisting> + + <programlisting>AddModule mod_php5.c + <IfModule mod_php5.c> + DirectoryIndex index.php index.html + </IfModule> + <IfModule mod_php5.c> + AddType application/x-httpd-php .php + AddType application/x-httpd-php-source .phps + </IfModule></programlisting> + + <para>Үүний дараа, <acronym>PHP</acronym> модулийг ачаалахын тулд, +дараах тушаалыг өгч серверийг дахин ачаалах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>apachectl graceful</userinput></screen> + + <para>Дараа, <acronym>PHP</acronym>-н хувилбарыг дээшлүүлэх үедээ, +<command>make config</command> тушаалыг өгөх шаардлагагүй; +идэвхжүүлсэн <literal>ТОХИРУУЛГУУД</literal> &os; Портуудын +тогтолцоонд автоматаар хадгалагдсан байгаа.</para> + + <para>&os;-н <acronym>PHP</acronym> дэмжлэг нь дээд зэргээр +модульчлагдсан тул үндсэн суулгац нь маш хязгаарлагдмал +байдаг. <filename role="package">lang/php5-extensions</filename> портыг ашиглан дэмжлэг +нэмэх нь үнэхээр амархан асуудал. <acronym>PHP</acronym> өргөтгөлийг суулгах явцад, +энэ порт танд цэсээс тогтсон интерфэйсийг санал болгоно. Өөрөөр, +өргөтгөлүүдийг нэг нэгээр нь харгалзах портуудаас суулгаж болно.</para> + + <para>Жишээлбэл, <acronym>PHP</acronym>5-д <application>MySQL</application> өгөгдлийн +сангийн серверийн дэмжлэгийг нэмэхийн тулд, +<filename role="package">databases/php5-mysql</filename> портыг суулгахад хангалттай.</para> + + <para>Ямар нэг өргөтгөл суулгасны дараа, +тохиргооны өөрчлөлтийг хүчин төгөлдөр болгохын тулд <application>Apache</application> +серверийг дахин ачаалах шаардлагатайг анхаарна уу:</para> + + <screen>&prompt.root; <userinput>apachectl graceful</userinput></screen> + </sect4> + </sect3> + </sect2> + </sect1> + + <sect1 id="network-ftp"> + <sect1info> + <authorgroup> + <author> + <firstname>Муррей</firstname> + <surname>Стокли</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>Файл Дамжуулах Протокол (FTP)</title> + + <indexterm><primary>FTP серверүүд</primary></indexterm> + + <sect2> + <title>Удиртгал</title> + + <para>File Transfer Protocol буюу Файл Дамжуулах Протокол (FTP) нь хэрэглэгчдэд +<acronym role="File Transfer Protocol">FTP</acronym> серверээс файлыг авах болон тавих хялбар +замыг бий болгодог. &os; үндсэн систем дотроо <acronym role="File Transfer Protocol">FTP</acronym> +сервер програм <application>ftpd</application>-г агуулж байдаг. Энэ нь FreeBSD дээр +<acronym role="File Transfer Protocol">FTP</acronym> серверийг босгох, удирдах ажлыг төвөггүй болгодог.</para> + </sect2> + + <sect2> + <title>Тохиргоо</title> + + <para>Тохиргоо хийхийн өмнөх хамгийн чухал алхам бол +ямар дансууд FTP серверт хандах эрхтэй байх вэ гэдгийг шийдэх байдаг. +Ердийн FreeBSD систем нь янз бүрийн демонуудад хэрэглэгддэг +олон тооны системийн дансуудтай байдаг ба гадны хэрэглэгчид +эдгээр дансыг ашиглан нэвтрэх ёсгүй. <filename>/etc/ftpusers</filename> файл дотор +FTP хандалт зөвшөөрөгдөөгүй хэрэглэгчдийн жагсаалтыг хадгална. +Анхдагч байдлаар, дээр дурдсан системийн дансууд энэ файлд байна. +FTP хандалтыг зөвшөөрөх ёсгүй өөр хэрэглэгчдийг ч мөн энэ файлд +нэмж болно.</para> + + <para>Зарим хэрэглэгчдийн FTP хэрэглэхийг нь бүр болиулчихалгүйгээр, +зөвхөн зарим нэг эрхийг нь хязгаарлаж бас болно. Үүнийг +<filename>/etc/ftpchroot</filename> файлын тусламжтай гүйцэтгэж болно. +Энэ файл дотор FTP хандалтыг нь хязгаарлах хэрэглэгчид болон +бүлгүүдийн жагсаалт байна. &man.ftpchroot.5; заавар хуудсанд +бүх мэдээлэл байгаа тул энд дурдсангүй.</para> + + <indexterm> + <primary>FTP</primary> + <secondary>нийтийн</secondary> + </indexterm> + + <para>Хэрэв сервертээ нийтийн FTP хандалтыг зөвшөөрөх хүсэлтэй байгаа бол, +&os; систем дээрээ <username>ftp</username> нэртэй хэрэглэгч нэмэх хэрэгтэй. +Ингэснээр хэрэглэгчид таны FTP сервер рүү <username>ftp</username> эсвэл +<username>anonymous</username> гэсэн нэрээр ямар ч нэвтрэх үг шаардагдахгүйгээр +(тогтсон заншил ёсоор хэрэглэгч цахим шуудангийн хаягаа +нэвтрэх үгийн оронд хэрэглэх шаардлагатай) нэвтрэн орох болно. +Нийтийн хэрэглэгч системд орж ирэхэд FTP сервер түүний эрхийг +зөвхөн <username>ftp</username> хэрэглэгчийн гэрийн сан дотор +хязгаарлахын тулд &man.chroot.2;-г дуудна.</para> + + <para>FTP харилцагчдад зориулсан мэндчилгээний үгнүүдийг +агуулсан хоёр текст файл байдаг. <filename>/etc/ftpwelcome</filename> файл +доторхийг нэвтрэлт хүлээх мөр гарахаас өмнө хэрэглэгчдэд дэлгэцэн дээр +хэвлэнэ. Амжилттай нэвтэрч орсны дараа <filename>/etc/ftpmotd</filename> файл +доторхийг дэлгэцэн дээр хэвлэнэ. Энэ файлын зам нь +нэвтэрч орсон орчинтой харьцангуйгаар авсан зам гэдгийг +анхаарна уу, тиймээс нийтийн хэрэглэгчдийн хувьд +<filename>~ftp/etc/ftpmotd</filename> файлыг хэвлэх болно.</para> + + <para>FTP серверийн тохиргоог зохих ёсоор хийсний дараа, +<filename>/etc/inetd.conf</filename> файл дотор идэвхжүүлэх хэрэгтэй. +Үүний тулд, <application>ftpd</application> гэсэн мөрний өмнөх <quote>#</quote> +тэмдэгтийг арилгахад хангалттай:</para> + + <programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting> + + <para><xref linkend="network-inetd-reread"> хэсэгт тайлбарласан ёсоор +энэ тохиргооны файлд өөрчлөлт оруулсны дараа +<application>inetd</application>-г дахин ачаалах шаардлагатай.</para> + + <para>Одоо та дараах тушаалыг өгөн FTP сервер рүү нэвтрэн орж болно:</para> + + <screen>&prompt.user; <userinput>ftp localhost</userinput></screen> + + </sect2> + + <sect2> + <title>Арчилгаа</title> + + <indexterm><primary>syslog</primary></indexterm> + <indexterm><primary>бүртгэлийн файлууд</primary> + <secondary>FTP</secondary></indexterm> + + <para><application>ftpd</application> демон бүртгэл хөтлөхдөө &man.syslog.3;-г ашигладаг. +Анхдагч байдлаар, системийн бүртгэлийн демон FTP-тэй холбоотой +зурвасуудыг <filename>/var/log/xferlog</filename> файлд бичнэ. FTP бүртгэлийн файлын +байршлийг өөрчлөхийн тулд <filename>/etc/syslog.conf</filename> файл дотор, дараах +мөрийг засах хэрэгтэй:</para> + + <programlisting>ftp.info /var/log/xferlog</programlisting> + + <indexterm> + <primary>FTP</primary> + <secondary>нийтийн</secondary> + </indexterm> + + <para>Нийтийн FTP сервер ажиллуулахад тохиолдох +болзошгүй асуудлуудын талаар мэдлэгтэй байгаарай. +Ялангуяа, нийтийн хэрэглэгчдэд файл байршуулахыг +зөвшөөрөх тухайд сайн бодох хэрэгтэй. Таны FTP сайт +лицензгүй програм хангамжуудыг наймаалцдаг талбар болох, эсвэл түүнээс ч +муу зүйл тохиолдохыг үгүйсгэхгүй. Хэрэв нийтийн FTP байршуулалтыг +зөвшөөрөх шаардлагатай бол, файлуудыг нягталж үзэхээс нааш +бусад нийтийн хэрэглэгчид тэдгээр файлыг унших эрхгүй байхаар +тохируулж өгөх хэрэгтэй.</para> + + </sect2> + </sect1> + + <sect1 id="network-samba"> + <sect1info> + <authorgroup> + <author> + <firstname>Муррэй</firstname> + <surname>Стокли</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>µsoft.windows; харилцагчдад зориулсан Файл болон Хэвлэх Үйлчилгээ (Samba)</title> + + <indexterm><primary>Samba сервер</primary></indexterm> + <indexterm><primary>Microsoft Windows</primary></indexterm> + <indexterm> + <primary>файл сервер</primary> + <secondary>Windows харилцагчид</secondary> + </indexterm> + <indexterm> + <primary>хэвлэх сервер</primary> + <secondary>Windows харилцагчид</secondary> + </indexterm> + + <sect2> + <title>Ерөнхий Агуулга</title> + + <para><application>Samba</application> бол µsoft.windows; харилцагчдад +файл болон хэвлэх үйлчилгээг үзүүлдэг, өргөн хэрэглэгддэг +нээлттэй эхийн програм хангамжийн багц юм. Ийм төрлийн харилцагчид +FreeBSD файлын орчинд холбогдож, файлуудыг өөрийн дискэн дээр байгаа юм шиг, +эсвэл FreeBSD хэвлэгчийг өөрийн дотоод хэвлэгч шиг хэрэглэх боломжтой болдог.</para> + + <para><application>Samba</application> програм хангамжийн багцууд таны FreeBSD суулгах +дискэнд орсон байгаа. Хэрэв та анх FreeBSD суулгахдаа +<application>Samba</application>-г хамт суулгаагүй бол, <filename role="package">net/samba3</filename> +порт эсвэл багцаас суулгаж болно.</para> + +<!-- mention LDAP, Active Directory, WinBIND, ACL, Quotas, PAM, .. --> + + </sect2> + + <sect2> + <title>Тохиргоо</title> + + <para><application>Samba</application>-н анхдагч тохиргооны файл бол +<filename>/usr/local/etc/smb.conf.default</filename> юм. Энэ файлыг <filename>/usr/local/etc/smb.conf</filename> +нэртэй хуулаад, <application>Samba</application>-г ашиглаж +эхлэхээсээ өмнө өөртөө тааруулан засварлах ёстой.</para> + + <para><filename>smb.conf</filename> файл нь &windows; харилцагчтай хуваалцах +хүсэлтэй <quote>файл системийн хэсэг</quote> ба хэвлэгчийн тодорхойлолт гэх зэрэг +<application>Samba</application>-н ажиллах үеийн тохиргооны мэдээллийг агуулж байдаг. +<application>Samba</application> багц дотор <filename>smb.conf</filename> файл дээр ажиллах хялбар +арга замыг хангасан <application>swat</application> нэртэй веб дээр суурилсан +хэрэгсэл хамт ирдэг.</para> + + <sect3> + <title>Samba-г Вебээр Удирдах Хэрэгсэл (SWAT)</title> + + <para>Samba Web Administration Tool буюу Samba-г Вебээр Удирдах Хэрэгсэл (SWAT) +нь <application>inetd</application>-н демон хэлбэрээр ажиллана. +Тиймээс, <application>Samba</application>-г <application>swat</application> +ашиглан тохируулахын өмнө <filename>/etc/inetd.conf</filename> доторх +дараах мөрийг ил гаргах шаардлагатай:</para> + + <programlisting>swat stream tcp nowait/400 root /usr/local/sbin/swat</programlisting> + <para><xref linkend="network-inetd-reread"> хэсэгт тайлбарласан ёсоор, +энэ тохиргооны файлд өөрчлөлт оруулсны дараа +<application>inetd</application>-г дахин ачаалах шаардлагатай.</para> + + <para><application>swat</application>-г <filename>inetd.conf</filename> дотор идэвхжүүлсний +дараа, веб хөтөч ашиглан <ulink url="http://localhost:901"></ulink> хаяганд холбогдоно. +Та эхлээд системийн <username>root</username> дансаар нэвтэрч орох ёстой.</para> + +<!-- XXX screenshots go here, loader is creating them --> + + <para><application>Samba</application>-н тохиргооны үндсэн хуудсанд +амжилттай нэвтэрч орсон бол, системийн баримтуудаар аялах, +эсвэл <guimenu>Globals</guimenu> цэсэн дээр дарж тохиргоог хийх боломжтой болно. +<guimenu>Globals</guimenu> хэсэг <filename>/usr/local/etc/smb.conf</filename> файлын +<literal>[global]</literal> хэсэгт байгаа хувьсагчдад харгалзана.</para> + </sect3> + + <sect3> + <title>Глобал тохиргоо</title> + + <para><application>swat</application>-г хэрэглэж байгаа эсвэл +<filename>/usr/local/etc/smb.conf</filename>-г гараараа засаж байгаа аль нь ч бай, +<application>Samba</application>-г тохируулах явцад тааралдах хамгийн эхний +директивууд бол:</para> + + <variablelist> + <varlistentry> + <term><literal>workgroup</literal></term> + + <listitem> + <para>Энэ нь сервер рүү хандах компьютеруудын NT Домэйн-Нэр эсвэл +Ажлын бүлгийн-Нэр.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>netbios name</literal></term> + <indexterm><primary>NetBIOS</primary></indexterm> + + <listitem> + <para>Энэ директив <application>Samba</application> серверийн NetBIOS нэрийг заана. +Анхдагч байдлаар, хостын DNS нэрийн эхний хэсэгтэй адил байна.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>серверийн мөр</literal></term> + + <listitem> + <para>Энэ директив <command>net view</command> тушаалын хариуд +гарч ирэх эсвэл зарим сүлжээний хэрэгслүүд дээр энэ серверийг +төлөөлж гарах мөрийг заана.</para> + </listitem> + </varlistentry> + </variablelist> + </sect3> + + <sect3> + <title>Аюулгүй байдлын Тохиргоо</title> + + <para><filename>/usr/local/etc/smb.conf</filename> доторх +хамгийн чухал хоёр тохиргоо бол аюулгүй байдлын загвар, +болон харилцагчдын нэвтрэх үгийн арын шугамны хэлбэр юм. +Дараах директивүүд эдгээр тохируулгуудыг хянана:</para> + + <variablelist> + <varlistentry> + <term><literal>security</literal></term> + + <listitem> + <para>Энд хамгийн элбэг хэрэглэгддэг хоёр сонголт бол +<literal>security = share</literal> ба <literal>security = user</literal> юм. Хэрэв танай харилцагч нар +&os; машин дээр хэрэглэдэг хэрэглэгчийн нэртэй ижил нэрийг ашигладаг бол, +user түвшний аюулгүй байдлыг сонгохыг хүсэж байж магадгүй. Энэ бол +аюулгүй байдлын анхдагч бодлого бөгөөд эх үүсвэрт хандахаас өмнө харилцагчийг +системд нэвтэрч орохыг шаардана.</para> + + <para>share түвшний аюулгүй байдалд, харилцагчид эх үүсвэрт хандахаас өмнө +хүчин төгөлдөр хэрэглэгчийн нэр болон нэвтрэх үгээр сервер рүү нэвтрэн орох +шаардлагагүй байдаг. Энэ бол <application>Samba</application>-н хуучин хувилбаруудын хувьд +аюулгүй байдлын анхдагч загвар байсан.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>passdb backend</literal></term> + + <indexterm><primary>NIS+</primary></indexterm> + <indexterm><primary>LDAP</primary></indexterm> + <indexterm><primary>SQL өгөгдлийн сан</primary></indexterm> + + <listitem> + <para><application>Samba</application>-д хэд хэдэн төрлийн +арын шугамны магадлах загварууд байдаг. Харилцагчдыг +LDAP, NIS+, SQL өгөгдлийн сан, эсвэл хувиргасан нэвтрэх үгийн файлаар +магадлаж болно. Анхдагч магадлах арга бол <literal>smbpasswd</literal> бөгөөд +бид зөвхөн энэ талаар авч үзэх болно.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Анхдагч <literal>smbpasswd</literal> арын шугамыг хэрэглэж байгаа гэж үзвэл, +<application>Samba</application> харилцагчдыг магадлахын тулд +<filename>/usr/local/private/smbpasswd</filename> файлыг эхлээд үүсгэх ёстой. +Хэрэв &unix; хэрэглэгчийн эрхээр &windows; харилцагчаас ханддаг байх шаардлагатай бол, +дараах тушаалыг хэрэглэнэ:</para> + + <screen>&prompt.root; <userinput>smbpasswd -a username</userinput></screen> + + <para>Тохируулгуудын талаар нэмэлт мэдээллийг +<ulink url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/">Албан ёсны Samba HOWTO</ulink>-с олж авна уу. +Энд цухас дурдсан үндсэн мэдлэгтэйгээр <application>Samba</application>-г ажиллуулж +эхлэх чадвартай байх ёстой.</para> + </sect3> + + </sect2> + <sect2> + <title><application>Samba</application>-г Эхлүүлэх нь</title> + + <para><filename role="package">net/samba3</filename> портод <application>Samba</application>-г +удирдахад зориулсан шинэ эхлэл скрипт орсон байгаа. Энэ +скриптийг идэвхжүүлэхийн тулд, өөрөөр хэлбэл энэ скриптыг ашиглан +<application>Samba</application>-г эхлүүлэх, зогсоох болон дахин эхлүүлдэг болохын тулд, +<filename>/etc/rc.conf</filename> файл дотор дараах мөрийг нэмж бичих хэрэгтэй:</para> + + <programlisting>samba_enable="YES"</programlisting> + + <note> + <para>Ингэснээр мөн <application>Samba</application>-г систем ачаалах үед автоматаар +эхлүүлдэг болгоно.</para> + </note> + + <para>Үүний дараа хүссэн үедээ <application>Samba</application>-г эхлүүлэхийн тулд +дараах тушаалыг өгөхөд хангалттай:</para> + + <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/samba start</userinput> +Starting SAMBA: removing stale tdbs : +Starting nmbd. +Starting smbd.</screen> + + <para>rc скриптийг ашиглах талаар дэлгэрэнгүй мэдээллийг +<xref linkend="configtuning-rcd"> хэсгээс авна уу.</para> + + <para><application>Samba</application> нь үнэн хэрэгтээ гурван тусдаа демоноос +тогтоно. <application>nmbd</application> ба <application>smbd</application> демонууд +<filename>samba.sh</filename> скриптээр эхлүүлдэг болохыг та анзаарах болно. +Хэрэв <filename>smb.conf</filename> дотор winbind нэр тайлах үйлчилгээг идэвхжүүлсэн бол +<application>winbindd</application> демон бас ажиллаж эхэлсэн болохыг харж болно.</para> + + <para><application>Samba</application>-г хүссэн үедээ зогсоохын тулд дараах тушаалыг өгөхөд +хангалттай:</para> + + <screen>&prompt.root; <userinput>/usr/local/etc/rc.d/samba.sh stop</userinput></screen> + + <para><application>Samba</application> бол µsoft.windows; сүлжээтэй өргөн хүрээнд +нэгдмэл ажиллах боломжийг олгодог нарийн төвөгтэй програмын цогц юм. +Энд тайлбарласан үндсэн суулгацаас хальсан функцүүдийн талаар дэлгэрэнгүй +мэдээллийг <ulink url="http://www.samba.org"></ulink> хаягаар орж авна уу.</para> + </sect2> + + </sect1> + + <sect1 id="network-ntp"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Хүкинс</surname> + <contrib>Хувь нэмэрээ оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Лодойсамбын</firstname> + <surname>Баянзул</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </sect1info> + <title>NTP-р Цаг Тааруулах нь</title> + + <indexterm><primary>NTP</primary></indexterm> + + <sect2> + <title>Ерөнхий Агуулга</title> + + <para>Цаг хугацаа өнгөрөхөд компьютерийн цаг зөрөх хандлагатай байдаг. +Network Time Protocol буюу Сүлжээний Цагийн Протоколыг(NTP) цагийг зөв байлгах, зөв ажиллуулахад +хэрэглэдэг.</para> + + <para>Олон тооны Интернет үйлчилгээнүүд компьютерийн цагаас хамаарч, +эсвэл хүртэж ажилладаг. Жишээлбэл, веб сервер тодорхой цагаас хойш +өөрчлөлт орсон файлуудыг илгээх хүсэлт хүлээн авсан байж болох юм. Дотоод сүлжээний +орчинд, нэг файл серверээр үйлчлүүлж байгаа компьютерүүдийн хувьд +файлын цагийн тамга дүйж байхын тулд тэдгээрийн цагууд хоорондоо +тохирч байх ёстой. &man.cron.8; зэрэг үйлчилгээнүүд тодорхой цагт тушаалыг +гүйцэтгэхийн тулд системийн цагт бүрэн найдаж ажилладаг.</para> + + <indexterm> + <primary>NTP</primary> + <secondary>ntpd</secondary> + </indexterm> + <para>FreeBSD &man.ntpd.8; <acronym role="Network Time Protocol">NTP</acronym> серверийн хамт ирдэг. +&man.ntpd.8; <acronym role="Network Time Protocol">NTP</acronym> нь таны машины цагийг тааруулахын тулд +бусад <acronym role="Network Time Protocol">NTP</acronym> серверүүдээс асуух эсвэл бусдад цагийн +мэдээллийг түгээх үйлчилгээг үзүүлдэг.</para> + </sect2> + + <sect2> + <title>Зохимжтой NTP Серверийг Сонгох нь</title> + + <indexterm> + <primary>NTP</primary> + <secondary>серверийг сонгох нь</secondary> + </indexterm> + + <para>Цагаа тааруулахын тулд, та нэг болон түүнээс дээш тооны +<acronym role="Network Time Protocol">NTP</acronym> серверийг хэрэглэх хэрэгтэй болно. +Танай сүлжээний администратор эсвэл ISP үүнд зориулсан +NTP сервертэй байж болох юм—тийм эсэхийг тэдний заавараас шалгана уу. +<ulink url="http://ntp.isc.org/bin/view/Servers/WebHome">нийтэд зориулсан NTP серверүүдийн +онлайн жагсаалт</ulink>ыг ашиглан өөртөө ойрхон байгаа NTP серверийг +олно уу. Сонгож авсан серверийнхээ ашиглах журмыг судлаарай. +Мөн хэрэв шаардлагатай бол зөвшөөрөл аваарай.</para> + + <para>Таны сонгосон сервер холбогдох боломжгүй, +эсвэл цаг нь бүрэн итгэж болохооргүй үе гарах тул, +хоорондоо хамааралгүй хэд хэдэн NTP серверүүдийг сонгох нь хамгийн зөв +сонголт болдог. &man.ntpd.8; бусад серверээс хүлээн авсан +хариултуудыг маш ухаалгаар хэрэглэдэг—итгэж болох серверүүдийг +илүү авч үздэг.</para> + </sect2> + + <sect2> + <title>Өөрийн Машиныг Тохируулах нь</title> + + <indexterm> + <primary>NTP</primary> + <secondary>тохиргоо</secondary> + </indexterm> + + <sect3> + <title>Үндсэн Тохиргоо</title> + <indexterm><primary>ntpdate</primary></indexterm> + + <para>Хэрэв та машин асахад цагаа тааруулах хүсэлтэй +байгаа бол, &man.ntpdate.8;-г ашиглаж болно. Энэ нь олон дахин тааруулах +шаардлагагүй, ойр ойрхон асааж унтраадаг ширээний компьютерийн +хувьд зохимжтой байж болох юм. Гэхдээ ихэнх машины хувьд +&man.ntpd.8;-г ажиллуулах нь зүйтэй.</para> + + <para>Систем ачаалах үед &man.ntpdate.8;-г ашиглах нь +&man.ntpd.8; ажиллаж байгаа машинуудын хувьд зөв санаа юм. +Учир нь &man.ntpd.8; програм нь цагийг алгуур өөрчилдөг байхад, +&man.ntpdate.8; машины одоогийн цаг болон зөв цагын хооронд +хир их ялгаа байгааг үл хайхран цагийг тааруулдаг.</para> + + <para>&man.ntpdate.8;-г систем ачаалах үед идэвхжүүлэхийн тулд, +<literal>ntpdate_enable="YES"</literal> гэсэн мөрийг <filename>/etc/rc.conf</filename> файлд +нэмэх хэрэгтэй. Мөн цаг авах гэж байгаа бүх серверүүд болон +&man.ntpdate.8;-д өгөх тугуудыг <varname>ntpdate_flags</varname>-д зааж өгөх хэрэгтэй.</para> + </sect3> + + <sect3> + <indexterm> + <primary>NTP</primary> + <secondary>ntp.conf</secondary> + </indexterm> + + <title>Ерөнхий Тохиргоо</title> + + <para>NTP-г <filename>/etc/ntp.conf</filename> файлын тусламжтай, +&man.ntp.conf.5;-д заасан хэлбэрээр тохируулна. Доор хялбар жишээг +үзүүлэв:</para> + + <programlisting>server ntplocal.example.com prefer +server timeserver.example.org +server ntp2a.example.net + +driftfile /var/db/ntp.drift</programlisting> + + <para><literal>server</literal> тохируулгаар +ямар серверүүдийг ашиглахыг заана. Нэг мөрөнд нэг серверийг бичнэ. +Хэрэв аль нэг серверийг <literal>prefer</literal> гэсэн аргументээр +онцолсон бол, <hostid + role="fqdn">ntplocal.example.com</hostid> шиг, тэр серверийг +бусдаас илүүд үзнэ. Илүүд үзсэн серверээс ирсэн хариу +бусад серверүүдийн хариунаас мэдэгдэхүйцээр +зөрж байгаа үед хариуг тоохгүй өнгөрөөнө. Түүнээс бусад тохиолдолд +бусад серверийн хариуг үл харгалзан тэр серверийн хариуг +хэрэглэх болно. <literal>prefer</literal> аргументийг ер нь +өндөр нарийвчлалтай, тусгай цаг хянадаг тоног төхөөрөмж дээр тулгуурласан NTP +серверийн хувьд хэрэглэнэ.</para> + + <para><literal>driftfile</literal> тохируулгаар +ямар файлд системийн цагийн алдах зөрүү утгыг хадгалж байгааг заана. +&man.ntpd.8; програм энэ утгыг ашиглан цагийн алдсан зөрүүг автоматаар нөхнө. +Ингэснээр цагийн бүх гадаад эх үүсвэрүүдтэй холбоо тогтоох боломжгүй болсон +үед, хэсэг хугацааны туршид ч гэсэн цагийг харьцангуй зөв ажиллуулах боломжийг +олгоно.</para> + + <para><literal>driftfile</literal> тохируулгаар ямар файлд таны зааж өгсөн +NTP серверүүдийн өмнөх хариунуудын талаарх мэдээллийг +хадгалж байгааг заана. Энэ файлд NTP-н дотоод үйл ажиллагааны мэдээллийг +хадгалдаг. Энэ мэдээллийг өөр ямар ч процесс өөрчлөх ёсгүй.</para> + </sect3> + + <sect3> + <title>Өөрийн Сервер рүү Хандах Хандалтыг Хянах нь</title> + + <para>Анхдагч байдлаар, таны NTP сервер рүү Интернетэд байгаа бүх хост +хандах боломжтой. <filename>/etc/ntp.conf</filename> файл дотор +<literal>restrict</literal> тохируулгаар ямар машинууд таны сервер рүү хандаж болохыг +хянаж болно.</para> + + <para>Хэрэв та өөрийн NTP сервер рүү хэнийг ч хандуулахыг хүсэхгүй байгаа бол +<filename>/etc/ntp.conf</filename> файл дотор дараах мөрийг нэмэх хэрэгтэй:</para> + + <programlisting>restrict default ignore</programlisting> + + <para>Хэрэв та зөвхөн өөрийн сүлжээнд байгаа машинуудыг +таны сервертэй цагаа тааруулахыг зөвшөөрөөд, гэхдээ +таны серверийн тохиргоог өөрчлөх болон тэгш эрхтэй серверүүд шиг +цагийн мэдээллийг хуваахыг зөвшөөрөхгүй бол дээрхийн оронд:</para> + + <programlisting>restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap</programlisting> + + <para>гэсэн мөрийг бичнэ үү. Энд <hostid role="ipaddr">192.168.1.0</hostid> нь таны сүлжээний +IP хаяг, <hostid role="netmask">255.255.255.0</hostid> нь таны сүлжээний баг болно.</para> + + <para><filename>/etc/ntp.conf</filename> дотор олон тооны <literal>restrict</literal> +тохируулгууд байж болно. Илүү дэлгэрэнгүй мэдээллийг &man.ntp.conf.5;-н +<literal>Хандалтыг Удирдах Дэмжлэг</literal> дэд хэсгээс үзнэ үү.</para> + </sect3> + </sect2> + + <sect2> + <title>NTP Серверийг Ажиллуулах нь</title> + + <para>NTP серверийг систем ачаалах үед эхлүүлэхийн тулд, +<literal>ntpd_enable="YES"</literal> гэсэн мөрийг <filename>/etc/rc.conf</filename> файлд нэмж бичих +хэрэгтэй. Хэрэв &man.ntpd.8;-д нэмэлт тугуудыг өгөх хүсэлтэй бол, +<filename>/etc/rc.conf</filename> файлд байгаа <varname>ntpd_flags</varname> параметрийг засах хэрэгтэй.</para> + + <para>Машиныг дахин ачаалалгүйгээр серверийг эхлүүлэхийн тулд, +<command>ntpd</command> тушаалыг <filename>/etc/rc.conf</filename>-д заасан +<varname>ntpd_flags</varname> нэмэлт параметрүүдийн хамтаар өгөх хэрэгтэй. Жишээлбэл:</para> + + <screen>&prompt.root; <userinput>ntpd -p /var/run/ntpd.pid</userinput></screen> + </sect2> + + <sect2> + <title>ntpd-г Түр зуурын Интернет Холболттой үед Хэрэглэх нь</title> + + <para>&man.ntpd.8; програм зөв ажиллахын тулд байнгын Интернет +холболт шаардлагагүй. Гэхдээ, хэрэгцээтэй үедээ гадагшаа залгадаг +тийм төрлийн түр зуурын холболттой бол, NTP трафикийг +гадагшаа залгах болон холболтыг бариад байхаас сэргийлэх нь чухал. +Хэрэв та PPP хэрэглэдэг бол, <filename>/etc/ppp/ppp.conf</filename> файл дотор байгаа +<literal>filter</literal> директивийг ашиглаж болно. Жишээ нь:</para> + + <programlisting> 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</programlisting> + + <para>Дэлгэрэнгүй мэдээллийг &man.ppp.8;-н <literal>PACKET FILTERING</literal> +хэсгээс болон <filename>/usr/share/examples/ppp/</filename>-д байгаа жишээнүүдээс авч болно.</para> + + <note> + <para>Зарим Интернет үйлчилгээ үзүүлэгчид бага дугаартай портуудыг хаасан байдаг бөгөөд + ингэснээр хариу нь таны машинд хэзээ ч хүрэхгүй болж NTP ажиллахгүй болдог.</para> + </note> + </sect2> + + <sect2> + <title>Цааших Мэдээлэл</title> + + <para>NTP серверийн баримтжуулалтыг HTML хэлбэрээр +<filename>/usr/share/doc/ntp/</filename>-с олж үзэж болно.</para> + </sect2> + </sect1> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> +<!-- LocalWords: config mnt www --> diff --git a/mn_MN.UTF-8/books/handbook/pgpkeys/Makefile b/mn_MN.UTF-8/books/handbook/pgpkeys/Makefile new file mode 100644 index 0000000000..aeede75bcf --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/pgpkeys/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.3 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= pgpkeys/chapter.sgml + +PGPKEYS!= perl -ne 'm/\"([\w-]+.key)\"/ && print "$$1\n"' \ + ${DOC_PREFIX}/share/pgpkeys/pgpkeys.ent +SRCS+= ${PGPKEYS} + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/pgpkeys/chapter.sgml b/mn_MN.UTF-8/books/handbook/pgpkeys/chapter.sgml new file mode 100644 index 0000000000..a8e6514809 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/pgpkeys/chapter.sgml @@ -0,0 +1,55 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.286 + + $FreeBSD$ +--> +<!-- + + Do not edit this file except as instructed by the addkey.sh script. + + See the README file in doc/share/pgpkeys for instructions. + +--> +<appendix id="pgpkeys"> + <title>PGP түлхүүрүүд</title> + + <indexterm><primary>pgp түлхүүрүүд</primary></indexterm> + <para>Албан хаагчид эсвэл хөгжүүлэгчдийн аль нэгний гарын үсгийг шалгах эсвэл + тэдэнд шифрлэсэн цахим захидал илгээх хэрэг гарах үед таны ая тухад + зориулан хэд хэдэн түлхүүрүүдийг энд тавив. + <hostid role="domainname">FreeBSD.org</hostid>-ийн + хэрэглэгчдийн бүрэн гүйцэд түлхүүрүүдийг + <ulink url="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</ulink> + хаягаас татаж авах боломжтой.</para> + + <sect1 id="pgpkeys-officers"> + <title>Албан хаагчид</title> + + §ion.pgpkeys-officers; + </sect1> + + <sect1 id="pgpkeys-core"> + <title>Гол багийн гишүүд</title> + + §ion.pgpkeys-core; + </sect1> + + <sect1 id="pgpkeys-developers"> + <title>Хөгжүүлэгчид</title> + + §ion.pgpkeys-developers; + </sect1> +</appendix> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../appendix.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "appendix") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/ports/Makefile b/mn_MN.UTF-8/books/handbook/ports/Makefile new file mode 100644 index 0000000000..19378daba5 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/ports/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= ports/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/ports/chapter.sgml b/mn_MN.UTF-8/books/handbook/ports/chapter.sgml new file mode 100644 index 0000000000..325954e003 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/ports/chapter.sgml @@ -0,0 +1,1350 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.263 + + $FreeBSD$ +--> + +<chapter id="ports"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Шагдарын</firstname> + <surname>Нацагдорж</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Програм суулгах: Багцууд болон портууд</title> + + <sect1 id="ports-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm><primary>портууд</primary></indexterm> + <indexterm><primary>багцууд</primary></indexterm> + <para>Маш олон системийн хэрэгслүүд FreeBSD-н үндсэн системтэй нь хамт суугддаг. Гэхдээ зарим хүмүүсд ажлаа гүйцээхийн тулд маш олон гуравдагчдын бэлтгэсэн програмыг суулгах шаардлага гардаг билээ. Таны систем дээр гуравдагчийн бүтээсэн програмуудыг суулгах хоёр үндсэн маш сайн аргыг FreeBSD хангаж өгдөг нь: FreeBSD-н портын цуглуулга (эх бичлэгээс нь суулгахад зориулагдсан), ба багцууд (урьдчилан хөрвүүлсэн хоёртын хэлбэрийн файлаас суулгахад зориулагдсан) юм. + Энэ хоёр арга нь хоёулаа таны суулгахыг хүссэн програмын хамгийн сүүлийн хувилбарыг сүлжээ юмуу дотоод төхөөрөмжөөс суулгахад хэрэглэгдэнэ.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Гуравдагчдын бүтээсэн програмын багцыг хэрхэн суулгах.</para> + </listitem> + <listitem> + <para>Портын цуглуулга ашиглаж гуравдагчдын програмыг эх бичлэгээс нь хэрхэн бүтээх.</para> + </listitem> + <listitem> + <para>Өмнө суугдсан багц юмуу эсвэл портуудыг хэрхэн устгах.</para> + </listitem> + <listitem> + <para>Портын цуглуулгын хэрэглэдэг анхдагч утгуудыг хэрхэн дарж бичих.</para> + </listitem> + <listitem> + <para>Шаардлагатай програмын багцаа хэрхэн хайж олох.</para> + </listitem> + <listitem> + <para>Програмаа хэрхэн шинэчилсэн түвшинд авчрах.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="ports-overview"> + <title>Програм суулгацын ерөнхий ойлголт</title> + + <para>Хэрэв та урьд нь &unix; системийг хэрэглэж байсан бол, гуравдагчдын бүтээсэн програмыг суулгах явц дараах маягаар явагддаг билээ:</para> + + <procedure> + <step> + <para>Програмыг татаж авах. Энэ нь голдуу эх бичлэг хэлбэрээрээ юмуу эсвэл хөрвүүлэгдсэн хоёрт файлын хэлбэрээр байдаг.</para> + </step> + + <step> + <para>Авсан програмаа задлах + (ихэнх нь &man.compress.1;, + &man.gzip.1;, эсвэл &man.bzip2.1; нараар шахагдсан байдаг).</para> + </step> + + <step> + <para>Бичиг баримт нь хаана байгааг олоод (голдуу + <filename>INSTALL</filename> юмуу <filename>README</filename> + файлууд байдаг ба, эсвэл <filename>doc/</filename> + гэсэн дэд санд буй бичиг баримтууд) хэрхэн суулгах зааврыг нь унших.</para> + </step> + + <step> + <para>Хэрэв програм нь эх бичлэг хэлбэрээрээ байгаа бол, түүнийг хөрвүүлэх. + Ингэхийн тулд магадгүй + <filename>Makefile</filename> файлыг засварлах, эсвэл + <command>configure</command> скриптийг ажиллуулах зэрэг ажлууд байдаг.</para> + </step> + + <step> + <para>Програмыг шалгаад, дараа нь суулгах.</para> + </step> + </procedure> + + <para>Хэрэв бүх зүйл сайхан бүтсэн үед л ийм явц үйлдэгддэг. Хэрэв та тусад нь FreeBSD-д зориулж порт болгоогүй програмыг суулгахыг хүсвэл, магадгүй та уг програмыг ажиллуулахын тулд тухайн програмын эх кодыг засварлах хэрэг гарна.</para> + + <para>Хэрэв та хүсэж байгаа бол, иймэрхүү + <quote>уламжлалт</quote> аргаар програмыг FreeBSD дээр суулгаж болно. Гэхдээ FreeBSD дээр таны нөр их хөдөлмөрийг хөнгөлөх хоёр арга байдаг нь: + багцууд болон портууд юм. Энэ баримтжуулалтыг бэлтгэж байх үед &os.numports; гаран гуравдагчийн бэлтгэсэн програмууд ийм аргаар бэлэн болсон байгаа.</para> + + <para>Ямар ч програм байсан, FreeBSD дээрх уг програмын багц гэж ердөө нэг л файлыг та татаж авах ёстой байдаг. Уг багц дотор тухайн програмын урьдчилан хөрвүүлсэн хувилбар, бичиг баримт болон тохируулга хийх скриптүүд зэрэг нь багтсан байгаа. Татаж авагдсан багц файлыг &man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1; зэрэг FreeBSD-н багц зохицуулагч програмаар өөрчилж болдог. Шинэ програм суулгах явцыг нэг л тушаалаар гүйцэтгэхийг эрмэлзсэн байдаг билээ. + </para> + + <para>Програмуудын FreeBSD порт гэдэг нь, тухайн програмуудыг эх бичлэгээс хөрвүүлж автоматаар суулгах зориулалттай бүлэглэгдсэн файлуудыг хэлдэг.</para> + + <para>Програмыг эх бичлэгээс нь хөрвүүлж суулгахад хэд хэдэн үйлдэл (татаж авах, задлах, нөхөх, хөрвүүлэх, суулгах) хийдгийг та санаж байгаа байх. Портын агуулж буй файлууд нь яг энэ явцыг танд зориулж автоматжуулахад зориулагдсан мэдээлэл агуулсан байдаг. Та энгийн хэдэн тушаалыг гарнаас оруулахад л, уг програм татагдаж авагдаад, задлагдан, нөхөгдөж, хөрвүүлэгдээд суугдах болно.</para> + + <para>Яг үнэн хэрэгтээ, портлох арга нь тухайн програмыг дараа нь <command>pkg_add</command> болон бусад багц зохицуулагч програмуудад хэрэглэгдэж болохоор багц үүсгэж хэрэглэгдэж бас болдог.</para> + + <para>Багц болон портлох энэ хоёр арга нь хоёулаа, тухайн програмын <emphasis>dependencies буюу хамаатан</emphasis> програмуудыг мэдэж байдаг. Та нэг програм суулгах шаардлагатай байгаа бөгөөд уг програм нь бас нэг програмын сан файлыг суугдсан байхыг шаарддаг байна хэмээн авч үзье. Уг хоёр програм хоёулаа + FreeBSD-н порт ба багц хэлбэрээр танд байгаа гэж бодъё. Хэрэв та + <command>pkg_add</command> тушаалыг хэрэглэх юмуу эсвэл портын аргыг хэрэглэж уг програмыг суулганэ гэвэл, энэ хоёр арга нь хоёулаа уг програмыг суулгахад шаардагдах сан файл суугдаагүй байвал суугдаагүй байна гэж мэдээлээд, тэр сан файлыг эхлээд суулгадаг. </para> + + <para>Энэ хоёр аргыг харах юм бол хоорондоо тун ижилхэн үйлдэл хийдгийг та ажиглаж магадгүй юм. Тэгээд яагаад FreeBSD гуай энэ хоёр аргатай хоёулантай нь зууралдаад байгаа юм бол гэж гайхаж мададгүй. Багц болон порт хоёр нь таны суулгах нөхцлөөс шалтгаалан өөрсдийн гэсэн хүчирхэг давуу талтай. </para> + + <itemizedlist> + <title>Багцын давуу тал</title> + + <listitem> + <para>Програмын шахсан багц файл нь уг програмын эх бичлэгийг агуулдаггүй болохоор хэмжээний хувьд бага байдаг.</para> + </listitem> + + <listitem> + <para>Багцууд нэмэлт хөрвүүлэх үйлдэл шаарддаггүй. + <application>Mozilla</application>, + <application>KDE</application>, эсвэл + <application>GNOME</application> зэрэг том програмуудыг удаавтар систем дээр суулгахаар бол, энэ арга нь тун их давуу талтай юм.</para> + </listitem> + + <listitem> + <para>Багцууд нь FreeBSD дээрх ямар нэгэн хөрвүүлэх явцын талаархи мэдээлэл шаарддаггүй.</para> + </listitem> + </itemizedlist> + + <itemizedlist> + <title>Портын давуу талууд</title> + + <listitem> + <para>Багцыг аль болох олон систем дээр тохирогдон суулгах гэж хичээсэн болохоор, ийм багц нь маш өргөн дэлгэр сонголттойгоор хөрвүүлэгдэж бэлтгэгдсэн байдаг. Порт хэрэглэн програм суулгахаар бол, (жишээ нь) Pentium + IV эсвэл Athlon процессордоо зориулж програмын тохируулгыг өөрчилж болдог.</para> + </listitem> + + <listitem> + <para>Зарим програмууд өөрийнхөө чадах болон чадахгүй зэрэг нөхцлөөсөө хамаараад хөрвүүлэгдэх явцад өөрчлөлт хийгдэх тохиолдлууд байдаг. Жишээ нь, + <application>Apache</application> програм нь маш олон төрлийн өөртөө агуулсан тохиргоотой ирдэг. Ийм програмыг та портоос бүтээх үедээ анхдагч тохиргоонуудыг нь өөрчилж өөртөө тохируулж болно.</para> + + <para>Заримдаа, ижил төрлийн програмууд өөрсдийнхөө онцгой тохиргооноос хамаараад хэдэн хэдэн янзаар хөрвүүлэгдэж багцлагдсан байдаг. Жишээ нь, Х11 сервер суусан эсэхээс хамаараад + <application>Ghostscript</application> програм нь + <filename>ghostscript</filename> гэсэн нэртэй багцлагдсан байдаг ба бас + <filename>ghostscript-nox11</filename> гэсэн нэрээр мөн багц хэлбэртэй байдаг. Багцлах аргад иймэрхүү явцуу тохируулгаас хамаарсан арга байдаг боловч, хэрэв хөрвүүлэх үеийн тохиргоо нь ихсэх болбол энэ арга нь тун явуургүй болдог билээ. </para> + </listitem> + + <listitem> + <para>Зарим програмын лицензэнд, уг програмыг хөрвүүлэгдсэн хэлбэрээр түгээхийг хорьсон байдаг. Тийм програмуудыг эх бичлэг хэлбэрээр нь түгээх ёстой болдог билээ. </para> + </listitem> + + <listitem> + <para>Зарим хүмүүс хөрвүүлэгдсэн хоёртын файлын түгээлтэнд дургүй байдаг. Ядаж эх бичлэг нь байвал, та (онолын хувьд) эх бичлэгийг уншиж болзошгүй аюулыг илрүүлж болох юм.</para> + </listitem> + + <listitem> + <para>Хэрэв танд нөхөлт бичлэг (засвар) байгаа бол, та уг нөхөлтийг зөвхөн эх бичлэг дээр л хийж чадна.</para> + </listitem> + + <listitem> + <para>Зарим хүмүүс эх бичлэгээр наадах дуртай байдаг. Тэд нар эх бичлэгийг уншаад залхуу нь хүрээд ирэхээрээ уг бичлэгийг өөрчилж эвдэх, эсвэл зээлдэж өөрчлөх ( мэдээж лицензийн дагуу ) гэх мэтээр оролддог.</para> + </listitem> + </itemizedlist> + + <para>Портын шинэчлэлийн тухай мэдээлэл авч байхыг хүсвэл + &a.ports; болон &a.ports-bugs; зэрэг захианы жагсаалтанд бүртгүүлэх хэрэгтэй.</para> + + <warning> + <para>Ямар нэгэн програм суулгахаасаа өмнө <ulink + url="http://vuxml.freebsd.org/"></ulink>-с програмын нууцлалын талаарх мэдээллийг харах нь зүйтэй. </para> + + <para>Та мөн <filename + role="package">ports-mgmt/portaudit</filename>-г суулгаж болох бөгөөд энэ нь, програмыг суулгахын өмнө уг програмын хуучралт болон аюулгүй байдалтай хамаатай шаардлагатай шалгалтуудыг хийж өгдөг. Иймэрхүү шалгалтыг зарим багц суулгасны дараа та <command>portaudit + -F -a</command> гэсэн тушаал хэрэглэн үйлдэж болно.</para> + </warning> + + <para>Энэ бүлгийн үлдсэн хэсэгт + FreeBSD дээр порт юмуу багц ашиглан хэрхэн програм суулгах талаар өгүүлэх болно.</para> + </sect1> + + <sect1 id="ports-finding-applications"> + <title>Програмаа олох нь</title> + + <para>Ямар нэгэн програм суулгахаасаа өмнө та ямар програм суулгахыг хүсэж + байгаа болон ямар нэртэй гэдгийг нь мэдсэн байх хэрэгтэй. </para> + + <para>FreeBSD-н програмын жагсаалт нь цаг тутамд нэмэгдэж байдаг. + Аз болж таны хүссэн програмыг олох хэд хэдэн арга бий:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD-н вэб хуудас нь <ulink + url="&url.base;/ports/index.html">http://www.FreeBSD.org/ports/</ulink> хаяг дээр бүх байгаа програмын шинэчлэгдсэн хувилбаруудыг нь хайж болох хэлбэрээр арчилж байдаг. + Портууд нь төрөлжиж хуваагдсан байдаг бөгөөд та хүссэн програмаа хайж олох + (хэрэв та нэрийг нь мэдэж байвал) эсвэл тухайн төрөлд байгаа бүх програмуудын нэрсийн жагсаалтыг харж болно.</para> + </listitem> + + <indexterm><primary>FreshPorts буюу шинэхэн портууд</primary></indexterm> + + <listitem> + <para>Dan Langille гэгч нь FreshPorts хуудсыг <ulink + url="http://www.FreshPorts.org/"></ulink> хаяг дээр арчилан эрхэлдэг. FreshPorts нь порт дээр гарсан өөрчлөлтүүдийг хянаж байдаг бөгөөд хэрэв таныг хүсвэл + таны сонгосон хэд хэдэн портуудыг <quote>ажиглаж</quote> байгаад өөрчлөлт + гарангуут танд захиагаар мэдэгддэг.</para> + </listitem> + + <indexterm><primary>FreshMeat</primary></indexterm> + + <listitem> + <para>Хэрэв та програмынхаа нэрийг нь мэдэхгүй байгаа бол FreshMeat (<ulink + url="http://www.freshmeat.net/"></ulink>) хуудсан дээр хайж үзэх хэрэгтэй. + Хэрэв уг хуудсан дээр шинэ програм олдсон бол буцаад FreeBSD хуудсанд очиж + уг хуудсыг порт болсон эсэхийг магадлах нь зүйтэй.</para> + </listitem> + + <listitem> + <para>Хэрэв та портынхоо нэрийг яг мэддэг боловч ямар төрөлд багтдагийг нь + мэдэх хэрэгтэй бол + &man.whereis.1; тушаалыг ашиглаарай. + Ердөө л <command>whereis + <replaceable>файлын_нэр</replaceable></command> гэж бичих бөгөөд + <replaceable>файлын_нэр</replaceable> нь суулгахыг хүссэн програмын нэр билээ. Хэрэв уг програм нь олдвол, танд хаана байгааг нь дараах маягаар харуулна:</para> + + <screen>&prompt.root; <userinput>whereis lsof</userinput> +lsof: /usr/ports/sysutils/lsof</screen> + + <para>Энэ нь бидэнд <command>lsof</command> (системийн нэгэн + хэрэгсэл) програмыг + <filename>/usr/ports/sysutils/lsof</filename> + санд буй гэж мэдэгдэж байна.</para></listitem> + + <listitem> + <para>Хүссэн портоо олох бас нэг арга бол портын цуглуулга дотор нь байдаг + өөрийнх нь хайгчийг нь ашиглах билээ. Уг хайгчийг нь хэрэглэхийн тулд + та <filename>/usr/ports</filename> сан дотор байх шаардлагатай. Уг сан + дотроос <command>make search + name=<replaceable>програмын-нэр</replaceable></command> гэж бичих бөгөөд + <replaceable>програмын-нэр</replaceable> нь таны олохыг хүссэн програмын + нэр байх ёстой. Жишээлбэл + <command>lsof</command> програмыг олохын тулд:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports</userinput> +&prompt.root; <userinput>make search name=lsof</userinput> +Port: lsof-4.56.4 +Path: /usr/ports/sysutils/lsof +Info: Lists information about open files (similar to fstat(1)) +Maint: obrien@FreeBSD.org +Index: sysutils +B-deps: +R-deps: </screen> + + <para>Уг хайлтын үр дүнд та <quote>Path:</quote> гэсэн мөрөнд + анхаарлаа хандуулах хэрэгтэй бөгөөд энэ нь хаана байгааг илэрхийлж байдаг. + Бусад харуулж байгаа мэдээллүүд нь програм суулгахад хэрэглэгддэггүй болохоор + энд дэлгэн ярихгүй. </para> + + <para>Бүр нарийвчилан хайхыг хүсвэл <command>make + search key=<replaceable>хайх-мөр</replaceable></command> гэх бөгөөд + <replaceable>хайх-мөр</replaceable> нь тухайн програмтай холбоотой мөр + байдаг. + Энэ нь портын нэр, тайлбар, тодорхойлолт болон хамааралтай програм зэргүүдэд + хайлт хийдэг болохоор тухайн програмынхаа талаар дэлгэрэнгүй мэдээлэл байхгүй + хүнд хайхад тун тохиромжтой.</para> + + <para>Дээрх хоёр тохиолдолд хайх мөр тань жижиг болон том бичсэнээс хамаардаггүй. <quote>LSOF</quote> гэж хайх нь + <quote>lsof</quote> гэж хайсантай ижилхэн үр дүнд хүргэнэ.</para> + </listitem> + + </itemizedlist> + </sect1> + + <sect1 id="packages-using"> + <sect1info> + <authorgroup> + <author> + <firstname>Chern</firstname> + <surname>Lee</surname> + <contrib>Хамтран бичсэн </contrib> + </author> + </authorgroup> + <!-- 30 Mar 2001 --> + </sect1info> + + <title>Багцалсан системийг хэрэглэх нь</title> + + <sect2> + <title>Багц суулгах</title> + <indexterm> + <primary>багц</primary> + <secondary>суулгах</secondary> + </indexterm> + + <indexterm> + <primary><command>pkg_add</command></primary> + </indexterm> + <para>Та &man.pkg.add.1; хэрэгслийг ашиглан өөртөө хадгалагдсан юмуу + эсвэл сүлжээнд буй серверээс + FreeBSD-н програмын багц суулгаж болдог. </para> + + <example> + <title>Багц татаж аваад суулгах явц</title> + + <screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput> +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. +230- +230- This machine is in Vienna, VA, USA, hosted by Verio. +230- Questions? E-mail freebsd@vienna.verio.net. +230- +230- +230 Guest login ok, access restrictions apply. +Remote system type is UNIX. +Using binary mode to transfer files. +<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput> +250 CWD command successful. +<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput> +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) +<prompt>ftp></prompt> <userinput>exit</userinput> +&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen> + </example> + + <para>Хэрэв танд багц суулгах дотоод эх үүсвэр ( + FreeBSD CD-ROM гэх мэт) байхгүй бол + &man.pkg.add.1; хэрэгслийг <option>-r</option> сонголттой хамт + хэрэглэх нь зүйтэй. Энэ нь тухайн програмыг төрөл болон хувилбар зэрэг + мэдээллийг нь автоматаар таньж мэдээд FTP хуудаснаас татан авч + суулгадаг. + </para> + + <indexterm> + <primary><command>pkg_add</command></primary></indexterm> + <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen> + + <para>Дээрх жишээн дээр уг хэрэгсэл нь хэрэглэгчийн оролцоогүйгээр + татаж аваад суулгаж буйг харуулж байна. + Хэрэв та татаж авах алс хаягийг нь адилхан толин тусгал болох өөр нэг + &os; багцын хаягаар солихыг хүсвэл + <envar>PACKAGESITE</envar> утганд анхных нь утгыг нь дарж өөр хаяг өгөх хэрэгтэй. &man.pkg.add.1; нь + &man.fetch.3;-г ашиглаж файл татаж авдаг бөгөөд янз бүрийн орчны хувьсагчийн + утга хэрэглэдэг. Тэд нар нь + <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, мөн + <envar>FTP_PASSWORD</envar> гэх мэт хувьсагчид байдаг. + Хэрэв та галт хананы цаана байгаа юмуу эсвэл + FTP/HTTP прокси хэрэглэж байгаа бол уг хувьсагчдыг өөрчлөх ёстой. + Хувьсагчдын бүрэн жагсаалтыг &man.fetch.3; хуудаснаас харна уу. + Дээрх жишээн дээр + <literal>lsof</literal> нь + <literal>lsof-4.56.4</literal> оронд хэрэглэгдэв. Хэрэв та алсаас автоматаар + татаж авах үйлдэл хийж байгаа бол багцны хувилбарын дугаарыг оруулалгүй бичих + хэрэгтэй. &man.pkg.add.1; нь тухайн програмын сүүлийн хувилбарыг автоматаар + таньж суулгадаг. </para> + + <note> + <para>Хэрэв та &os.current; эсвэл + &os.stable; хувилбарыг хэрэглэж байгаа бол &man.pkg.add.1; нь + програмын хамгийн сүүлийн хувилбарыг татаж авч суулгадаг. Хэрэв + та -RELEASE хувилбар хэрэглэж байгаа бол таны хэрэглэж байгаа + тухайн хувилбарт тохирсон хувилбарыг нь татаж авч суулгадаг. Гэхдээ + иймэрхүү үйлдлийг нь өөрчлөхийг хүсвэл <envar>PACKAGESITE</envar> + гэсэн орчны хувьсагчийг өөрчлөөрэй. + Жишээлбэл та &os; 5.4-RELEASE + систем дээр &man.pkg.add.1; хэрэгслийг ажиллуулбал анхдагч хаяг нь + + <literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/</literal> байх болно. + Хэрэв та &man.pkg.add.1;-г + &os; 5-STABLE багц суулгахаар тохируулахыг хүсвэл <envar>PACKAGESITE</envar> + хувьсагчийг + <literal>ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/</literal> гэж зааж өгөх хэрэгтэй. + </para> + </note> + + <para>Багц файлууд нь <filename>.tgz</filename> + болон <filename>.tbz</filename> гэсэн хэлбэртэй байдаг. + Та тэдгээрийг <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink> + хаягнаас олж болох бөгөөд эсвэл FreeBSD CD-ROM дээр бас буй. + FreeBSD-н 4 ширхэг CD тус бүрийн <filename>/packages</filename> сан дотор + багц байрлаж байгаа. Багц байрлуулалт нь + <filename>/usr/ports</filename>-н загвартай ижил модлог байдаг. + Төрөл болгон өөрийн гэсэн сантай ба багц болгон бас + <filename>All буюу бүгд</filename> гэсэн санд хайгдаж ологддог. + </para> + + <para>Багцны сангийн бүтэц нь портын бүтэцтэй таарч багц портын системийг + бүрэлдүүлдэг юм. + </para> + + </sect2> + + <sect2> + <title>Багц зохицуулалт</title> + + <indexterm> + <primary>багц</primary> + <secondary>зохицуулах</secondary> + </indexterm> + <para>&man.pkg.info.1; хэрэгсэл нь суугдсан багцтай холбоотой + мэдээллүүдийг харуулдаг. + </para> + + <indexterm> + <primary><command>pkg_info</command></primary> + </indexterm> + <screen>&prompt.root; <userinput>pkg_info</userinput> +cvsup-16.1 A general network file distribution system optimized for CV +docbook-1.2 Meta-port for the different versions of the DocBook DTD +...</screen> + <para>&man.pkg.version.1; хэрэгсэл нь суугдсан бүх багцны ерөнхий мэдээллийг + харуулж байдаг. Энэ нь багцны хувилбарыг портын санд буй програмын хувилбартай + жишиж харьцуулдаг. + </para> + <indexterm> + <primary><command>pkg_version</command></primary> + </indexterm> + <screen>&prompt.root; <userinput>pkg_version</userinput> +cvsup = +docbook = +...</screen> + + <para>Хоёр дахь баганад буй тэмдэгт нь порт доторх програмын хувилбартай харьцуулсан харьцуулалт юм.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Тэмдэг</entry> + <entry>Утга</entry> + </row> + </thead> + + <tbody> + <row> + <entry>=</entry> <entry>Суугдсан багцны хувилбар нь портын хувилбартай + адилхан байна.</entry> + </row> + + <row><entry><</entry> + <entry>Суугдсан хувилбар нь портын хувилбараас хуучин байна.</entry> + </row> + + <row><entry>></entry><entry>Суугдсан хувилбар нь портын хувилбараас + шинэ байна. (Дотоод порт тань хуучирсан байж болзошгүй)</entry></row> + + <row><entry>?</entry><entry>Суугдсан багц нь портын жагсаалтанд + олдсонгүй. (Энэ тохиолдож болох юм. Жишээлбэл суугдсан порт нь устгагдах юмуу нэр нь өөрчлөгдсөн байж болзошгүй.)</entry></row> + + <row><entry>*</entry><entry>Багц олон хувилбартай байна.</entry></row> + + </tbody> + </tgroup> + </informaltable> + </sect2> + + <sect2> + <title>Багц устгах</title> + <indexterm> + <primary><command>pkg_delete</command></primary> + </indexterm> + <indexterm> + <primary>багц</primary> + <secondary>устгах</secondary> + </indexterm> + <para>Өмнө суугдсан байгаа багцыг устгахдаа + &man.pkg.delete.1; хэрэгслийг ашиглана. + </para> + + <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen> + </sect2> + + <sect2> + <title>Бусад мэдүүштэй зүйлс</title> + <para>Бүх багцтай холбоотой мэдээллүүд + <filename>/var/db/pkg</filename> сан дотор хадгалагдаж байдаг. Суугдсан багцны жагсаалт болон холбогдох тодорхойлолтууд нь уг санд буй файл дотроос уншигдах + боломжтой. + </para> + </sect2> + </sect1> + + <sect1 id="ports-using"> + <title>Портын цуглуулгыг хэрэглэх нь</title> + + <para>Дараах хэсэгт системдээ портын цуглуулгыг ашиглан хэрхэн програм + суулгах болон устгах талаар өгүүлэх болно. <command>make</command> + хөрвүүлэгчийн байршил болон орчны хувьсагчийн талаарх нэмэлт тодорхой мэдээллийг + &man.ports.7; хуудаснаас харна уу.</para> + + <sect2 id="ports-tree"> + <title>Портын цуглуулгыг суулгах нь</title> + + <para>Порт суулгахаасаа өмнө нь <filename>/usr/ports</filename> сан + дотор <filename>Makefiles</filename>, patches буюу нөхөгч файл, мөн + тодорхойлолт файлуудыг агуулсан портын цуглуулгыг суулгах хэрэгтэй. + </para> + + <para>FreeBSD-г суулгах үед + <application>sysinstall</application> програм танаас портын цуглуулгыг + суулгах эсэхийг тань асуудаг. Хэрэв та тэр үед үгүй гэж хариулсан бол + энэ хэсэгт хэрхэн суулгах талаар тайлбарлана:</para> + + <procedure> + <title>CVSup арга</title> + + <para>Энэ арга нь <application>CVSup</application>-г ашиглан + портын цуглуулгаа суулгаж мөн байнга шинэчилж болох хамгийн түргэн арга юм. + Хэрэв та <application>CVSup</application>-н талаар дэлгэрэнгүй мэдэхийг + хүсэж байвал <link linkend="cvsup">CVSup-г хэрэглэх нь</link> хэсгээс хараарай.</para> + + <note> + <para><application>csup</application> гэдэг програм нь + <application>CVSup</application> програмыг C програм дээр + дахин бичсэн хувилбар нь бөгөөд &os;-н 6.2 юмуу эсвэл + түүнээс дээшхи хувилбарт боломжтой буй. + <application>csup</application> нь үндсэн суулгацтай хамт + суулгагддаг болохоор #1 дүгээр алхамыг алгасаад + <command>cvsup</command>-н оронд + <command>csup</command> гэж бичиж хэрэглэх хэрэгтэй. + Хуучны хувилбаруудад + <application>csup</application>-г + <filename role="package">net/csup</filename> сан дотроос + порт/багц хэлбэрээс суулгаж болно.</para> + </note> + + <para><application>CVSup</application>-г анх удаагаа ажиллуулахынхаа өмнө + <filename role="directory">/usr/ports</filename> санг хоосон байлгах хэрэгтэй. + Хэрэв уг сан дотор өөр эх сурвалжаас суулгасан портын цуглуулга байвал, + <application>CVSup</application> нь уг файлуудыг шинэчилж нөхдөггүй билээ. + </para> + + <step> + <para><filename + role="package">net/cvsup-without-gui</filename> багцыг эхлээд суулгана:</para> + + <screen>&prompt.root; <userinput>pkg_add -r cvsup-without-gui</userinput></screen> + + <para><link + linkend="cvsup-install">CVSup-г суулгах</link> (<xref + linkend="cvsup-install">) хэсгээс нэмэлт мэдээллийг харна уу.</para> + </step> + + <step> + <para><command>cvsup</command>-г ажиллуулна:</para> + + <screen>&prompt.root; <userinput>cvsup -L 2 -h <replaceable>cvsup.FreeBSD.org</replaceable> /usr/share/examples/cvsup/ports-supfile</userinput></screen> + + <para> + <replaceable>cvsup.FreeBSD.org</replaceable> гэдгийг + өөртэйгээ ойрхон орших + <application>CVSup</application> серверийн нэрээр + солих хэрэгтэй. + <link linkend="cvsup-mirrors">CVSup толин тусгалууд</link> (<xref + linkend="cvsup-mirrors">) хэсгээс толин тусгал хуудаснуудын бүрэн + жагсаалтыг хараарай. </para> + + <note> + <para>Зарим нэг нь өөрийнхөө бэлтгэсэн + <filename>ports-supfile</filename> файлыг хэрэглэхийг хүсэж болох юм. + Ингэсэн үед тушаал бичих мөрөнд <application>CVSup</application> + серверийн нэрийг бичих шаардлага гардаггүй.</para> + + <procedure> + <step> + <para>Ингэхийг хүссэн үед <username>root</username> эрхээр ороод + <filename>/usr/share/examples/cvsup/ports-supfile</filename> файлыг + шинэ сан уруу хуулах хэрэгтэй. Жишээлбэл + <filename>/root</filename> юмуу эсвэл өөрийнхөө эхлэл санд хуулж болно. + </para> + </step> + + <step> + <para><filename>ports-supfile</filename> файлыг засварлана.</para> + </step> + + <step> + <para> + <replaceable>CHANGE_THIS.FreeBSD.org</replaceable> мөрийг + өөртэйгээ ойрхон буй <application>CVSup</application> серверийн нэрээр + солино. <link linkend="cvsup-mirrors">CVSup + Толин тусгалууд</link> (<xref linkend="cvsup-mirrors">) хэсэгт толин тусгалуудын бүрэн жагсаалтыг харж болно.</para> + </step> + + <step> + <para>Одоо <command>cvsup</command>-г ажиллуулахын тулд дараах алхмыг хийх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cvsup -L 2 <replaceable>/root/ports-supfile</replaceable></userinput></screen> + </step> + </procedure> + </note> + </step> + + <step> + <para>Дараа нь &man.cvsup.1; тушаалыг ажиллуулснаар тухайн үед хөрвүүлж байгаа + портуудыг эс оруулаад бүх портын цуглуулгыг татаж аван сүүлд орсон өөрчлөлтүүдийг мөн шинэчилдэг.</para> + </step> + </procedure> + + <procedure> + <title>Portsnap арга</title> + + <para><application>Portsnap</application> нь портын цуглуулгыг шинэчлэх бас нэг арга + билээ. Энэ програм нь анх &os; 6.0 хувилбарт эхлэн хэрэглэгдсэн. Хуучин + хувилбаруудад үүнийг <filename + role="package">ports-mgmt/portsnap</filename> гэсэн багцыг суулгаж ашиглана:</para> + + <screen>&prompt.root; <userinput>pkg_add -r portsnap</userinput></screen> + + <para><link linkend="portsnap">Portsnap-г хэрэглэх нь</link> хэсгээс + <application>Portsnap</application>-тай холбоотой бүх мэдээллийг харна уу.</para> + + <step> + <para>&os; 6.1-RELEASE хувилбар болон + <application>Portsnap</application> порт юмуу багцийн сүүлийн + хувилбартай бол энэ хэсгийг та алгасаж болно. <filename + role="directory">/usr/ports</filename> сан нь + &man.portsnap.8; тушаалыг анх удаагаа хэрэглэх үед автоматаар үүсгэгддэг. + <application>Portsnap</application>-н өмнөх хувилбаруудтай бөгөөд + <filename + role="directory">/usr/ports</filename> сан байхгүй бол хоосон ийм + сан үүсгэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>mkdir /usr/ports</userinput></screen> + </step> + + <step> + <para>Шахсан хэлбэртэй портын цуглуулгыг + <filename role="directory">/var/db/portsnap</filename> сан дотор + татаж авах хэрэгтэй. Хэрэв та хүсвэл энэ алхмын дараа интернэтээс + салгаатай ажиллаж болдог. </para> + + <screen>&prompt.root; <userinput>portsnap fetch</userinput></screen> + </step> + + <step> + <para>Хэрэв та <application>Portsnap</application>-г анх удаагаа + ажиллуулж байгаа бол шахагдсан уг цуглуулгыг <filename + role="directory">/usr/ports</filename> сан дотор задална: + </para> + + <screen>&prompt.root; <userinput>portsnap extract</userinput></screen> + + <para>Хэрэв та өмнө нь <filename + role="directory">/usr/ports</filename> сан дотор цуглуулгыг суулгасан бөгөөд + энэ үед зөвхөн шинэчлэхийг хүсэж байгаа бол дараах тушаалыг өгөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>portsnap update</userinput></screen> + </step> + + </procedure> + + <procedure> + <title>Sysinstall арга</title> + + <para>Энэ арга нь суулгацын төхөөрөмжөөс <application>sysinstall</application>-г + ашиглан портын цуглуулгыг суулгах арга юм. Гэхдээ тухайн төхөөрөмж дээр байгаа + цуглуулга нь тухайн хувилбарыг гаргасан өдрийн хувилбартай байдгийг анзаарах + хэрэгтэй. Хэрэв танд интернэт холболт байдаг бол дээр өгүүлсэн хоёр аргыг урьтал + болгох нь зүйтэй. </para> + + <step> + <para><username>root</username> эрхээр ороод + <command>sysinstall</command> гэсэн тушаал өгөх хэрэгтэй + (<command>/stand/sysinstall</command> гэж &os; + -н 5.2-с хуучин хувилбаруудад бичих ёстой):</para> + + <screen>&prompt.root; <userinput>sysinstall</userinput></screen> + </step> + + <step> + <para><guimenuitem>Configure</guimenuitem> гэдгийг сонгоод + <keycap>Enter</keycap> товч дарна.</para> + </step> + + <step> + <para> + <guimenuitem>Distributions</guimenuitem> цэсийг сонгоод + <keycap>Enter</keycap> дээр дарна.</para> + </step> + + <step> + <para><guimenuitem>ports</guimenuitem> гэж сонгон + <keycap>Space</keycap> товч дээр дарах хэрэгтэй.</para> + </step> + + <step> + <para>Дээр буй <guimenuitem>Exit</guimenuitem> гэдгийг олж сонгон + <keycap>Enter</keycap> дээр дарна.</para> + </step> + + <step> + <para>CDROM юмуу FTP гэх мэт суулгах төхөөрөмжөө сонгоно.</para> + </step> + + <step> + <para>Дээр буй <guimenuitem>Exit</guimenuitem> цэсийг сонгоод + <keycap>Enter</keycap> дээр дарна.</para> + </step> + + <step> + <para><keycap>X</keycap> дээр дарж + <application>sysinstall</application>-с гарах болно.</para> + </step> + </procedure> + </sect2> + + <sect2 id="ports-skeleton"> + <title>Порт суулгах нь</title> + + <indexterm> + <primary>портууд</primary> + <secondary>суулгах</secondary> + </indexterm> + <para>Портын цуглуулгын талаар яриа хийхийн өмнө портын + <quote>skeleton буюу араг яс</quote>ны талаар ойлголт авах хэрэгтэй. + Хамгийн энгийн ойлголтоор бол энэ нь FreeBSD системд програмыг + цэвэрхэн хөрвүүлээд суулгахыг зааварласан товч заавар байдаг. + Порт болгоны араг яс дараах зүйлсийг агуулж байдаг:</para> + + <itemizedlist> + <listitem> + <para><filename>Makefile</filename>. + <filename>Makefile</filename> нь янз бүрийн заавар бичлэгүүд + агуулж байдаг бөгөөд энэ нь програм хэрхэн хөрвүүлэгдэх, + бас хаана суугдах зэрэг үйлдлүүдийг тодорхойлсон байгаа. </para> + </listitem> + + <listitem> + <para><filename>distinfo</filename> файл. Энэ файл нь + хөрвүүлж бүтээгдэх ёстой + файлуудын татаж авалт болон тэдгээрийн алдаагүй + татагдсан эсэхийг &man.md5.1; хэрэгсэл ашиглаж шалгах + зэрэг мэдээллүүдийг агуулж байдаг. </para> + </listitem> + + <listitem> + <para><filename>files</filename> нэртэй сан. Энэ санд таны + FreeBSD систем дээр суугдах програмуудын хөрвүүлэгдэхэд + хэрэглэгддэг patches буюу нөхөөс файлуудыг агуулна. + Нөхөөс файлууд нь жижигхэн хэмжээний файл бөгөөд тодорхой + зарим файлд гарсан өөрчлөлтүүдийг агуулдаг. + Нөхөөсүүд текст хэлбэрээр оршдог ба голдуу + <quote>10 дугаар мөрийг устга</quote> эсвэл <quote>26 дугаар + мөрийг үүгээр соль ...</quote> гэсэн зааврууд байдаг. + Нөхөөсүүдийг мөн + <quote>diffs буюу ялгааны</quote> төрлийн файл гэж ярьцгаадаг. Ийм + ялгааг нь илэрхийлсэн файлыг үүсгэхдээ + &man.diff.1; програмыг хэрэглэдэг юм.</para> + + <para>Энэ санд портыг бүтээхэд шаардагдах өөр төрлийн файлууд бас байж + болох юм.</para> + </listitem> + + <listitem> + <para> <filename>pkg-descr</filename> файл. Энэ файл дотор тухайн + програмын талаархи нэлээн дэлгэрэнгүй тодорхойлолт агуулагдаж байдаг. + </para> + </listitem> + + <listitem> + <para><filename>pkg-plist</filename> файл. Энэ файл дотор порт + суугдах явцад хуулагдаж суугдах файлуудын жагсаалт байдаг. Энэ нь + мөн портыг устгах үед портын системд мэдэгдэх файлуудын + жагсаалт билээ.</para> + </listitem> + </itemizedlist> + + <para>Зарим портууд + <filename>pkg-message</filename> гэх мэтийн өөр файлууд агуулж байдаг. + Портын систем нь онцгой тохиолдолд уг файлуудтай хандаж тухайн + портод харгалзах үйлдлүүдийг хийх болно. Хэрэв та ийм файлуудын + талаарх дэлгэрэнгүй мэдээлэл мөн портын талаарх үндсэн ойлголт + авахыг хүсвэл <ulink + url="&url.books.porters-handbook;/index.html">FreeBSD порт бүтээгчийн + гарын авлага</ulink> хуудаснаас харна уу.</para> + + <para>Порт дотор програмын эх бичлэгийг хэрхэн хөрвүүлж бүтээх + талаарх заавар байдаг болохоос уг програмын эх бичлэг нь байдаггүй. + Та уг програмын эх бичлэгийг CD-ROM эсвэл интернэтээс + уг зохиогчийнх нь гаргасан хэлбэрээр татаж авч болно. Голдуу + эх бичлэгүүд нь tar болон gzip шахалтаар шахаж бэлдсэн байдаг боловч + заримдаа өөр төрлийн хэрэгсэл ашиглан шахсан тохиолдол тулгарч + магадгүй. Ямар ч хэлбэрээр програмын эх бичлэгийг авсан байг, түүнийг + <quote>distfile</quote> гэж нэрийддэг. Доор &os; порт суулгах + хоёр аргыг танилцуулж байна.</para> + + <note> + <para>Порт суулгахын тулд та <username>root</username> эрхэнд + сэлгэсэн байх ёстой.</para> + </note> + + <warning> + <para>Ямар нэгэн портыг суулгахаасаа өмнө портынхоо цуглуулгыг та + шинэчилсэн байх хэрэгтэй бөгөөд <ulink + url="http://vuxml.freebsd.org/"></ulink> хуудсанд тухайн + порттой холбоотой аюул нууцлалын талаархи сэдэв хөндөгдсөн эсэхийг + шалгах хэрэгтэй.</para> + + <para>Ямар ч порт суулгахаасаа өмнө аюулгүйн нууцлалын хувьд + сул тал буй эсэхийг <application>portaudit</application>-р + автоматаар шалгаж болно. Энэ хэрэгслийг портын цуглуулга дотор + олох боломжтой (<filename + role="package">ports-mgmt/portaudit</filename>). Шинэ портыг суулгахаасаа + өмнө <command>portaudit -F</command> гэж ажиллуулснаар + аюулгүйн нууцлалд гарсан сул тал нүхнүүдийн талаархи мэдээллийн + өгөгдлийн баазаас мэдээллүүдийг авч нөхөлт хийдэг. Аюулгүйн нууцлалын + мэдээллийн өгөгдлийн баазын шинэчлэх явц өдөр болгон давтагдаж хийгдэх + болно. Нэмэлт дэлгэрэнгүй мэдээллийг &man.portaudit.1; болон + &man.periodic.8; хуудаснаас харна уу.</para> + </warning> + + <para>Портын цуглуулга таныг интернэт холболттой гэж авч үздэг. + Хэрэв танд интернэт холболт байхгүй бол + distfile файлуудыг <filename>/usr/ports/distfiles</filename> + санд хуулах хэрэгтэй.</para> + + <para>Эхлэхийн өмнө суулгах гэж буй портын санд орох хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen> + + <para>Тэгээд <filename>lsof</filename> санд орсон хойноо уг сан дотор + та тухайн портын араг ясыг харах болно. Дараагийн алхам бол + портыг хөрвүүлэх буюу + <quote>бүтээх</quote> билээ. Ингэхийн тулд тушаал бичих мөрөнд + <command>make</command> гэж бичнэ. Ингэж гүйцэтгэсний дараа + дараах маягийн явцын мэдээллийг та харах болно:</para> + + <screen>&prompt.root; <userinput>make</userinput> +>> 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] +... +&prompt.root;</screen> + + <para>Хөрвүүлэлт дуусаад та буцаад тушаал бичих мөрөнд ирэнгүүт + хийх ёстой дараагийн алхам бол портыг суулгах билээ. Ингэхийн тулд + таны хийх ёстой зүйл бол <command>make</command> тушаалыг + өөр нэг үгтэй хамт бичих ёстой бөгөөд тэр үг нь + <command>install</command> юм:</para> + + <screen>&prompt.root; <userinput>make install</userinput> +===> 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. +&prompt.root;</screen> + + <para>Ингээд тушаал бичих мөр боломжтой болонгуут суулгасан портоо + ажиллуулах боломжтой болдог. Бид нарын жишээ авч суулгасан + <command>lsof</command> програм нь нууцлалын давуу эрх + шаарддаг болохоор аюулгүйн нууцлалын анхааруулга харуулагддаг. + Порт суулгах үед хэрэв анхааруулга харуулагдваас түүнийг тун + анхааралтай уншиж ойлгох хэрэгтэй.</para> + + <para>Програмыг хөрвүүлж бүтээхэд хэрэглэгдсэн түр файлуудыг + хадгалсан дэд сангуудыг устгах нь зүйтэй. Энэ нь дискийн зайг + хэмнэхээс гадна тухайн портыг шинэчлэх үед алдаа гаргуулахгүй + маш сайн зуршил юм.</para> + + <screen>&prompt.root; <userinput>make clean</userinput> +===> Cleaning for lsof-4.57 +&prompt.root;</screen> + + <note> + <para>Та <command>make</command>, + <command>make install</command> мөн <command>make clean</command> гэсэн + дамжлагуудыг <command>make + install clean</command> гэж товчилж бичиж болно.</para> + </note> + + <note> + <para>Зарим shells буюу бүрхүүлийн орчнууд нь <envar>PATH</envar> + орчны хувьсагч дотор буй сангууд доторхи ачаалагдаж болдог + програмуудын тушаалын хайлтыг түргэвчлэх зорилгоор түр хадгалагчид + хадгалсан байдаг. Та хэрэв ийм төрлийн бүрхүүлийн орчин + ашиглаж байгаа бол порт суулгасны дараа <command>rehash</command> + тушаалыг хэрэглэн портын ачаалагдах файлыг бүрхүүлийн таних + сан дотор нэмдэг. Энэ тушаал нь + <command>tcsh</command> маягийн бүрхүүлд ажилладаг. + <command>sh</command> төрлийн бүрхүүлд <command>hash -r</command> + гэж ашигладаг. Тухайн бүрхүүлд хамаатай нэмэлт мэдээллийг нь харна уу.</para> + </note> + + <para><ulink url="http://www.freebsdmall.com/">FreeBSD + Mall</ulink> зэрэг зарим гуравдагчдын гаргасан DVD-ROM дээр distfiles + файлууд агуулагдсан байдаг. Тэдгээрийг портын цуглуулганд хэрэглэж + болно. DVD-ROM-г <filename>/cdrom</filename> санд таниулж холбоно. + Хэрэв та өөр санд холбосон бол уг сангийн нэрийг + <makevar>CD_MOUNTPTS</makevar> орчны хувьсагчид зааж өгөөрэй. + Шаардлагатай distfiles файлууд нь дискнээс автоматаар хэрэглэгддэг. + </para> + + <note> + <para>Зарим нэг цөөн тооны портуудын лицензийг нь анхаарах + хэрэгтэй. Ийм төрлийн портуудын эх бичлэг нь CD-ROM дээр + байдаггүй. Тэдгээрийг татаж авах юмуу цааш нь + түгээхийн тулд ямар нэгэн гэрээ бөглөх илгээх ёстой болдог. + Хэрэв таны суулгах порт CD-ROM дээр байхгүй байгаа бол интернэт рүү + орон хэлсний дагуу гүйцэтгэх хэрэгтэй.</para> + </note> + + <para>Портын систем нь &man.fetch.1; хэрэгслийг ашиглан файлуудыг + татаж авдаг. Уг хэрэгсэл нь + <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>, + мөн <envar>FTP_PASSWORD</envar> гэх мэтчилэн төрөл бүрийн орчны + хувьсагчдыг ашиглаж ажилладаг. Хэрэв та галт хана юмуу + FTP/HTTP прокси хэрэглэдэг бол эдгээр хувьсагчдад тохирох утгыг нь + зааж өгөх хэрэгтэй. &man.fetch.3; хуудаснаас хувьсагчдын бүрэн жагсаалтыг + харна уу.</para> + + <para>Интернэтэд байнга холбогддоггүй хэрэглэгчдэд зориулж + <command>make <maketarget>fetch</maketarget></command> тушаал + байдаг. Уг тушаалыг портын дээд сан + (<filename>/usr/ports</filename>) дотор гүйцэтгэхэд шаардагдах + бүх файлуудыг татаж авдаг. Уг тушаалыг мөн + <filename>/usr/ports/net</filename> гэх зэргийн дэд сан дотор гүйцэтгэж + болно. + Хэрэв тухайн порт өөр сан юмуу портоос хамаардаг бол fetch гүйцэтгэл + нь тэдгээр хамаарлыг нь + <emphasis>нөхөж татдаггүй</emphasis>г анхаараарай. + Харин <maketarget>fetch</maketarget> гэдгийг + <maketarget>fetch-recursive</maketarget> гэж орлуулснаар + тухайн портын хамааралтай порт болон сангуудыг давхар татаж авдаг.</para> + + <note><para>Та бүх портуудыг хөрвүүлж бүтээнэ гэвэл <command>make</command> + тушаалыг <command>make + <makevar>fetch</makevar></command> тушаалыг тайлбарласан шиг дээд санд + гүйцэтгэж болдог. Гэвч зарим порт байхгүй тохиолдолд ийм үйлдэл бол аюултай. Мөн зарим портууд хоёр өөр файлыг нэг нэрээр суулгах хүндрэл гаргаж болзошгүй.</para></note> + + <para>Мөш цөөхөн тохиолдолд хэрэглэгчид + <makevar>MASTER_SITES</makevar> (татаж авах файлуудын байршил) хаягнаас + өөр байршил ашиглан эх файлуудыг татаж авах шаардлага гарч болох юм. + Ийм үед + <makevar>MASTER_SITES</makevar> хувьсагчийн утгыг дараах тушаалаар + өөрчилдөг:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> +&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \ +ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen> + + <para>Энэ жишээн дээр бид + <makevar>MASTER_SITES</makevar>-н утгыг <hostid + role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid> + гэж өөрчиллөө.</para> + + <note><para>Зарим порт нь өөрийнхөө зарим хэсгийг + шаардлагагүй гэж үзэх тохиолдолд, эсвэл аюулгүйн нууцлалын + шалтгаанаар ч юмуу өөрчлөлт хийх боломж (эсвэл шаарддаг) + өгдөг. + <filename role="package">www/mozilla</filename>, <filename + role="package">security/gpgme</filename>, мөн <filename + role="package">mail/sylpheed-claws</filename> зэргүүдийг жишээ + болгож болох юм. Иймэрхүү мэдэгдлүүд байвал тухайн үед танд + харуулагдах болно.</para></note> + + <sect3> + <title>Портын анхдагч санг дарж бичих</title> + + <para>Заримдаа портыг хөрвүүлэх болон суулгах өөр санг хэрэглэх + нь хэрэгтэй (онц шаардлагатай) байдаг. + <makevar>WRKDIRPREFIX</makevar> болон <makevar>PREFIX</makevar> + хувьсагчдын утгыг өөрчилж анхдагч сангийн байршлыг сольдог. + Жишээ нь:</para> + + <screen>&prompt.root; <userinput>make WRKDIRPREFIX=/usr/home/example/ports install</userinput></screen> + + <para>гэсэн тушаал нь портыг + <filename>/usr/home/example/ports</filename> сан дотор хөрвүүлээд + хөрвүүлэгдэж бүтээгдсэн файлуудыг <filename>/usr/local</filename> + санд суулгадаг.</para> + + <screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen> + + <para>гэсэн тушаал нь портыг <filename>/usr/ports</filename> санд хөрвүүлж + бэлдээд <filename>/usr/home/example/local</filename> санд суулгана.</para> + + <para>Мэдээж </para> + + <screen>&prompt.root; <userinput>make WRKDIRPREFIX=../ports PREFIX=../local install</userinput></screen> + + <para>гэж хоёр хувьсагчийг хослуулан хэрэглэж бас болно + (танд зөвхөн ерөнхий ойлголт өгөх зорилгоор урт мөрийг товчилж харуулсан + билээ).</para> + + <para>Мөн та уг хувьсагчдыг өөрийнхөө орчны хувьсагч болгож + зарлаж болно. Тухайн бүрхүүлийнхээ орчны талаархи зааврыг эхлээд + уншиж танилцах нь зүйтэй.</para> + </sect3> + + <sect3> + <title><command>imake</command>-г хэрэглэх</title> + + <para>Зарим порт <command>imake</command>-г хэрэглэдэг ( X + цонхот системийн хэсэг) бөгөөд + <makevar>PREFIX</makevar> хувьсагч ашиглалгүй + <filename>/usr/X11R6</filename> санд суулгадаг. Үүнтэй ижил + зарим Perl портууд <makevar>PREFIX</makevar> хувьсагч хэрэглэлгүй + Perl-н санд суулгадаг. Эдгээр портуудыг + <makevar>PREFIX</makevar> хувьсагчтай хамтран ажиллуулж + энэ хувьсагчийг ойлгож хүндэтгэдэг болгоно гэдэг бол тун хэцүү бөгөөд + бараг боломжгүй ажил юм.</para> + + </sect3> + </sect2> + + <sect2 id="ports-removing"> + <title>Суугдсан портыг устгах нь</title> + + <indexterm> + <primary>портууд</primary> + <secondary>устгах</secondary> + </indexterm> + <para>Та одоо портыг хэрхэн суулгах талаар мэдсэн юм чинь + хэрэв буруу портоо суулгасан бол түүнийг + хэрхэн утсгадаг талаар мэдэхийг хүсэж байгаа байх. + Өмнөх жишээнд суулгасан портоо бид устгацгаая (анхааралгүй + уншсан нэгэнд нь <command>lsof</command> програм гэж сануулъя). + Портууд багцтай ижилхэн + &man.pkg.delete.1; тушаалаар устгагдаж болно ( + <link + linkend="packages-using">Багц сонголт</link> хэсэгт тайлбарласан буй):</para> + + <screen>&prompt.root; <userinput>pkg_delete lsof-4.57</userinput></screen> + + </sect2> + + <sect2 id="ports-upgrading"> + <title>Порт шинэчлэх</title> + + <indexterm> + <primary>порт</primary> + <secondary>шинэчлэх</secondary> + </indexterm> + <para>Хамгийн түрүүнд &man.pkg.version.1; тушаал ашиглан + портын цуглуулгаас шинэ хувилбар агуулсан портуудыг жагсаах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>pkg_version -v</userinput></screen> + + <sect3 id="ports-file-updating"> + <title><filename>/usr/ports/UPDATING</filename></title> + + <para>Портыг шинэчлэхээсээ өмнө портын цуглуулгаа шинэчлээд + <filename>/usr/ports/UPDATING</filename> файлыг шалгана. + Энэ файл дотор портыг шинэчлэхэд шаардагдах үйлдлүүд болох + өөрчлөгдсөн төрөл, тохируулгын өөрчлөлт, эсвэл өмнөх хувилбартайгаа + зөрчилдөх хэсгүүд гэх мэтийн чухал мэдээллүүд агуулагдаж байдаг. + </para> + + <para>Хэрэв <filename>UPDATING</filename> файлд саяны таны уншсан + зүйлүүдээс өөр юм агуулагдаж байвал уг файлд буй зааврыг дагах нь + зүйтэй.</para> + </sect3> + + <sect3 id="portupgrade"> + <title>Portupgrade ашиглан порт шинэчлэх нь</title> + + <indexterm> + <primary>portupgrade</primary> + </indexterm> + + <para> <application>portupgrade</application> хэрэгсэл нь портыг + амархан шинэчлэхэд зориулагдсан. Үүнийг <filename + role="package">ports-mgmt/portupgrade</filename> портоос суулгаж болно. + Бусад портын нэгэн адил порт суулгадаг журмаар <command>make <makevar>install + clean</makevar></command> гэсэн тушаалаар суулгадаг:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portupgrade</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Суугдсан портын жагсаалтыг <command>pkgdb + -F</command> тушаал ашиглан шалгаад үр дүнгийн мэдээлэлд байгаа + зөрчлүүдийг нь залруулж засах хэрэгтэй. Шинэчлэл хийхээсээ өмнө ингэж + зөрчлүүдийг арилгах нь тун сайн санаа билээ.</para> + + <para>Хэрэв та <command>portupgrade -a</command> гэж ажиллуулбал + таны системд суугдсан бүх хуучирсан портуудыг + <application>portupgrade</application> шинэчлэж эхэлдэг. + Хэрэв та суугдах шинэчлэл болгонд лавлаж асуух үйлдэл хийлгэхийг хүсвэл + <option>-i</option> сонголт нэмээрэй.</para> + + <screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen> + + <para>Хэрэв та бүх шинэчлэгдэх порт биш харин зөвхөн тодорхой нэгэн + портыг шинэчлэх хүсэлтэй бол <command>portupgrade + <replaceable>багцны-нэр</replaceable></command> гэж бичнэ. + <option>-R</option> сонголт нэмснээр тухайн програмд шаардагдах + портуудыг <application>portupgrade</application> эхлээд нь шинэчлэдэг. + </para> + + <screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen> + + <para>Портын оронд багц хэрэглэж суулгахыг хүсвэл + <option>-P</option> сонголт хэрэглэнэ. Энэ сонголттой үед + <application>portupgrade</application> нь + <envar>PKG_PATH</envar> хувсагчид зааж өгсөн жагсаалтад буй сан дотроос + багцуудыг хайх ба хэрэв уг санд байхгүй байгаа бол сүлжээнээс татаж нөхдөг. + Хэрэв дотоод сан болон сүлжээнээс багц олдоогүй тохиолдолд + <application>portupgrade</application> нь портоор суулгахыг оролдох болно. + Порт хэлбэрээр суулгах үйлдлийг зогсоохын тулд + <option>-PP</option> сонголтыг нэмж өгдөг.</para> + + <screen>&prompt.root; <userinput>portupgrade -PR gnome2</userinput></screen> + + <para>Хэрэв хөрвүүлж суулгалгүйгээр зөвхөн distfiles файлыг татаж авах (хэрэв + <option>-P</option> сонголттой бол багц файлыг ) шаардлагатай бол + <option>-F</option> сонголтыг ашиглаарай. + Дэлгэрэнгүй мэдээллийг &man.portupgrade.1; хэсэгт харна уу.</para> + </sect3> + + <sect3 id="portmanager"> + <title>Portmanager ашиглан портыг шинэчлэх нь</title> + + <indexterm> + <primary>portmanager</primary> + </indexterm> + + <para><application>Portmanager</application> бол портыг суулгаж + шинэчлэхийг амарчилсан өөр нэг хэрэгсэл билээ. Үүнийг + <filename role="package">ports-mgmt/portmanager</filename> портноос + суулгаж болно:</para> + + <screen>&prompt.root; <userinput>cd <filename role="directory">/usr/ports/ports-mgmt/portmanager</filename></userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Бүх суугдсан портууд дараах энгийн тушаалаар шинэчлэгдэж болдог:</para> + + <screen>&prompt.root; <userinput>portmanager -u</userinput></screen> + + <para>Та мөн <option>-ui</option> сонголт нэмснээр + <application>Portmanager</application>-н гүйцэтгэх алхам бүрийг лавлах асуух хэлбэрт оруулан хянаж болдог. + <application>Portmanager</application>-г ашиглан системд шинэ портыг суулгаж болно. + <command>make install clean</command> гэсэн ердийн тушаалаас ялгаатай нь + тухайн сонгосон портыг суулгахаасаа өмнө түүнд хамааралтай бүх портуудыг + шинэчлэдэг.</para> + + <screen>&prompt.root; <userinput>portmanager <replaceable>x11/gnome2</replaceable></userinput></screen> + + <para>Хэрэв сонгосон портын хамааралтай портод ямар нэгэн + хүндрэл гарвал <application>Portmanager</application>-г тэр хүндрэл + гарсан портоос эхлэн дахин шинээр хөрвүүлж бэлд гэж зааж өгч болдог. + Ингэсэн үед хүндрэл гаргасан портыг эхлэж хөрвүүлээд дараа нь + портоо шинэчлэх явцаа цааш нь үргэлжлүүлдэг.</para> + + <screen>&prompt.root; <userinput>portmanager <replaceable>graphics/gimp</replaceable> -f</userinput></screen> + + <para>Дэлгэрэнгүй мэдээллийг + <application>Portmanager</application>-н гарын авлагаас харна уу.</para> + </sect3> + </sect2> + + <sect2 id="ports-disk-space"> + <title>Порт ба дискийн хэмжээ</title> + + <indexterm> + <primary>порт</primary> + <secondary>дискийн хэмжээ</secondary> + </indexterm> + <para>Портын цуглуулга нь дискийн хэмжээг байнга идэж байдаг. Портноос + програмыг хөрвүүлж суулгасны дараа бэлдэж байсан + <filename class="directory">санг</filename> <command>make + <makevar>clean</makevar></command> тушаалаар цэвэрлэхээ үргэлж санах + хэрэгтэй. Та портын цуглуулгыг бүхлээр нь дараах тушаалаар цэвэрлэж болно:</para> + + <screen>&prompt.root; <userinput>portsclean -C</userinput></screen> + + <para>Маш олон эх файлууд + <filename class="directory">distfiles</filename> санд явцын үр дүнд + хадгалагдаж байдаг. Та тэдгээрийг гар аргаар устгаж болох ба дараах + тушаал хэрэглэн ямар нэгэн порттой холбоогүй болсон бүх distfiles + устгаж болно:</para> + + <screen>&prompt.root; <userinput>portsclean -D</userinput></screen> + + <para>Эсвэл таны системд одоо суугдсан байгаа порттой хамаагүй + бүх distfiles-уудыг дараах тушаалаар устгана:</para> + + <screen>&prompt.root; <userinput>portsclean -DD</userinput></screen> + + <note> + <para> <command>portsclean</command> хэрэгсэл нь + <application>portupgrade</application> програмын нэг бүрдэл хэсэг.</para> + </note> + + <para>Суулгасан портоо хэрэглэхгүй болсон үедээ устгахаа мартаж болохгүй. + Иймэрхүү автомажуулалтыг гүйцэтгэдэг эвтэйхэн програм бол + <filename role="package">ports-mgmt/pkg_cutleaves</filename> порт билээ.</para> + </sect2> + + </sect1> + + <sect1 id="ports-nextsteps"> + <title>Порт суулгасны дараах үйлдлүүд</title> + + <para>Ердийн програмыг суулгасны дараа тухайн програмтай холбоотой + бичиг баримтыг унших, ямар нэгэн тохиргооны файл засварлах, эсвэл + уг програм копьютер ачаалагдах үед эхлэх (хэрэв энэ нь далд чөтгөр бол) + эсэхийг нь шалгах шаардлага гарч болзошгүй.</para> + + <para>Суулгасан програм болгоныг тохируулах зарчим өөр өөр. Гэхдээ + та шинэ програм суулгачихаад <quote>Одоо яах вэ?</quote> + гэсэн асуулттай тулгарах үед дараах зүйлс тусалж магадгүй:</para> + + <itemizedlist> + <listitem> + <para>&man.pkg.info.1; тушаалыг ашиглан ямар файл хаана яаж суугдсаныг + харна. Жишээ нь та саяхан FooPackage version 1.0.0, програмыг суулгасан + бол </para> + + <screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen> + + <para>гэсэн тушаал нь уг програмыг суулгах явцад хуулсан бүх файлуудыг + харуулдаг. <filename>man/</filename> санд хуулсан файл байвал тун + анхааралтай харах хэрэгтэй. Энэ нь гарын авлага файлууд байдаг. + Мөн <filename>etc/</filename> санд хуулсан файлууд нь тохируулгын + файлууд байдаг бөгөөд <filename>doc/</filename> санд бол дэлгэрэнгүй + бичиг баримтуудыг хадгалсан байдаг.</para> + + <para>Хэрэв та програмынхаа хувилбарын талаар сайн мэдэхгүй байгаа бол + </para> + + <screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen> + + <para>гэсэн тушаал нь бүх суугдсан програм дотор + <replaceable>foopackage</replaceable> гэсэн нэртэй програм байвал + харуулдаг. <replaceable>foopackage</replaceable>-н оронд хүссэн програмынхаа нэрийг бичээрэй.</para> + </listitem> + + <listitem> + <para>Програмын гарын авлага хаана суугдсаныг мэдсэн үедээ + &man.man.1;-г ашиглан харах хэрэгтэй. Мөн түүнчлэн ийм аргаар + тохируулга болон нэмэлт мэдээллийн файлуудыг нь тухай бүрд + нь харах хэрэгтэй.</para> + </listitem> + + <listitem> + <para>Хэрэв уг програм өөрийн гэсэн вэб хуудастай бол түүнд нь зорчин + нэмэлт мэдээлэл авах, байнгын асуулт хариултыг нь үзэх гэх мэтчилэн + оролдоорой. Уг програмын вэб хуудасны хаяг нь </para> + + <screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen> + + <para>тушаалын гаралт дээр <literal>WWW:</literal> гэсэн хэсэгт + байдаг. </para> + </listitem> + + <listitem> + <para>Эхлэн ачаалагдах үед эхлэх ёстой портууд (Интернэт сервер гэх мэт) + голдуу + <filename>/usr/local/etc/rc.d</filename> сан дотор эхлүүлэх + файлаа хуулдаг. Та уг файлыг шаардлагатай бол засварлах юмуу өөрчилж болно. + <link + linkend="configtuning-starting-services">Үйлчилгээг эхлүүлэх</link> хэсгээс дэлгэрэнгүй мэдэээллийг харна уу.</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="ports-broken"> + <title>Эвдрэлтэй портыг засах нь</title> + + <para>Хэрэв та портыг ажиллуулж чадаагүй тохиолдолд хийж болох + хэд хэдэн алхам бий:</para> + + <orderedlist> + <listitem> + <para><ulink url="&url.base;/support.html#gnats">Problem Report + database</ulink> хуудсанд уг портын засварлах заавар бий эсэхийг + шалгах. Хэрэв байвал уг зааврын дагуу засварлах хэрэгтэй.</para> + </listitem> + + <listitem> + <para>Уг портыг арчилж сайжруулдаг хүнээс тусламж авах. + <command>make maintainer</command> тушаал ашиглаад юмуу эсвэл + <filename>Makefile</filename> файл дотроос тухайн + арчлагчийн захианы хаягийг нь олох хэрэгтэй. Захиандаа + портынхоо нэр болон хувилбарыг оруулан + (<filename>Makefile</filename> файлд буй + <literal>$FreeBSD:</literal> + мөрийг илгээх хэрэгтэй ) хэрэв боломжтой бол алдаа заасан + явцын мэдээллүүдийг явуулах хэрэгтэй.</para> + + <note> + <para>Зарим порт нь хувь хүнээр биш харин <ulink + url="&url.articles.mailing-list-faq;/article.html">захианы + жагсаалтаар</ulink> арчлагдаж байдаг. Энэ жагсаалтанд бүгд биш ч гэсэн ихэнх хүмүүс нь + <email role="nolink">freebsd-listname@FreeBSD.org</email> маягийн + захианы хаягтай байдаг. Ийм хүмүүс рүү захиагаа явуулах хэрэгтэй.</para> + + <para>Голдуу + <email role="nolink">freebsd-ports@FreeBSD.org</email>-р арчлагдаж + байгаа гэсэн портууд нэг тодорхой хүнээр арчлагдаагүй байдаг. + Завсарлалт болон тусламж зэргүүд нь ихэнхдээ захианы жагсаалтад буй + хүмүүсээс ирдэг. Туслан дэмжих хүмүүс бидэнд үргэлж хэрэгтэй байгаа!</para> + </note> + + <para>Хэрэв та ямар нэгэн хариулт аваагүй бол + &man.send-pr.1;-г ашиглан алдааны мэдэгдэл ( <ulink + url="&url.articles.problem-reports;/article.html"> + FreeBSD-н алдааг мэдээлэх</ulink> хэсгийг харна уу) хийж болно.</para> + </listitem> + + <listitem> + <para>Өөрөө засаад үз! <ulink + url="&url.books.porters-handbook;/index.html">Порт хийгчдийн гарын авлага</ulink> дотор + <quote>портын</quote> ажиллах зарчим болон бүтэц заавар, засах дараалал, тэр байтугай өөрөө порт зохиох талаар дурдсан байгаа!</para> + </listitem> + + <listitem> + <para>Ойрхон байгаа FTP хуудаснаас багцыг татаж авах хэрэгтэй. + <quote>Үндсэн</quote> багцны цуглуулга <hostid + role="fqdn">ftp.FreeBSD.org</hostid> хуудасны <ulink + url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">багцны санд</ulink> байдаг бөгөөд <ulink + url="http://mirrorlist.FreeBSD.org/">орон нутгийн толин тусгал</ulink>уудыг <emphasis>эхлээд</emphasis> турш! Ингэсэн нь эх бичлэгийг хөрвүүлэхээс + түргэн бэлэн болсон багцыг татаж аван цаг хэмнэж байдаг. &man.pkg.add.1; програмыг ашиглан өөртөө хадгалсан багцаа систем дээрээ суулгана. </para> + </listitem> + </orderedlist> + </sect1> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/ppp-and-slip/Makefile b/mn_MN.UTF-8/books/handbook/ppp-and-slip/Makefile new file mode 100644 index 0000000000..1f866a105a --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/ppp-and-slip/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= ppp-and-slip/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml b/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml new file mode 100644 index 0000000000..aa7fc42c8f --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml @@ -0,0 +1,3123 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.176 + + $FreeBSD$ +--> + +<chapter id="ppp-and-slip"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Бүтцийг дахин өөрчлөн зохион байгуулж шинэчилсэн </contrib> + <!-- 1 Mar 2000 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>PPP болон SLIP</title> + + <sect1 id="ppp-and-slip-synopsis"> + <title>Ерөнхий агуулга</title> + <indexterm id="ppp-ppp"> + <primary>PPP</primary> + </indexterm> + <indexterm id="ppp-slip"> + <primary>SLIP</primary> + </indexterm> + + <para>FreeBSD нь нэг компьютерийг нөгөөтэй холбох хэд хэдэн аргуудтай байдаг. + Dial-up модемоор сүлжээнд эсвэл Интернетэд холболт хийх юм уу эсвэл + бусдыг өөрөөр чинь дамжихыг зөвшөөрөхийн тулд PPP эсвэл SLIP-г + хэрэглэхийг шаарддаг. Энэ бүлэг эдгээр модем дээр тулгуурласан холбооны + үйлчилгээнүүдийг тохируулах талаар дэлгэрэнгүй тайлбарлах болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Хэрэглэгчийн PPP-г хэрхэн тохируулах талаар.</para> + </listitem> + <listitem> + <para>Цөмийн PPP-г хэрхэн тохируулах талаар.</para> + </listitem> + <listitem> + <para><acronym>PPPoE</acronym>-г (PPP over Ethernet + буюу Ethernet дээгүүрх PPP) хэрхэн тохируулах талаар.</para> + </listitem> + <listitem> + <para><acronym>PPPoA</acronym>-г (PPP over ATM + буюу ATM дээгүүрх PPP) хэрхэн тохируулах талаар.</para> + </listitem> + <listitem> + <para>SLIP клиент болон серверийг хэрхэн тохируулж суулгах талаар.</para> + </listitem> + </itemizedlist> + + <indexterm id="ppp-ppp-user"> + <primary>PPP</primary> + <secondary>хэрэглэгчийн PPP</secondary> + </indexterm> + <indexterm id="ppp-ppp-kernel"> + <primary>PPP</primary> + <secondary>цөмийн PPP</secondary> + </indexterm> + <indexterm id="ppp-ppp-ethernet"> + <primary>PPP</primary> + <secondary>Ethernet дээгүүрх</secondary> + </indexterm> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>Сүлжээний үндсэн ухагдахуунуудыг мэддэг байх.</para> + </listitem> + <listitem> + <para>Гадагш залгах (dialup) холболт болон PPP ба/эсвэл SLIP-ийн үндэс + болон зорилгыг ойлгосон байх.</para> + </listitem> + </itemizedlist> + + <para>Та хэрэглэгчийн PPP болон цөмийн PPP хоёрын хоорондох гол ялгаа нь юу юм + бол гэж гайхаж байж магадгүй юм. Хариулт нь хялбархан: хэрэглэгчийн PPP + нь ирж байгаа болон гарч байгаа өгөгдлийг цөмийн талбарт биш хэрэглэгчийн + талбарт процесс хийдэг. Энэ нь өгөгдлийг цөм болон хэрэглэгчийн талбар + хоёрын хооронд хуулдагаараа зардалтай боловч хамаагүй илүү боломжуудаар + баялаг PPP шийдлийг зөвшөөрдөг. Хэрэглэгчийн PPP нь гаднах ертөнцтэй + холбогдохдоо <devicename>tun</devicename> төхөөрөмжийг ашигладаг + бол цөмийн PPP <devicename>ppp</devicename> төхөөрөмжийг + ашигладаг.</para> + + <note> + <para>Энэ бүлэгт хэрэглэгчийн PPP-г <application>pppd</application> зэрэг өөр бусад PPP програм хангамжаас + ялгах шаардлага гарахгүй тохиолдолд ердөө л <application>ppp</application> + гэх болно. Тусгайлан тайлбарлаагүй л бол энэ бүлэгт тайлбарласан бүх тушаалууд нь + <username>root</username> эрхээр ажиллуулагдах ёстой.</para> + </note> + </sect1> + + <sect1 id="userppp"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Шинэчилж өргөжүүлсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Брайэн</firstname> + <surname>Сомерс</surname> + <contrib>Анхлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Ник</firstname> + <surname>Клэйтон</surname> + <contrib>Зарим хэсгийг нэмсэн </contrib> + </author> + <author> + <firstname>Дирк</firstname> + <surname>Фромберг</surname> + </author> + <author> + <firstname>Питер</firstname> + <surname>Чайлдс</surname> + </author> + </authorgroup> + </sect1info> + + <title>Хэрэглэгчийн PPP ашиглах</title> + + <sect2> + <title>Хэрэглэгчийн PPP</title> + + <sect3> + <title>Таамаглалууд</title> + + <para>Энэ баримт нь таныг дараах шаардлагуудыг хангасан гэж тооцдог:</para> + + <itemizedlist> + <indexterm id="ppp-isp"> + <primary>ISP</primary> + </indexterm> + <indexterm id="ppp-ppp2"> + <primary>PPP</primary> + </indexterm> + <listitem> + <para>PPP ашиглан таны холбогдох Интернетийн үйлчилгээ үзүүлэгчээс (ISP) + өгсөн бүртгэл.</para> + </listitem> + + <listitem> + <para>Танд модем эсвэл өөр төхөөрөмж таны системд холбогдсон байгаа + бөгөөд тэр нь танд өөрийн ISP-тай холбогдохыг зөвшөөрөхөөр зөв + тохируулагдсан байгаа.</para> + </listitem> + + <listitem> + <para>Таны ISP-ийн хандах dial-up дугаар(ууд).</para> + </listitem> + + <indexterm id="ppp-pap"> + <primary>PAP</primary> + </indexterm> + <indexterm id="ppp-chap"> + <primary>CHAP</primary> + </indexterm> + <indexterm id="ppp-unix"> + <primary>UNIX</primary> + </indexterm> + <indexterm id="ppp-login"> + <primary>нэвтрэх нэр</primary> + </indexterm> + <indexterm id="ppp-password"> + <primary>нууц үг</primary> + </indexterm> + <listitem> + <para>Таны нэвтрэх нэр болон нууц үг. (ердийн &unix; загварын нэвтрэлт + болон нууц үгийн хослол юм уу эсвэл PAP эсвэл CHAP нэвтрэлт болон + нууц үгийн хослол.)</para> + </listitem> + + <indexterm id="ppp-nameserver"> + <primary>нэрийн сервер</primary> + </indexterm> + <listitem> + <para>Нэг буюу хэд хэдэн нэрийн серверүүдийн IP хаяг. Хэвийн үед + үүнд зориулан ашиглахаар хоёр IP хаягыг таны ISP танд өгдөг. Хэрэв тэд + танд ядаж ганцыг өгөөгүй бол та <command>enable dns</command> + тушаалыг <filename>ppp.conf</filename> файлд ашиглавал + <application>ppp</application> нэрийн серверүүдийг танд + тохируулж өгөх болно. Энэ боломж нь DNS-тай тохиролцоог дэмждэг + таны ISP-ийн PPP шийдлээс хамаарах юм.</para> + </listitem> + </itemizedlist> + + <para>Дараах мэдээллийг таны ISP өгсөн байж болох боловч энэ нь заавал шаардлагагүй + юм:</para> + + <itemizedlist> + <listitem> + <para>Таны ISP-ийн гарцын IP хаяг. Гарц нь таны холбогдох машин бөгөөд + таны <emphasis>анхдагч чиглүүлэлт</emphasis> гэж тохируулагдах + болно. Хэрэв танд энэ мэдээлэл байхгүй бол бид нэгийг орлуулж болох + бөгөөд таны ISP-ийн PPP сервер биднийг холбогдох үед зөв утгыг хэлж + өгөх болно.</para> + + <para>Энэ IP дугаар нь <application>ppp</application>-ээр + <literal>HISADDR</literal> гэгдэнэ.</para> + </listitem> + + <listitem> + <para>Таны ашиглах ёстой сүлжээний баг. Хэрэв таны ISP үүнийг өгөөгүй + бол та аюулгүйгээр <hostid role="netmask">255.255.255.255</hostid> + гэж ашиглаж болно.</para> + </listitem> + + <indexterm id="ppp-static-ip"> + <primary>статик IP хаяг</primary> + </indexterm> + <listitem> + <para>Хэрэв таны ISP танд статик IP хаяг болон хостын нэр өгсөн бол та + тэдгээрийг оруулж болно. Үгүй бол бид нөгөө талын өгөх тохирох IP хаягийг + ердөө л зөвшөөрөх болно.</para> + </listitem> + </itemizedlist> + + <para>Хэрэв танд шаардлагатай мэдээллийн аль нь ч байхгүй бол өөрийн ISP уруугаа + хандана уу.</para> + + <note> + <para>Энэ хэсэгт жишээнүүдийн олонхийн үзүүлж байгаа тохиргооны файлуудын + агуулгуудад байгаа мөр бүр дугаарлагдсан байгаа болно. Эдгээр дугаарууд нь + танилцуулга болон хэлэлцүүлэгт туслах зорилгоор зөвхөн ашиглагддаг бөгөөд + яг үнэндээ жинхэнэ файл дээрээ тавигдах ёстой гэсэн үг биш юм. + Tab ашиглан зөв догол хийх болон зайн тэмдэгтүүд нь бас чухал юм.</para> + </note> + + </sect3> + + <sect3> + <title>Автомат <application>PPP</application> тохиргоо</title> + + <indexterm><primary>PPP</primary><secondary>тохиргоо</secondary></indexterm> + <para><command>ppp</command> болон <command>pppd</command> нь + (PPP-ийн цөмийн түвшний шийдэл) <filename>/etc/ppp</filename> сан + дахь тохиргооны файлуудыг ашигладаг. Хэрэглэгчийн ppp-д зориулсан жишээнүүдийг + <filename>/usr/share/examples/ppp/</filename> сангаас олж болно.</para> + + <para><command>ppp</command>-г тохируулах нь таны өөрийн шаардлагуудаас + хамаарч хэд хэдэн файлуудыг засварлахыг танаас шаарддаг. Тэдгээрт юу оруулах нь + таны ISP IP хаягуудыг статикаар өгдөг үү (өөрөөр хэлбэл танд нэг IP хаяг өгөх + бөгөөд зөвхөн тэрийг дандаа ашиглана) эсвэл динамикаар (өөрөөр хэлбэл таны IP хаяг + таныг ISP-даа холбогдох бүрт өөрчлөгддөг) өгдөг үү гэдгээс зарим талаараа + хамаардаг.</para> + + <sect4 id="userppp-staticIP"> + <title>PPP болон статик IP хаягууд</title> + + <indexterm><primary>PPP</primary><secondary>статик IP хаягуудтай цуг</secondary></indexterm> + <para>Та <filename>/etc/ppp/ppp.conf</filename> тохиргооны + файлыг засварлах хэрэгтэй. Энэ нь доорх жишээтэй төстэй харагдах + ёстой.</para> + + <note> + <para><literal>:</literal>-ээр төгссөн мөрүүд эхний баганаас эхэлнэ + (мөрийн эхлэл)— бусад бүх мөрүүдэд доор үзүүлсэн шиг зай эсвэл + tab-аар догол гаргасан байх ёстой.</para> + </note> + + <programlisting>1 default: +2 set log Phase Chat LCP IPCP CCP tun command +3 ident user-ppp VERSION (built COMPILATIONDATE) +4 set device /dev/cuaa0 +5 set speed 115200 +6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ +7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" +8 set timeout 180 +9 enable dns +10 +11 provider: +12 set phone "(123) 456 7890" +13 set authname foo +14 set authkey bar +15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" +16 set timeout 300 +17 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.255 0.0.0.0 +18 add default HISADDR</programlisting> + + <variablelist> + <varlistentry> + <term>Мөр 1:</term> + + <listitem> + <para>Анхдагч оруулгыг тэмдэглэдэг. Энэ оруулга дахь тушаалууд нь + ppp ажиллах үед автоматаар ажилладаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 2:</term> + + <listitem> + <para>Параметрүүдийг бүртгэл хийхийг идэвхжүүлнэ. Тохиргоо + хангалттайгаар ажиллаж байгаа үед бүртгэлийн файлын их хэмжээнээс + сэргийлэхийн тулд энэ мөрийг + + <programlisting>set log phase tun</programlisting> + + болгох ёстой.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 3:</term> + + <listitem> + <para>PPP-д нөгөө талдаа өөрийгөө хэрхэн таниулахыг хэлж өгдөг. + PPP нь тохиролцож холбоосыг үүсгэх үедээ ямар нэгэн асуудалтай байгаа + эсэхээ таниулсан мэдээллээр нөгөө талаа хангадаг бөгөөд нөгөө талын + администратор иймэрхүү асуудлуудыг судалж байгаа үед энэ нь ашигтай + байж болох юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 4:</term> + + <listitem> + <para>Модемийн холбогдсон төхөөрөмжийг тодорхойлдог. + <devicename>COM1</devicename> нь + <filename>/dev/cuaa0</filename> бөгөөд + <devicename>COM2</devicename> нь + <filename>/dev/cuaa1</filename> юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 5:</term> + + <listitem> + <para>Таны холбогдох хурдыг заадаг. Хэрэв 115200 ажиллахгүй + бол (ямар ч шинэ модемтой энэ нь болох ёстой) + 38400-гаар оролдож үзээрэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 6 & 7:</term> + + <indexterm><primary>PPP</primary><secondary>хэрэглэгчийн PPP</secondary></indexterm> + <listitem> + <para>Залгах мөр. Хэрэглэгчийн PPP нь &man.chat.8; програмын + адил хүлээгээд илгээх зарчмыг ашигладаг. Энэ хэлний боломжуудын талаарх + мэдээллийг гарын авлагын хуудаснаас лавлана уу.</para> + + <para>Энэ тушаал нь уншигдахад хялбар байх зорилгоор дараагийн + мөрөнд үргэлжилж байгааг анзаараарай. Хэрэв мөрийн сүүлийн + тэмдэгт ``\'' байвал <filename>ppp.conf</filename> + файл дахь ямар ч тушаал ийм байж болох юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 8:</term> + + <listitem> + <para>Энэ холбоосонд зориулж сул зогсох хугацааг тохируулна. 180 + секунд нь анхдагч байна, тэгэхээр энэ мөр нь цэвэр гоо сайхны зүйл юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 9:</term> + + <listitem> + <para>Локал танигчийн тохиргоог бататгахын тулд нөгөө талаасаа асуухыг + PPP-д хэлнэ. Хэрэв та локал нэрийн серверийг ажиллуулах бол энэ + мөрийг тайлбар болгох юм уу эсвэл арилгах ёстой.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 10:</term> + + <listitem> + <para>Уншихад хялбар байх зорилгоор хоосон мөр байна. PPP нь + хоосон мөрүүдийг орхидог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 11:</term> + + <listitem> + <para><quote>provider</quote> гэж нэрлэгдсэн үзүүлэгчид + зориулсан оруулгыг тодорхойлдог. Үүнийг өөрийн <acronym>ISP</acronym>-ийн + нэрээр сольж болох юм. Ингэсний дараа та холболтыг эхлүүлэхийн + тулд <option>load ISP</option> гэж ашиглаж болох юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 12:</term> + + <listitem> + <para>Энэ үзүүлэгчийн хувьд утасны дугаарыг тохируулдаг. Олон утасны + дугаарыг тодорхойлох хоёр цэг (<literal>:</literal>) юм уу эсвэл + хоолой тэмдэгтийг (<literal>|</literal>) тусгаарлагч болгон ашиглан + зааж өгч болно. Хоёр тусгаарлагчийн ялгаа &man.ppp.8;-д тайлбарлагдсан + байдаг. Дүгнэж хэлэхэд хэрэв та дугааруудыг ээлжлэн ашиглах бол тодорхойлох + цэгийг ашиглана. Хэрэв та эхний дугаар уруу эхлээд үргэлж залгахыг хүсэж + байгаа бөгөөд зөвхөн эхний дугаар нь амжилтгүй болсон тохиолдолд бусад дугааруудыг + ашиглахыг хүсэж байгаа бол хоолой тэмдэгтийг ашиглаарай. Утасны дугааруудыг + тэр чигээр нь үзүүлсэн шиг үргэлж хаалтанд хийх хэрэгтэй.</para> + + <para>Хэрэв та утасны дугаар дээр зай ашиглахаар бол утасны дугаарыг хаалтанд + (<literal>"</literal>) хийх ёстой. Ингэхгүй бол энэ нь энгийн боловч баригдашгүй + алдаанд хүргэж болох юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 13 & 14:</term> + + <listitem> + <para>Хэрэглэгчийн нэр болон нууц үгийг тодорхойлно. &unix; + загварын нэвтрэлт хүлээх мөрийг ашиглан холбогдох үед эдгээр + утгууд нь <command>set login</command> тушаалаар + \U болон \P хувьсагчуудыг ашиглан хийгддэг. PAP эсвэл CHAP + ашиглан холбогдож байгаа үед эдгээр утгууд нь нэвтрэлт танилт + хийгдэхэд хэрэглэгддэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 15:</term> + + <listitem> + <indexterm><primary>PAP</primary></indexterm> + <indexterm><primary>CHAP</primary></indexterm> + <para>Хэрэв та PAP эсвэл CHAP ашиглаж байгаа бол нэвтрэлт энэ + үед байхгүй байх бөгөөд энэ мөр нь тайлбар болгогдох юм уу эсвэл + арилгагдсан байх ёстой. Илүү дэлгэрэнгүй мэдээллийг + <link linkend="userppp-PAPnCHAP">PAP болон CHAP + нэвтрэлт танилт</link> холбоосоос үзнэ үү.</para> + + <para>Нэвтрэлтийн мөр нь залгах мөр шиг чалчихтай төсөөтэй зарчимтай + байдаг. Энэ жишээн дээр нэвтрэх сесс нь доорхтой адил үйлчилгээний + хувьд уг мөр ажиллаж байна:</para> + + <screen>J. Random Provider +login: <replaceable>foo</replaceable> +password: <replaceable>bar</replaceable> +protocol: ppp</screen> + + <para>Та энэ скриптийг өөрийн хэрэгцээндээ тааруулан өөрчлөх + хэрэгтэй болно. Энэ скриптийг эхний удаа бичиж байхдаа та + яриа хүссэнээр үргэлжилж байгаа эсэхийг тодорхойлж чадахаар + байхын тулд <quote>chat</quote> буюу чалчих бүргэлийг + идэвхжүүлсэн эсэхээ баталгаажуулах хэрэгтэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 16:</term> + + <indexterm><primary>timeout</primary></indexterm> + <listitem> + <para>Анхдагч сул зогсох хугацааг (секундээр) холболтод зориулж + тохируулдаг. Энд холболт нь 300 секундын хугацаанд идэвхгүй байвал + автоматаар хаагдах болно. Хэрэв та хугацааны хувьд хэзээ ч дуусахгүй + байхыг хүсвэл энэ утгыг тэг болгох юм уу эсвэл <option>-ddial</option> + тушаалын мөрийн тохируулгыг ашиглах хэрэгтэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 17:</term> + <indexterm><primary>ISP</primary></indexterm> + <listitem> + <para>Интерфэйсийн хаягуудыг тохируулна. <replaceable>x.x.x.x</replaceable> + мөрийг таны интернэтийн үйлчилгээ үзүүлэгчийн танд хуваарилсан + IP хаягаар солих шаардлагатай. <replaceable>y.y.y.y</replaceable> + мөрийг таны ISP өөрийн гарцыг (таны холбогдох машин) заасан тэр IP + хаягаар солих шаардлагатай. Хэрэв таны ISP гарцын хаягийг + танд өгөөгүй бол <hostid role="netmask">10.0.0.2/0</hostid> + гэж ашиглаарай. Хэрэв та <quote>таасан</quote> хаягийг + ашиглах хэрэгтэй бол <link + linkend="userppp-dynamicIP">PPP болон динамик IP + хаягууд</link> хэсэгт зориулсан заавруудын дагуу + <filename>/etc/ppp/ppp.linkup</filename> файлдаа + оруулга үүсгэсэн эсэхээ шалгаарай. Хэрэв энэ мөрийг орхивол + <command>ppp</command> нь <option>-auto</option> + горимд ажиллаж чадахгүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 18:</term> + + <listitem> + <para>Өөрийн ISP-ийн гарц уруу анхдагч чиглүүүлэлтийг нэмнэ. + <literal>HISADDR</literal> тусгай үгийг мөр 17 дээр + заасан гарцын хаягаар сольдог. Энэ мөр нь 17-р мөрийн дараа байх + нь чухал бөгөөд тэгэхгүй бол <literal>HISADDR</literal> нь + эхлэн тохируулагдаж амжихгүй байх юм.</para> + + <para>Хэрэв та ppp-г <option>-auto</option> горимд + ажиллуулахыг хүсэхгүй бол энэ мөрийг <filename>ppp.linkup</filename> + файлд шилжүүлэх ёстой.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Та статик IP хаягтай бөгөөд ppp-г <option>-auto</option> + горимоор ажиллуулж байгаа бол <filename>ppp.linkup</filename> файлд + оруулга нэмэх шаардлагагүй бөгөөд учир нь таныг холбогдохоос өмнө таны чиглүүлэлтийн + хүснэгтийн оруулгууд нь аль хэдийн зөв байх учраас тэр юм. Гэхдээ та + холболтын дараа програмуудыг ажиллуулах оруулга үүсгэхийг хүсэж болох + юм. Энэ нь sendmail-ийн жишээн дээр сүүлд тайлбарлагдах болно.</para> + + <para>Жишээ тохиргооны файлууд нь <filename>/usr/share/examples/ppp/</filename> + санд байрлана.</para> + </sect4> + + <sect4 id="userppp-dynamicIP"> + <title>PPP болон динамик IP хаягууд</title> + <indexterm><primary>PPP</primary><secondary>динамик IP хаягуудтай цуг</secondary></indexterm> + <indexterm><primary>IPCP</primary></indexterm> + <para>Хэрэв таны үйлчилгээ үзүүлэгч статик IP хаягуудыг олгодоггүй бол + локал болон алсын хаягууд дээр тохирдог байхаар <command>ppp</command> нь + тохируулагдаж болно. IP хаягийг <quote>таах</quote> + болон холболтын дараа IP Configuration Protocol (IPCP) + буюу IP тохиргооны протокол ашиглан зөвөөр тохируулахыг + <command>ppp</command>-д зөвшөөрөх замаар үүнийг хийнэ. + <filename>ppp.conf</filename> тохиргоо нь + дараах өөрчлөлтийн хамтаар + <link linkend="userppp-staticIP">PPP болон статик IP + хаягууд</link> хэсэгтэй адил байна:</para> + + <programlisting>17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255</programlisting> + + <para>Дахин хэлэхэд мөрийн дугаарыг битгий оруулаарай, энэ нь зөвхөн + лавлагааны зорилгоор байгаа юм. Ядаж нэг хоосон зайгаар + догол гаргах шаардлагатай.</para> + + <variablelist> + <varlistentry> + <term>Мөр 17:</term> + + <listitem> + <para><literal>/</literal> тэмдэгтийн дараах дугаар нь + ppp-ийн шаардах хаягийн битийн тоо юм. Та өөрийн нөхцөлдөө + тохируулан IP дугааруудыг ашиглахыг хүсэж болох юм, гэхдээ + дээрх жишээнүүд нь үргэлж ажиллах болно.</para> + + <para>Сүүлийн нэмэлт өгөгдөл (<literal>0.0.0.0</literal>) + нь PPP-д <hostid + role="ipaddr">10.0.0.1</hostid>-ийн оронд <hostid + role="ipaddr">0.0.0.0</hostid> хаяг ашиглан + тохиролцоог эхлүүлэхийг хэлж байгаа бөгөөд зарим нэгэн ISP-уудын + хувьд энэ нь шаардлагатай байдаг. Эхний чиглүүлэлтийг + <option>-auto</option> горимд тохируулахад PPP-д + саад болдог учраас <command>set ifaddr</command> + тушаалд <literal>0.0.0.0</literal>-г эхний нэмэлт өгөгдөл + болгон битгий ашиглаарай.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Хэрэв та <option>-auto</option> горимд ажиллахгүй байгаа бол + <filename>/etc/ppp/ppp.linkup</filename> файлд оруулга + үүсгэх хэрэгтэй болно. <filename>ppp.linkup</filename> нь + холболт тогтсоны дараа ашиглагддаг. Энэ үед <command>ppp</command> + нь интерфэйсийн хаягуудыг олгосон байх бөгөөд одоо чиглүүлэлтийн хүснэгтийн + оруулгуудыг нэмэх боломжтой болсон байх болно:</para> + + <programlisting>1 provider: +2 add default HISADDR</programlisting> + + <variablelist> + <varlistentry> + <term>Мөр 1:</term> + + <listitem> + <para>Холболт тогтоохдоо <command>ppp</command> нь + дараах дүрмүүдийн дагуу <filename>ppp.linkup</filename> файлд + оруулгыг хайх болно: Эхлээд бидний <filename>ppp.conf</filename> + файлд ашигласантай адил хаяг/шошготой таарахыг оролдоно. + Хэрэв амжилтгүй болвол бидний гарцын IP хаягийн оруулгыг хайна. + Энэ оруулга нь дөрвөн ширхэг найман битээс тогтох IP загварын + хаяг/шошго юм. Хэрэв бид тэгсэн ч гэсэн оруулга олоогүй байгаа + бол <literal>MYADDR</literal> оруулгыг хайна.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 2:</term> + + <listitem> + <para>Энэ мөр нь <literal>HISADDR</literal> уруу заасан + анхдагч чиглүүлэлт нэмэхийг <command>ppp</command>-д хэлж + байна. <literal>HISADDR</literal> нь IPCP-ээр + тохиролцсоны дагуу гарцын IP хаягаар солигдох болно.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Нарийвчилсан жишээний хувьд + <filename>/usr/share/examples/ppp/ppp.conf.sample</filename> + болон + <filename>/usr/share/examples/ppp/ppp.linkup.sample</filename> + файлууд дахь <literal>pmdemand</literal> оруулгыг харна уу.</para> + </sect4> + + <sect4> + <title>Ирж байгаа дуудлагуудыг хүлээн авах</title> + <indexterm><primary>PPP</primary><secondary>ирж байгаа дуудлагуудыг + хүлээн авах</secondary></indexterm> + <para>LAN-д холбогдсон машин дээр ирж байгаа дуудлагуудыг хүлээн авахаар + болгож <application>ppp</application>-г тохируулахдаа LAN уруу + пакетуудыг дамжуулахыг хүсэж байгаа эсэхээсээ хамаарч үүнийг шийдэх + ёстой. Хэрэв та ингэхийг хүсэж байгаа бол өөрийн LAN-ий дэд сүлжээнээс + IP хаягийг нөгөө талдаа хуваарилж өгөх хэрэгтэй бөгөөд өөрийн + <filename>/etc/ppp/ppp.conf</filename> файлд + <command>enable proxy</command> тушаалыг ашиглах хэрэгтэй. + <filename>/etc/rc.conf</filename> файл дараахийг агуулж + байгаа эсэхийг бас баталгаажуулах хэрэгтэй:</para> + + <programlisting>gateway_enable="YES"</programlisting> + </sect4> + + <sect4> + <title>Аль getty?</title> + + <para>&man.getty.8; ашиглан dial-up буюу гадагш залгах үйлчилгээнүүдийг + идэвхжүүлэх талаарх сайн тайлбарыг <link linkend="dialup">Dial-up буюу гадагш + залгах үйлчилгээнүүдэд зориулж FreeBSD-г тохируулах</link> хэсэг өгдөг.</para> + + <para><command>getty</command>-тэй төстэй програм нь + dial-up шугамуудыг бодолцож хийсэн <command>getty</command>-ийн + илүү ухаалаг хувилбар болох <ulink + url="http://www.leo.org/~doering/mgetty/index.html">mgetty</ulink> + юм.</para> + + <para><command>mgetty</command>-г ашиглахын давуу тал нь + тэрээр модемуудтай идэвхтэйгээр <emphasis>ярилцдаг</emphasis> + явдал бөгөөд энэ нь юу гэсэн үг вэ гэхээр хэрэв таны порт хаагдсан + бол модем чинь утсанд хариулахгүй гэсэн үг юм.</para> + + <para><command>mgetty</command>-ийн сүүлийн хувилбарууд нь + (0.99beta-аас эхлэн) таны клиентүүдэд скриптгүйгээр таны серверт + хандах хандалтыг зөвшөөрч PPP урсгалуудын автомат илрүүлэлтийг + бас дэмждэг.</para> + + <para><command>mgetty</command>-ийн талаарх дэлгэрэнгүй мэдээллийг + <link linkend="userppp-mgetty">Mgetty ба AutoPPP</link> + хаягаас лавлана уу.</para> + </sect4> + + <sect4> + <title><application>PPP</application> зөвшөөрлүүд</title> + + <para><command>ppp</command> тушаалыг + <username>root</username> хэрэглэгчээр хэвийн үед + ажиллуулах ёстой. Гэхдээ хэрэв та <command>ppp</command>-г + доор тайлбарласны адилаар энгийн хэрэглэгчээр серверийн + горимд ажиллуулах боломжтой болгохыг хүсэж байгаа бол + хэрэглэгчийг <command>ppp</command> ажиллуулах зөвшөөрөлтэй + болгож тэдгээрийг <filename>/etc/group</filename> файлд + <username>network</username> бүлэгт нэмэх ёстой.</para> + + <para>Та <command>allow</command> тушаалыг ашиглан тохиргооны файлын + нэг буюу хэд хэдэн хэсгүүдэд хандах боломжийг бас өгөх шаардлагатай + болно:</para> + + <programlisting>allow users fred mary</programlisting> + + <para>Хэрэв энэ тушаал нь <literal>default</literal> хэсэгт + хэрэглэгдсэн бол заасан хэрэглэгчдэд бүх зүйл уруу хандах боломжийг + олгоно.</para> + </sect4> + + <sect4> + <title>Динамик IP-тай хэрэглэгчдэд зориулсан PPP бүрхүүлүүд</title> + <indexterm><primary>PPP бүрхүүлүүд</primary></indexterm> + + <para>Дараахийг агуулсан <filename>/etc/ppp/ppp-shell</filename> + гэгдэх файлыг үүсгэнэ:</para> + + <programlisting>#!/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" + +exec /usr/sbin/ppp -direct $IDENT</programlisting> + + <para>Энэ скрипт нь ажиллахаар болсон байх ёстой. Одоо энэ скрипт уруу + <filename>ppp-dialup</filename> гэгдсэн симболын холбоосыг + дараах тушаалуудыг ашиглан үүсгэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen> + + <para>Та энэ скриптийг өөрийн бүх dialup хэрэглэгчдийн хувьд + <emphasis>бүрхүүл</emphasis> маягаар ашиглах ёстой. + Энэ нь <username>pchilds</username> гэсэн хэрэглэгчийн + нэртэй dialup PPP хэрэглэгчид зориулсан <filename>/etc/passwd</filename> + файлд байгаа жишээ юм (нууц үгийн файлыг шууд битгий засаарай, &man.vipw.8;-г + ашиглаарай).</para> + + <programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting> + + <para>Дараах 0 байт файлуудыг агуулсан бүгд бичих боломжтой + <filename>/home/ppp</filename> санг үүсгэнэ:</para> + + <screen>-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin +-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts</screen> + + <para>Энэ нь <filename>/etc/motd</filename> файлыг үзүүлэхээс + сэргийлдэг.</para> + </sect4> + + <sect4> + <title>Статик IP-тай хэрэглэгчдэд зориулсан PPP бүрхүүлүүд</title> + <indexterm><primary>PPP бүрхүүлүүд</primary></indexterm> + + <para>Дээрхийн адил <filename>ppp-shell</filename> файл үүсгээд + статикаар өгөгдсөн IP-тай бүртгэл бүрийн хувьд <filename>ppp-shell</filename> + уруу симболын холбоос үүсгэнэ.</para> + + <para>Жишээ нь хэрэв та <username>fred</username>, <username>sam</username>, болон + <username>mary</username> гэсэн гурван dialup хэрэглэгчтэй бөгөөд + тэдгээрт зориулж /24 CIDR сүлжээнүүдийг чиглүүлж байгаа бол дараах + тушаалыг ажиллуулж болох юм:</para> + + <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred</userinput> +&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam</userinput> +&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen> + + <para>Эдгээр хэрэглэгчдийн dialup бүртгэл бүр өөрсдийн бүрхүүлийг + дээр үүсгэсэн симболын холбоос уруу заасан байх ёстой (жишээ нь + <username>mary</username>-ийн бүрхүүл <filename>/etc/ppp/ppp-mary</filename> + байх ёстой).</para> + </sect4> + + <sect4> + <title>Динамик IP-тай хэрэглэгчдэд зориулж <filename>ppp.conf</filename>-г тохируулах</title> + + <para><filename>/etc/ppp/ppp.conf</filename> файл дараахтай төстэй + мөрүүдээс тогтох ёстой:</para> + + <programlisting>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</programlisting> + + <note> + <para>Догол үүсгэх нь чухал юм.</para> + </note> + + <para><literal>default:</literal> хэсэг нь хэсэг бүрийн хувьд + дуудагддаг. <filename>/etc/ttys</filename> файлд + идэвхжүүлсэн dialup мөр бүрийн хувьд дээрх <literal>ttyd0:</literal>-д + зориулсантай төстэй оруулга үүсгэнэ. Динамик хэрэглэгчдэд зориулсан + IP хаягийн цөөрмөөс мөр болгон өөр өөр IP хаяг авах ёстой.</para> + </sect4> + + <sect4> + <title>Статик IP-тай хэрэглэгчдэд зориулж <filename>ppp.conf</filename>-г тохируулах</title> + + <para>Дээрх жишээ <filename>/usr/share/examples/ppp/ppp.conf</filename> + файлын агуулгатай цуг статикаар өгөгдсөн dialup хэрэглэгч + бүрийн хувьд зохих хэсэг нэмэх шаардлагатай. Бид өөрсдийн + <username>fred</username>, <username>sam</username>, + болон <username>mary</username> хэрэглэгчидтэй жишээгээ үргэлжлүүлэх + болно.</para> + + <programlisting>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</programlisting> + + <para><filename>/etc/ppp/ppp.linkup</filename> файл хэрэв + шаардлагатай бол статик IP-тай хэрэглэгч бүрийн хувьд чиглүүлэлтийн + мэдээллийг бас агуулсан байх ёстой. Доорх мөр нь клиентийн ppp + холбоосоор <hostid role="ipaddr">203.14.101.0/24</hostid> + сүлжээнд зориулж чиглүүлэлт нэмэх болно.</para> + + <programlisting>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</programlisting> + </sect4> + + <sect4 id="userppp-mgetty"> + <title><command>mgetty</command> болон AutoPPP</title> + <indexterm> + <primary><command>mgetty</command></primary> + </indexterm> + <indexterm><primary>AutoPPP</primary></indexterm> + <indexterm><primary>LCP</primary></indexterm> + + <para><command>mgetty</command>-г <literal>AUTO_PPP</literal> + тохируулга идэвхжүүлсэн байдлаар тохируулж эмхэтгэх нь + <command>mgetty</command>-д PPP холболтуудын LCP шатыг + илрүүлж автоматаар ppp бүрхүүл ажиллуулах боломжийг олгодог. + Гэхдээ анхдагч нэвтрэлт/нууц үгийн дараалал болдоггүй болохоор + PAP аль эсвэл CHAP ашиглан хэрэглэгчдийн нэвтрэлтийг + таних шаардлагатай юм.</para> + + <para>Энэ хэсэг нь хэрэглэгч <literal>AUTO_PPP</literal> + тохируулгатайгаар <command>mgetty</command>-ийн хувилбарыг + (v0.99beta эсвэл хойшхи) амжилттайгаар тохируулж эмхэтгэн + суулгасан гэж үздэг.</para> + + <para>Таны <filename>/usr/local/etc/mgetty+sendfax/login.config</filename> + файл дараахийг агуулсан эсэхийг шалгаарай:</para> + + <programlisting>/AutoPPP/ - - /etc/ppp/ppp-pap-dialup</programlisting> + + <para>Энэ нь илрүүлсэн PPP холболтууддаа + <filename>ppp-pap-dialup</filename> скриптийг + ажиллуулахыг <command>mgetty</command>-д хэлнэ.</para> + + <para>Дараахийг агуулсан + <filename>/etc/ppp/ppp-pap-dialup</filename> файлыг + үүсгэнэ (файл ажиллах боломжтой байх ёстой):</para> + + <programlisting>#!/bin/sh +exec /usr/sbin/ppp -direct pap$IDENT</programlisting> + + <para><filename>/etc/ttys</filename>-д идэвхжүүлсэн + dialup мөр бүрийн хувьд тохирох оруулгыг + <filename>/etc/ppp/ppp.conf</filename> файлд + үүсгэнэ. Энэ нь бидний үүсгэсэн тодорхойлолтуудтай аз жаргалтайгаар + цуг байх болно.</para> + + <programlisting>pap: + enable pap + set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 + enable proxy</programlisting> + + <para>Энэ аргаар нэвтэрч байгаа хэрэглэгч бүр + <filename>/etc/ppp/ppp.secret</filename> файлд + хэрэглэгчийн нэр/нууц үгтэй байх шаардлагатай, эсвэл өөр нэг + арга нь <filename>/etc/passwd</filename> файлаас хэрэглэгчдийг + PAP-аар таньж нэвтрүүлэхийн тулд дараах тохируулгыг хийх явдал + юм.</para> + + <programlisting>enable passwdauth</programlisting> + + <para>Хэрэв та зарим хэрэглэгчдэд статик IP хаяг өгөхийг хүсвэл + та хаягийг <filename>/etc/ppp/ppp.secret</filename> + файлд гурав дахь нэмэлт өгөгдөл болгон зааж өгч болно. Жишээнүүдийг + <filename>/usr/share/examples/ppp/ppp.secret.sample</filename>-с + үзнэ үү.</para> + </sect4> + + <sect4> + <title>MS өргөтгөлүүд</title> + <indexterm><primary>DNS</primary></indexterm> + <indexterm><primary>NetBIOS</primary></indexterm> + <indexterm><primary>PPP</primary><secondary>Microsoft өргөтгөлүүд</secondary></indexterm> + <para>DNS болон NetBIOS нэрийн серверийн хаягуудыг шаардлагын дагуу + хангахаар PPP-г тохируулах боломжтой байдаг.</para> + + <para>PPP хувилбар 1.x дээр эдгээр өргөтгөлүүдийг идэвхжүүлэхийн + тулд дараах мөрүүдийг <filename>/etc/ppp/ppp.conf</filename> + файлын тохирох хэсэгт нэмэх ёстой.</para> + + <programlisting>enable msext +set ns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + + <para>PPP хувилбар 2 болон түүнээс дээшхийн хувьд:</para> + + <programlisting>accept dns +set dns 203.14.100.1 203.14.100.2 +set nbns 203.14.100.5</programlisting> + + <para>Энэ нь анхдагч болон хоёрдох нэрийн серверийн + хаягууд болон NetBIOS нэрийн серверийн хостыг клиентүүдэд хэлнэ.</para> + + <para>Хувилбар 2 болон түүнээс дээшхид <literal>set dns</literal> + мөрийг орхигдуулсан бол PPP нь <filename>/etc/resolv.conf</filename> + файлд байгаа утгуудыг ашиглах болно.</para> + </sect4> + + <sect4 id="userppp-PAPnCHAP"> + <title>PAP болон CHAP нэвтрэлт шалгалт</title> + <indexterm><primary>PAP</primary></indexterm> + <indexterm><primary>CHAP</primary></indexterm> + <para>Таны холболтын нэвтрэлт танилтын хэсгийг PAP юм уу эсвэл CHAP нэвтрэлт + танилтын аргуудыг ашиглан хийдэг байхаар зарим ISP-ууд өөрсдийн + системийг тохируулдаг. Хэрэв ийм бол таны ISP нь <prompt>login:</prompt> + хүлээх мөрийг таныг холбогдох үед харуулдаггүй бөгөөд PPP нэн даруй + ярьж эхлэх болно.</para> + + <para>PAP нь CHAP-аас аюулгүй байдлын хувьд дутуу байдаг бөгөөд + нууц үг нь PAP-аар цэвэр текст маягаар илгээгддэг боловч цуваа шугамаар зөвхөн + дамжуулагддаг болохоор аюулгүй байдал нь нууц үгүүдэд байдаг асуудал шиг биш + байдаг. Эвдлэгчдэд зориулсан <quote>сэм чагнах</quote> зай + бараг байдаггүй гэсэн үг юм.</para> + + <para><link linkend="userppp-staticIP">PPP + болон статик IP хаягууд</link> эсвэл <link + linkend="userppp-dynamicIP">PPP болон динамик IP хаягууд</link> хэсгүүдийн + хувьд дараах өөрчлөлтүүдийг хийх ёстой:</para> + + <programlisting>13 set authname <replaceable>MyUserName</replaceable> +14 set authkey <replaceable>MyPassword</replaceable> +15 set login</programlisting> + + <variablelist> + <varlistentry> + <term>Мөр 13:</term> + + <listitem> + <para>Энэ мөр нь таны PAP/CHAP хэрэглэгчийн нэрийг заана. + Та <replaceable>MyUserName</replaceable>-д + зөв утгыг оруулах хэрэгтэй болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 14:</term> + <indexterm><primary>нууц үг</primary></indexterm> + <listitem> + <para>Энэ мөр нь таны PAP/CHAP нууц үгийг заана. Та + <replaceable>MyPassword</replaceable>-д + зөв утгыг оруулах хэрэгтэй болно. Та дараах шиг нэмэлт мөр + нэмэхийг хүсэх юм уу:</para> + + <programlisting>16 accept PAP</programlisting> + + <para>эсвэл</para> + + <programlisting>16 accept CHAP</programlisting> + + <para>гэж болно. Ингэснээр үүнийг зориуд тодорхой болгох + юм, гэхдээ PAP болон CHAP-ийг хоюуланг анхдагчаар хүлээн авдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Мөр 15:</term> + + <listitem> + <para>Хэрэв та PAP эсвэл CHAP ашиглаж байгаа бол таны ISP + хэвийн үед сервер уруу нэвтрэн орохыг шаарддаггүй. Тийм болохоор та өөрийн + <quote>set login</quote> мөрийг хаах ёстой.</para> + </listitem> + </varlistentry> + </variablelist> + </sect4> + + <sect4> + <title>Өөрийн <command>ppp</command> тохиргоог явцын дунд шууд өөрчлөх нь</title> + + <para><command>ppp</command>-г ар талд далд ажиллаж байхад түүнтэй + зөвхөн тохирох оношлогооны порт тохируулагдсан тохиолдолд харилцаж болдог. + Үүнийг хийхийн тулд өөрийн тохиргоондоо дараах мөрийг нэмнэ:</para> + + <programlisting>set server /var/run/ppp-tun<replaceable>%d</replaceable> DiagnosticPassword 0177</programlisting> + + <para>Энэ нь клиентүүдийн хандалтыг зөвшөөрөхийн өмнө тэднээс нууц үгийг + асууж заасан &unix; домен сокет дээр сонсохыг PPP-д хэлнэ. + Нэрэн дэх <literal>%d</literal> нь ашиглагдаж байгаа + <devicename>tun</devicename> төхөөрөмжийн дугаараар + солигдоно.</para> + + <para>Сокет тохируулагдсаны дараа &man.pppctl.8; програм нь + ажиллаж байгаа програмыг удирдахыг хүсэж байгаа скриптүүдэд + ашиглагдаж болно.</para> + </sect4> + </sect3> + + <sect3 id="userppp-nat"> + <title>PPP-ийн Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлт боломжийг ашиглах нь</title> + <indexterm><primary>PPP</primary><secondary>NAT</secondary></indexterm> + + <para>PPP нь цөмийн divert буюу өөрчлөн дамжуулах боломжуудыг ашиглалгүйгээр + дотоод NAT-ийг ашиглах чадвартай байдаг. <filename>/etc/ppp/ppp.conf</filename> + файл дахь дараах мөрөөр энэ боломжийг идэвхжүүлж болно:</para> + + <programlisting>nat enable yes</programlisting> + + <para>Өөрөөр, PPP NAT-ийг тушаалын мөрийн <literal>-nat</literal> + тохируулгаар идэвхжүүлж болох юм. Мөн <filename>/etc/rc.conf</filename> + файлын хувьсагч <literal>ppp_nat</literal> гэж байх бөгөөд энэ нь + анхдагчаар идэвхжүүлэгдсэн байна.</para> + + <para>Хэрэв та энэ боломжийг ашиглаж байгаа бол ирж байгаа холболтуудын + цааш дамжуулалтыг идэвхжүүлэх дараах <filename>/etc/ppp/ppp.conf</filename> + файлын тохируулгуудын ашигтайг харж болох юм:</para> + + <programlisting>nat port tcp 10.0.0.2:ftp ftp +nat port tcp 10.0.0.2:http http</programlisting> + + <para>эсвэл гадна талд ерөөсөө битгий итгээрэй</para> + + <programlisting>nat deny_incoming yes</programlisting> + </sect3> + + <sect3 id="userppp-final"> + <title>Системийн сүүлийн тохиргоо</title> + <indexterm><primary>PPP</primary><secondary>тохиргоо</secondary></indexterm> + + <para>Та одоо <command>ppp</command>-г тохируулчихлаа, гэхдээ + яг ажиллахад бэлэн болохын өмнө хийх цөөн хэдэн зүйлс бий. Тэдгээр нь + бүгд <filename>/etc/rc.conf</filename> файлыг засварлуулах + болно.</para> + + <para>Энэ файлтай дээрээс доош ажиллахдаа <literal>hostname=</literal> + мөр тохируулагдсан эсэхийг шалгаарай, өөрөөр хэлбэл:</para> + + <programlisting>hostname="foo.example.com"</programlisting> + + <para>Хэрэв таны ISP танд статик IP хаяг болон нэр өгсөн бол та энэ нэрийг + хостын нэрэндээ ашиглах нь магадгүй зүйтэй юм.</para> + + <para><literal>network_interfaces</literal> хувьсагчийг хайгаарай. + Хэрэв та өөрийн системийг ISP уруугаа шаардлага хүсэлтээр залгахаар тохируулахыг + хүсвэл <devicename>tun0</devicename> төхөөрөмжийг жагсаалтад нэмсэн + эсэхээ баталгаажуулаарай, хэрэв тэгж хүсээгүй бол түүнийг устгаарай.</para> + + <programlisting>network_interfaces="lo0 tun0" +ifconfig_tun0=</programlisting> + + <note> + <para><literal>ifconfig_tun0</literal> хувьсагч хоосон байх ёстой + бөгөөд <filename>/etc/start_if.tun0</filename> гэж + нэрлэгдсэн файлыг үүсгэх ёстой. Энэ файл нь дараах мөрийг + агуулсан байх ёстой:</para> + + <programlisting>ppp -auto mysystem</programlisting> + + <para>Энэ скрипт нь сүлжээ тохируулах үед таны ppp демоныг автомат горимд + эхлүүлэн ажилладаг. Хэрэв та энэ машин гарц болж байгаа LAN-тай бол + <option>-alias</option> сонголтыг ашиглахыг хүсэж болох юм. + Илүү дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас + лавлана уу.</para> + </note> + + <para>Таны <filename>/etc/rc.conf</filename> файлд чиглүүлэлтийн + програм <literal>NO</literal> гэж дараах мөрөөр хийгдсэн эсэхийг + шалгаарай:</para> + + <programlisting>router_enable="NO"</programlisting> + + <indexterm> + <primary><application>routed</application></primary> + </indexterm> + <para><command>routed</command> демон нь эхлэхгүй байх нь чухал юм. + Учир нь <command>routed</command> нь <command>ppp</command>-ийн + үүсгэсэн анхдагч чиглүүлэлтийн хүснэгтийн оруулгуудыг устгадаг юм.</para> + + <para><literal>sendmail_flags</literal> мөр <option>-q</option> + тохируулгыг агуулаагүй эсэхийг шалгах нь магадгүй зүйтэй юм. Тэгэхгүй бол + <command>sendmail</command> нь таны машиныг гадагш залгуулан үргэлж + сүлжээний хайлт хийхийг оролдох болно. Та дараахийг тохируулж болох юм:</para> + + <programlisting>sendmail_flags="-bd"</programlisting> + + <indexterm> + <primary><application>sendmail</application></primary> + </indexterm> + <para>Үүний сул тал нь ppp холбоос тогтсон үед та дараахийг бичиж + <command>sendmail</command>-ээр захидлын дарааллыг дахин шалгуулж + байх явдал юм:</para> + + <screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen> + + <para>Та үүнийг хийхийн тулд <filename>ppp.linkup</filename> файлд + <command>!bg</command> тушаалыг ашиглахыг хүсэж болох юм:</para> + + <programlisting>1 provider: +2 delete ALL +3 add 0 0 HISADDR +4 !bg sendmail -bd -q30m</programlisting> + + <indexterm><primary>SMTP</primary></indexterm> + <para>Хэрэв танд энэ таалагдахгүй байгаа бол SMTP урсгалыг хаахын тулд + <quote>dfilter</quote>-г тохируулах боломжтой байдаг. Илүү дэлгэрэнгүй + мэдээллийг жишээ файлуудаас лавлана уу.</para> + + <para>Одоо машиныг дахин ачаалах л үлдлээ. Дахин ачаалсны дараа та + дараахийг бичиж:</para> + + <screen>&prompt.root; <userinput>ppp</userinput></screen> + + <para>дараа нь PPP сессийг эхлүүлэхийн тулд <command>dial provider</command> + тушаалыг ажиллуулах юм уу эсвэл гадагшаа урсгал байгаа (бөгөөд та + <filename>start_if.tun0</filename> скрипт үүсгээгүй) бол сессүүдийг + автоматаар тогтоодгоор <command>ppp</command>-г байлгахыг хүсэж байгаа бол + дараахийг бичээрэй:</para> + + <screen>&prompt.root; <userinput>ppp -auto provider</userinput></screen> + </sect3> + + <sect3> + <title>Дүгнэлт</title> + + <para>Дүгнэхэд ppp-г эхний удаа тохируулахад дараах алхмууд шаардлагатай:</para> + + <para>Клиент тал:</para> + + <procedure> + <step> + <para>Таны цөмд <devicename>tun</devicename> төхөөрөмж бүтээгдсэн + эсэхийг шалгана.</para> + </step> + + <step> + <para><filename>/dev</filename> санд + <filename>tun<replaceable>N</replaceable></filename> + төхөөрөмжийн файл байгаа эсэхийг шалгана.</para> + </step> + + <step> + <para><filename>/etc/ppp/ppp.conf</filename> файлд + оруулга үүсгэнэ. <filename>pmdemand</filename> жишээ нь + ихэнх ISP-уудын хувьд хангалттай байх ёстой.</para> + </step> + + <step> + <para>Хэрэв та динамик IP хаягтай бол <filename>/etc/ppp/ppp.linkup</filename> + файлд оруулга үүсгээрэй.</para> + </step> + + <step> + <para>Өөрийн <filename>/etc/rc.conf</filename> файлыг + шинэчилнэ.</para> + </step> + + <step> + <para>Хэрэв танд хэрэгцээгээр залгах шаардлага байгаа бол + <filename>start_if.tun0</filename> скрипт үүсгээрэй.</para> + </step> + </procedure> + + <para>Сервер тал:</para> + + <procedure> + <step> + <para>Таны цөмд <devicename>tun</devicename> төхөөрөмж бүтээгдсэн + эсэхийг шалгана.</para> + </step> + + <step> + <para><filename>/dev</filename> санд + <filename>tun<replaceable>N</replaceable></filename> + төхөөрөмжийн файл байгаа эсэхийг шалгана.</para> + </step> + + <step> + <para><filename>/etc/passwd</filename> файлд (&man.vipw.8; програмыг ашиглан) + оруулга үүсгэнэ.</para> + </step> + + <step> + <para>Энэ хэрэглэгчдийн гэрийн санд <command>ppp -direct direct-server</command> + юм уу эсвэл үүнтэй адилыг ажиллуулах хувийн тохиргоог (profile) + үүсгэнэ.</para> + </step> + + <step> + <para><filename>/etc/ppp/ppp.conf</filename> файлд оруулга үүсгэнэ. + <filename>direct-server</filename> жишээ хангалттай байх + ёстой.</para> + </step> + + <step> + <para><filename>/etc/ppp/ppp.linkup</filename> файлд оруулга үүсгэнэ.</para> + </step> + + <step> + <para>Өөрийн <filename>/etc/rc.conf</filename> файлыг шинэчилнэ.</para> + </step> + </procedure> + </sect3> + </sect2> + </sect1> + + <sect1 id="ppp"> + <sect1info> + <authorgroup> + <author> + <firstname>Генадий Б.</firstname> + <surname>Сорокопуд</surname> + <contrib>Хэсгүүдийг анхлан хувь нэмэр болгон оруулсан </contrib> + </author> + <author> + <firstname>Роберт</firstname> + <surname>Хафф</surname> + </author> + </authorgroup> + </sect1info> + + <title>Цөмийн PPP-г ашиглах</title> + + <sect2> + <title>Цөмийн PPP тохируулах</title> + <indexterm><primary>PPP</primary><secondary>цөмийн PPP</secondary></indexterm> + + <para>Та өөрийн машин дээр PPP-г тохируулж эхлэхээсээ өмнө + <command>pppd</command> нь + <filename>/usr/sbin</filename> санд байгаа болон + <filename>/etc/ppp</filename> сан байгаа эсэхийг шалгаарай.</para> + + <para><command>pppd</command> нь хоёр горимд ажиллах чаддаг:</para> + + <orderedlist> + <listitem> + <para><quote>Клиент</quote> маягаар — та өөрийн машиныг + гаднах ертөнц уруу PPP цуваа холболтоор эсвэл модемийн шугамаар + холбохыг хүсдэг.</para> + </listitem> + + <indexterm><primary>PPP</primary><secondary>сервер</secondary></indexterm> + <listitem> + <para><quote>Сервер</quote> маягаар — Таны машин сүлжээн + дээр байгаа бөгөөд бусад компьютеруудыг PPP ашиглан холбоход + хэрэглэгдэнэ.</para> + </listitem> + </orderedlist> + + <para>Аль ч тохиолдол байлаа гэсэн та тохируулгуудын файлыг + (<filename>/etc/ppp/options</filename> эсвэл + хэрэв та PPP ашиглаж байгаа өөрийн машин дээрээ нэгээс илүү олон хэрэглэгчидтэй бол + <filename>~/.ppprc</filename>) тохируулах хэрэгтэй + болно.</para> + + <para>Та залгаж алсын хосттой холболт тогтоохын тулд + танд бас зарим модем/цуваа програм хангамж + (<filename role="package">comms/kermit</filename>-г аль болох эрхэмлэх) + хэрэгтэй болно.</para> + </sect2> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Трев</firstname> + <surname>Ройдхауз</surname> + <contrib>Based on information provided by </contrib> + <!-- Trev.Roydhouse@f401.n711.z3.fidonet.org --> + </author> + </authorgroup> + </sect2info> + + <title><command>pppd</command>-г клиент маягаар ашиглах</title> + <indexterm><primary>PPP</primary><secondary>клиент</secondary></indexterm> + <indexterm><primary>Cisco</primary></indexterm> + <para>Дараах <filename>/etc/ppp/options</filename> файл нь + Cisco терминал серверийн PPP шугам уруу холбогдоход хэрэглэгдэж болох юм.</para> + + <programlisting>crtscts # enable hardware flow control +modem # modem control line +noipdefault # remote PPP server must supply your IP address + # 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> # 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> + +defaultroute # put this if you want that PPP server will be your + # default router</programlisting> + + <para>Холбогдохын тулд:</para> + + <indexterm><primary>Kermit</primary></indexterm> + <indexterm><primary>модем</primary></indexterm> + <procedure> + <step> + <para>Алсын хост уруу <application>Kermit</application> + (эсвэл өөр бусад модемийн програм) ашиглан залгаж өөрийн хэрэглэгчийн нэр болон нууц үгийг + (эсвэл алсын хост дээр PPP-г идэвхжүүлэхэд шаардлагатай + тэр зүйлийг) оруулна.</para> + </step> + + <step> + <para><application>Kermit</application>-с гарна (шугамыг таслалгүйгээр).</para> + </step> + + <step> + <para>Дараахийг оруулна:</para> + + <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen> + + <para>Тохирох хурд болон төхөөрөмжийн нэрийг ашиглахаа мартуузай.</para> + </step> + </procedure> + + <para>Одоо таны компьютер PPP-тэй холбогдлоо. Хэрэв холболт амжилтгүй + болбол та <filename>/etc/ppp/options</filename> файлд + <option>debug</option> тохируулгыг нэмж асуудлыг олохын тулд + консолийн мэдэгдлүүдийг шалгана.</para> + + <para>Дараах <filename>/etc/ppp/pppup</filename> скрипт нь + бүх 3 алхмыг автомат болгоно:</para> + + <programlisting>#!/bin/sh +ps ax |grep pppd |grep -v grep +pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +if [ "X${pid}" != "X" ] ; then + echo 'killing pppd, PID=' ${pid} + kill ${pid} +fi +ps ax |grep kermit |grep -v grep +pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +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</programlisting> + + <indexterm><primary>Kermit</primary></indexterm> + <para><filename>/etc/ppp/kermit.dial</filename> нь <application>Kermit</application> + скрипт бөгөөд гадагш залгаж бүх шаардлагатай нэвтрэлт таниулалтыг алсын хост дээр + хийдэг (энэ баримтын төгсгөлд ийм скриптийн жишээ хавсаргагдсан болно).</para> + + <para>Дараах <filename>/etc/ppp/pppdown</filename> скриптийг ашиглаж + PPP шугамыг салгаж болно:</para> + + <programlisting>#!/bin/sh +pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +if [ X${pid} != "X" ] ; then + echo 'killing pppd, PID=' ${pid} + kill -TERM ${pid} +fi + +ps ax |grep kermit |grep -v grep +pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +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</programlisting> + + <para><command>pppd</command> ажиллаж байгаа эсэхийг шалгахын тулд + <filename>/usr/etc/ppp/ppptest</filename>-г ажиллуулна. Энэ нь + иймэрхүү харагдах ёстой:</para> + + <programlisting>#!/bin/sh +pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'` +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</programlisting> + + <para>Модемийг салгаж буцааж залгахын тулд + <filename>/etc/ppp/kermit.hup</filename>-г ажиллуулна. Энэ нь + дараахийг агуулах ёстой:</para> + + <programlisting>set line /dev/tty01 ; put your modem device here +set speed 19200 +set file type binary +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 + +pau 1 +out +++ +inp 5 OK +out ATH0\13 +echo \13 +exit</programlisting> + + <para>Энд <command>kermit</command> тушаалын оронд + <command>chat</command> тушаал хэрэглэх өөр арга байна:</para> + + <para>Дараах хоёр мөр нь <command>pppd</command> холболтыг + хийхэд хангалттай байдаг.</para> + + <para><filename>/etc/ppp/options</filename>:</para> + + <programlisting>/dev/cuaa1 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 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> + +defaultroute # put this if you want that PPP server will be + # your default router</programlisting> + + <para><filename>/etc/ppp/login.chat.script</filename>:</para> + + <note> + <para>Дараах нь нэг мөрөнд байх ёстой.</para> + </note> + + <programlisting>ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number> + CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id> + TIMEOUT 5 sword: <password></programlisting> + + <para>Эдгээр нь суулгагдаж зөв болж өөрчлөгдсөний дараа таны хийх ганц зүйл бол + <command>pppd</command>-г иймэрхүү маягаар ажиллуулах явдал юм:</para> + + <screen>&prompt.root; <userinput>pppd</userinput></screen> + </sect2> + + <sect2> + <title><command>pppd</command>-г сервер маягаар ашиглах</title> + + <para><filename>/etc/ppp/options</filename> файл нь доорхтой төстэйг + агуулах ёстой:</para> + + <programlisting>crtscts # Hardware flow control +netmask 255.255.255.0 # netmask (not required) +192.114.208.20:192.114.208.165 # IP's of local and remote hosts + # local ip must be different from one + # you assigned to the Ethernet (or other) + # interface on your machine. + # remote IP is IP address that will be + # assigned to the remote machine +domain ppp.foo.com # your domain +passive # wait for LCP +modem # modem line</programlisting> + + <para>Дараах <filename>/etc/ppp/pppserv</filename> скрипт нь + <application>pppd</application>-г сервер маягаар ажиллахыг + заах болно:</para> + + <programlisting>#!/bin/sh +ps ax |grep pppd |grep -v grep +pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +if [ "X${pid}" != "X" ] ; then + echo 'killing pppd, PID=' ${pid} + kill ${pid} +fi +ps ax |grep kermit |grep -v grep +pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +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</programlisting> + + <para>Серверийг зогсоохын тулд энэ <filename>/etc/ppp/pppservdown</filename> + скриптийг ашиглана:</para> + + <programlisting>#!/bin/sh +ps ax |grep pppd |grep -v grep +pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +if [ "X${pid}" != "X" ] ; then + echo 'killing pppd, PID=' ${pid} + kill ${pid} +fi +ps ax |grep kermit |grep -v grep +pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +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</programlisting> + + <para>Дараах <application>Kermit</application> скрипт нь + (<filename>/etc/ppp/kermit.ans</filename>) таны модем дээр автомат + хариулагчийг нээх/хаах болно. Энэ нь иймэрхүү харагдах ёстой:</para> + + <programlisting>set line /dev/tty01 +set speed 19200 +set file type binary +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 + +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</programlisting> + + <para><filename>/etc/ppp/kermit.dial</filename> гэсэн нэртэй скрипт + нь гадагш залгаж алсын хост дээр нэвтрэлт таниулахад хэрэглэгддэг. Та үүнийг + өөрийн хэрэгцээнд зориулан өөрчлөх хэрэгтэй болно. Өөрийн нэвтрэх нэр + болон нууц үгийг энэ скриптэд оруулах хэрэгтэй; та бас оролтын илэрхийллийг + таны модем болон алсын хостоос ирэх хариунуудаас хамааран өөрчлөх хэрэгтэй болно.</para> + + <programlisting>; +; 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, +set input echo on +set input timeout proceed +set input case ignore +def \%x 0 ; login prompt counter +goto slhup + +: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 ; hang up the phone +clear ; Clear unread characters from input buffer +pause 1 +echo Hanging up the phone. +output ath0\13 ; hayes command for on hook +input 2 OK\13\10 +if fail goto slcmd ; if no OK answer, put modem in command mode + +:sldial ; dial the number +pause 1 +echo Dialing. +output atdt9,550311\13\10 ; put phone number here +assign \%x 0 ; zero the time counter + +:look +clear ; Clear unread characters from input buffer +increment \%x ; Count the seconds +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 ; login +assign \%x 0 ; zero the time counter +pause 1 +echo Looking for login prompt. + +: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. Check the telephone line!\7 +exit 1 + +; local variables: +; mode: csh +; comment-start: "; " +; comment-start-skip: "; " +; end:</programlisting> + </sect2> + </sect1> + + <sect1 id="ppp-troubleshoot"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- 13 June 2003 --> + </sect1info> + <title><acronym>PPP</acronym> холболтуудын алдааг олж засварлах</title> + + <indexterm><primary>PPP</primary><secondary>алдааг олж засварлах</secondary></indexterm> + + <para>Энэ хэсэг нь PPP-г модемийн холболтоор ашиглах үед гарч болох + цөөн асуудлуудыг хамрах болно. Жишээ нь магадгүй танд + залгаж холбогдох гэж байгаа систем чинь яг ямар хүлээх мөрүүдийг үзүүлэхийг + мэдэх шаардлагатай байж болох юм. Зарим <acronym>ISP</acronym>-ууд + <literal>ssword</literal> хүлээх мөрийг үзүүлдэг бол зарим нь + <literal>password</literal> гэж үзүүлэх болно; хэрэв + <command>ppp</command> скрипт нь түүний дагуу бичигдээгүй бол + нэвтрэх оролдлого амжилтгүй болох болно. <command>ppp</command> + холболтуудыг дибаг хийх хамгийн түгээмэл арга бол гараар холбогдох + явдал юм. Дараах мэдээлэл нь алхам алхмаар гар холболтыг танд тайлбарлах + болно.</para> + + <sect2> + <title>Төхөөрөмжийн цэгүүдийг шалгана</title> + + <para>Хэрэв та өөрийн цөмийг дахин тохируулсан бол + <devicename>sio</devicename> төхөөрөмжийг санах хэрэгтэй. + Хэрэв та өөрийн цөмийг тохируулаагүй бол санаа зовох хэрэггүй. + Модем төхөөрөмжийн хувьд <command>dmesg</command> + гаралтыг шалгаарай:</para> + + <screen>&prompt.root; <userinput>dmesg | grep sio</userinput></screen> + + <para>Та <devicename>sio</devicename> төхөөрөмжүүдийн + талаар тохирох мэдээллүүдийг авах ёстой. Эдгээр нь бидэнд + хэрэгтэй COM портууд юм. Хэрэв таны модем стандарт цуваа + порт шиг ажиллаж байвал та түүнийг <devicename>sio1</devicename>, + эсвэл <devicename>COM2</devicename> дээр жагсаагдсан + байхыг харах ёстой. Хэрэв тийм бол та цөмийг дахин бүтээх шаардлагагүй + юм. sio модем <devicename>sio1</devicename> дээр + эсвэл хэрэв та DOS дээр байгаа бол <devicename>COM2</devicename> дээр + таарч байвал таны модемийн төхөөрөмж + <filename>/dev/cuaa1</filename> байх болно.</para> + </sect2> + + <sect2> + <title>Гараар холбогдох нь</title> + + <para>Гараар <command>ppp</command>-г хянаж Интернетэд холбогдох нь + холболтыг дибаг хийх юм уу эсвэл ердөө л таны + <acronym>ISP</acronym> чинь <command>ppp</command> + клиент холболтуудад хэрхэн ханддаг талаар мэдээлэл авахад + хурдан, хялбар, агуу арга байдаг. Тушаалын мөрөөс <application>PPP</application>-г + эхлүүлье. Бидний бүх жишээнүүд дээр бид <application>PPP</application> + ажиллуулж байгаа машины хостын нэрийг <emphasis>example</emphasis> + гэж авч ашиглах болно. Та <command>ppp</command>-г + <command>ppp</command> гэж бичин эхлүүлнэ:</para> + + <screen>&prompt.root; <userinput>ppp</userinput></screen> + + <para>Бид одоо <command>ppp</command>-г эхлүүллээ.</para> + + <screen>ppp ON example> <userinput>set device <filename>/dev/cuaa1</filename></userinput></screen> + + <para>Бид өөрсдийн модемний төхөөрөмжийг тохируулна. Энэ тохиолдолд + <devicename>cuaa1</devicename> болно.</para> + + <screen>ppp ON example> <userinput>set speed 115200</userinput></screen> + + <para>Холболтын хурдыг тохируулна. Энэ тохиолдолд бид + 115,200 <acronym>kbps</acronym>-г ашиглаж байна.</para> + + <screen>ppp ON example> <userinput>enable dns</userinput></screen> + + <para>Бидний нэр танигчийг тохируулж <filename>/etc/resolv.conf</filename> + файлд нэрийн серверүүдийн мөрүүдийг нэмэхийг <command>ppp</command>-д + хэлнэ. <command>ppp</command> бидний хостын нэрийг тодорхойлж + чадахгүй байгаа бол бид дараа нь гараараа тохируулж өгч болно.</para> + + <screen>ppp ON example> <userinput>term</userinput></screen> + + <para>Модемийг гараар хянаж чадаж байхын тулд <quote>Терминал</quote> + горимд шилжих хэрэгтэй.</para> + + <programlisting>deflink: Entering terminal mode on <filename>/dev/cuaa1</filename> +type '~h' for help</programlisting> + + <screen><userinput>at</userinput> +OK +<userinput>atdt<replaceable>123456789</replaceable></userinput></screen> + + <para>Модемийг эхлүүлэхийн тулд <command>at</command>-г ашиглаж + дараа нь <command>atdt</command> дээр өөрийн <acronym>ISP</acronym>-ийн + дугаараа нэмээд залгах процессоо эхлэх хэрэгтэй.</para> + + <screen>CONNECT</screen> + + <para>Холболтын баталгаа гарах ёстой, хэрэв бид тоног төхөөрөмжтэй холбоогүй ямар нэг холболтын + асуудлуудтай байх бол энд бид тэдгээрийг шийдэхийг оролдох болно.</para> + + <screen>ISP Login:<userinput>myusername</userinput></screen> + + <para>Энд танаас хэрэглэгчийн нэрийг асуух болно, <acronym>ISP</acronym>-ээс + өгсөн хэрэглэгчийн нэрийг оруулаад буцахыг дарна.</para> + + <screen>ISP Pass:<userinput>mypassword</userinput></screen> + + <para>Энэ удаад нууц үгийг асуух болно, <acronym>ISP</acronym>-ээс + өгсөн нууц үгээр хариулах хэрэгтэй. Яг л &os; уруу нэвтрэн ордог + шиг нууц үг нь буцаж дэлгэцэд харагдахгүй.</para> + + <screen>Shell or PPP:<userinput>ppp</userinput></screen> + + <para>Таны <acronym>ISP</acronym>-ээс хамаараад энэ хүлээх + мөр нь хэзээ ч гарахгүй байж болох юм. Энд биднээс үйлчилгээ үзүүлэгч + дээр бүрхүүл ашиглах эсэх эсвэл <command>ppp</command> + эхлүүлэх эсэхийг асуудаг. Энэ жишээн дээр бид Интернэт холболтыг + хүсэж байгаа болохоор <command>ppp</command>-г ашиглахаар + сонгосон.</para> + + <screen>Ppp ON example></screen> + + <para>Энэ жишээн дээр эхний <option>p</option> тохируулга + томоор бичигдсэнийг хараарай. Энэ нь бид <acronym>ISP</acronym>-д + амжилттайгаар холбогдсоныг харуулж байна.</para> + + <screen>PPp ON example></screen> + + <para>Бид <acronym>ISP</acronym>-д амжилттайгаар + өөрсдийгөө таниулан нэвтэрч заагдсан <acronym>IP</acronym> + хаягийг хүлээж байна.</para> + + <screen>PPP ON example></screen> + + <para>Бид <acronym>IP</acronym> хаяг дээрээ зөвшилцөж холболтоо + амжилттайгаар хийж дуусгалаа.</para> + + <screen>PPP ON example><userinput>add default HISADDR</userinput></screen> + + <para>Энд бид өөрсдийн анхдагч чиглүүлэлтээ нэмж байна. Бид үүнийг + гаднах ертөнцтэй ярьж эхлэхээсээ өмнө хийх ёстой бөгөөд одоогоор + зөвхөн хийгдсэн холболт нь нөгөө талтайгаа хийгдсэн холболт байгаа + болно. Хэрэв энэ нь байгаа чиглүүлэлтүүдээсээ болоод амжилтгүй + болбол та <option>add</option> тохируулгын өмнө + анхаарлын тэмдэг <literal>!</literal> тавьж болно. + Өөрөөр та үүнийг жинхэнэ холболт хийхээсээ өмнө тохируулж болох + бөгөөд энэ нь шинэ чиглүүлэлтийг зохих ёсоор тохиролцоно.</para> + + <para>Хэрэв бүх зүйл сайн болж өнгөрсөн бол бид одоо идэвхтэй Интернетийн + холболттой болсон байх бөгөөд үүнийг ар талд <keycombo + action="simul"><keycap>CTRL</keycap> + <keycap>z</keycap></keycombo> хослолоор оруулж болох юм. + Хэрэв та <command>PPP</command>-г <command>ppp</command> + болохыг анзаарах юм бол бид өөрсдийн холболтоо алдсан гэсэн үг юм. + Энэ нь бидний холболтын төлөвийг үзүүлдэг болохоор мэдэхэд илүүдэхгүй + юм. Том P үсэгнүүд нь бид <acronym>ISP</acronym> уруу холболттой + байгааг үзүүлэх бөгөөд жижиг p үсэгнүүд нь холболт ямар нэг шалтгаанаар + тасарсныг харуулна. <command>ppp</command> нь зөвхөн эдгээр хоёр + төлөвтэй байдаг.</para> + + <sect3> + <title>Дибаг хийх нь</title> + + <para>Хэрэв та шууд шугамтай бөгөөд холболт хийж чадахгүй байгаа юм + шиг санагдвал <acronym>CTS/RTS</acronym> тоног төхөөрөмжийн урсгалыг + <option>set ctsrts off</option> болгон хаах хэрэгтэй. + Энэ нь ялангуяа та <application>PPP</application> хийж чаддаг + терминал серверт холбогдох тохиолдол юм. Энэ тохиолдолд + <application>PPP</application> нь таны холбооны шугам дээр + өгөгдлийг бичихээр оролдох үед өлгөгдөж хэзээ ч ирэхгүй байж болох + <acronym>CTS</acronym> юм уу эсвэл Clear To Send буюу Илгээхэд + Цэвэр дохиог хүлээж байж болох юм. Хэрэв та энэ тохируулгыг ашиглах + юм бол <option>set accmap</option> тохируулгыг бас хэрэглэх + шаардлагатай. Энэ тохируулга нь зарим нэг параметрүүдийг, ихэнх тохиолдолд + XON/XOFF-г төгсгөлөөс төгсгөлд дамжуулахад тоног төхөөрөмжийн хувьд + хамааралтай байдлыг үгүй хийхийн тулд шаардлагатай байж болох юм. + Энэ тохируулгын талаар дэлгэрэнгүй мэдээллийг болон хэрхэн ашиглагддаг талаар + &man.ppp.8; гарын авлагын хуудаснаас үзнэ үү.</para> + + <para>Хэрэв та хуучин модемтой бол <option>set parity even</option> + тохируулгыг ашиглах хэрэгтэй болж болох юм. Parity нь анхдагчаар + none буюу байхгүй гэж тохируулагдсан байдаг боловч хуучин модемууд + болон <acronym>ISP</acronym>-уудад (урсгалын хувьд их хэмжээгээр ихсэхэд) + алдаа шалгахад хэрэглэгддэг. Compuserve <acronym>ISP</acronym>-ийн + хувьд танд энэ тохируулга хэрэгтэй байж болох юм.</para> + + <para><application>PPP</application> нь тушаалын горимд буцахгүй + байж болох юм. Энэ нь ихэвчлэн <acronym>ISP</acronym> нь танаас харилцан + тохиролцохыг эхлүүлэхийг хүлээх тохиролцооны алдаа байдаг. Энэ үед + <command>~p</command> тушаалыг ашиглах нь ppp-г тохиргооны мэдээллээ + илгээж эхлэхэд хүргэх болно.</para> + + <para>Хэрэв та нэвтрэлт хүлээх мөрийг хэзээ ч авахгүй байгаа бол та магадгүй + дээрх жишээн дээрх &unix; загварын нэвтрэлт танилтын оронд <acronym>PAP</acronym> + юм уу эсвэл <acronym>CHAP</acronym> нэвтрэлт танилтыг ашиглах + хэрэгтэй байж болох юм. <acronym>PAP</acronym> эсвэл <acronym>CHAP</acronym>-г + ашиглахын тулд ердөө л дараах тохируулгуудыг <application>PPP</application>-д + терминал горим уруу орохоос өмнө нэмэх хэрэгтэй:</para> + + <screen>ppp ON example> <userinput>set authname <replaceable>myusername</replaceable></userinput></screen> + + <para>Дээр байгаа <replaceable>myusername</replaceable>-г + <acronym>ISP</acronym>-с өгөгдсөн хэрэглэгчийн нэрээр солих + шаардлагатай.</para> + + <screen>ppp ON example> <userinput>set authkey <replaceable>mypassword</replaceable></userinput></screen> + + <para>Дээр байгаа <replaceable>mypassword</replaceable>-г + <acronym>ISP</acronym>-с өгөгдсөн нууц үгээр солих + шаардлагатай.</para> + + <para>Хэрэв та зүгээр холбогдсон мөртлөө ямар ч домен нэр + олохгүй байгаа юм шиг байвал &man.ping.8; тушаалыг + <acronym>IP</acronym> хаягтай ашиглаж ямар нэг мэдээлэл буцаж + ирж байгаа эсэхийг шалгах хэрэгтэй. Хэрэв та 100 хувийн (100%) + пакетийн алдагдалд орж байвал танд бараг л анхдагч чиглүүлэлт заагдаагүй + байгаа гэсэн үг юм. Холболтын үеэр + <option>add default HISADDR</option> тохируулга тохируулагдсан + эсэхийг давхар шалгаарай. Хэрэв та алсын <acronym>IP</acronym> + хаяг уруу холбогдож чадаж байвал нэр танигчийн хаяг <filename>/etc/resolv.conf</filename> + файлд нэмэгдээгүй байх магадлалтай юм. Энэ файл нь иймэрхүү + харагдах ёстой:</para> + + <programlisting>domain <replaceable>example.com</replaceable> +nameserver <replaceable>x.x.x.x</replaceable> +nameserver <replaceable>y.y.y.y</replaceable></programlisting> + + <para>Дээр байгаа <replaceable>x.x.x.x</replaceable> болон + <replaceable>y.y.y.y</replaceable> нь таны + <acronym>ISP</acronym>-ийн DNS серверүүдийн + <acronym>IP</acronym> хаягаар солигдох ёстой. Таныг үйлчилгээнд + эхэлж бүртгүүлэхэд энэ мэдээлэл өгөгдсөн юм уу эсвэл өгөгдөөгүй байж болох + бөгөөд өөрийн <acronym>ISP</acronym> уруугаа хурдхан утасдаж + энэ мэдээллийг мэдэж болох юм.</para> + + <para>Та өөрийн <application>PPP</application> холболтондоо + зориулж &man.syslog.3;-г бүртгэл бичихээр болгож болно. + Дараах:</para> + + <programlisting>!ppp +*.* /var/log/ppp.log</programlisting> + + <para>мөрийг <filename>/etc/syslog.conf</filename> файлд нэмнэ. + Ихэнх тохиолдолд энэ боломж аль хэдийн орсон байдаг.</para> + + </sect3> + </sect2> + </sect1> + + + + + <sect1 id="pppoe"> + <sect1info> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Хувь нэмэр болгон (http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html хаягаас) оруулсан </contrib> + </author> + </authorgroup> + <!-- 10 Jan 2000 --> + </sect1info> + + <title>Ethernet дээгүүр PPP ашиглах нь (PPPoE)</title> + <indexterm><primary>PPP</primary><secondary>Ethernet дээгүүр</secondary></indexterm> + <indexterm> + <primary>PPPoE</primary> + <see>PPP, Ethernet дээгүүр</see> + </indexterm> + + <para>Энэ хэсэг нь Ethernet дээгүүр PPP (<acronym>PPPoE</acronym>) + хэрхэн тохируулах талаар тайлбарлах болно.</para> + + <sect2> + <title>Цөмийг тохируулах нь</title> + + <para>Одоо PPPoE-д зориулсан цөмийн тохиргоо шаардлагатай байхаа больжээ. + Хэрэв шаардлагатай netgraph-ийн дэмжлэг цөмд бүтээгдээгүй бол энэ нь + динамикаар <application>ppp</application>-ээр дуудагдах болно.</para> + </sect2> + + <sect2> + <title><filename>ppp.conf</filename> файлыг тохируулах</title> + + <para>Энд ажилладаг <filename>ppp.conf</filename> + файлын жишээ байна:</para> + + <programlisting>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:<replaceable>xl1</replaceable> # replace xl1 with your Ethernet device + set authname YOURLOGINNAME + set authkey YOURPASSWORD + set dial + set login + add default HISADDR</programlisting> + + </sect2> + + <sect2> + <title><application>ppp</application>-г ажиллуулах</title> + + <para><username>root</username> хэрэглэгчээр та дараахийг ажиллуулж болно:</para> + + <screen>&prompt.root; <userinput>ppp -ddial name_of_service_provider</userinput></screen> + + </sect2> + + <sect2> + <title><application>ppp</application>-г ачаалах үед эхлүүлэх</title> + + <para>Дараахийг өөрийн <filename>/etc/rc.conf</filename> файлд нэмнэ:</para> + + <programlisting>ppp_enable="YES" +ppp_mode="ddial" +ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO +ppp_profile="name_of_service_provider"</programlisting> + </sect2> + + <sect2> + <title>PPPoE үйлчилгээний хаягийг ашиглах</title> + + <para>Заримдаа өөрийн холболтыг хийхийн тулд үйлчилгээний хаягийг ашиглах + шаардлагатай болж болох юм. Үйлчилгээний хаягууд нь өгөгдсөн сүлжээнд + залгагдсан өөр өөр PPPoE серверүүдийг ялгахын тулд хэрэглэгддэг.</para> + + <para>Таны ISP-ээс өгсөн баримтад шаардлагатай үйлчилгээний хаягийн мэдээлэл + байх ёстой. Хэрэв та ийм мэдээлэл олоогүй бол өөрийн ISP-ийн техникийн + дэмжлэг үзүүлэгч ажилтнаас асуугаарай.</para> + + <para>Хамгийн сүүлд та <link linkend="ports">Портын цуглуулга</link>д + байх <ulink url="http://www.roaringpenguin.com/pppoe/">Архирах Оцон шувуу + PPPoE</ulink> хаягт санал болгосон аргыг туршиж болох юм. Гэхдээ + энэ нь таны модемийг буцаан програмчилж ажиллагаагүй болгож магадгүй + болохоор үүнийг хийхээсээ өмнө дахин бодоорой. Таны үйлчилгээ үзүүлэгчийн + модемтой цуг ирсэн програмыг ердөө л суулгаарай. Дараа нь програмаас + <guimenu>System</guimenu> цэсд хандаарай. Таны тохиргооны нэр + тэнд жагсаагдсан байх ёстой. Энэ нь ихэвчлэн <emphasis>ISP</emphasis> + гэж байдаг.</para> + + <para>Тохиргооны нэр (үйлчилгээний хаяг) нь <filename>ppp.conf</filename> + файл дахь PPPoE тохиргооны оруулгад <command>set device</command> + тушаалын үйлчилгээ үзүүлэгч хэсэг болон ашиглагдах болно (бүрэн мэдээллийг + &man.ppp.8; гарын авлагын хуудаснаас үзнэ үү). Энэ нь иймэрхүү + харагдах ёстой:</para> + + <programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable></programlisting> + + <para><replaceable>xl1</replaceable>-г өөрийн Ethernet картны + зөв төхөөрөмжөөр солихоо мартуузай.</para> + <para><replaceable>ISP</replaceable> гэснийг дээрх дөнгөж + олсон тохиргоогоор солихоо мартуузай.</para> + + <para>Нэмэлт мэдээллийг доорх хаягуудаас үзнэ үү:</para> + + <itemizedlist> + <listitem> + <para>Рено Валдурагийн <ulink + url="http://renaud.waldura.com/doc/freebsd/pppoe/">DSL дээр + FreeBSD-ээр арай хямд өргөн зурвас ашиглах (Cheaper + Broadband with FreeBSD on DSL)</ulink>.</para> + </listitem> + + <listitem> + <para>Удо Эрделхоффийн <ulink + url="http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html"> + Nutzung von T-DSL und T-Online mit FreeBSD</ulink> + (Герман хэл дээр).</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2 id="ppp-3com"> + + <title>&tm.3com; <trademark class="registered">HomeConnect</trademark> ADSL Хос Холбоос Модемтой PPPoE</title> + + <para>Энэ модем нь <ulink + url="http://www.faqs.org/rfcs/rfc2516.html">RFC 2516</ulink> + (Л. Мамакос, К. Лидл, Ж. Эвартс, + Д. Каррел, Д. Симоне, болон Р. Вийлэр нарын бичсэн + <emphasis>PPP-г Ethernet дээгүүр (PPPoE) дамжуулах арга + </emphasis>) стандартыг дагадаггүй. Харин Ethernet хүрээнүүдийн + хувьд пакетийн төрлийн өөр кодуудыг ашигладаг. Хэрэв та үүнийг + PPPoE-ийн тодорхойлолтыг мөрдөх ёстой гэж бодож байгаа бол + <ulink url="http://www.3com.com/">3Com</ulink> уруу + гомдоллоно уу.</para> + + <para>Энэ төхөөрөмжтэй FreeBSD-г холбогдох боломжтой болгохын тулд + sysctl тохируулагдах ёстой. <filename>/etc/sysctl.conf</filename> + файлыг шинэчилж ачаалалтын үед энэ нь автоматаар хийгдэж болно:</para> + + <programlisting>net.graph.nonstandard_pppoe=1</programlisting> + + <para>эсвэл дараах тушаалаар нэн даруй хийгдэж болно:</para> + + <screen>&prompt.root; <userinput>sysctl net.graph.nonstandard_pppoe=1</userinput></screen> + + <para>Харамсалтай нь энэ нь системийн дагуух тохиргоо болохоор + хэвийн PPPoE клиент эсвэл сервер болон + &tm.3com; <trademark class="registered">HomeConnect</trademark> ADSL + модемтой нэгэн зэрэг холбогдох боломжгүй болох юм.</para> + + </sect2> + </sect1> + + <sect1 id="pppoa"> + <title>ATM дээгүүр <application>PPP</application> (PPPoA) ашиглах</title> + <indexterm><primary>PPP</primary><secondary>ATM дээгүүр</secondary></indexterm> + <indexterm> + <primary>PPPoA</primary> + <see>PPP, ATM дээгүүр</see> + </indexterm> + + <para>Дараах нь ATM дээгүүр PPP-г (PPPoA) хэрхэн тохируулах талаар тайлбарлана. + PPPoA нь Европийн DSL үзүүлэгчдийн дунд алдартай сонголт болдог.</para> + + <sect2> + <title>Alcatel &speedtouch; USB-тэй PPPoA-г ашиглах нь</title> + + <para>Энэ төхөөрөмжийн PPPoA дэмжлэг нь FreeBSD-д порт хэлбэрээр + байдаг. Учир нь үүний firmware <ulink + url="http://www.speedtouchdsl.com/disclaimer_lx.htm">Alcatel-ийн лицензийн + гэрээ</ulink>гээр түгээгддэг бөгөөд FreeBSD-ийн үндсэн системтэй цуг + чөлөөтэй түгээгдэж болдоггүй.</para> + + <para>Програм хангамжийг суулгахын тулд ердөө л <link + linkend="ports">Портуудын цуглуулгыг</link> ашиглана. + <filename role="package">net/pppoa</filename> портыг суулгаад + түүнтэй хамт ирсэн заавруудыг дагаарай.</para> + + <para>Олон USB төхөөрөмжүүдийн адил Alcatel-ийн &speedtouch; USB нь + зөв ажиллахын тулд хост компьютераас firmware татах хэрэгтэй болдог. + &os; дээр энэ дамжуулалт нь төхөөрөмж USB порт уруу холбогдсон үед хийгдэхээр + болгож энэ процессийг автоматчилах боломжтой. Энэ автомат firmware дамжуулалтыг + идэвхжүүлэхийн тулд дараах мэдээллийг <filename>/etc/usbd.conf</filename> + файлд нэмж болох юм. Энэ файлыг <username>root</username> + хэрэглэгчээр засварлах шаардлагатай.</para> + + <programlisting>device "Alcatel SpeedTouch USB" + devname "ugen[0-9]+" + vendor 0x06b9 + product 0x4061 + attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"</programlisting> + + <para><application>usbd</application> USB демоныг идэвхжүүлэхийн тулд + дараах мөрийг <filename>/etc/rc.conf</filename> файлд + нэмнэ:</para> + + <programlisting>usbd_enable="YES"</programlisting> + + <para>Эхлүүлэхэд залгадаг байхаар <application>ppp</application>-г + тохируулах боломжтой байдаг. Үүнийг хийхийн тулд дараах мөрүүдийг + <filename>/etc/rc.conf</filename> файлд нэмнэ. + Ахин хэлэхэд энэ процедурын хувьд та <username>root</username> + хэрэглэгчээр нэвтрэн орох хэрэгтэй болно.</para> + + <programlisting>ppp_enable="YES" +ppp_mode="ddial" +ppp_profile="adsl"</programlisting> + + <para>Үүнийг зөв ажиллуулахын тулд та <filename role="package">net/pppoa</filename> + порттой цуг ирсэн <filename>ppp.conf</filename> файлыг ашиглах + хэрэгтэй болно.</para> + + </sect2> + + <sect2> + <title>mpd ашиглах нь</title> + + <para>Та төрөл бүрийн үйлчилгээнүүдэд ялангуяа PPTP үйлчилгээнүүдэд + холбогдохын тулд <application>mpd</application>-г ашиглаж болно. + Та <application>mpd</application>-г Портуудын цуглуулга + <filename role="package">net/mpd</filename> сангаас + олж болно. Олон ADSL модемууд нь модем болон компьютерийн + хооронд PPTP хоолой үүсгэгдсэн байхыг шаарддаг бөгөөд тийм модемийн + нэг нь Alcatel &speedtouch; Home юм.</para> + + <para>Та эхлээд портоо суулгах ёстой бөгөөд дараа нь өөрийн шаардлага болон + үйлчилгээ үзүүлэгчийн тохиргоонуудад тааруулан <application>mpd</application>-г + тохируулж болно. Порт нь жишээ тохиргооны файлуудыг байрлуулдаг бөгөөд + эдгээр нь <filename><replaceable>PREFIX</replaceable>/etc/mpd/</filename>-д + сайн баримтжуулагдсан байдаг. Энд нэг юмыг тэмдэглэх хэрэгтэй. + <replaceable>PREFIX</replaceable> гэдэг нь таны портууд + суулгагдсан сан бөгөөд анхдагчаар <filename>/usr/local/</filename> + байдаг. <application>mpd</application>-г тохируулах бүрэн заавар + порт суулгагдсаны дараа HTML хэлбэрээр орсон байдаг. Энэ нь + <filename><replaceable>PREFIX</replaceable>/share/doc/mpd/</filename> + санд байрладаг. Энд <application>mpd</application>-ээр ADSL + үйлчилгээнд холбогдох жишээ тохиргоо байна. Тохиргоо нь хоёр файлаас + тогтох бөгөөд эхний <filename>mpd.conf</filename> нь ийм байна:</para> + + <programlisting>default: + load adsl + +adsl: + new -i ng0 adsl adsl + set bundle authname <replaceable>username</replaceable> <co + id="co-mpd-ex-user"> + set bundle password <replaceable>password</replaceable> <co + id="co-mpd-ex-pass"> + set bundle disable multilink + + set link no pap acfcomp protocomp + set link disable chap + set link accept chap + set link keep-alive 30 10 + + set ipcp no vjcomp + set ipcp ranges 0.0.0.0/0 0.0.0.0/0 + + set iface route default + set iface disable on-demand + set iface enable proxy-arp + set iface idle 0 + + open</programlisting> + + <calloutlist> + <callout arearefs="co-mpd-ex-user"> + <para>Таны ISP-тай холбогдон өөрийгөө таниулан нэвтрэх хэрэглэгчийн нэр.</para> + </callout> + <callout arearefs="co-mpd-ex-pass"> + <para>Таны ISP-тай холбогдон өөрийгөө таниулан нэвтрэх нууц үг.</para> + </callout> + </calloutlist> + + <para><filename>mpd.links</filename> файл нь таны хийхийг хүссэн холбоос эсвэл + холбоосуудын талаарх мэдээллийг агуулдаг. Дээрх жишээнд тохирох харгалзах жишээ + <filename>mpd.links</filename> файлыг доор үзүүлэв:</para> + + <programlisting>adsl: + set link type pptp + set pptp mode active + set pptp enable originate outcall + set pptp self <replaceable>10.0.0.1</replaceable> <co + id="co-mpd-ex-self"> + set pptp peer <replaceable>10.0.0.138</replaceable> <co + id="co-mpd-ex-peer"></programlisting> + + <calloutlist> + <callout arearefs="co-mpd-ex-self"> + <para>Таны <application>mpd</application> ашиглах + &os; компьютерийн IP хаяг.</para> + </callout> + <callout arearefs="co-mpd-ex-peer"> + <para>Таны ADSL модемийн IP хаяг. Alcatel + &speedtouch; Home-ийн хувьд энэ хаяг нь анхдагчаар <hostid + role="ipaddr">10.0.0.138</hostid> байна.</para> + </callout> + </calloutlist> + + <para>Дараах тушаалыг <username>root</username>-ээр ажиллуулж + холболтыг хялбараар эхлүүлэх боломжтой байдаг:</para> + + <screen>&prompt.root; <userinput>mpd -b <replaceable>adsl</replaceable></userinput></screen> + + <para>Та холболтын төлөвийг дараах тушаалаар харж болно:</para> + + <screen>&prompt.user; <userinput>ifconfig <replaceable>ng0</replaceable></userinput> +ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 + inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff</screen> + + <para>&os; дээр ADSL үйлчилгээнд холбогдохын тулд <application>mpd</application>-г + ашиглахыг зөвлөдөг юм.</para> + + </sect2> + + <sect2> + <title>pptpclient ашиглах нь</title> + + <para>Мөн бусад PPPoA үйлчилгээнүүдэд FreeBSD-ээр холбогдохын тулд + <filename role="package">net/pptpclient</filename> + ашиглах боломжтой байдаг.</para> + + <para><filename role="package">net/pptpclient</filename>-г ашиглан + DSL үйлчилгээнд холбогдохын тулд порт болон багцыг суулгаад өөрийн + <filename>/etc/ppp/ppp.conf</filename> файлыг засварлана. + Эдгээр үйлдлүүдийг хийж гүйцэтгэхийн тулд та <username>root</username> + болсон байх ёстой. <filename>ppp.conf</filename> файлын + жишээ хэсгийг доор үзүүлэв. <filename>ppp.conf</filename>-ийн + тохируулгуудын талаарх илүү мэдээллийг <application>ppp</application> + гарын авлагын хуудас &man.ppp.8;-с лавлана уу.</para> + + <programlisting>adsl: + set log phase chat lcp ipcp ccp tun command + set timeout 0 + enable dns + set authname <replaceable>username</replaceable> <co id="co-pptp-ex-user"> + set authkey <replaceable>password</replaceable> <co id="co-pptp-ex-pass"> + set ifaddr 0 0 + add default HISADDR</programlisting> + + <calloutlist> + <callout arearefs="co-pptp-ex-user"> + <para>DSL үйлчилгээ үзүүлэгчтэй холбогдох таны бүртгэлийн + хэрэглэгчийн нэр.</para> + </callout> + <callout arearefs="co-pptp-ex-pass"> + <para>Таны бүртгэлийн нууц үг.</para> + </callout> + </calloutlist> + + <warning> + <para>Та өөрийн бүртгэлийн нууц үгийг <filename>ppp.conf</filename> + файлд цэвэр текст хэлбэрээр тавих ёстой болохоор энэ файлын агуулгыг + хэн ч уншиж чадахгүй болгосон эсэхээ шалгах хэрэгтэй. Дараах сери + тушаалууд нь энэ файлыг зөвхөн <username>root</username> + бүртгэлээр уншигдахаар болгох юм. Дэлгэрэнгүй мэдээллийг + &man.chmod.1; болон &man.chown.8; гарын авлагын хуудаснуудаас + лавлана уу.</para> + <screen>&prompt.root; <userinput>chown root:wheel /etc/ppp/ppp.conf</userinput> +&prompt.root; <userinput>chmod 600 /etc/ppp/ppp.conf</userinput></screen> + </warning> + + <para>Энэ нь PPP сессэд зориулан таны DSL чиглүүлэгч уруу хоолой нээх болно. + Ethernet DSL модемууд нь LAN IP хаягаар урьдчилан тохируулагдсан байдаг + бөгөөд та түүн уруу холбогдоно. Alcatel &speedtouch; Home-ийн + хувьд энэ хаяг нь <hostid role="ipaddr">10.0.0.138</hostid> байна. + Таны чиглүүлэгчийн баримтад төхөөрөмж ямар хаяг ашиглаж байгааг хэлсэн + байх ёстой. Хоолой нээж PPP сесс эхлүүлэхийн тулд дараах тушаалыг + ажиллуулна:</para> + + <screen>&prompt.root; <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput></screen> + + <tip> + <para>Та өмнөх тушаалын төгсгөлд <quote>&</quote> тэмдгийг + нэмэхийг хүсэж болох юм. Ингэхгүй бол <application>pptp</application> нь + танд тушаал хүлээх мөрийг буцаадаггүй.</para> + </tip> + + <para><devicename>tun</devicename> виртуал хоолой төхөөрөмж нь + <application>pptp</application> болон <application>ppp</application> + процессуудын хоорондох харилцаанд зориулан үүсгэгдэх болно. Тушаал хүлээх + мөрөнд буцаж ирснийхээ дараа юм уу эсвэл <application>pptp</application> нь + холболтыг баталгаажуулсны дараа та хоолойг ингэж шалгаж болно:</para> + + <screen>&prompt.user; <userinput>ifconfig <replaceable>tun0</replaceable></userinput> +tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 + inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00 + Opened by PID 918</screen> + + <para>Хэрэв та холбогдож чадахгүй байгаа бол өөрийн чиглүүлэгчийн тохиргоог + шалгаарай. Энэ нь ихэвчлэн <application>telnet</application> + юм уу эсвэл вэб хөтөчөөр хандах боломжтой байдаг. Хэрэв та холбогдож + чадахгүй хэвээр байвал <command>pptp</command> тушаалын + гаралт болон <application>ppp</application> бүртгэлийн + файл <filename>/var/log/ppp.log</filename>-оос ямар нэг + сэжүүр байгаа эсэхийг шалгах хэрэгтэй.</para> + </sect2> + </sect1> + + <sect1 id="slip"> + <sect1info> + <authorgroup> + <author> + <firstname>Сатоши</firstname> + <surname>Асами</surname> + <contrib>Анхлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Гай</firstname> + <surname>Хелмер</surname> + <contrib>Зарим хэсгийг оруулсан </contrib> + </author> + <author> + <firstname>Пьеро</firstname> + <surname>Серини</surname> + </author> + </authorgroup> + </sect1info> + + <title>SLIP ашиглах</title> + <indexterm><primary>SLIP</primary></indexterm> + + <sect2 id="slipc"> + <title>SLIP клиент тохируулах</title> + <indexterm><primary>SLIP</primary><secondary>клиент</secondary></indexterm> + <para>Дараах нь FreeBSD машиныг SLIP-д зориулан статик хост сүлжээн дээр тохируулах + нэг арга юм. Динамикаар хостын нэрийг өгөхийн тулд (таныг залгаж холбогдох болгонд + таны хаяг өөрчлөгддөг) танд илүү төвөгтэй тохируулга хэрэгтэй болох байх.</para> + + <para>Эхлээд таны модем аль цуваа портод холбогдсоныг тодорхойлно. Олон хүн + <filename>/dev/modem</filename> гэх зэргээр жинхэнэ төхөөрөмжийн нэр + <filename>/dev/cuaaN</filename> (эсвэл &os; 6.X дээр <filename>/dev/cuadN</filename>) + уруугаа заасан симболын холбоосыг тохируулдаг. Энэ нь модемийг өөр порт уруу + шилжүүлэх шаардлагатай болсон тохиолдолд жинхэнэ төхөөрөмжийн нэрийг хийсвэрлэх + боломжийг танд олгож байгаа юм. Бүх системийн дагуу <filename>/etc</filename> + дэх олон файлууд болон <filename>.kermrc</filename> файлуудыг засварлах + шаардлагатай болох үед энэ нь нэлээн ярвигтай болж ирдэг!</para> + + <note> + <para><filename>/dev/cuaa0</filename> (эсвэл &os; 6.X дээр <filename>/dev/cuad0</filename>) нь + <devicename>COM1</devicename>, <filename>cuaa1</filename> (эсвэл <filename>/dev/cuad1</filename>) нь + <devicename>COM2</devicename>, гэх мэт.</para> + </note> + + <para>Өөрийн цөмийн тохиргооны файлд дараах нь байгаа эсэхийг шалгаарай:</para> + + <programlisting>device sl</programlisting> + + <para>Энэ нь <filename>GENERIC</filename> цөмд орсон байдаг бөгөөд + та түүнийг устгаагүй л бол энэ нь асуудал биш юм.</para> + + <sect3> + <title>Зөвхөн нэг удаа хийх зүйлс</title> + + <procedure> + <step> + <para>Өөрийн гэр машин, гарц болон нэрийн серверүүдийг өөрийн + <filename>/etc/hosts</filename> файлд нэмнэ. Биднийх + иймэрхүү харагдах болно:</para> + + <programlisting>127.0.0.1 localhost loghost +136.152.64.181 water.CS.Example.EDU water.CS water +136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway +128.32.136.9 ns1.Example.EDU ns1 +128.32.136.12 ns2.Example.EDU ns2</programlisting> + </step> + + <step> + <para>5.0-с өмнөх FreeBSD хувилбарууд дээрх <filename>/etc/host.conf</filename> + файлд <literal>hosts</literal> мөр нь <literal>bind</literal> + мөрөөс өмнө байгаа эсэхийг шалгаарай. FreeBSD 5.0-с хойш + систем нь харин <filename>/etc/nsswitch.conf</filename>-г + ашигладаг бөгөөд энэ файлын <option>hosts</option> мөрөнд + <literal>dns</literal>-с өмнө <literal>files</literal> + байгаа эсэхийг шалгаарай. Эдгээр параметрүүдгүй бол сонин зүйлс + болж магадгүй юм.</para> + </step> + + <step> + <para><filename>/etc/rc.conf</filename> файлыг засна.</para> + + <orderedlist> + <listitem> + <para>Дараах мөрийг засварлаж өөрийн хостын нэрийг тохируулна:</para> + + <programlisting>hostname="myname.my.domain"</programlisting> + + <para>Таны машины Интернетийн бүрэн хостын нэрийг энд тавих ёстой.</para> + </listitem> + + <indexterm><primary>анхдагч чиглүүлэлт</primary></indexterm> + <listitem> + <para>Дараах мөрийг өөрчилж анхдагч чиглүүлэлт:</para> + + <programlisting>defaultrouter="NO"</programlisting> + + <para>гэдгийг:</para> + + <programlisting>defaultrouter="slip-gateway"</programlisting> + <para>болгоно.</para> + </listitem> + </orderedlist> + </step> + + <step> + <para>Дараахийг агуулсан <filename>/etc/resolv.conf</filename> файл + үүсгэнэ:</para> + + <programlisting>domain CS.Example.EDU +nameserver 128.32.136.9 +nameserver 128.32.136.12</programlisting> + + <indexterm><primary>нэрийн сервер</primary></indexterm> + <indexterm><primary>домен нэр</primary></indexterm> + <para>Таны харж байгаагаар эдгээр нь нэрийн серверийн хостуудыг + тохируулж байна. Мэдээж жинхэнэ домен нэрс болон хаягууд нь + таны орчноос хамаарна.</para> + </step> + + <step> + <para><username>root</username> болон + <username>toor</username> (нууц үггүй бусад бүртгэлүүдийн) нууц үгийг + тохируулна.</para> + </step> + + <step> + <para>Өөрийн машиныг дахин ачаалж зөв хостын нэртэйгээр ачаалсан + эсэхийг нь шалгаарай.</para> + </step> + </procedure> + </sect3> + + <sect3> + <title>SLIP холболт хийх нь</title> + <indexterm><primary>SLIP</primary><secondary>холболт хийх нь</secondary></indexterm> + <procedure> + <step> + <para>Залгаад хүлээх мөрөн дээр <command>slip</command> гэж + бичээд өөрийн машины нэр болон нууц үгийг оруулна. Юу оруулах + шаардлагатай нь таны орчноос хамаарна. Хэрэв та <application>Kermit</application> + ашиглаж байгаа бол та иймэрхүү скриптийг ажиллуулахаар оролдож + болно:</para> + + <programlisting># kermit setup +set modem hayes +set line /dev/modem +set speed 115200 +set parity none +set flow rts/cts +set terminal bytesize 8 +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</programlisting> + + <para>Мэдээж өөртөө тааруулаад өөрийн хэрэглэгчийн нэр болон + нууц үгийг солих хэрэгтэй. Ингэснийхээ дараа та + <application>Kermit</application>-ийн хүлээх мөрөөс + холбогдохын тулд <command>slip</command> гэж бичих + хэрэгтэй.</para> + + <note> + <para>Файлын системд хаа нэгтээ өөрийн нууц үгийг цэвэр текстээр + үлдээх нь ерөнхийдөө <emphasis>буруу</emphasis> юм. + Үүнийг хийх нь аз туршсан явдал юм.</para> + </note> + </step> + + <step> + <para><application>Kermit</application>-г тэнд нь үлдээж (та үүнийг + <keycombo> + <keycap>Ctrl</keycap> + <keycap>z</keycap> + </keycombo> хослолоор зогсоож болно) <username>root</username>-ээр + дараах тушаалыг бичнэ:</para> + + <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen> + + <para>Хэрэв та чиглүүлэгчийн нөгөө талд байгаа хостууд уруу + <command>ping</command> хийж чадаж байвал та холбогдсон байна! + Хэрэв энэ нь ажиллахгүй байгаа бол <command>slattach</command> + тушаалд <option>-c</option> нэмэлт өгөгдлийн оронд + <option>-a</option>-г тавьж оролдоод үзээрэй.</para> + </step> + </procedure> + </sect3> + + <sect3> + <title>Холболтыг хэрхэн зогсоох вэ</title> + + <para>Дараахийг хийж:</para> + + <screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen> + + <para><command>slattach</command>-г зогсооно. Дээрхийг хийхийн тулд + <username>root</username> байх шаардлагатайг санаарай. Дараа нь + <command>kermit</command> уруугаа (хэрэв та түр зогсоосон бол <command>fg</command> тушаалыг + ажиллуулан) буцаж түүнээс гарна (<keycap>q</keycap>).</para> + + <para>&man.slattach.8; гарын авлагын хуудсанд + интерфэйсийг зогссон гэж тэмдэглэхийн тулд <command>ifconfig sl0 down</command> + тушаалыг ашиглах ёстой гэсэн байдаг боловч энэ нь + ямар ч өөрчлөлт хийдэггүй юм шиг санагддаг. + (<command>ifconfig sl0</command> тушаал нь бас үүнтэй + адилыг гаргадаг.)</para> + + <para>Заримдаа таны модем зөөгчийг унагахаасаа татгалзаж болох юм. Тийм тохиолдолд + ердөө л дахин <command>kermit</command>-г ажиллуулаад тэгээд түүнээс гарах + хэрэгтэй. Энэ нь ихэвчлэн хоёр дахь оролдлогод болдог.</para> + </sect3> + + <sect3> + <title>Алдааг олж засварлах</title> + + <para>Хэрэв энэ нь ажиллахгүй байгаа бол &a.net.name; захидлын жагсаалтаас чөлөөтэй + асуугаарай. Одоогоор хүмүүсийн аялж мэдсэн зүйлс гэх юм бол:</para> + + <itemizedlist> + <listitem> + <para><command>slattach</command> тушаалд + <option>-c</option> эсвэл <option>-a</option> тохируулгуудыг + ашиглахгүй байх (энэ нь мөхлийн байх ёсгүй, гэхдээ энэ нь зарим хэрэглэгчдийн + асуудлуудыг шийддэг гэж бичсэн байдаг.)</para> + </listitem> + + <listitem> + <para><option>sl0</option>-ийн оронд <option>s10</option> + тохируулгыг ашиглах (зарим фонтууд дээр ялгааг нь олж харах + хэцүү байж болох юм).</para> + </listitem> + + <listitem> + <para>Өөрийн интерфэйсийн төлөвийг харахын тулд <command>ifconfig sl0</command> + тушаалыг ажиллуулж үзээрэй. Жишээ нь та иймэрхүү дүн харж болох юм:</para> + + <screen>&prompt.root; <userinput>ifconfig sl0</userinput> +sl0: flags=10<POINTOPOINT> + inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00</screen> + </listitem> + + <listitem> + <para>Хэрэв та &man.ping.8; тушаалаас <errorname>no route to host</errorname> + мэдэгдлүүдийг авах юм бол таны чиглүүлэлтийн хүснэгтэд асуудал байж + болзошгүй юм. Тухайн үед байгаа чиглүүлэлтүүдийг үзүүлэхийн тулд + <command>netstat -r</command> тушаалыг ашиглаж болно :</para> + + <screen>&prompt.root; <userinput>netstat -r</userinput> +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 8 224515 sl0 - - +localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438 +inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - - +water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 +(root node)</screen> + + <para>Өмнөх жишээнүүд нь харьцангуй завгүй байгаа системүүдийнх юм. + Таны систем дээрх тоонууд нь сүлжээний ачааллаас хамаарч өөр + өөр байх болно.</para> + + </listitem> + </itemizedlist> + </sect3> + </sect2> + + <sect2 id="slips"> + <title>SLIP сервер тохируулах нь</title> + <indexterm><primary>SLIP</primary><secondary>сервер</secondary></indexterm> + + <para>Энэхүү баримт нь FreeBSD систем дээр SLIP серверийн үйлчилгээнүүдийг + тохируулахад зориулсан зөвлөгөөнүүдийг санал болгодог. Энэ нь юу гэсэн үг вэ + гэхээр алсын SLIP клиентүүдийн нэвтрэлтийн үед холболтуудыг автоматаар эхлүүлэхээр + болгож таны системийг тохируулна гэсэн үг юм.</para> + + <!-- Disclaimer is not necessarily relevant + <para> The author has written this document based + on his experience; however, as your system and needs may be + different, this document may not answer all of your questions, and + the author cannot be responsible if you damage your system or lose + data due to attempting to follow the suggestions here.</para> + --> + + <sect3 id="slips-prereqs"> + <title>Шаардлагатай зүйлс</title> + <indexterm><primary>TCP/IP сүлжээ</primary></indexterm> + <para>Энэ баримт нь өөрийн үндсэн чанарын хувьд хэт техникийн учраас тодорхой + мэдлэг шаардах болно. Энэ нь таныг TCP/IP сүлжээний протоколыг тодорхой + хэмжээгээр мэддэг бөгөөд ялангуяа сүлжээ болон цэгийн хаяглалт, + сүлжээний хаягийн багууд, дэд сүлжээ үүсгэх, чиглүүлэлт болон RIP зэрэг чиглүүлэлтийн + протоколуудыг мэддэг гэж тооцдог. SLIP үйлчилгээнүүдийг dial-up сервер дээр + тохируулах нь эдгээр ухагдахуунуудын талаарх мэдлэгийг шаарддаг бөгөөд хэрэв та + эдгээрийг мэдэхгүй бол O'Reilly & Associates, Inc-ийн хэвлэсэн + Крэг Хантын <emphasis>TCP/IP Network Administration</emphasis> + буюу TCP/IP сүлжээний удирдлага номыг юм уу эсвэл TCP/IP протоколуудын + талаарх Даглас Комерийн номнуудыг уншина уу.</para> + + <indexterm><primary>модем</primary></indexterm> + <para>Мөн таныг модемоо суулгаж өөрийн модемоор дамжин нэвтрэх боломжуудыг + зөвшөөрөхөөр тохируулсан байгаа гэж үздэг. Хэрэв та үүнд зориулж өөрийн + системийг бэлдэж амжаагүй байгаа бол dialup үйлчилгээнүүдийн тохиргооны талаарх + мэдээллийг <xref linkend="dialup"> хэсгээс үзнэ үү. + Та бас цуваа портын төхөөрөмжийн драйверийн талаарх мэдээлэл болон модемууд дээр + нэвтрэлтүүдийг хүлээн авахаар болгож системийг тохируулах талаарх мэдээллийг + &man.sio.4; болон &man.ttys.5;, &man.gettytab.5;, + &man.getty.8;, & &man.init.8; гарын авлагын хуудаснуудаас шалгахыг + хүсэж болох юм. Цуваа портын параметрүүдийг + (шууд холбогдсон цуваа интерфэйсүүдийн хувьд <literal>clocal</literal> зэрэг) + тохируулах талаарх мэдээллийг &man.stty.1; гарын авлагын хуудаснаас үзнэ үү.</para> + </sect3> + + <sect3> + <title>Түргэн дүгнэлт</title> + + <para>FreeBSD-г SLIP сервер болгон ашиглах ердийн тохиргоонд дараах маягаар + ажилладаг: SLIP сервер нь таны FreeBSD SLIP сервер системийг гадагш залгуулдаг + бөгөөд <filename>/usr/sbin/sliplogin</filename>-ийг тусгай хэрэглэгчийн + бүрхүүл болгон ашигладаг тусгай SLIP нэвтрэх ID-аар нэвтэрдэг. + <command>sliplogin</command> програм нь тусгай хэрэглэгчийн хувьд таарах + мөрийг олохын тулд <filename>/etc/sliphome/slip.hosts</filename> файлыг + гүйлгэн үздэг бөгөөд хэрэв олсон бол цуваа шугамыг байгаа SLIP + интерфэйс уруу холбож дараа нь SLIP интерфэйсийг тохируулахын тулд + <filename>/etc/sliphome/slip.login</filename> бүрхүүлийн скриптийг + ажиллуулдаг.</para> + + <sect4> + <title>SLIP серверийн нэвтрэлтийн жишээ</title> + + <para>Жишээ нь хэрэв SLIP хэрэглэгчийн ID нь <username>Shelmerg</username> + байсан бол <filename>/etc/master.passwd</filename> файл дахь + <username>Shelmerg</username>-ийн оруулга иймэрхүү байж болох + юм:</para> + + <programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting> + + <para><username>Shelmerg</username> нэвтрэх үед + <command>sliplogin</command> нь таарах хэрэглэгчийн ID-тай + мөрийг <filename>/etc/sliphome/slip.hosts</filename> + файлаас хайх болно, жишээ нь <filename>/etc/sliphome/slip.hosts</filename> + файлд дараах мөр байж болох юм:</para> + + <programlisting>Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting> + + <para><command>sliplogin</command> тушаал нь тэр таарах мөрийг + олох бөгөөд цуваа шугамыг дараачийн байгаа SLIP интерфэйс уруу + залгаж дараа нь <filename>/etc/sliphome/slip.login</filename>-ийг + иймэрхүүгээр ажиллуулна:</para> + + <programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting> + + <para>Хэрэв бүгд зүгээр болж өнгөрвөл <filename>/etc/sliphome/slip.login</filename> + нь өөрийгөө залгасан (дээрх жишээн дээр <filename>slip.login</filename> уруу + өгөгдсөн жагсаалтан дахь эхний параметр болох SLIP интерфэйс 0) + SLIP интерфэйсийн хувьд <command>ifconfig</command> + тушаалыг ажиллуулж локал IP хаяг (<hostid>dc-slip</hostid>), + алсын IP хаяг (<hostid>sl-helmer</hostid>), SLIP интерфэйсийн + сүлжээний баг (<hostid role="netmask">0xfffffc00</hostid>) болон + бусад нэмэлт тугнуудыг (<literal>autocomp</literal>) тохируулдаг. + Хэрэв ямар нэг зүйл буруу болвол <command>sliplogin</command> нь + ихэвчлэн <filename>/var/log/messages</filename> уруу бүртгэх + <application>syslogd</application> демон боломжоор дамжуулан + боломжийн мэдээллийн чанартай мэдэгдлүүдийг ихэвчлэн бүртгэдэг. + (&man.syslogd.8; болон &man.syslog.conf.5;-ийн гарын авлагын + хуудаснуудыг үзнэ үү. <filename>/etc/syslog.conf</filename>-ийг шалгаж + <application>syslogd</application>-ийн юу бүртгэдэг болон хаана + бүртгэдгийг харна уу).</para> + </sect4> + </sect3> + + <sect3> + <title>Цөмийн тохиргоо</title> + <indexterm><primary>цөм</primary><secondary>тохиргоо</secondary></indexterm> + <indexterm><primary>SLIP</primary></indexterm> + + <para>&os;-ийн анхдагч цөм (<filename>GENERIC</filename>) нь + SLIP (&man.sl.4;) дэмжлэгтэй цуг ирдэг; тухайлан өөрчилсөн цөмийн + хувьд бол та өөрийн цөмийн тохиргооны файлдаа дараах мөрийг нэмэх + хэрэгтэй:</para> + + <programlisting>device sl</programlisting> + + <para>Анхдагчаар таны &os; машин пакетуудыг урагш дамжуулахгүй байх болно. + Хэрэв та өөрийн SLIP серверийг чиглүүлэгч маягаар ашиглахыг хүсвэл + <filename>/etc/rc.conf</filename> файлыг засварлах хэрэгтэй болох + бөгөөд <literal>gateway_enable</literal> хувьсагчийн тохиргоог + <option>YES</option> болгож өөрчлөх хэрэгтэй.</para> + + <para>Та дараа нь шинэ тохиргоогоо ашиглахын тулд дахин ачаалах + хэрэгтэй.</para> + + <para>FreeBSD-ийн цөмийг тохируулах талаар бичсэн <xref linkend="kernelconfig">-с + өөрийн цөмийг дахин тохируулах талаар лавлана уу.</para> + </sect3> + + <sect3> + <title>Sliplogin тохиргоо</title> + + <para>Урьд нь дурдаж байсны дагуу <filename>/usr/sbin/sliplogin</filename> файлын + тохиргооны хэсэг болох гурван файл <filename>/etc/sliphome</filename> санд + байдаг (<command>sliplogin</command>-ий талаар мэдээллийг + &man.sliplogin.8; гарын авлагын хуудаснаас үзнэ үү). Эдгээрт + SLIP хэрэглэгчид болон тэдгээрийн холбоотой IP хаягуудыг тодорхойлдог + <filename>slip.hosts</filename> файл, SLIP интерфэйсийг ихэвчлэн тохируулдаг + <filename>slip.login</filename> файл, болон (нэмэлт) + цуваа холболт төгссөн үед <filename>slip.login</filename>-ий + нөлөөллүүдийг буцаадаг <filename>slip.logout</filename> + файл ордог.</para> + + <sect4> + <title><filename>slip.hosts</filename> тохиргоо</title> + + <para><filename>/etc/sliphome/slip.hosts</filename> нь + өөр хоорондоо зайгаар тусгаарлагдсан хамгийн багаар бодоход + дөрвөн хэсгээх тогтох мөрүүдээс тогддог:</para> + + <itemizedlist> + <listitem> + <para>SLIP хэрэглэгчийн нэвтрэх ID</para> + </listitem> + + <listitem> + <para>SLIP холбоосын локал хаяг (SLIP серверийн хувьд локал)</para> + </listitem> + + <listitem> + <para>SLIP холбоосын алсын хаяг</para> + </listitem> + + <listitem> + <para>Сүлжээний баг</para> + </listitem> + </itemizedlist> + + <para>Локал болон алсын хаягууд нь хостын нэрс ( + <filename>/etc/nsswitch.conf</filename> файлд заасан + таны тодорхойлолтуудаас хамаарч <filename>/etc/hosts</filename> + файлаар юм уу эсвэл домен нэрний үйлчилгээгээр IP болон + танигддаг) байж болох бөгөөд сүлжээний баг нь + <filename>/etc/networks</filename>-аас хийгдэх хайлтаар + танигдах нэр байж болно. Жишээ систем дээр + <filename>/etc/sliphome/slip.hosts</filename> нь + иймэрхүү харагдана:</para> + + <programlisting># +# login local-addr remote-addr mask opt1 opt2 +# (normal,compress,noicmp) +# +Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting> + + <para>Мөрийн төгсгөлд нэг буюу хэд хэд тохируулгууд байна:</para> + + <itemizedlist> + <listitem> + <para><option>normal</option> — толгойн шахалт байхгүй</para> + </listitem> + + <listitem> + <para><option>compress</option> — толгойнуудыг шахна</para> + </listitem> + + <listitem> + <para><option>autocomp</option> — алсын тал толгойнуудыг шахахыг зөвшөөрөх + бол хийнэ</para> + </listitem> + + <listitem> + <para><option>noicmp</option> — ICMP пакетуудыг хаана + (таны урсгалыг дүүргэхийн оронд <quote>ping</quote> пакетууд + хаягдах болно)</para> + </listitem> + </itemizedlist> + + <indexterm><primary>SLIP</primary></indexterm> + <indexterm><primary>TCP/IP сүлжээ</primary></indexterm> + <para>Таны SLIP холбоосуудын локал болон алсын хаягуудын сонголт + та TCP/IP дэд сүлжээг тусгайлан зориулах уу эсвэл өөрийн SLIP + сервер дээрээ <quote>proxy ARP</quote>-г + (энэ нь <quote>жинхэнэ</quote> proxy ARP биш боловч үүнийг + тайлбарлахын тулд энэ хэсэгт энэ ухагдахуун ашиглагдах болно) + ашиглах уу гэдгээс хамаарна. Хэрэв та аль аргыг сонгохдоо + эсвэл IP хаягуудыг хэрхэн зааж өгөхдөө эргэлзэж байгаа бол + SLIP-ийн шаардлагатай зүйлс (<xref linkend="slips-prereqs">) + хэсэгт дурдсан TCP/IP-ийн номнууд ба/эсвэл өөрийн + IP сүлжээний удирдагчаас лавлана уу.</para> + + <para>Та өөрийн SLIP клиентүүдийн хувьд тусдаа дэд сүлжээг ашиглах бол + та өөрийн өгөгдсөн IP сүлжээний дугаараас дэд сүлжээний дугаарыг + хуваарилж өөрийн SLIP клиент бүрийн IP дугааруудыг тэр дэд сүлжээнээс + зааж өгөх хэрэгтэй болно. Дараа нь өөрийн хамгийн ойрын чиглүүлэгч + дээр SLIP серверээрээ дамжуулан SLIP дэд сүлжээ уруу + статик чиглүүлэлт тохируулах хэрэгтэй болох болов уу.</para> + + <indexterm><primary>Ethernet</primary></indexterm> + <para>Өөрөөр, хэрэв та <quote>proxy ARP</quote> аргыг ашиглах бол + та өөрийн SLIP клиентийн IP хаягуудыг өөрийн SLIP серверийн + Ethernet дэд сүлжээнээс олгох хэрэгтэй болох бөгөөд та бас + SLIP серверийн ARP хүснэгт дэх proxy-ARP оруулгуудыг удирдахын + тулд &man.arp.8;-г ашиглахаар болгож өөрийн + <filename>/etc/sliphome/slip.login</filename> болон + <filename>/etc/sliphome/slip.logout</filename> скриптүүдийг + тохируулах хэрэгтэй болно.</para> + </sect4> + + <sect4> + <title><filename>slip.login</filename> тохиргоо</title> + + <para>Ердийн <filename>/etc/sliphome/slip.login</filename> файл + иймэрхүү харагдана:</para> + + <programlisting>#!/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</programlisting> + + <para>Энэ <filename>slip.login</filename> файл нь ердөө л + тохирох SLIP интерфэйсийн хувьд <command>ifconfig</command>-г + локал ба алсын хаягууд болон SLIP интерфэйсийн сүлжээний багтайгаар + ажиллуулдаг.</para> + + <para>Хэрэв та <quote>proxy ARP</quote> аргыг ашиглахаар шийдсэн бол + (өөрийн SLIP клиентүүдийн хувьд тусдаа дэд сүлжээг ашиглахын оронд) + таны <filename>/etc/sliphome/slip.login</filename> файл + иймэрхүү харагдах ёстой:</para> + + <programlisting>#!/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</programlisting> + + <para>Энэ <filename>slip.login</filename> файл дахь + <command>arp -s $5 00:11:22:33:44:55 pub</command> тушаал нь + SLIP серверийн ARP хүснэгтэд ARP оруулгыг үүсгэдэг. + Ethernet дэх өөр IP цэг SLIP клиентийн IP хаягтай ярилцахыг + хүсэх үед энэ ARP оруулга нь SLIP серверийг SLIP серверийн Ethernet + MAC хаягаар хариулахад хүргэдэг.</para> + + <indexterm><primary>Ethernet</primary><secondary>MAC хаяг</secondary></indexterm> + <para>Дээрх жишээг ашиглаж байхдаа Ethernet MAC хаягийг (<hostid + role="mac">00:11:22:33:44:55</hostid>) өөрийн системийн + Ethernet картын MAC хаягаар солисон эсэхээ шалгаарай. Тэгэхгүй бол + таны <quote>proxy ARP</quote> чинь мэдээж ажиллахгүй! + Та өөрийн SLIP серверийн Ethernet MAC хаягийг + <command>netstat -i</command> тушаалыг ажиллуулан + гарсан үр дүнгээс нь харан олж болох юм; гарсан үр дүнгийн + хоёр дахь мөр иймэрхүү харагдах ёстой:</para> + + <screen>ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116</screen> + + <para>Энэ нь системийн Ethernet MAC хаяг нь + <hostid role="mac">00:02:c1:28:5f:4a</hostid> гэдгийг + үзүүлж байгаа юм — <command>netstat -i</command> + тушаалаар өгөгдсөн Ethernet MAC хаяг дахь цэгүүд нь + тодорхойлох хоёр цэгээр солигдох ёстой бөгөөд &man.arp.8;-ийн + хүсдэг хэлбэр уруу хаягийг хөрвүүлэхийн тулд ганц оронтой + 16-тын тоо бүрийн өмнө тэг нэмэх ёстой. Ашиглалтын талаарх + бүрэн мэдээллийг &man.arp.8; гарын авлагын хуудаснаас + үзнэ үү.</para> + + <note> + <para><filename>/etc/sliphome/slip.login</filename> болон + <filename>/etc/sliphome/slip.logout</filename> файлыг үүсгэж + байхдаа <quote>execute</quote> буюу ажиллуулах битийг (өөрөөр хэлбэл <command>chmod 755 + /etc/sliphome/slip.login /etc/sliphome/slip.logout</command>) + тавих ёстой, тэгэхгүй бол <command>sliplogin</command> тушаал түүнийг + ажиллуулж чадахгүй байх болно.</para> + </note> + </sect4> + + <sect4> + <title><filename>slip.logout</filename> тохиргоо</title> + + <para><filename>/etc/sliphome/slip.logout</filename> нь + заавал хатуу чангаар хэрэгтэй биш (та <quote>proxy ARP</quote> + хийгээгүй л бол) боловч та үүнийг үүсгэхийг хүсвэл энд үндсэн + <filename>slip.logout</filename> + скриптийн жишээ байна:</para> + + <programlisting>#!/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</programlisting> + + <para>Хэрэв та <quote>proxy ARP</quote> ашиглаж байгаа бол + SLIP клиентийн хувьд ARP оруулгыг устгах + <filename>/etc/sliphome/slip.logout</filename> файлтай + байхыг хүсэж болох юм:</para> + + <programlisting>#!/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</programlisting> + + <para><command>arp -d $5</command> тушаал нь ARP оруулгыг + устгаж SLIP клиент нэвтрэх үед <quote>proxy ARP</quote> + <filename>slip.login</filename> нэмэгддэг.</para> + + <para><filename>/etc/sliphome/slip.logout</filename> файлыг + үүсгэснийхээ дараа ажиллуулах битийг тавьсан эсэхээ шалгаарай + (өөрөөр хэлбэл <command>chmod 755 + /etc/sliphome/slip.logout</command>).</para> + </sect4> + </sect3> + + <sect3> + <title>Чиглүүлэлтийн эргэцүүллүүд</title> + <indexterm> + <primary>SLIP</primary> + <secondary>чиглүүлэлт</secondary> + </indexterm> + <para>Хэрэв та өөрийн SLIP клиентүүд болон таны бусад сүлжээний хоорондох + (болон магадгүй Интернет хоорондох) чиглүүлэлтийн пакетуудын хувьд + <quote>proxy ARP</quote> аргыг ашиглахгүй байгаа бол өөрийн SLIP + клиентүүдийн дэд сүлжээг өөрийн SLIP серверээр дамжуулан чиглүүлэхийн + тулд өөрийн хамгийн ойрын анхдагч чиглүүлэгчид(үүдэд) статик чиглүүлэлтүүдийг + нэмэх хэрэгтэй болж болох юм.</para> + + <sect4> + <title>Статик чиглүүлэлтүүд</title> + <indexterm><primary>статик чиглүүлэлтүүд</primary></indexterm> + + <para>Өөрийн хамгийн ойрын чиглүүлэгчүүдэд статик чиглүүлэлтүүдийг + нэмэх нь яршигтай байж болох юм (эсвэл хэрэв та тэгж хийх зөвшөөрөлгүй бол + боломжгүй байх юм...). Та өөрийн байгууллагадаа олон + чиглүүлэгчтэй бол Cisco болон Proteon-ий хийсэн зарим чиглүүлэгчүүд нь + зөвхөн SLIP дэд сүлжээ уруу статик чиглүүлэлттэй байхаар тохируулагдсан + байх шаардлагагүй байж болох бөгөөд бас аль статик чиглүүлэлтүүд нь + бусад чиглүүлэгчүүдэд хэлж байгааг хэлж өгөх хэрэгтэй болох юм. + Тийм болохоор статик чиглүүлэлт дээр тулгуурласан чиглүүлэлтийг + ажиллуулахад зарим нэг чадамж болон алдаа олж засварлах/тааруулах + чадвар хэрэгтэй болж болох юм.</para> + </sect4> + + <sect4> + <title><application>&gated;</application> ажиллуулах нь</title> + <indexterm> + <primary><application>&gated;</application></primary> + </indexterm> + + <note> + <para><application>&gated;</application> нь одоо хувийн програм + хангамж болсон бөгөөд дахиж эх кодын хамт нийтэд хүртээмжтэй байхаа больсон + (илүү мэдээлэл <ulink url="http://www.gated.org/">&gated;</ulink> + вэб хуудсанд бий). Зөвхөн хуучин хувилбарыг ашигласан хэвээр байгаа + нөхдүүдэд зориулж нийцтэй байдлыг нь хангахын тулд энэ хэсэг нь байгаа + юм.</para> + </note> + + <para>Толгой өвтгөм статик чиглүүлэлтүүдтэй адил өөр нэг сонголт нь + өөрийн FreeBSD SLIP сервер дээр <application>&gated;</application>-г + суулгаж таны SLIP дэд сүлжээний талаар бусад чиглүүлэгчүүдэд хэлэхийн тулд + зохих чиглүүлэлтийн протоколуудыг (RIP/OSPF/BGP/EGP) ашиглахаар болгон тохируулах + явдал юм. Та өөрийн <application>&gated;</application>-г + тохируулахын тулд <filename>/etc/gated.conf</filename> + файлыг бичих хэрэгтэй болно; энд зохиогчийн FreeBSD SLIP сервер дээр + ашигласантай төстэй жишээ байна:</para> + + <programlisting># +# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5 +# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface +# +# +# tracing options +# +traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ; + +rip yes { + interface sl noripout noripin ; + interface ed ripin ripout version 1 ; + traceoptions route ; +} ; + +# +# Turn on a bunch of tracing info for the interface to the kernel: +kernel { + traceoptions remnants request routes info interface ; +} ; + +# +# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP +# + +export proto rip interface ed { + proto direct { + <replaceable>xxx.xxx.yy</replaceable> mask 255.255.252.0 metric 1; # SLIP connections + } ; +} ; + +# +# Accept routes from RIP via ed Ethernet interfaces + +import proto rip interface ed { + all ; +} ;</programlisting> + + <indexterm><primary>RIP</primary></indexterm> + <para>Дээрх жишээ <filename>gated.conf</filename> файл + нь SLIP дэд сүлжээ <replaceable>xxx.xxx.yy</replaceable>-ий + талаарх чиглүүлэлтийн мэдээллийг RIP ашиглан Ethernet дээр + цацаж байна. Хэрэв та <devicename>ed</devicename> драйвераас + өөр Ethernet драйвер ашиглаж байгаа бол + <devicename>ed</devicename> интерфэйсийг өөрийнхөөрөө + өөрчлөх хэрэгтэй болно. Энэ жишээ файл нь бас + <application>&gated;</application>-ийн ажиллагааг + дибаг хийх зорилгоор <filename>/var/tmp/gated.output</filename> + файл уруу бүртгэл хөтлөхөөр тохируулсан байна. Хэрэв + <application>&gated;</application> таны хувьд зөв ажиллаж байгаа бол + та мэдээж мөрдөх тохируулгуудыг хааж болно. Та + <replaceable>xxx.xxx.yy</replaceable>-ийг өөрийн SLIP дэд + сүлжээний хаягаар солих хэрэгтэй болно (<literal>proto direct</literal> + хэсэг дэх сүлжээний багийг (mask) бас солихоо мартуузай).</para> + + <para><application>&gated;</application>-г өөрийн систем дээрээ суулгаж тохируулсныхаа + дараа <application>routed</application>-ийн оронд + <application>&gated;</application>-ийг ажиллуулахаар FreeBSD-ийн + эхлүүлэх скриптүүдэд хэлж өгөх хэрэгтэй болно. Үүнийг хийх хамгийн хялбар арга бол + <filename>/etc/rc.conf</filename> файлд <varname>router</varname> болон + <varname>router_flags</varname> хувьсагчуудыг тохируулах явдал юм. + Тушаалын мөрийн параметрүүдийн талаарх мэдээллийг <application>&gated;</application>-ийн + гарын авлагын хуудаснаас үзнэ үү.</para> + </sect4> + </sect3> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/preface/preface.sgml b/mn_MN.UTF-8/books/handbook/preface/preface.sgml new file mode 100644 index 0000000000..bb47d4caf3 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/preface/preface.sgml @@ -0,0 +1,621 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.39 + + $FreeBSD$ +--> + +<preface id="book-preface"> + <title>Өмнөх үг</title> + + <bridgehead id="preface-audience" renderas=sect1>Энэ номын зориулалт</bridgehead> + + <para>FreeBSD-ийн шинэ хэрэглэгч нь энэ номын эхний хэсэг хэрэглэгчид FreeBSD-ийн + суулгалтын процесс дундуур хөтөлж &unix;-ийн угт байдаг ойлголтууд болон + ёс заншлыг аажим танилцуулдаг болохыг олж мэдэх болно. Энэ хэсэг дээр + ажиллах нь шинээр олж мэдэх хүсэл эрмэлзлээс арай илүү хүсэл болон танилцуулсан шинэ + ойлголтуудыг хүлээн авах чадварыг шаарддаг.</para> + + <para>Гарын авлагын хоёр дахь хамаагүй том хэсэг хүрэх үед FreeBSD системийн + администраторуудын сонирхлыг татах бүх сэдвүүдийг хамарсан нэвтэрхий лавлахыг + та олох болно. Эдгээр бүлгүүдийн зарим нь таныг урьдчилан уншихыг зөвлөж + болох бөгөөд энэ нь бүлэг бүрийн эхэнд ерөнхий агуулгад тэмдэглэгдсэн + байдаг.</para> + + <para>Мэдээллийн нэмэлт эхүүдийн жагсаалтыг <xref + linkend="bibliography"> хэсгээс үзнэ үү.</para> + + <bridgehead id="preface-changes-from2" renderas=sect1>Хоёр дахь хэвлэлээс хойшхи өөрчлөлтүүд</bridgehead> + + <para>Энэ гурав дахь хэвлэлт нь FreeBSD баримтжуулах төслийн гишүүдийн хоёр + жил илүүтэй хугацаанд хийж гүйцэтгэсэн ажлын оргил юм. Энэ + шинэ хэвлэлтэд орсон гол өөрчлөлтүүдийг доор дурдав:</para> + + <itemizedlist> + <listitem> + <para><xref linkend="config-tuning"> Тохиргоо ба тааруулалт нь ACPI тэжээл болон + эх үүсвэрийн удирдлага, <command>cron</command> системийн хэрэгсэл болон + цөмийн илүү олон тааруулах тохируулгуудын талаарх шинэ мэдээллээр өргөжсөн.</para> + </listitem> + + <listitem> + <para><xref linkend="security"> Аюулгүй байдал нь виртуал хувийн сүлжээнүүд + (VPN-үүд), файлын системийн хандалт хяналтын жагсаалт (ACL-үүд) болон + аюулгүй байдлын зөвлөгөөнүүдийн талаарх шинэ мэдээллээр өргөжсөн.</para> + </listitem> + + <listitem> + <para><xref linkend="mac"> Mandatory Access Control буюу Албадмал + Хандалтын хяналт нь энэ хэвлэл дэх шинэ бүлэг юм. Энэ нь MAC гэж юу болох, + FreeBSD системийг аюулгүй болгоход энэ аргыг хэрхэн ашиглах талаар + тайлбарладаг.</para> + </listitem> + + <listitem> + <para><xref linkend="disks"> Хадгалалт нь USB хадгалалтын төхөөрөмжүүд, + файлын системийн хормын хувилбарууд, файлын системийн хувь/ноогдлууд, файл + болон сүлжээн дээр тулгуурласан файлын системүүд болон шифрлэгдсэн дискийн + хуваалтуудын талаарх шинэ мэдээллээр өргөжсөн.</para> + </listitem> + + <listitem> + <para><xref linkend="vinum-vinum"> Vinum нь энэ хэвлэл дэх шинэ + бүлэг юм. Энэ нь Vinum-ийг хэрхэн ашиглах, төхөөрөмжийн хувьд хамааралгүй + логик дискүүдийн боломжийг хангадаг логик эзлэхүүн менежер болон програм + хангамжийн RAID-0, RAID-1 болон RAID-5-г тайлбарладаг.</para> + </listitem> + + <listitem> + <para>Алдааг олж засварлах хэсэг <xref + linkend="ppp-and-slip"> PPP ба SLIP-д нэмэгдсэн.</para> + </listitem> + + <listitem> + <para><xref linkend="mail"> Цахим шуудан нь өөр тээвэрлэх агентуудыг + ашиглах, SMTP нэвтрэлт танилт, UUCP, <application>fetchmail</application>, + <application>procmail</application>, болон бусад дэвшилтэт сэдвүүдийн + талаарх шинэ мэдээллээр өргөжсөн.</para> + </listitem> + + <listitem> + <para><xref linkend="network-servers"> Сүлжээний серверүүд нь + энэ хэвлэлд бүгд шинээр орсон. Энэ бүлэг нь <application>Apache HTTP Server</application>, + <application>ftpd</application>-г тохируулах болон µsoft; &windows; + клиентүүдийн хувьд <application>Samba</application> серверийг + тохируулах талаарх мэдээллийг агуулдаг. <xref + linkend="advanced-networking"> Сүлжээний нэмэлт ойлголтууд дахь + зарим хэсгүүд нь танилцуулгыг сайжруулахын тулд ийшээгээ зөөгдсөн.</para> + </listitem> + + <listitem> + <para><xref linkend="advanced-networking"> Сүлжээний нэмэлт ойлголтууд нь + FreeBSD дээр &bluetooth; төхөөрөмжүүдийг ашиглах, утасгүй сүлжээнүүд + болон Асинхрон Дамжуулах Горим (ATM) сүлжээг тохируулах талаарх шинэ мэдээллээр + өргөжсөн.</para> + </listitem> + + <listitem> + <para>Номонд ашиглагдсан техникийн ухагдахуунуудын тодорхойлолтуудад + зориулагдсан төв байршлыг бий болгон нэр томъёо хэсэг нэмэгдсэн.</para> + </listitem> + + <listitem> + <para>Номонд байгаа хүснэгтүүд болон зургуудад хэд хэдэн гоо зүйн + сайжруулалтууд хийгдсэн.</para> + </listitem> + </itemizedlist> + + <bridgehead id="preface-changes" renderas=sect1>Эхний хэвлэлээс хойшхи өөрчлөлтүүд</bridgehead> + + <para>Хоёр дахь хэвлэлт нь FreeBSD баримтжуулах төслийн гишүүдийн хоёр + жил илүүтэй хугацаанд хийж гүйцэтгэсэн ажлын оргил юм. Энэ + хэвлэлтэд орсон гол өөрчлөлтүүдийг доор дурдав:</para> + +<!-- Talk a little about justification and other stylesheet changes? --> + + <itemizedlist> + <listitem> + <para>Бүрэн хэмжээний үгсийн жагсаалт нэмэгдсэн.</para> + </listitem> + <listitem> + <para>Бүх ASCII зурагнууд график диаграмуудаар солигдсон.</para> + </listitem> + <listitem> + <para>Бүлэг ямар мэдээлэл агуулсан болох, уншигч юу мэдэхийг харуулсан + товч мэдээллийг өгөхийн тулд бүлэг болгонд стандарт ерөнхий агуулга нэмэгдсэн.</para> + </listitem> + <listitem> + <para>Агуулга логикийн хувьд гурван хэсэгт дахин зохион байгуулагдсан: + <quote>Эхлэл</quote>, <quote>Системийн удирдлага</quote>, болон + <quote>Хавсралтууд</quote>.</para> + </listitem> + <listitem> + <para><xref linkend="install"> (<quote>FreeBSD-г суулгах нь</quote>) + шинэ хэрэглэгчдэд текстийг хялбар авах боломжийг бүрдүүлэх олон дэлгэцийн агшнуудтайгаар + бүрэн хэмжээгээр дахин бичигдсэн.</para> + </listitem> + <listitem> + <para><xref linkend="basics"> (<quote>&unix;-ийн үндэс</quote>) + процессууд, демонууд болон дохионуудын талаарх нэмэлт мэдээллийг агуулж + өргөжсөн.</para> + </listitem> + <listitem> + <para><xref linkend="ports"> (<quote>Програм суулгах</quote>) + хоёртын багцын удирдлагын талаарх нэмэлт мэдээллийг агуулж өргөжсөн.</para> + </listitem> + <listitem> + <para><xref linkend="x11"> (<quote>X Цонхот систем</quote>) нь + орчин үеийн ширээний технологиуд болох + <application>KDE</application> болон <application>GNOME</application>-г + &xfree86; 4.X дээр ашиглах тал дээр онцлон анхаарч бүрэн хэмжээгээр дахин + бичигдсэн.</para> + </listitem> + <listitem> + <para><xref linkend="boot"> (<quote>FreeBSD-ийн ачаалах процесс</quote>) нь + өргөжсөн.</para> + </listitem> + <listitem> + <para><xref linkend="disks"> (<quote>Хадгалалт</quote>) өмнө нь тусдаа + байсан <quote>Дискүүд</quote> болон <quote>Нөөцлөлтүүд</quote> гэсэн хоёр бүлгээс + бичигдсэн. Сэдвүүдийг нэг бүлэг болгон танилцуулах нь хялбар болохыг бид мэдэрсэн. + RAID-ийн талаарх хэсэг (тоног төхөөрөмж болон програм хангамж) бас нэмэгдсэн.</para> + </listitem> + <listitem> + <para><xref linkend="serialcomms"> (<quote>Цуваа холболтууд</quote>) + FreeBSD 4.X/5.X-ийн хувьд бүрэн хэмжээгээр дахин зохион байгуулагдаж шинэчлэгдсэн.</para> + </listitem> + <listitem> + <para><xref linkend="ppp-and-slip"> (<quote>PPP ба SLIP</quote>) + нэлээн хэмжээгээр шинэчлэгдсэн.</para> + </listitem> + <listitem> + <para>Олон хэсэг <xref linkend="advanced-networking">-д + (<quote>Сүлжээний талаарх нэмэлт ойлголтууд</quote>) нэмэгдсэн.</para> + </listitem> + <listitem> + <para><xref linkend="mail"> (<quote>Цахим шуудан</quote>) + <application>sendmail</application>-г тохируулах талаарх илүү + мэдээллийг агуулж өргөжсөн.</para> + </listitem> + <listitem> + <para><xref linkend="linuxemu"> (<quote>&linux;-ийн хоёртын нийлэмж</quote>) + <application>&oracle;</application> болон + <application>&sap.r3;</application>-г суулгах талаарх мэдээллийг + агуулж өргөжсөн.</para> + </listitem> + <listitem> + <para>Дараах шинэ сэдвүүдийг энэ хоёр дахь хэвлэлд хэлэлцсэн:</para> + <itemizedlist> + <listitem> + <para>Тохиргоо ба тааруулалт (<xref linkend="config-tuning">).</para> + </listitem> + <listitem> + <para>Мультимедиа (<xref linkend="multimedia">)</para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + + <bridgehead id="preface-overview" renderas=sect1>Энэ номын зохион байгуулалт</bridgehead> + + <para>Энэ ном нь таван логикийн хувьд тусдаа хэсгүүдэд хуваагдана. + Эхний хэсэг <emphasis>Эхлэл</emphasis> нь FreeBSD-ийн суулгалт болон + үндсэн хэрэглээг тайлбарлах болно. Эдгээр бүлгүүдийг дарааллаар нь магадгүй + мэддэг сэдвүүдийг тайлбарлах бүлгүүдийг орхин уншина гэдэгт уншигч авхай нарт + итгэдэг. Хоёр дахь хэсэг <emphasis>Нийтлэг асуудлууд</emphasis> нь + FreeBSD-ийн зарим нэг байнга ашиглагддаг боломжуудыг тайлбарладаг. + Энэ хэсэг болон дараачийн хэсгүүдийг дараалал хамаарахгүйгээр уншиж болно. + Бүлэг бүр нь бүлэг юу тайлбарладаг болон уншигч юуг аль хэдийн мэдсэн байх + ёстойг тайлбарласан хураангуй агуулгаас эхэлдэг. + Энэ нь уншигчид өөрийн сонирхсон бүлгээ олоход туслах зорилготой юм. + Гурав дахь хэсэг <emphasis>Системийн удирдлага</emphasis> нь + удирдлагын сэдвүүдийг хөнддөг. Дөрөв дэх хэсэг <emphasis>Сүлжээний холболт</emphasis> + нь сүлжээ болон серверийн сэдвүүдийг хамардаг. + Тав дахь хэсэг нь лавлагаа мэдээллийн талаарх хавсралтуудыг агуулдаг.</para> + + <variablelist> + +<!-- Part I - Introduction --> + + <varlistentry> + <term><emphasis><xref linkend="introduction"> Танилцуулга</emphasis></term> + <listitem> + <para>FreeBSD-г шинэ хэрэглэгчид танилцуулна. Энэ нь FreeBSD төслийн түүх, түүний + зорилгууд болон хөгжүүлэлтийн загварыг тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="install"> Суулгалт</emphasis></term> + <listitem> + <para>Хэрэглэгчийг суулгалтын процесс дундуур хөтөлнө. Цуваа консолиор + суулгах зэрэг илүү нарийн суулгалтын сэдвүүдийг бас тайлбарлана.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="basics">, &unix;-ийн үндэс</emphasis></term> + <listitem> + <para>FreeBSD үйлдлийн системийн үндсэн тушаалууд болон ажиллагааг тайлбарладаг. + Хэрэв та &linux; эсвэл &unix;-ийн өөр төрлийг мэддэг бол та энэ бүлгийг + алгасаж болох юм.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="ports"> Програм суулгах нь</emphasis></term> + <listitem> + <para>FreeBSD-ийн шинэ санаачлага <quote>портын цуглуулга</quote> болон + стандарт хоёртын багцуудын тусламжтай гуравдагч програм хангамжуудын + суулгалтыг тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="x11"> X Цонхот систем</emphasis></term> + <listitem> + <para>X Цонхот системийг ерөнхийд нь болон FreeBSD-г ялангуяа X11 дээр + ашиглах талаар тайлбарлах болно. + <application>KDE</application> болон <application>GNOME</application> + зэрэг ширээний түгээмэл орчнуудыг бас тайлбарладаг.</para> + </listitem> + </varlistentry> + +<!-- Part II Common Tasks --> + + <varlistentry> + <term><emphasis><xref linkend="desktop"> Ширээний програмууд</emphasis></term> + <listitem> + <para>Вэб хөтөчүүд болон бүтээмжийн цуглуулгууд зэрэг зарим нэгэн ширээний програмуудыг + дурдах бөгөөд тэдгээрийг FreeBSD дээр хэрхэн суулгах талаар тайлбарлах болно.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="multimedia"> Мультимедиа</emphasis></term> + <listitem> + <para>Дуу болон дүрс тоглуулалтын дэмжлэгийг өөрийн систем дээр хэрхэн тохируулахыг + үзүүлнэ. Бас зарим жишээ аудио болон видео програмуудыг тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="kernelconfig"> FreeBSD цөмийг тохируулах нь</emphasis></term> + <listitem> + <para>Танд яагаад шинэ цөм хэрэгтэй болж болохыг тайлбарлаж + цөмийг тохируулах, бүтээх болон суулгах талаарх дэлгэрэнгүй заавруудыг өгнө.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="printing"> Хэвлэлт</emphasis></term> + <listitem> + <para>Сурталчилгаа хуудаснууд, хэвлэгчийн бүртгэл болон эхний тохиргоо зэрэг мэдээллийг + оруулаад хэвлэгчдийг FreeBSD дээр удирдах талаар тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="linuxemu">, &linux;-ийн хоёртын нийлэмж</emphasis></term> + <listitem> + <para>FreeBSD-ийн &linux;-тэй нийцтэй боломжуудыг тайлбарладаг. + Бас <application>&oracle;</application>, <application>&sap.r3;</application>, болон + <application>&mathematica;</application> зэрэг &linux;-ийн + олон түгээмэл програмуудыг суулгах дэлгэрэнгүй заавруудыг өгдөг.</para> + </listitem> + </varlistentry> + +<!-- Part III - System Administration --> + + <varlistentry> + <term><emphasis><xref linkend="config-tuning"> Тохиргоо ба тааруулалт</emphasis></term> + <listitem> + <para>FreeBSD-г хамгийн оновчтой ажиллагаанд зориулж тааруулахад + туслах системийн администраторуудад зориулсан параметрүүдийг тайлбарладаг. + Бас FreeBSD-д ашиглагдах төрөл бүрийн тохиргооны файлуудыг тайлбарлаж + тэдгээрийг хаанаас олохыг хэлж өгдөг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="boot"> Эхлүүлэх процесс</emphasis></term> + <listitem> + <para>FreeBSD-ийн эхлүүлэх процессийг тайлбарлаж тохиргооны сонголтуудын тусламжтай + энэ процессийг хэрхэн хянах талаар дурддаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="users"> Хэрэглэгчид ба үндсэн бүртгэл зохицуулалт</emphasis></term> + <listitem> + <para>Хэрэглэгчийн бүртгэлүүдийг үүсгэх болон удирдахыг тайлбарладаг. + Бас хэрэглэгчид дээр эх үүсвэрийн хязгаарлалтуудыг тохируулах болон + бусад бүртгэл удирдах ажлуудын талаар тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="security"> Аюулгүй байдал</emphasis></term> + <listitem> + <para>Kerberos, IPsec, болон OpenSSH зэргийг оролцуулаад таны FreeBSD + системийг аюулгүй болгоход туслах олон хэрэгслүүдийг тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="jails"> Jails буюу Шоронгууд</emphasis></term> + <listitem> + <para>Шоронгийн тогтолцоо болон &os;-ийн уламжлалт chroot дэмжлэг дээр нэмэгдсэн + шоронгийн сайжруулалтуудыг тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="mac"> Mandatory Access Control буюу Албадмал Хандалтын хяналт</emphasis></term> + <listitem> + <para>Mandatory Access Control (MAC) буюу Албадмал Хандалтын хяналт гэж юу + болохыг тайлбарладаг бөгөөд FreeBSD системийг аюулгүй болгоход энэ арга замыг хэрхэн + ашиглах талаар хэлэлцдэг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="audit"> Аюулгүй байдлын үйл явцад аудит хийх нь</emphasis></term> + <listitem> + <para>&os;-ийн үйл явцын аудит гэж юу болох, түүнийг хэрхэн суулгах, тохируулах болон + аудит мөрнүүд хэрхэн шалгагдаж эсвэл монитор хийгддэг талаар тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="disks"> Хадгалалт</emphasis></term> + <listitem> + <para>Хадгалалтын зөөвөрлөгч болон файлын системүүдийг FreeBSD-ээр хэрхэн + удирдахыг тайлбарладаг. Үүнд физик дискүүд, RAID массивууд, оптик болон + соронзон хальсан зөөвөрлөгч, санах ой дээр тулгуурласан дискүүд болон + сүлжээний файлын системүүд ордог.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="geom"> GEOM</emphasis></term> + <listitem> + <para>FreeBSD дээрх GEOM тогтолцоо гэж юу болох, төрөл бүрийн дэмжигдсэн + RAID түвшнүүдийг хэрхэн тохируулах талаар тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="vinum-vinum"> Vinum</emphasis></term> + <listitem> + <para>Төхөөрөмжөөс хамааралгүй логик дискүүд болон програм хангамжийн + RAID-0, RAID-1 болон RAID-5 зэргийн боломжийг олгодог логик эзлэхүүн + менежер Vinum-ийг хэрхэн ашиглах талаар тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="virtualization"> Виртуалчлал</emphasis></term> + <listitem> + <para>Виртуалчлалын системүүд юу санал болгодог болон тэдгээрийг &os;-тэй хэрхэн + ашиглаж болохыг тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="l10n"> Локалчлал</emphasis></term> + <listitem> + <para>Англи хэлнээс бусад хэлнүүд дээр FreeBSD-г хэрхэн ашиглах талаар + тайлбарладаг. Систем болон програмын түвшингийн локалчлалыг дурддаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="cutting-edge"> Амжилт ололтын тэргүүнд</emphasis></term> + <listitem> + <para>FreeBSD-STABLE, FreeBSD-CURRENT болон FreeBSD-ийн хувилбаруудын + ялгаануудыг тайлбарладаг. Хөгжүүлэлтийн системийг дагахад ямар хэрэглэгчдэд + ашигтайг тайлбарлаж тэр процессийг дурддаг.</para> + </listitem> + </varlistentry> + +<!-- Part IV - Network Communications --> + + <varlistentry> + <term><emphasis><xref linkend="serialcomms"> Цуваа холбоонууд</emphasis></term> + <listitem> + <para>Терминалууд болон модемуудыг өөрийн FreeBSD системд гадагш залгах болон дуудлага + хүлээн авах холболтуудад зориулж хэрхэн холбох талаар тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="ppp-and-slip"> PPP ба SLIP</emphasis></term> + <listitem> + <para>FreeBSD дээр PPP, SLIP, эсвэл Ethernet дээгүүрх PPP-г хэрхэн ашиглаж + алсын системд холбогдохыг тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="mail"> Цахим шуудан</emphasis></term> + <listitem> + <para>Цахим захидлын серверийн бүрэлдэхүүн хэсгүүдийг тайлбарлаж + хамгийн түгээмэл захидлын програм хангамж болох <application>sendmail</application>-д + зориулсан хялбар тохиргооны сэдвүүдийн талаар өгүүлдэг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="network-servers"> Сүлжээний серверүүд</emphasis></term> + <listitem> + <para>Таны FreeBSD машиныг сүлжээний файлын систем сервер, домен нэрний + сервер, сүлжээний мэдээллийн систем сервер эсвэл цаг тааруулах сервер + болгон хэрхэн тохируулах талаарх дэлгэрэнгүй зааврууд болон жишээ + тохиргооны файлуудыг дурддаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="firewalls"> Галт хананууд</emphasis></term> + <listitem> + <para>Програм хангамж дээр суурилсан галт ханануудын цаадах философийг + тайлбарлаж FreeBSD-д зориулсан төрөл бүрийн галт ханануудын тохиргооны талаарх + дэлгэрэнгүй мэдээллийг өгүүлдэг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="advanced-networking"> Сүлжээний нэмэлт ойлголтууд</emphasis></term> + <listitem> + <para>Өөрийн LAN доторх бусад компьютеруудтай Интернетийн холболтоо хуваалцах, + чиглүүлэлтийн дэвшилтэт сэдвүүд, утасгүй сүлжээ, &bluetooth;, ATM, IPv6 + зэрэг зүйлсийг оролцуулаад сүлжээний олон сэдвүүдийг тайлбарладаг.</para> + </listitem> + </varlistentry> + +<!-- Part V - Appendices --> + + <varlistentry> + <term><emphasis><xref linkend="mirrors"> FreeBSD-г олж авах нь</emphasis></term> + <listitem> + <para>FreeBSD зөөвөрлөгчийг CDROM эсвэл DVD дээр олж авахад зориулагдсан + төрөл бүрийн эхүүд болон FreeBSD-г татан авч суулгах боломжийг танд олгох + Интернет дэх олон сайтуудыг дурддаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="bibliography"> Ном зүй</emphasis></term> + <listitem> + <para>Энэ ном нь маш олон төрөл бүрийн сэдвүүдийг хөнддөг бөгөөд + таныг магадгүй илүү дэлгэрэнгүй мэдээлэл авах хүсэлд хөтлөж болох + юм. Ном зүй нь энэ номонд ашигласан олон гайхалтай номнуудыг + дурдсан байдаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="eresources"> Интернет дэх эх үүсвэрүүд</emphasis></term> + <listitem> + <para>FreeBSD-ийн хэрэглэгчдэд зориулсан, асуултууд илгээж + FreeBSD-ийн талаар техникийн хэлэлцүүлгүүд өрнүүлж болох олон хэлэлцүүлгүүд + байдаг талаар тайлбарладаг.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis><xref linkend="pgpkeys"> PGP түлхүүрүүд</emphasis></term> + <listitem> + <para>FreeBSD-ийн хэд хэдэн хөгжүүлэгчдийн PGP түлхүүрүүдийг жагсаадаг.</para> + </listitem> + </varlistentry> + </variablelist> + + <bridgehead id="preface-conv" renderas=sect1>Энэ номонд ашиглагдсан бичиглэлийн хэлбэрүүд</bridgehead> + + <para>Текстийг уншихад хялбар, дэс дараалалтай болгохын тулд + энэ номонд хэд хэдэн бичиглэлийн хэлбэрүүдийг ашигласан.</para> + + <bridgehead id="preface-conv-typographic" renderas=sect2>Хэвлэлийн хэлбэрүүд</bridgehead> + + <variablelist> + <varlistentry> + <term><emphasis>Italic</emphasis></term> + <listitem> + <para><emphasis>italic</emphasis> фонт нь файлын нэрс, URL-ууд, + онцолсон текст болон техникийн ухагдахуунуудын эхний хэрэглээнд + <emphasis>italic</emphasis> үсгийн маяг ашиглагдсан.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>Monospace</literal></term> + <listitem> + <para><literal>monospace</literal> хийгдсэн үсгийн маяг нь + алдааны мэдэгдлүүд, тушаалууд, орчны хувьсагчууд, портуудын + нэрс, хостын нэрс, хэрэглэгчдийн нэрс, бүлгийн нэрс, + төхөөрөмжийн нэрс, хувьсагчууд болон кодын хэсгүүдэд + ашиглагдсан.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><application>Bold</application></term> + <listitem> + <para><application>bold</application> үсгийн маяг нь + програмууд, тушаалууд болон товчлууруудад ашиглагдсан.</para> + </listitem> + </varlistentry> + </variablelist> + +<!-- Var list --> + <bridgehead id="preface-conv-commands" + renderas=sect2>Хэрэглэгчийн Оролт</bridgehead> + + <para>Товчлуурууд нь бусад текстээс ялгарахын тулд <keycap>bold</keycap> + хэлбэрээр харуулагдсан. Товчлууруудын хослолууд нь зэрэг бичигдэх + ёстой бөгөөд товчлууруудын хооронд `<literal>+</literal>' + тавигдан үзүүлэгдсэн, жишээ нь:</para> + + <para> + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>Alt</keycap> + <keycap>Del</keycap> + </keycombo> + </para> + + <para>Энэ нь хэрэглэгч <keycap>Ctrl</keycap>, + <keycap>Alt</keycap>, болон <keycap>Del</keycap> товчлууруудыг + зэрэг дарах ёстой гэсэн үг юм.</para> + + <para>Дараалан бичих ёстой товчлууруудыг таслалаар тусгаарладаг, жишээ нь:</para> + + <para> + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>X</keycap> + </keycombo>, + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>S</keycap> + </keycombo> + </para> + + <para>Энэ нь хэрэглэгч <keycap>Ctrl</keycap> болон <keycap>X</keycap> + товчлууруудыг зэрэг дараад дараа нь <keycap>Ctrl</keycap> болон <keycap>S</keycap> + товчлууруудыг зэрэг дарна гэсэн үг юм.</para> + +<!-- How to type in key stokes, etc.. --> + <bridgehead id="preface-conv-examples" + renderas=sect2>Жишээнүүд</bridgehead> + + <para><devicename>E:\></devicename> гэж эхэлсэн жишээнүүд нь &ms-dos; + тушаалыг илэрхийлнэ. Тэмдэглэж хэлээгүй л бол эдгээр тушаалуудыг + орчин үеийн µsoft.windows; орчны <quote>Тушаал хүлээх мөр</quote> + цонхноос ажиллуулж болох юм.</para> + + <screen><prompt>E:\></prompt> <userinput>tools\fdimage floppies\kern.flp A:</userinput></screen> + + <para>&prompt.root; гэж эхэлсэн жишээнүүд нь FreeBSD дээр супер хэрэглэгчээр + ажиллуулах ёстой тушаалыг илэрхийлнэ. Тушаал бичихийн тулд та + <username>root</username> эрхээр нэвтрэх юм уу эсвэл + өөрийн ердийн эрхээр нэвтрээд супер хэрэглэгчийн зөвшөөрлүүдийг авахын + тулд &man.su.1;-г ашиглаж болох юм.</para> + + <screen>&prompt.root; <userinput>dd if=kern.flp of=/dev/fd0</userinput></screen> + + <para>&prompt.user; гэж эхэлсэн жишээнүүд нь ердийн хэрэглэгчийн бүртгэлээс + ажиллуулах ёстой тушаалыг илэрхийлнэ. Тэмдэглэж хэлээгүй л бол + орчны хувьсагчууд болон бусад бүрхүүлийн тушаалуудыг тохируулахад + C бүрхүүлийн синтакс ашиглагддаг.</para> + + <screen>&prompt.user; <userinput>top</userinput></screen> + + <bridgehead id="preface-acknowledgements" + renderas=sect1>Талархал</bridgehead> + + <para>Таны барьж байгаа ном нь дэлхий даяарх олон зуун хүмүүсийн хүч хөдөлмөр юм. + Бичгийн алдаануудын засварууд илгээсэн ч бай эсвэл бүхэл бүтэн бүлгүүдийг ирүүлсэн ч бай + гэсэн эдгээр бүх оруулсан хувь нэмрүүд нь их ач холбогдолтой байсан юм.</para> + + <para>Зохиогчдыг бүтэн ажлын өдрийн турш ажиллахыг дэмжин цалинжуулж, + хэвлэлтийн төлбөрийг төлөх гэх зэргээр хэд хэдэн компаниуд энэ баримтын хөгжүүлэлтийг + дэмжсэн билээ. Ялангуяа BSDi-ийн (дараахан нь <ulink url="http://www.windriver.com">Wind River + Systems</ulink> худалдан авсан) цалинжуулсан FreeBSD баримтжуулах төслийн + гишүүд энэ номыг сайжруулж бүтэн ажлын өдрийн турш ажилласан нь + 2000 оны 3 сард эхний хэвлэгдсэн хувилбар гаргахад хүргэсэн юм + (ISBN 1-57176-241-8). Wind River Systems + дараа нь хэвлэгдсэн гаралтын дэд бүтцэд хэд хэдэн сайжруулалтуудыг + хийлгэж текстэд нэмэлт бүлгүүдийг нэмүүлэхийн тулд хэд хэдэн + зохиогчийг цалинжуулсан билээ. 2001 оны 11 сард хэвлэгдсэн + хоёр дахь хэвлэлд энэ ажил оржээ (ISBN 1-57176-303-1). + 2003-2004 онуудад <ulink + url="http://www.freebsdmall.com">FreeBSD Mall, Inc</ulink> + гурав дахь удаагийн хэвлэлийг бэлтгэхэд зориулан Гарын авлагыг + сайжруулахын тулд хэд хэдэн хувь нэмэр оруулагчдыг цалинжуулсан юм.</para> + +</preface> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "book" "preface") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/printing/Makefile b/mn_MN.UTF-8/books/handbook/printing/Makefile new file mode 100644 index 0000000000..57aa8073bb --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/printing/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= printing/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/printing/chapter.sgml b/mn_MN.UTF-8/books/handbook/printing/chapter.sgml new file mode 100644 index 0000000000..b9c0414f94 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/printing/chapter.sgml @@ -0,0 +1,4932 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.96 + + $FreeBSD$ +--> + +<chapter id="printing"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Шон</firstname> + <surname>Келли</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + <!-- 30 Sept 1995 --> + </authorgroup> + <authorgroup> + <author> + <firstname>Жим</firstname> + <surname>Мок</surname> + <contrib>Дахин бүтцийг өөрчилж шинэчилсэн </contrib> + <!-- Mar 2000 --> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + <author> + <firstname>Шагдарын</firstname> + <surname>Нацагдорж</surname> + </author> + </authorgroup> + </chapterinfo> + + <title>Хэвлэлт</title> + + <sect1 id="printing-synopsis"> + <title>Ерөнхий агуулга</title> + <indexterm><primary>LPD түр хадгалах систем</primary></indexterm> + <indexterm><primary>хэвлэлт</primary></indexterm> + + <para>FreeBSD дээр хамгийн хуучин цохидог хэвлэгчидээс авахуулаад хамгийн сүүлийн + хэвлэгчид хүртэл, мөн тэдгээрийн хооронд байгаа хэвлэгчид зэрэг төрөл бүрийн + хэвлэгчидийг хэвлэхэд ашиглаж болдог бөгөөд энэ нь таны ажиллаж байгаа програмуудаас + өндөр чанарын хэвлэсэн гаралтыг бүтээх боломж олгох юм.</para> + + <para>FreeBSD-г бас сүлжээн дэх хэвлэх сервер болгон тохируулж бас болдог; энэ + боломжид FreeBSD нь бусад FreeBSD компьютерууд, &windows; болон &macos; хостууд + зэрэг төрөл бүрийн бусад компьютеруудаас хэвлэх ажлуудыг хүлээн авдаг. + FreeBSD нь зөвхөн нэг ажлыг тухайн үед хэвлэхийг баталгаажуулж ихэнх хэвлэлтийг аль + хэрэглэгчид болон машинууд хийж байгаа талаар статистикууд цуглуулж + хэний хэвлэсэн зүйл хэнийх болохыг үзүүлэх <quote>сурталчилгаа</quote> + хуудсуудыг бүтээх зэрэг олон үйлдлийг хийж чаддаг.</para> + + <para>Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD-ийн хэвлэгчийн түр хадгалагчийг хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>Ирж байгаа баримтуудыг таны хэвлэгчид ойлгодог хэвлэх хэлбэршилтэд оруулж хөрвүүлэх + зэрэг тусгай хэвлэх ажлуудыг өөрөөр зохицуулдаг хэвлэх шүүлтүүрүүдийг хэрхэн + суулгах талаар.</para> + </listitem> + + <listitem> + <para>Толгой эсвэл сурталчилгаа хуудсуудыг өөрийн хэвлэх зүйл дээрээ + хэрхэн идэвхжүүлэх талаар.</para> + </listitem> + + <listitem> + <para>Бусад компьютерууд уруу холбогдсон хэвлэгчидээр хэрхэн хэвлэх талаар.</para> + </listitem> + + <listitem> + <para>Сүлжээнд шууд холбогдсон хэвлэгчидээр хэрхэн хэвлэх талаар.</para> + </listitem> + + <listitem> + <para>Хэвлэх ажлуудын хэмжээг хязгаарлах болон зарим хэрэглэгчдийг хэвлэхийг + болиулах зэрэг хэвлэгчийн хязгаарлалтуудыг хэрхэн хянах талаар.</para> + </listitem> + + <listitem> + <para>Хэвлэгчийн статистикууд болон хэвлэгчийн хэрэглээнд зориулсан + бүртгэлийг хэрхэн хадгалж байх талаар.</para> + </listitem> + + <listitem> + <para>Хэвлэх асуудлуудыг хэрхэн олж засварлах талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>Шинэ цөмийг хэрхэн тохируулж суулгах талаар мэдэх + (<xref linkend="kernelconfig">).</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="printing-intro-spooler"> + <title>Танилцуулга</title> + + <para>FreeBSD дээр хэвлэгчидийг ашиглахын тулд та тэдгээрийг + <application>LPD</application> түр хадгалах систем буюу ердөө л + <application>LPD</application> гэж бас нэрлэгддэг Берклигийн + шугаман хэвлэгчийн түр хадгалах системтэй ажиллахаар болгож тохируулж болох юм. + Энэ нь FreeBSD дээрх стандарт хэвлэгч хянагч систем юм. Энэ бүлэг нь + <application>LPD</application>-г танилцуулж түүний тохиргоог + тайлбарлах болно.</para> + + <para>Хэрэв та <application>LPD</application> юм уу эсвэл бусад + хэвлэгчийн түр хадгалах системийг мэддэг бол <link + linkend="printing-intro-setup">Үндсэн тохируулга</link> хэсэг + уруу шууд орохыг хүсэж болох юм.</para> + + <para><application>LPD</application> нь хостын хэвлэгчдийн талаар + бүгдийг хянадаг. Энэ нь хэд хэдэн зүйлсийг хариуцдаг:</para> + + <itemizedlist> + <listitem> + <para>Залгагдсан хэвлэгчид болон сүлжээн дэх өөр хостуудад залгагдсан + хэвлэгчдэд хандах хандалтыг хянадаг.</para> + </listitem> + + <indexterm><primary>хэвлэх ажлууд</primary></indexterm> + <listitem> + <para>Файлууд хэвлэхээр өгөх боломжийг хэрэглэгчдэд зөвшөөрдөг; эдгээр + өгөлтүүд нь <emphasis>jobs</emphasis> буюу <emphasis>ажлууд</emphasis> + гэгддэг.</para> + </listitem> + + <listitem> + <para>Хэвлэгч болгоны хувьд <emphasis>queue</emphasis> буюу + дарааллыг зохицуулж олон хэрэглэгчид нэгэн зэрэг хэвлэгчид хандах хандалтаас + сэргийлдэг.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчид хэвлэсэн тоо томшгүй олон юмнаас өөрсдийн хэвлэсэн ажлуудыг + хялбархан олдог байхын тулд энэ нь <emphasis>толгой хуудсуудыг</emphasis> + (бас <emphasis>сурталчилгаа</emphasis> эсвэл <emphasis>тэсрэлт</emphasis> + хуудсууд гэгддэг) хэвлэдэг.</para> + </listitem> + + <listitem> + <para>Цуваа портууд дээр холбогдсон хэвлэгчидийн холбооны параметрүүдэд + анхаарлаа хандуулдаг.</para> + </listitem> + + <listitem> + <para>Өөр хост дээр байгаа <application>LPD</application> түр хадгалагч + уруу сүлжээгээр ажлууд илгээж чаддаг.</para> + </listitem> + + <listitem> + <para>Төрөл бүрийн хэвлэгчийн хэлнүүд эсвэл хэвлэгчийн боломжуудад + зориулж хэвлэх ажлуудыг хэлбэршүүлэх тусгай шүүлтүүрүүдийг ажиллуулж + чаддаг.</para> + </listitem> + + <listitem> + <para>Хэвлэгчийн хэрэглээг бүртгэж чаддаг.</para> + </listitem> + </itemizedlist> + + <para>Тохиргооны файл (<filename>/etc/printcap</filename>) болон + тусгай шүүлтүүр програмууд ашиглан олон төрлийн хэвлэгч тоног төхөөрөмжүүдийн хувьд + дээр дурдсануудын заримууд болон бүгдийг хийдэг байхаар + <application>LPD</application> системийг та идэвхжүүлж чадна.</para> + + <sect2 id="printing-intro-why"> + <title>Яагаад заавал түр хадгалагчийг ашиглах ёстой гэж</title> + + <para>Та системийнхээ цорын ганц хэрэглэгч бол + хандалтын хяналт, толгой хуудаснууд эсвэл хэвлэгчийн бүртгэл танд хэрэгггүй + байхад яагаад заавал түр хадгалагчийн талаар санаа зовох ёстой гэж та + гайхаж байж болох юм. Хэвлэгч уруу шууд хандалтыг идэвхжүүлэх + боломжтой байдаг боловч та түр хадгалагчийг ямар ч байсан ашиглах ёстой, + учир нь:</para> + + <itemizedlist> + <listitem> + <para><application>LPD</application> нь ажлуудыг ард + хэвлэдэг; та өгөгдлийг хэвлэгч уруу хуулагдахыг хүлээх + хэрэггүй юм.</para> + </listitem> + + <indexterm><primary>&tex;</primary></indexterm> + <listitem> + <para><application>LPD</application> нь огноо/цаг бүхий толгой + нэмэх эсвэл тусгай файлын хэлбэршилтээс (&tex; DVI файл зэрэг) + хэвлэгчийн ойлгох хэлбэршилт уруу хөрвүүлдэг шүүлтүүрүүдээр дамжуулан + хэвлэгдэх ажлыг тохиромжтойгоор ажиллуулдаг. Та гараараа эдгээр алхмуудыг + хийх шаардлагагүй юм.</para> + </listitem> + + <listitem> + <para>Хэвлэх боломж бүхий чөлөөтэй, арилжааны олон програмууд нь + таны систем дээрх түр хадгалагчтай ярилцахыг ихэвчлэн хүлээж + байдаг. Түр хадгалагч системийг тохируулснаар танд байгаа болон + таны сүүлд суулгаж болох бусад програм хангамжуудыг илүү + амархнаар та дэмжих болно.</para> + </listitem> + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="printing-intro-setup"> + <title>Үндсэн тохируулга</title> + + <para><application>LPD</application> түр хадгалах системтэй хэвлэгчдийг + ашиглахын тулд өөрийн хэвлэгчийн тоног төхөөрөмж болон <application>LPD</application> + програм хангамжийг тохируулах хэрэгтэй болно. Энэ баримт нь тохиргооны + хоёр түвшинг тайлбарладаг:</para> + + <itemizedlist> + <listitem> + <para>Хэвлэгчийг хэрхэн холбохыг сурахын тулд + <link linkend="printing-simple">Хэвлэгчийн хялбар тохиргоо</link> + хэсгийг үзэж <application>LPD</application>-д хэрхэн түүнтэй + холбоо тогтоохыг хэлж хэвлэгч уруу цэвэр текст файлуудыг хэвлэх.</para> + </listitem> + + <listitem> + <para>Төрөл бүрийн тусгай файлын хэлбэршилтүүдийг хэрхэн хэвлэх, + толгой хуудсуудыг хэрхэн хэвлэх, сүлжээгээр хэрхэн хэвлэх, хэвлэгчидэд + хандах хандалтыг хэрхэн хянах болон хэрхэн хэвлэгчийн бүртгэлийг хийхийг + сурахын тулд <link linkend="printing-advanced">Хэвлэгчийн илүү + нарийн тохиргоо</link> хэсгийг үзэх.</para> + </listitem> + </itemizedlist> + + <sect2 id="printing-simple"> + <title>Хэвлэгчийн хялбар тохиргоо</title> + + <para>Энэ хэсэг нь хэвлэгчийг ашиглахын тулд хэвлэгчийн тоног төхөөрөмж болон + <application>LPD</application> програм хангамжийг хэрхэн тохируулахыг + хэлж өгнө. Энэ нь үндсэн ойлголтуудад сургана:</para> + + <itemizedlist> + <listitem> + <para><link linkend="printing-hardware">Тоног төхөөрөмжийн тохиргоо</link> + хэсэг нь хэвлэгчийг таны компьютер дээрх порт уруу холбох зарим + заавруудыг өгдөг.</para> + </listitem> + + <listitem> + <para><link linkend="printing-software">Програм хангамжийн тохиргоо</link> + хэсэг нь <application>LPD</application> түр хадгалагчийн + тохиргооны файлыг (<filename>/etc/printcap</filename>) + хэрхэн тохируулахыг үзүүлдэг.</para> + </listitem> + </itemizedlist> + + <para>Хэвлэх өгөгдлийг хүлээн авахдаа компьютерийн локал интерфэйсүүдийг + биш сүлжээний протоколыг ашигладаг хэвлэгчийг та тохируулж байгаа бол + <link linkend="printing-advanced-network-net-if">Сүлжээнд + холбогдсон өгөгдлийн урсгалын интерфэйсүүдтэй хэвлэгчид</link> хэсгийг + үзнэ үү.</para> + + <para>Энэ хэсэг нь <quote>Хэвлэгчийн хялбар тохиргоо</quote> гэгддэг + боловч яг үнэндээ нэлээн төвөгтэй юм. Хэвлэгчийг өөрийн компьютер болон + <application>LPD</application> түр хадгалагчтай цуг ажиллуулна гэдэг + хамгийн хэцүү хэсэг юм. Толгой хуудаснууд болон бүртгэл хийх зэрэг дэвшилтэт + тохируулгууд нь хэвлэгчийг ажиллуулсны дараа нэлээн амархан байдаг.</para> + + <sect3 id="printing-hardware"> + <title>Тоног төхөөрөмжийн тохиргоо</title> + + <para>Энэ хэсэг нь өөрийн PC-тэй хэвлэгч холбох төрөл бүрийн аргуудын + талаар хэлдэг. Энэ нь портууд ба кабелиудын талаар болон FreeBSD-г хэвлэгчтэй + харилцдаг болгохын тулд танд хэрэг болох цөмийн тохиргооны талаар бас + өгүүлнэ.</para> + + <para>Хэрэв та өөрийн хэвлэгчийг аль хэдийн холбосон бөгөөд + өөр үйлдлийн систем дээр түүгээр амжилттай хэвлэсэн бол + <link + linkend="printing-software">Програм хангамжийн тохиргоо</link> + хэсэг уруу алгасаж болох юм.</para> + + <sect4 id="printing-ports"> + <title>Портууд ба кабелиуд</title> + + <para>PC дээр ашиглагдах зориулалттай худалдаалж байгаа хэвлэгчид нь + ерөнхийдөө доорх гурван интерфэйсийн аль нэг юм уу эсвэл + олон интерфэйстэй ирдэг:</para> + + <itemizedlist> + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>цуваа</secondary> + </indexterm> + <listitem> + <para><emphasis>Цуваа</emphasis> интерфэйсүүд буюу бас + RS-232 эсвэл COM портууд гэгддэг интерфэйсүүд нь өгөгдлийг + хэвлэгч уруу илгээхдээ таны компьютер дээрх цуваа портыг + ашигладаг. Цуваа интерфэйсүүд нь компьютерийн аж үйлдвэрлэлд + түгээмэл байдаг бөгөөд кабелиуд нь бэлэн байж байдгаас гадна + хийхэд хялбар байдаг. Цуваа интерфэйсүүд нь заримдаа + тусгай кабелиудыг шаарддаг бөгөөд танаас төвөгтэй холбооны + сонголтуудыг тохируулахыг шаардаж болох юм. Ихэнх PC-ний + цуваа портууд нь хамгийн их дамжуулах хурдны хувьд 115200 bps + хурдтай байдаг бөгөөд их том график хэвлэх ажлыг үүгээр хийх + нь практикийн хувьд төвөгтэй болгодог.</para> + </listitem> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>зэрэгцээ</secondary> + </indexterm> + <listitem> + <para><emphasis>Зэрэгцээ</emphasis> интерфэйсүүд нь + өгөгдлийг хэвлэгч уруу илгээхдээ таны компьютерийн + зэрэгцээ портыг ашигладаг. Зэрэгцээ интерфэйсүүд нь + PC-ийн зах зээлд нийтлэг байдаг бөгөөд RS-232 цуваагаас + илүү хурдан байдаг. Кабелиуд нь байдаг боловч гараар хийхэд + илүү төвөгтэй байдаг. Зэрэгцээ интерфэйсүүдэд холбооны сонголтууд + ихэвчлэн байдаггүй болохоор тэдгээрийн тохиргоог маш хялбар + болгодог.</para> + + <indexterm> + <primary>centronics</primary> + <see>зэрэгцээ хэвлэгчид</see> + </indexterm> + <para>Зэрэгцээ интерфэйсүүд нь хэвлэгчийн холбогчийн төрлийн + нэрээр нэрлэгдсэн <quote>Centronics</quote> + интерфэйсүүд гэж заримдаа хэлэгддэг.</para> + </listitem> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>USB</secondary> + </indexterm> + <listitem> + <para>Universal Serial Bus буюу Универсал Цуваа Шугам гэгддэг + USB интерфэйсүүд нь зэрэгцээ болон RS-232 цуваа интерфэйсүүдээс + бүр илүү хурдаар ажиллаж чаддаг. Кабелиуд нь хялбар бөгөөд + хямд байдаг. USB нь RS-232 болон Зэрэгцээ интерфэйсүүдээс + хэвлэхийн хувьд илүү хүчирхэг боловч &unix; системүүд дээр + тийм ч сайн дэмжигдсэн байдаггүй. Энэ асуудлыг тойрон гарахын + тулд олон хэвлэгчид байдаг USB болон Зэрэгцээ интерфэйсүүдтэй + тийм хэвлэгч худалдан авах явдал юм.</para> + </listitem> + </itemizedlist> + + <para>Ерөнхийдөө зэрэгцээ интерфэйсүүд нь зөвхөн нэг талын холбоог + (компьютераас хэвлэгч уруу) санал болгодог бол цуваа болон + USB нь хоёр талын холбоог өгдөг. Шинэ зэрэгцээ портууд + (EPP болон ECP) болон хэвлэгчид нь IEEE-1284 нийцтэй + кабел ашиглаж байгаа бол FreeBSD дээр хоёр тал уруу + чиглэсэн холбоог хийж чаддаг.</para> + + <indexterm><primary>PostScript</primary></indexterm> + + <para>Зэрэгцээ портоор хэвлэгч уруу чиглэсэн хоёр талын холбоог + ерөнхийдөө хоёр аргын аль нэгээр хийдэг. Эхний арга нь + хэвлэгчийн ашигладаг хувийн хэлээр ярьдаг FreeBSD-ийн + өөрчлөн бүтээсэн хэвлэгчийн драйверийг хэрэглэдэг. Энэ нь + бэхэн хэвлэгчидэд нийтлэг байдаг бөгөөд бэхний түвшин + болон бусад төлөвийн мэдээллийг үзүүлэхэд хэрэглэгддэг. + Хоёр дахь аргыг хэвлэгч &postscript;-г дэмждэг үед + ашигладаг.</para> + + <para>&postscript; ажлууд нь жинхэнэдээ хэвлэгч уруу илгээсэн + програмууд юм; тэдгээр нь цаас бүтээх ерөөсөө шаардлагагүй + бөгөөд үр дүнгүүдийг компьютер уруу шууд буцааж болох юм. + &postscript; нь &postscript; програм дахь алдаанууд, + эсвэл цаас гацсан зэрэг асуудлуудыг компьютерт хэлэхийн + тулд хоёр талын холбоог бас ашигладаг. Таны хэрэглэгчид + тийм мэдээллийг аваад талархах байх. Бас &postscript; + хэвлэгчийн хувьд үр ашигтай бүртгэл хийх хамгийн шилдэг + арга нь хоёр талын холбоог шаарддаг: хэвлэгчээс + хуудасны тоог (өөрийн амьдралын хугацаандаа нийт хичнээн хуудас + хэвлэсэн талаар) та асууж дараа нь хэрэглэгчийн ажлыг илгээж + тэгээд дахиад хуудасны тоог асуудаг. Хоёр утгын нэгээс нөгөөг + хасаад хэрэглэгчээс хичнээн цаасны төлбөр авахыг та мэдэх + болно.</para> + </sect4> + + <sect4 id="printing-parallel"> + <title>Зэрэгцээ портууд</title> + + <para>Хэвлэгчийг зэрэгцээ интерфэйс ашиглаад залгахын тулд + Centronics кабелийг хэвлэгч болон компьютерийн хооронд + холбоно. Хэвлэгч, компьютер эсвэл хоюулантай нь цуг ирсэн + зааврууд танд бүрэн гүйцэд заавар өгөх ёстой.</para> + + <para>Компьютер дээрээ аль зэрэгцээ портыг ашигласнаа санах + хэрэгтэй. Эхний зэрэгцээ порт нь FreeBSD-д + <filename>ppc0</filename> байх бөгөөд хоёр дахь + <filename>ppc1</filename> гэх мэтээр байна. + Хэвлэгчийн төхөөрөмжийн нэр мөн адил схемийг ашигладаг: + <filename>/dev/lpt0</filename> нь эхний зэрэгцээ + порт дээрх хэвлэгч гэх мэтээр байна.</para> + </sect4> + + <sect4 id="printing-serial"> + <title>Цуваа портууд</title> + + <para>Цуваа интерфэйсүүдийг ашиглан хэвлэгчийг залгахдаа зөв цуваа + кабелийг хэвлэгч болон компьютерийн хооронд холбоно. + Хэвлэгч, компьютер эсвэл хоюулантай нь цуг ирсэн + зааврууд танд бүрэн гүйцэд заавар өгөх ёстой.</para> + + <para>Хэрэв та <quote>зөв цуваа кабел</quote> нь юу + вэ гэдэгт эргэлзэж байвал та дараах боломжуудаас аль + нэгийг туршиж үзэхийг хүсэж болох юм:</para> + + <itemizedlist> + <listitem> + <para><emphasis>Модемийн</emphasis> кабел нь кабелийн нэг талд + байгаа холбогчийн зүү бүрийг нөгөө талд байгаа холбогчийн харгалзах зүүнд + шулуухан холбодог. Энэ төрлийн кабелийг <quote>DTE-ээс DCE</quote> + кабел гэж бас нэрлэдэг.</para> + </listitem> + + <indexterm><primary>null-модем кабел</primary></indexterm> + <listitem> + <para><emphasis>null-модем</emphasis> кабел нь зарим зүүнүүдийг + шууд шулуухнаар, заримуудыг нь хооронд нь солбидог (жишээ нь өгөгдлийг + хүлээн авахын тулд өгөгдлийг илгээдэг) бөгөөд заримыг нь дотроо + холбогч бүрийн таг дотор богино холбодог. Энэ төрлийн кабелийг + <quote>DTE-ээс DTE</quote> кабел гэж бас нэрлэдэг.</para> + </listitem> + + <listitem> + <para>Зарим нэг ховор хэвлэгчидэд шаардагддаг + <emphasis>цуваа хэвлэгчийн</emphasis> кабел нь null-модем кабелтай + адил боловч дотроо богино холбохын оронд зарим дохионуудыг өөрсдийн + эсрэг талдаа илгээдэг.</para> + </listitem> + </itemizedlist> + + <indexterm><primary>baud хурд</primary></indexterm> + <indexterm><primary>parity</primary></indexterm> + <indexterm><primary>урсгал хянах протокол</primary></indexterm> + <para>Та хэвлэгчийн хувьд холбооны параметрүүдийг бас тохируулах + хэрэгтэй бөгөөд эдгээрийг хэвлэгч дээрх нүүрэн талын хяналтууд юм уу эсвэл + DIP шилжүүлэгчдээр хийдэг. Таны компьютер болон хэвлэгч дэмждэг + хамгийн их <literal>bps</literal>-ийг (bits per second буюу секундэд + дамжих битийн тоо, заримдаа <emphasis>baud хурд</emphasis>) сонгох хэрэгтэй. + 7 юм уу эсвэл 8 өгөгдлийн бит; байхгүй (none), тэгш (even), + эсвэл сондгой (odd) parity; + болон 1 эсвэл 2 стоп битийг сонгох хэрэгтэй. Бас урсгал хянах протоколыг + сонгох хэрэгтэй: байхгүй (none) юм уу аль эсвэл XON/XOFF (бас + <quote>in-band</quote> эсвэл <quote>software</quote> гэгддэг) + урсгал хяналтыг сонгох хэрэгтэй. Дараах програм хангамжийн тохиргоонд + зориулж эдгээр тохируулгуудыг санах хэрэгтэй.</para> + </sect4> + </sect3> + + <sect3 id="printing-software"> + <title>Програм хангамжийн тохиргоо</title> + + <para>Энэ хэсэг нь FreeBSD дээр <application>LPD</application> + түр хадгалах системээр хэвлэхэд шаардлагатай програм хангамжийн тохируулгыг + тайлбарладаг. + </para> + + <para>Энд шаардлагатай алхмуудыг дурдав:</para> + + <procedure> + <step> + <para>Хэвлэгчийн хувьд ашиглаж байгаа портод зориулж шардлагатай + бол өөрийн цөмийг тохируулна; Таны юу хийх ёстойг + <link linkend="printing-kernel">Цөмийн тохиргоо</link> хэсэг + хэлж өгнө.</para> + </step> + + <step> + <para>Хэрэв та зэрэгцээ порт ашиглаж байгаа бол зэрэгцээ + портынхоо хувьд холбооны горимыг тохируулах хэрэгтэй; + <link + linkend="printing-parallel-port-mode">Зэрэгцээ портын + хувьд холбооны горимыг тохируулах нь</link> хэсгээс + дэлгэрэнгүйг үзээрэй.</para> + </step> + + <step> + <para>Үйлдлийн систем өгөгдлийг хэвлэгч уруу илгээж чадаж байгаа + эсэхийг тест хийнэ. Үүнийг хэрхэн хийх талаарх зарим нэгэн + зөвлөгөөнүүдийг <link linkend="printing-testing">Хэвлэгчийн + холбоонуудыг шалгах нь</link> хэсэг өгдөг.</para> + </step> + + <step> + <para><filename>/etc/printcap</filename> файлыг засаж + хэвлэгчдээ зориулж тохируулна. Үүнийг хэрхэн хийх талаар + сүүлд нь энэ бүлгээс олох болно.</para> + </step> + </procedure> + + <sect4 id="printing-kernel"> + <title>Цөмийн тохиргоо</title> + + <para>Үйлдлийн системийн цөм тусгайлсан хэдэн төхөөрөмжүүдтэй + ажиллахаар эмхэтгэгдсэн байдаг. Таны хэвлэгчид зориулагдсан + цуваа болон зэрэгцээ интерфэйс нь эдгээрийн нэг хэсэг юм. + Тийм болохоор хэрэв таны цөм ингэж тохируулагдаагүй бол + нэмэлт цуваа эсвэл зэрэгцээ портын дэмжлэгийг нэмэх хэрэгтэй + байж болох юм.</para> + + <para>Таны ашиглаж байгаа цөм цуваа интерфэйсийг дэмжиж байгаа + эсэхийг мэдэхийн тулд дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>grep sio<replaceable>N</replaceable> /var/run/dmesg.boot</userinput></screen> + + <para>Энд байгаа <replaceable>N</replaceable> нь тэгээс эхлэх + цуваа портын дугаар юм. Хэрэв та дараахьтай төстэй гаралтыг + харвал:</para> + + <screen>sio2 at port 0x3e8-0x3ef irq 5 on isa +sio2: type 16550A</screen> + + <para>цөм нь портыг дэмждэг гэсэн үг юм.</para> + + <para>Цөм нь зэрэгцээ интерфэйсийг дэмждэг эсэхийг мэдэхийн тулд дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>grep ppc<replaceable>N</replaceable> /var/run/dmesg.boot</userinput></screen> + + <para>Энд байгаа <replaceable>N</replaceable> нь тэгээс эхлэх + зэрэгцээ портын дугаар юм. Хэрэв та дараахьтай төстэй гаралтыг + харвал:</para> + + <screen>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</screen> + + <para>цөм нь портыг дэмждэг гэсэн үг юм.</para> + + <para>Таны хэвлэгчдээ зориулан ашиглаж байгаа зэрэгцээ эсвэл + цуваа портыг үйлдлийн систем таньж хэрэглэдэг байхын тулд та өөрийн + цөмийг дахин тохируулах хэрэгтэй болж болох юм.</para> + + <para>Цуваа портод зориулж дэмжлэг нэмэхийн тулд цөмийн тохиргооны + талаарх хэсгийг үзнэ үү. Зэрэгцээ портод зориулж дэмжлэг + нэмэхийн тулд тэр хэсгийг <emphasis>болон</emphasis> дараагийн + хэсгийг үзнэ үү.</para> + </sect4> + </sect3> + <sect3 id="printing-parallel-port-mode"> + <title>Зэрэгцээ портын хувьд холбооны горимыг тохируулах нь</title> + + <para>Зэрэгцээ интерфэйсийг ашиглаж байхдаа FreeBSD нь + хэвлэгчийн хувьд тасалдлаар зохицуулагдах юм уу эсвэл байнга шалгах + холбооны алийг ашиглахыг та сонгож болно. FreeBSD дээрх ердийн + хэвлэгчийн төхөөрөмжийн драйвер (&man.lpt.4;) нь + портын бичил схемийг &man.ppc.4; драйвераар хянадаг + &man.ppbus.4; системийг ашигладаг.</para> + + <itemizedlist> + <listitem> + <para><emphasis>interrupt-driven буюу тасалдлаар зохицуулагдах</emphasis> + арга нь GENERIC цөмд анхдагч байдаг. Энэ арганд + үйлдлийн систем нь хэвлэгч өгөгдөл хүлээн авахад хэзээ бэлэн + байгааг тодорхойлохын тулд IRQ шугамыг ашигладаг.</para> + </listitem> + + <listitem> + <para><emphasis>polled</emphasis> буюу байнга шалгах арга нь + үйлдлийн системд хэвлэгчээс өгөгдөл хүлээн авахад бэлэн + байгаа эсэхийг нь давталттайгаар асуухыг зааж өгдөг. Бэлэн гэж хариулбал + цөм илүү өгөгдөл илгээдэг.</para> + </listitem> + </itemizedlist> + + <para>Тасалдлаар зохицуулагдах арга нь ихэвчлэн хурдан байдаг боловч + нандин IRQ шугамыг ихээр ашигладаг. Зарим шинэ HP хэвлэгчид + нь зарим (яг тодорхой ойлгогдоогүй) хугацааны асуудлуудаас болоод + тасалдлын горимд зөв ажилладаггүй гэгддэг. Эдгээр хэвлэгчидэд + байнга шалгах горим хэрэгтэй. Аль ажиллаж байгааг нь л та ашиглах + хэрэгтэй. Зарим хэвлэгчид нь аль алин дээр нь ажилладаг боловч + тасалдлын горим асар удаан байдаг.</para> + + <para>Та холбооны горимыг хоёр аргаар тохируулж болно: цөмийг + тохируулах замаар эсвэл &man.lptcontrol.8; програм + ашиглан хийж болно.</para> + + <para><emphasis>Цөмийг тохируулах замаар холбоог тохируулахдаа:</emphasis></para> + + <procedure> + <step> + <para>Өөрийн цөмийн тохиргооны файлаа засварлана. <literal>ppc0</literal> + оруулгыг хайна. Хэрэв та хоёр дахь зэрэгцээ портыг тохируулж байгаа бол + <literal>ppc1</literal>-г ашиглаарай. Гурав дахь портын хувьд + <literal>ppc2</literal> гэх мэтээр ашиглана.</para> + + <itemizedlist> + <listitem> + <para>Хэрэв та тасалдлаар зохицуулагдах горимыг хүсэж байгаа бол + дараах мөрийг:</para> + + <programlisting>hint.ppc.0.irq="<replaceable>N</replaceable>"</programlisting> + + <para><filename>/boot/device.hints</filename> файлд засварлаж + <replaceable>N</replaceable>-ий оронд зөв IRQ дугаарыг + солих хэрэгтэй. Цөмийн тохиргооны файл &man.ppc.4; драйверийг + бас агуулсан байх ёстой:</para> + + <screen>device ppc</screen> + + </listitem> + + <listitem> + <para>Хэрэв та байнга шалгадаг горимыг хүсэж байвал + өөрийн <filename>/boot/device.hints</filename> файлаас + дараах мөрийг арилгана:</para> + + <programlisting>hint.ppc.0.irq="<replaceable>N</replaceable>"</programlisting> + + <para>Зарим тохиолдолд энэ нь FreeBSD дээр портыг байнга шалгах + горимд оруулахад хангалтгүй байдаг. Ихэнхдээ энэ нь + &man.acpi.4; драйвераас гардаг бөгөөд энэ нь + төхөөрөмжүүдийг шалгаж болон залгаж чаддаг + болохоор хэвлэгчийн порт уруу хандах горимыг + хянаж чаддаг байна. Энэ асуудлыг засварлахын тулд + та өөрийн &man.acpi.4; тохиргоог шалгах хэрэгтэй.</para> + </listitem> + </itemizedlist> + </step> + + <step> + <para>Файлыг хадгална. Дараа нь цөмд тохиргоо хийн бүтээж цөмийг + суулгаад дахин ачаална. Илүү дэлгэрэнгүйг <link + linkend="kernelconfig">цөмийн тохиргоо</link> хэсгээс үзнэ үү.</para> + </step> + </procedure> + + <para><emphasis>Холбооны горимыг</emphasis> + &man.lptcontrol.8;-р тохируулахын тулд:</para> + + <procedure> + <step> + <para>Дараахийг бичиж:</para> + + <screen>&prompt.root; <userinput>lptcontrol -i -d /dev/lpt<replaceable>N</replaceable></userinput></screen> + + <para><literal>lpt<replaceable>N</replaceable></literal>-д зориулж + тасалдлаар зохицуулагдах горимыг тохируулна.</para> + </step> + + <step> + <para>Дараахийг бичиж:</para> + + <screen>&prompt.root; <userinput>lptcontrol -p -d /dev/lpt<replaceable>N</replaceable></userinput></screen> + + <para><literal>lpt<replaceable>N</replaceable></literal>-д зориулж + байнга шалгах горимыг тохируулна.</para> + </step> + </procedure> + + <para>Эдгээр тушаалуудыг өөрийн <filename>/etc/rc.local</filename> файлд + нэмж таны системийг ачаалах болгонд горимыг тохируулдаг байхаар хийж болох + юм. Илүү мэдээллийг &man.lptcontrol.8;-с үзнэ үү.</para> + </sect3> + + <sect3 id="printing-testing"> + <title>Хэвлэгчийн холбоог шалгах нь</title> + + <para>Түр хадгалагч системийг тохируулахаасаа өмнө та үйлдлийн системийг + өгөгдлийг амжилттайгаар өөрийн хэвлэгч уруу илгээж чадаж байгаа + эсэхийг шалгах хэрэгтэй. Хэвлэгчийн холбоо болон түр хадгалагч системийг + тусад нь дибаг хийх нь хамаагүй хялбар байдаг.</para> + + <para>Хэвлэгчийг тест хийхийн тулд бид ямар нэг текст түүн үрүү илгээнэ. + Илгээгдсэн тэмдэгтүүдийг тэр даруй нь хэвлэх хэвлэгчдийн хувьд + &man.lptest.1; програм төгс байдаг: энэ нь бүх 96 хэвлэх + боломжтой ASCII тэмдэгтүүдийг 96 мөрөнд үүсгэдэг.</para> + + <indexterm><primary>PostScript</primary></indexterm> + <para>&postscript; (эсвэл бусад хэлэн дээр суурилсан) хэвлэгчийн + хувьд бидэнд илүү төвөгтэй тест хэрэгтэй. Дараахьтай төстэй + жижиг &postscript; програм хангалттай байх болно:</para> + + <programlisting>%!PS +100 100 moveto 300 300 lineto stroke +310 310 moveto /Helvetica findfont 12 scalefont setfont +(Is this thing working?) show +showpage</programlisting> + + <para>Дээрх &postscript; кодыг файлд хийгээд доорхи хэсгүүдэд гарч + байгаа жишээнүүдэд үзүүлсэн шигээр ашиглаж болно.</para> + + <indexterm><primary>PCL</primary></indexterm> + <note> + <para>Энэ баримт нь хэвлэгчийн хэл гэдгийг Hewlett + Packard-ийн PCL биш харин &postscript;-тэй адил + хэлийг хэлж байгаа юм. PCL нь мундаг ажиллагаатай боловч + та цэвэр текстийг өөрийнх нь escape (зугтах) дарааллуудтай нь + хольж болдог. &postscript; нь цэвэр текстийг шууд хэвлэж + чаддаггүй бөгөөд энэ нь тусгай зохицуулалтууд хийж өгөх ёстой + тийм хэвлэгчийн хэл юм.</para> + </note> + + <sect4 id="printing-checking-parallel"> + <title>Зэрэгцээ хэвлэгчийг шалгах нь</title> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>зэрэгцээ</secondary> + </indexterm> + <para>Энэ хэсэг нь зэрэгцээ порт уруу холбогдсон хэвлэгчтэй + FreeBSD холбогдож чадах эсэхийг хэрхэн шалгахыг хэлж + өгөх болно.</para> + + <para><emphasis>Зэрэгцээ порт дээрх хэвлэгчийг тест хийхийн тулд:</emphasis></para> + + <procedure> + <step> + <para>&man.su.1; ашиглан <username>root</username> болно.</para> + </step> + + <step> + <para>Хэвлэгч уруу өгөгдөл илгээнэ.</para> + + <itemizedlist> + <listitem> + <para>Хэрэв хэвлэгч цэвэр текст хэвлэж чаддаг бол &man.lptest.1;-г + ашиглана. Дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>lptest > /dev/lpt<replaceable>N</replaceable></userinput></screen> + + <para>Энд байгаа <replaceable>N</replaceable> нь + тэгээс эхлэх зэрэгцээ портын дугаар юм.</para> + </listitem> + + <listitem> + <para>Хэрэв хэвлэгч &postscript; эсвэл бусад хэвлэгчийн + хэлийг ойлгодог бол жижиг програм хэвлэгч уруу илгээх + хэрэгтэй. Дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>cat > /dev/lpt<replaceable>N</replaceable></userinput></screen> + + <para>Тэгээд мөр мөрөөр програмыг анхааралтай оруулах хэрэгтэй. + Учир нь <literal>RETURN</literal> + эсвэл <literal>ENTER</literal> дарсны дараа та засварлаж + чадахгүй болох юм. Програмаа оруулж дуусаад + <literal>CONTROL+D</literal> юм уу эсвэл файлын төгсгөл + товчлуур ямар байна тэрийг дарах хэрэгтэй.</para> + + <para>Мөн өөрөөр програмыг файлд хийж дараахийг бичин өгч болно:</para> + + <screen>&prompt.root; <userinput>cat <replaceable>file</replaceable> > /dev/lpt<replaceable>N</replaceable></userinput></screen> + + <para>Энд байгаа <replaceable>file</replaceable> нь + таны илгээхийг хүсэж байгаа програмыг агуулсан файлын + нэр юм.</para> + </listitem> + </itemizedlist> + </step> + </procedure> + + <para>Та ямар нэгэн зүйл харах ёстой. Текст зөв харагдахгүй + байвал санаа зовсны хэрэггүй; бид иймэрхүү зүйлсийг + сүүлд нь засах болно.</para> + </sect4> + + <sect4 id="printing-checking-serial"> + <title>Цуваа хэвлэгчийг шалгах нь</title> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>цуваа</secondary> + </indexterm> + <para>Энэ хэсэг нь цуваа порт уруу холбогдсон хэвлэгчтэй + FreeBSD холбогдож чадах эсэхийг хэрхэн шалгахыг хэлж + өгөх болно.</para> + + <para><emphasis>Цуваа порт дээрх хэвлэгчийг тест хийхдээ:</emphasis></para> + + <procedure> + <step> + <para>&man.su.1; ашиглан <username>root</username> болно.</para> + </step> + + <step> + <para><filename>/etc/remote</filename> файлыг засварлана. + Дараах мөрийг нэмнэ:</para> + + <programlisting>printer:dv=/dev/<replaceable>port</replaceable>:br#<replaceable>bps-rate</replaceable>:pa=<replaceable>parity</replaceable></programlisting> + + <indexterm><primary>bits-per-second</primary></indexterm> + <indexterm><primary>цуваа порт</primary></indexterm> + <indexterm><primary>parity</primary></indexterm> + <para>Энд байгаа <replaceable>port</replaceable> нь + цуваа портод (<literal>ttyd0</literal>, + <literal>ttyd1</literal>, гэх мэт) зориулсан төхөөрөмжийн оруулга, + <replaceable>bps-rate</replaceable> нь хэвлэгчийн + холбогдох секундэнд илгээх битийн хурд, болон <replaceable>parity</replaceable> + нь хэвлэгчийн шаарддаг parity юм (<literal>even</literal>, + <literal>odd</literal>, <literal>none</literal>, эсвэл + <literal>zero</literal>).</para> + + <para>Цуваа шугамаар гурав дахь цуваа порт уруу 19200 bps хурдаар + parity байхгүйгээр холбогдсон хэвлэгчид зориулсан жишээ оруулга энд + байна:</para> + + <programlisting>printer:dv=/dev/ttyd2:br#19200:pa=none</programlisting> + </step> + + <step> + <para>&man.tip.1; ашиглан хэвлэгч уруу холбогдоно. + Дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>tip printer</userinput></screen> + + <para>Хэрэв энэ алхам нь ажиллахгүй бол <filename>/etc/remote</filename> + файлыг дахин засварлаж <filename>/dev/ttyd<replaceable>N</replaceable></filename>-ийн + оронд <filename>/dev/cuaa<replaceable>N</replaceable></filename>-г + ашиглаж үзээрэй.</para> + </step> + + <step> + <para>Өгөгдлийг хэвлэгч уруу илгээнэ.</para> + + <itemizedlist> + <listitem> + <para>Хэрэв хэвлэгч цэвэр текст хэвлэж чаддаг бол &man.lptest.1;-г + ашиглана. Дараахийг бичнэ:</para> + + <screen>&prompt.user; <userinput>$lptest</userinput></screen> + </listitem> + + <listitem> + <para>Хэрэв хэвлэгч &postscript; эсвэл бусад хэвлэгчийн + хэлийг ойлгодог бол жижиг програм хэвлэгч уруу илгээх + хэрэгтэй. Програмыг мөр мөрөөр <emphasis>маш анхааралтайгаар</emphasis> + бичиж оруулах хэрэгтэй. Учир нь арилгах болон бусад + засварлах товчлуурууд хэвлэгчийн хувьд чухал байж болох + юм. Та програмыг бүгдийг нь хүлээж авсан гэж хэвлэгчид + таниулахын тулд тусгай файлын төгсгөл товчлуурыг хэвлэгчид + зориулж оруулах хэрэгтэй. &postscript;-ийн хэвлэгчидийн + хувьд <literal>CONTROL+D</literal> дарна.</para> + + <para>Мөн өөрөөр та програмыг файлд хийж дараахийг бичин оруулж + болно:</para> + + <screen>&prompt.user; <userinput>><replaceable>file</replaceable></userinput></screen> + + <para>Энд байгаа <replaceable>file</replaceable> нь + програмыг агуулж байгаа файлын нэр юм. &man.tip.1; + файлыг илгээсний дараа шаардлагатай файлын төгсгөл + товчлуурыг дарах хэрэгтэй.</para> + </listitem> + </itemizedlist> + </step> + </procedure> + + <para>Та ямар нэгэн зүйл хэвлэгдэхийг харах ёстой. Текст зөв харагдахгүй + байвал санаа зовсны хэрэггүй; бид иймэрхүү зүйлсийг + сүүлд нь засах болно.</para> + </sect4> + </sect3> + + <sect3 id="printing-printcap"> + <title>Түр хадгалагчийг идэвхжүүлэх нь: <filename>/etc/printcap</filename> + файл</title> + + <para>Энэ үед таны хэвлэгч залгагдаж таны цөм түүнтэй холбогдохоор + тохируулагдсан (хэрэв шаардлагатай бол) бөгөөд та хэвлэгч уруугаа зарим + энгийн өгөгдлийг илгээж чаддаг байна. Одоо бид таны хэвлэгч уруу хандах + хандалтыг хянахын тулд <application>LPD</application>-г тохируулахад + бэлэн боллоо.</para> + + <para>Та <filename>/etc/printcap</filename> файлыг засварлаж + <application>LPD</application>-г тохируулна. <application>LPD</application> + түр хадгалагч систем нь түр хадгалагч ашиглагдах болгонд энэ файлыг уншдаг + учир энэ файл уруу хийгдсэн шинэчлэл шууд нөлөөлөх болно.</para> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>боломжууд</secondary> + </indexterm> + <para>&man.printcap.5; файлын хэлбэршилт хялбархан. + <filename>/etc/printcap</filename> файлд засвар хийхдээ + өөрийн дуртай текст засварлагчийг ашиглах хэрэгтэй. Хэлбэршилт нь + <filename>/usr/share/misc/termcap</filename> болон + <filename>/etc/remote</filename> зэрэг бусад боломжийн + файлуудтай төстэй байдаг. Хэлбэршилтийн талаарх бүрэн + мэдээллийг &man.cgetent.3;-с үзнэ үү.</para> + + <para>Энгийн түр хадгалагчийн тохиргоо дараах алхмуудаас тогтоно:</para> + + <procedure> + <step> + <para>Хэвлэгчид зориулж нэр (болон хэдэн тохиромжтой alias-уудыг) + сонгож <filename>/etc/printcap</filename> файлд + хийж өгнө; Нэрлэх талаарх дэлгэрэнгүй мэдээллийг + <link linkend="printing-naming">Хэвлэгчийг нэрлэх нь</link> + хэсгээс үзнэ үү.</para> + </step> + + <indexterm><primary>толгой хуудаснууд</primary></indexterm> + <step> + <para><literal>sh</literal> боломжийг оруулан толгой хуудаснуудыг + болиулах хэрэгтэй (анхдагчаар идэвхтэй байдаг); Дэлгэрэнгүй мэдээллийг + <link linkend="printing-no-header-pages">Толгой хуудаснуудыг + дарах нь</link> хэсгээс үзнэ үү.</para> + </step> + + <step> + <para>Түр хадгалах санг үүсгэж түүний байрлалыг <literal>sd</literal> + боломжоор зааж өгөх хэрэгтэй; Дэлгэрэнгүй мэдээллийг <link + linkend="printing-spooldir">Түр хадгалах санг үүсгэх нь</link> + хэсгээс үзнэ үү.</para> + </step> + + <step> + <para>Хэвлэгчид зориулж ашиглахаар <filename>/dev</filename> + оруулгыг тохируулж <literal>lp</literal> боломжоор + <filename>/etc/printcap</filename> файлд түүнийг тэмдэглэх + хэрэгтэй; Дэлгэрэнгүй мэдээллийг <link + linkend="printing-device">Хэвлэгчийн төхөөрөмжийг таних нь</link> + хэсгээс үзнэ үү. Хэрэв хэвлэгч цуваа порт дээр байгаа бол + холбооны параметрүүдийг <link + linkend="printing-commparam">Түр хадгалагчийн холбооны + параметрүүдийг тохируулах нь</link> хэсэгт хэлэлцсэн + <literal>ms#</literal> боломжоор тохируулах хэрэгтэй.</para> + </step> + + <step> + <para>Цэвэр текст оруулах шүүлтүүрийг суулгана; Дэлгэрэнгүйг + <link + linkend="printing-textfilter">Текст шүүгчийг суулгах нь</link> + хэсгээс үзнэ үү.</para> + </step> + + <step> + <para>&man.lpr.1; тушаалаар ямар нэг юм хэвлэж тест хийнэ. + Илүү дэлгэрэнгүйг <link linkend="printing-trying">Турших нь</link> болон + <link + linkend="printing-troubleshooting">Алдааг олж засварлах</link> + хэсгүүдээс үзнэ үү.</para> + </step> + </procedure> + + <note> + <para>&postscript; хэвлэгчид зэрэг хэлэн дээр суурилсан хэвлэгчид цэвэр + текстийг шууд хэвлэж чаддаггүй. Дээр болон дараагийн хэсгүүдэд + тайлбарласан энгийн тохиргоо нь хэрэв та ийм хэвлэгч суулгаж байгаа бол + таныг зөвхөн хэвлэгчийн ойлгодог файлыг хэвлэнэ гэж тооцдог.</para> + </note> + + <para>Хэрэглэгчид нь цэвэр текстийг таны системд суулгагдсан дурын хэвлэгч уруу + өгч хэвлэж болно гэж ихэвчлэн боддог. <application>LPD</application> уруу + залгагдсан програмууд өөрсдийн хэвлэлтийг хийхдээ бас ингэж тооцдог. + Хэрэв та тийм хэвлэгч суулгаж хэвлэгчийн хэл дээр ажлуудаа хэвлэх + <emphasis>болон</emphasis> цэвэр текст ажлуудыг хэвлэж чаддаг байхыг + хүсэж байгаа бол дээр дурдсан энгийн тохиргоонд нэмэлт алхам нэмж өгөх + зайлшгүй шаардлагатай: цэвэр текстээс &postscript; уруу автоматаар хөрвүүлэх + програмыг суулгах хэрэгтэй. <link + linkend="printing-advanced-if-conversion">Цэвэр текст ажлуудыг + &postscript; хэвлэгчид дээр тааруулах нь</link> гэж нэрлэгдсэн + хэсэг үүнийг хэрхэн хийхийг хэлж өгнө.</para> + + <sect4 id="printing-naming"> + <title>Хэвлэгчийг нэрлэх нь</title> + + <para>Эхний (хялбар) алхам бол өөрийн хэвлэгчид зориулж нэр сонгох явдал + юм. Ажиллагаатай нь холбогдуулж юм уу эсвэл этгээд чамин нэр + сонгох нь яг үнэндээ хамаагүй юм. Учир нь та хэвлэгчид зориулж + бас хэд хэдэн alias буюу өөр нэрсийг өгч болох юм.</para> + + <para><filename>/etc/printcap</filename>-д тодорхойлогдсон + хэвлэгчидийн хамгийн багаар бодоход аль нэг <literal>lp</literal> + гэсэн alias-тай байх ёстой. Энэ нь анхдагч хэвлэгчийн нэр юм. + Хэрэв хэрэглэгчдэд <envar>PRINTER</envar> орчны хувьсагч + байхгүй юм уу эсвэл <application>LPD</application> тушаалуудыг + өгөх тушаалын мөрөнд хэвлэгчийн нэрийг зааж өгөөгүй бол + <literal>lp</literal> нь тэдгээрийн ашиглаж сурсан + анхдагч хэвлэгч болох юм.</para> + + <para>Хэвлэгчийн хамгийн сүүлийн alias-д хэвлэгчийн бүрэн тайлбарыг + үйлдвэрлэгч болон загварыг оруулан өгөх нь нийтлэг практик байдаг.</para> + + <para>Нэр болон зарим нийтлэг alias-уудыг сонгосныхоо дараа тэдгээрийг + <filename>/etc/printcap</filename> файлд хийж өгөх хэрэгтэй. + Хэвлэгчийн нэр хамгийн зүүн баганаас эхлэх ёстой. Alias болгоныг + босоо шугамаар тусгаарлаж хамгийн сүүлийн alias-ийн ард тодорхойлох + цэг тавина.</para> + + <para>Дараах жишээн дээр хоёр хэвлэгчийг (Diablo 630 шугамын хэвлэгч болон Panasonic KX-P4455 &postscript; + лазерийн хэвлэгч) тодорхойлох <filename>/etc/printcap</filename> + файлаас бид эхлэх болно:</para> + + <programlisting># +# /etc/printcap for host rose +# +rattan|line|diablo|lp|Diablo 630 Line Printer: + +bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:</programlisting> + + <para>Энэ жишээн дээр эхний хэвлэгч нь <literal>rattan</literal> гэж + нэрлэгдсэн бөгөөд <literal>line</literal>, <literal>diablo</literal>, + <literal>lp</literal>, болон <literal>Diablo 630 Line + Printer</literal> гэсэн alias-уудтай байна. Энэ нь + <literal>lp</literal> alias-тай болохоор энэ нь + бас анхдагч хэвлэгч юм. Хоёр дахь нь <literal>bamboo</literal> гэж + нэрлэгдсэн бөгөөд <literal>ps</literal>, <literal>PS</literal>, + <literal>S</literal>, <literal>panasonic</literal>, болон + <literal>Panasonic KX-P4455 PostScript v51.4</literal> гэсэн + alias-уудтай байна.</para> + </sect4> + + <sect4 id="printing-no-header-pages"> + <title>Толгой хуудаснуудыг дарах нь</title> + <indexterm> + <primary>хэвлэлт</primary> + <secondary>толгой хуудаснууд</secondary> + </indexterm> + + <para><application>LPD</application> түр хадгалах систем нь + ажил бүрийн хувьд анхдагчаар <emphasis>толгой хуудас</emphasis> + хэвлэдэг. Толгой хуудас нь том сайхан үсгээр бичигдсэн ажлыг хүссэн + хэрэглэгчийн нэр, ажил ирсэн хост болон ажлын нэрийг агуулдаг. + Харамсалтай нь энэ бүх нэмэлт текст нь энгийн хэвлэгчийн тохиргоог + дибаг хийх замд саад болдог учир бид толгой хуудаснуудыг дарж + хаах болно.</para> + + <para>Толгой хуудаснуудыг дарахын тулд <filename>/etc/printcap</filename> + файл дахь хэвлэгчийн оруулгад <literal>sh</literal> боломжийг + нэмэх хэрэгтэй. Энд <literal>sh</literal> нэмсэн + <filename>/etc/printcap</filename> файлын жишээ байна:</para> + + <programlisting># +# /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:</programlisting> + + <para>Бидний зөв хэлбэршилт хэрхэн хэрэглэснийг хараарай: эхний мөр нь + хамгийн зүүн талын баганаас эхэлж дараа дараачийн мөрүүд нь + хойш зай авагдсан байна. Оруулга дахь сүүлийн мөрөөс бусад мөр бүр + урагш налуу тэмдэгтээр төгссөн байна.</para> + </sect4> + + <sect4 id="printing-spooldir"> + <title>Түр хадгалах санг үүсгэх нь</title> + <indexterm><primary>хэвлэгчийн түр хадгалалт</primary></indexterm> + <indexterm><primary>хэвлэх ажлууд</primary></indexterm> + + <para>Түр хадгалагчийн энгийн тохиргоон дахь дараагийн алхам нь хэвлэгдэх + ажлууд хэвлэгдэх хүртлээ байдаг, түр хадгалагчийн бусад дэмжлэгийн + файлууд бас байдаг <emphasis>түр хадгалах сан</emphasis>г + үүсгэх явдал юм.</para> + + <para>Түр хадгалах сангийн хувьсамтгайгаас болоод эдгээр сангуудыг + <filename>/var/spool</filename>-д хийх нь зуршил + болсон зүйл юм. Түр хадгалах сангуудын агуулгыг заавал нөөцлөх + ч бас шаардлагагүй юм. Тэдгээрийг үүсгэх нь + &man.mkdir.1; тушаалыг ажиллуулахтай адил хялбар юм.</para> + + <para>Доор үзүүлсэн шиг хэвлэгчийн нэртэй адил нэрээр санг үүсгэх нь бас зуршил болсон + байдаг:</para> + + <screen>&prompt.root; <userinput>mkdir /var/spool/<replaceable>хэвлэгчийн-нэр</replaceable></userinput></screen> + + <para>Гэхдээ та сүлжээндээ их олон хэвлэгчидтэй бол + түр хадгалах сангуудаа зөвхөн <application>LPD</application>-ээр хэвлэхийн тулд + нөөцөлсөн нэг сангийн доор хийхийг хүсэж болох юм. Бид + <literal>rattan</literal> болон <literal>bamboo</literal> + гэсэн хоёр жишээ хэвлэгчдээ зориулж үүнийг хийх болно:</para> + + <screen>&prompt.root; <userinput>mkdir /var/spool/lpd</userinput> +&prompt.root; <userinput>mkdir /var/spool/lpd/rattan</userinput> +&prompt.root; <userinput>mkdir /var/spool/lpd/bamboo</userinput></screen> + + <note> + <para>Хэрэглэгчдийн хэвлэх ажлын нууцлалын талаар та бодож байгаа бол + түр хадгалах санд олон нийт хандах боломжгүй болгож түүнийг хамгаалахыг хүсэж + болох юм. Түр хадгалах сангуудыг хэрэглэгчийн демон болон бүлгийн + демон эзэмшиж, өөр хэнээр ч биш зөвхөн эдгээр демонуудаар уншигдах, + бичигдэх, болон хайлт хийх боломжтой байх ёстой. Бид үүнийг + өөрсдийн жишээ хэвлэгчидэд зориулж хийх болно:</para> + + <screen>&prompt.root; <userinput>chown daemon:daemon /var/spool/lpd/rattan</userinput> +&prompt.root; <userinput>chown daemon:daemon /var/spool/lpd/bamboo</userinput> +&prompt.root; <userinput>chmod 770 /var/spool/lpd/rattan</userinput> +&prompt.root; <userinput>chmod 770 /var/spool/lpd/bamboo</userinput></screen> + </note> + + <para>Төгсгөлд нь та эдгээр сангуудын талаар <application>LPD</application> + програмд <filename>/etc/printcap</filename> файл ашиглан + хэлж өгөх хэрэгтэй. Түр хадгалах сангийн замыг <literal>sd</literal> + боломжтой цуг зааж өгнө:</para> + + <programlisting># +# /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:</programlisting> + + <para>Хэвлэгчийн нэр эхний баганаас эхэлж харин хэвлэгчийг тайлбарлах + бусад бүх оруулгууд догол мөрөөс эхэлж мөр бүрийн төгсгөл урагш + налуу тэмдэгтээр төгсөх ёстой.</para> + + <para>Хэрэв та түр хадгалах санг <literal>sd</literal>-ээр зааж өгөхгүй бол + түр хадгалах систем нь анхдагчаар <filename>/var/spool/lpd</filename>-г + ашиглах болно.</para> + </sect4> + + <sect4 id="printing-device"> + <title>Хэвлэгч төхөөрөмжийг таних нь</title> + + <para>Портын хэсэгт зориулагдсан оруулгуудад бид + <filename>/dev</filename> сан дахь аль оруулгыг + FreeBSD нь хэвлэгчтэй холбогдохдоо ашиглахыг мэдлээ. + Одоо бид <application>LPD</application>-д тэр + мэдээллийг хэлнэ. Түр хадгалах систем нь хэвлэх ажилтай + байгаа үедээ шүүгч програмын өмнөөс заасан төхөөрөмжийг онгойлгох + болно (шүүгч програм нь өгөгдлийг хэвлэгч уруу дамжуулахыг + хариуцдаг).</para> + + <para><literal>lp</literal> боломж ашиглан + <filename>/etc/printcap</filename> файлд + <filename>/dev</filename> оруулгын замыг жагсааж өгнө.</para> + + <para>Бидний ажиллах жишээн дээр <literal>rattan</literal> нь + эхний зэрэгцээ порт дээр, <literal>bamboo</literal> нь + зургаа дахь цуваа порт дээр байгаа гэж үзье; энд <filename>/etc/printcap</filename> + файлд хийгдэх нэмэлтүүд байна:</para> + + <programlisting># +# /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:</programlisting> + + <para>Хэрэв та өөрийн <filename>/etc/printcap</filename> файл дээрээ + хэвлэгчдээ зориулж <literal>lp</literal> боломжийг зааж өгөхгүй + бол <application>LPD</application> нь анхдагчаар + <filename>/dev/lp</filename>-г ашиглах болно. + <filename>/dev/lp</filename> нь одоогоор FreeBSD дээр + байхгүй байгаа.</para> + + <para>Хэрэв таны суулгаж байгаа хэвлэгч зэрэгцээ порт уруу холбогдсон бол + <link + linkend="printing-textfilter">Текст шүүгчийг суулгах нь</link> + хэсэг уруу алгасаарай. Үгүй бол дараагийн хэсэг дэх заавруудыг + дагахаа битгий мартаарай.</para> + </sect4> + + <sect4 id="printing-commparam"> + <title>Түр хадгалагчийн холбооны параметрүүдийг тохируулах нь</title> + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>цуваа</secondary> + </indexterm> + + <para>Зэрэгцээ портууд дээрх хэвлэгчидийн хувьд <application>LPD</application> нь + bps хурд, parity, болон бусад цуваа холбооны параметрүүдийг хэвлэгч уруу өгөгдөл + илгээдэг шүүгч програмын өмнөөс тохируулж чаддаг. Энэ нь давуу талуудтай, учир нь:</para> + + <itemizedlist> + <listitem> + <para>Энэ нь <filename>/etc/printcap</filename> файлыг + засварлан өөр холбооны параметрүүдийг турших боломжийг танд + олгодог; та шүүгч програмыг дахин эмхэтгэх шаардлагагүй.</para> + </listitem> + + <listitem> + <para>Энэ нь өөр өөр цуваа холбооны тохируулгуудтай байж болох олон + хэвлэгчидэд зориулж нэг шүүгч програмыг ашиглахаар + болгож түр хадгалах системийг идэвхжүүлдэг.</para> + </listitem> + </itemizedlist> + + <para>Дараах <filename>/etc/printcap</filename> боломжууд нь + <literal>lp</literal> боломжид жагсаагдсан төхөөрөмжийн + цуваа холбооны параметрүүдийг хянадаг:</para> + + <variablelist> + <varlistentry> + <term><literal>br#<replaceable>bps-rate</replaceable></literal></term> + + <listitem> + <para>Төхөөрөмжийн холбооны хурдыг <replaceable>bps-rate</replaceable> + болгож тохируулах бөгөөд <replaceable>bps-rate</replaceable> нь + секундэнд 50, 75, 110, + 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, + 19200, 38400, 57600, эсвэл 115200 бит байж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ms#<replaceable>stty-mode</replaceable></literal></term> + + <listitem> + <para>Төхөөрөмжийг онгойлгосны дараа терминал төхөөрөмжид зориулж + сонголтуудыг тохируулна. &man.stty.1; нь байж болох сонголтуудыг + тайлбарладаг.</para> + </listitem> + </varlistentry> + </variablelist> + + <para><literal>lp</literal> боломжоор заагдсан төхөөрөмжийг + <application>LPD</application> онгойлгох үед + энэ нь төхөөрөмжийн үзүүлэлтүүдийг <literal>ms#</literal> + боломжоор заагдсанаар тохируулдаг. Тухайлбал, + &man.stty.1; гарын авлагын хуудсанд тайлбарлагдсан байгаа + <literal>parenb</literal>, + <literal>parodd</literal>, <literal>cs5</literal>, + <literal>cs6</literal>, <literal>cs7</literal>, + <literal>cs8</literal>, <literal>cstopb</literal>, + <literal>crtscts</literal>, болон <literal>ixon</literal> + горимууд юм.</para> + + <para>Зургаа дахь цуваа порт дээр өөрсдийн жишээ хэвлэгчээ нэмье. + Бид bps хурдыг 38400 гэж тохируулна. Горимын хувьд бид + <literal>-parenb</literal> тохируулгаар parity байхгүй, + <literal>cs8</literal> тохируулгаар 8 бит тэмдэгтүүд, + <literal>clocal</literal> тохируулгаар модемийн хяналт + байхгүй, <literal>crtscts</literal> тохируулгаар + тоног төхөөрөмжийн урсгалын хяналт байхгүй гэж тохируулах + болно:</para> + + <programlisting>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:</programlisting> + </sect4> + + <sect4 id="printing-textfilter"> + <title>Текст шүүгчийг суулгах нь</title> + <indexterm> + <primary>хэвлэлт</primary> + <secondary>шүүгчид</secondary> + </indexterm> + + <para>Одоо бид хэвлэгч уруу ажлууд илгээхийн тулд ямар текстийн шүүгчийг + ашиглахыг <application>LPD</application>-д хэлэхэд бэлэн + боллоо. <emphasis>Оролтын шүүгч</emphasis> гэж бас нэрлэгддэг + <emphasis>Текст шүүгч</emphasis> нь хэвлэх ажил байхад + <application>LPD</application>-ийн ажиллуулдаг програм + юм. <application>LPD</application> нь хэвлэгчид + зориулж текст шүүгчийг ажиллуулахдаа шүүгчийн стандарт оролтыг + хэвлэх ажил уруу тохируулж өгдөг бөгөөд стандарт гаралтыг + <literal>lp</literal> боломжоор заагдсан хэвлэгчийн төхөөрөмж + уруу тохируулдаг. Шүүгч нь стандарт оролтоос ажлыг уншиж + хэвлэгчид зориулж шаардлагатай орчуулгыг хийж үр дүнг стандарт + гаралт уруу бичихээр хийгдсэн байдаг. Ингэснээр хэвлэгдэх болно. + Текст шүүгчийн талаарх дэлгэрэнгүй мэдээллийг + <link linkend="printing-advanced-filters">Шүүгчид</link> + хэсгээс үзнэ үү.</para> + + <para>Бидний энгийн хэвлэгчийн тохиргооны хувьд текст шүүгч нь + хэвлэгч уруу ажлыг илгээхийн тулд <command>/bin/cat</command> + тушаалыг ажиллуулах жижиг бүрхүүлийн скрипт байж болох юм. + FreeBSD нь усгах болон доогуур зурах зэрэг тэмдэгтийн урсгалуудтай + сайн ажиллаж чаддаггүй хэвлэгчидэд зориулсан тэдгээр тэмдэгтүүдийг + зохицуулдаг <filename>lpf</filename> гэсэн өөр шүүгчтэй + ирдэг. Тэгээд мэдээж та хүссэн өөр бусад шүүгч програмыг ашиглаж + болно. <command>lpf</command> шүүгч нь + <link linkend="printing-advanced-lpf">lpf: текстийн шүүгч + </link> хэсэгт дэлгэрэнгүй тайлбарлагдсан байгаа.</para> + + <para>Эхлээд <filename>/usr/local/libexec/if-simple</filename> + гэсэн бүрхүүлийн скриптийг энгийн текст шүүгч болгоё. Энэ файлдаа өөрийн + дуртай засварлагчаа ашиглан дараах текстийг оруулъя:</para> + + <programlisting>#!/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</programlisting> + + <para>Файлыг ажиллах боломжтой болгоно:</para> + + <screen>&prompt.root; <userinput>chmod 555 /usr/local/libexec/if-simple</userinput></screen> + + <para><filename>/etc/printcap</filename> файлд + <literal>if</literal> боломжоор үүнийг зааж + LPD-д ашиглах ёстойг нь хэлж өгнө. Бид үүнийг + <filename>/etc/printcap</filename> жишээ файл дахь + одоогоор бидэнд байгаа өөрсдийн хоёр хэвлэгчдээ нэмэх + болно:</para> + + <programlisting># +# /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: + +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:</programlisting> + + <note> + <para><filename>if-simple</filename> скриптийн хуулбарыг + <filename + class="directory">/usr/share/examples/printing</filename> + сангаас олж болно.</para> + </note> + </sect4> + + <sect4> + <title><application>LPD</application>-г идэвхжүүлэх</title> + + <para>&man.lpd.8; нь <literal>lpd_enable</literal> хувьсагчаар + хянагддаг <filename>/etc/rc</filename>-с ажилладаг. + Энэ хувьсагчийн анхдагч утга нь <literal>NO</literal> байдаг. + Тэгж хийгээгүй байгаа бол та:</para> + + <programlisting>lpd_enable="YES"</programlisting> + + <para>мөрийг <filename>/etc/rc.conf</filename> файлд нэмж + өөрийн машиныг дахин ачаалах юм уу эсвэл ердөө л &man.lpd.8;-г + ажиллуулах хэрэгтэй.</para> + + <screen>&prompt.root; <userinput>lpd</userinput></screen> + </sect4> + + <sect4 id="printing-trying"> + <title>Турших нь</title> + + <para>Та энгийн <application>LPD</application> тохиргооны + төгсгөлд хүрлээ. Харамсалтай нь баяр хүргэх арай л + болоогүй байна. Учир нь бид тохиргоог тест хийж асуудал байвал + засварлах хэрэгтэй хэвээр байгаа билээ. Тохиргоог тест хийхийн тулд + ямар нэгэн юм хэвлэхийг оролдож үзээрэй. + <application>LPD</application> системээр хэвлэхийн тулд + ажлыг хэвлэхээр илгээдэг &man.lpr.1; тушаалыг ашиглана.</para> + + <para>Та &man.lpr.1;-г <link + linkend="printing-testing">Хэвлэгчийн холбоог шалгах нь</link> + хэсэгт танилцуулсан &man.lptest.1; програмтай + цуг хамтатган ямар нэг тест текст үүсгэхийн тулд ашиглаж болно.</para> + + <para><emphasis>Энгийн <application>LPD</application> тохиргоог тест + хийхийн тулд:</emphasis></para> + + <para>Дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>lptest 20 5 | lpr -P<replaceable>printer-name</replaceable></userinput></screen> + + <para>Энд байгаа <replaceable>printer-name</replaceable> нь + <filename>/etc/printcap</filename> файлд заагдсан + хэвлэгчийн нэр (эсвэл alias) юм. Анхдагч хэвлэгчийг тест хийхийн тулд + &man.lpr.1;-г ямар нэгэн <option>-P</option> нэмэлт өгөгдөлгүйгээр + бичих хэрэгтэй. Дахин хэлэхэд &postscript;-г хүлээж байдаг + хэвлэгчийг тест хийж байгаа бол &man.lptest.1;-г ашиглахын оронд + &postscript; програмыг тэр хэл дээр нь илгээх хэрэгтэй. + Ингэхийн тулд та програмыг файлд хийж <command>lpr + <replaceable>file</replaceable></command> гэж бичиж болно.</para> + + <para>&postscript; хэвлэгчийн хувьд та програмын үр дүнг авах ёстой. + Хэрэв та &man.lptest.1;-г ашиглаж байгаа бол таны авсан + үр дүн иймэрхүү харагдах ёстой:</para> + + <programlisting>!"#$%&'()*+,-./01234 +"#$%&'()*+,-./012345 +#$%&'()*+,-./0123456 +$%&'()*+,-./01234567 +%&'()*+,-./012345678</programlisting> + + <para>Хэвлэгчийг цааш тест хийхийн тулд илүү том програмуудыг + (хэлэн дээр суурилсан хэвлэгчидийн хувьд) татаж авах юм уу + эсвэл &man.lptest.1;-г өөр нэмэлт өгөгдлүүдтэй ажиллуулж үзээрэй. + Жишээ нь <command>lptest 80 60</command> тушаал нь + мөр бүртээ 80 тэмдэгттэй 60 мөрийг үүсгэх болно.</para> + + <para>Хэрэв хэвлэгч ажиллаагүй бол <link + linkend="printing-troubleshooting">Алдааг олж засварлах</link> + хэсгийг үзнэ үү.</para> + </sect4> + </sect3> + </sect2> + </sect1> + + <sect1 id="printing-advanced"> + <title>Хэвлэгчийн илүү нарийн тохиргоо</title> + + <para>Энэ хэсэгт онцгой загварчлагдсан файлыг шүүгчид, хуудасны толгой хэсэг, + сүлжээгээр хэвлэх мөн хэвлэгчийг хэрэглэх эрх болон хязгаарлалт гэсэн зүйлүүдийн + тухай зааварлах болно.</para> + + <sect2 id="printing-advanced-filter-intro"> + <title>Шүүлтүүрүүд</title> + <indexterm> + <primary>хэвлэх</primary> + <secondary>шүүлтүүр</secondary> + </indexterm> + + <para>Хэдийгээр <application>LPD</application> нь сүлжээний протокол, + дараалал, хандалтын хяналт гэх мэтчилэн хэвлэлтийн асуудлуудыг хариуцдаг ч + <emphasis>жинхэнэ</emphasis> ажлыг нь <emphasis>шүүлтүүрүүд</emphasis> хийдэг. + Шүүлтүүрүүд нь тусгай програмууд бөгөөд хэвлэгчийн төхөөрөмжүүд болон + онцгой шаардлагуудыг нь хариуцаж байдаг. Бид хамгийн энгийн суулгац хийх үед + их амархан бөгөөд бараг бүх хэвлэгчид тохирдог текст шүүлтүүр + суулгасан билээ. (<link + linkend="printing-textfilter">Текст шүүлтүүр суулгах нь</link> хэсэгт).</para> + + <para>Хэвлэх төрлийн хувиргалт, хэвлэгчийн онцгой шинж чанар зэрэг давуу + чанаруудыг нь хэрэглэхийн тулд танд шүүлтүүрийг зөв ойлгох шаардлага гарна. + Ийм ажлуудыг зөвхөн шүүлтүүр хийдэг. Тэгээд муу мэдээ нь юу вэ гэхээр + тэдгээр бүгдийг <emphasis>та</emphasis> тодорхойлж өгөх ёстой. Сайн мэдээ нь + юу вэ гэхээр тэдгээрийн ихэнх нь боломжтой бэлэн байдаг бөгөөд хэрэв бичихээр + бол тун амархан бичигддэг юм.</para> + + <para>Мөн түүнчлэн FreeBSD + <filename>/usr/libexec/lpr/lpf</filename> гэдэг нэртэй, бараг бүх хэвлэгчид + ердийн текст хэвлэж чаддаг шүүлтүүртэй ирдэг. (энэ нь файл дотор байгаа + зай болон том зай авалтуудыг таньдаг бөгөөд мөн эрх үүсгэх гээд түүний + чаддаг бүх зүйл нь үүгээр дуусдаг) + FreeBSD-н портын цуглуулга дотор хэд хэдэн шүүлтүүр болон шүүлтүүрийн + бүрдэл хэсгүүд байдаг.</para> + + <para>Энэ хэсэгт танд танилцуулах зүйлсүүдийг харуулъя:</para> + + <itemizedlist> + <listitem> + <para><link linkend="printing-advanced-filters">Шүүлтүүр хэрхэн + ажилладаг вэ</link> хэсэгт хэвлэх явцад шүүлтүүр ямар үүрэг гүйцэтгэдэг + талаар тайлбарлахыг оролдох болно. <application>LPD</application> хэвлэх + үедээ шүүлтүүрийг <quote>хөшигний цаана</quote> хэрхэн ашигладаг талаар + та энд ойлгох болно. Үүнийг мэдсэнээр хэрэв өөр үед та олон шүүлтүүр суулгах + үед хүндрэл гарвал даван туулахад тань хэрэг болно. + </para> + </listitem> + + <listitem> + <para><application>LPD</application> нь хэвлэгч бүрийг анхны тохируулгаараа + ердийн текстийг хэвлэж чадна гэж авч үздэг. Энэ нь &postscript; ( + эсвэл бусад програмын хэл дээр үндэслэсэн хэвлэгчид ) хэвлэгч + зэргийн ердийн текстийг шууд хэвлэж чаддаггүй хэвлэгчид дээр хүндрэл + гаргадаг. + <link + linkend="printing-advanced-if-conversion"> + &postscript; хэвлэгчид дээр ердийн текст хэвлэдэг болох </link> хэсэгт + иймэрхүү хүндрэлийг даван туулах талаар хэлэх болно. Хэрэв танд + &postscript; хэвлэгч байдаг бол энэ хэсгийг уншаарай.</para> + </listitem> + + <listitem> + <para>&postscript; нь маш олон програмын гаралт болж байдаг. + Тэр бүү хэл зарим хүмүүс шууд &postscript; бичиж чаддаг. Харамсалтай нь + &postscript; хэвлэгч нар үнэтэй. <link + linkend="printing-advanced-ps"> &postscript; биш төрлийн хэвлэгчийг + &postscript; мэт хэрэглэх</link> хэсэгт танд &postscript; өгөгдлийг + <emphasis>&postscript; биш төрлийн</emphasis> хэвлэгч дээр + хэвлэж болдог талаар зааварлах болно. Хэрэв танд &postscript; хэвлэгч + байхгүй бол энэ хэсгийг та уншаарай.</para> + </listitem> + + <listitem> + <para><link + linkend="printing-advanced-convfilters">Хувиргагч шүүлтүүрүүд</link> + хэсэг танд онцгой төрлийн файлууд болох график эсвэл + өөр төрлийн бичиглэлтэй файлуудыг хэрхэн таны хэвлэгчийн ойлгодог + төрөл рүү хувиргаж хэвлэх талаар өгүүлэх болно. + Энэ хэсгийг уншсаны дараа, та жишээ нь хэрэглэгчид + <command>lpr -t</command> тушаал өгөн troff өгөгдөл хэвлэх + эсвэл <command>lpr -d</command> тушаал өгөн &tex; DVI өгөгдөл + хэвлэх эсвэл <command>lpr + -v</command> тушаал өгөн зураг төрлийн файл хэвлэх зэрэг + зүйлүүдийг мэдэх болно. Энэ хэсгийг заавал унших хэрэгтэй гэж танд + зөвлөж байна. </para> + </listitem> + + <listitem> + <para><link linkend="printing-advanced-of">Гаралтын шүүлтүүр + </link> хэсэг нь <application>LPD</application>-н нэг их + хэрэглэгддэг шинж чанарууд болох гаралтын шүүлтүүрүүдийн + тухай өгүүлэх болно: + Та хуудасны толгой хэсгийг хэвлэж болж л байвал + (<link + linkend="printing-advanced-header-pages">Хуудасны толгой хэсэг</link> + хэсэгт харна уу) энэ хэсгийг та алгасаж болно.</para> + </listitem> + + <listitem> + <para><link linkend="printing-advanced-lpf">lpf: текст шүүлтүүр + </link> хэсэгт FreeBSD-тэй хамт нэлээн төгс ажиллагаатай + мөрөөр нь хэвлэдэг (лазер хэвлэгч нар мөр мөрөөр нь хэвлэдэг + туузан хэвлэгч шиг ажилладаг) <command>lpf</command> текст шүүлтүүрийн + тухай өгүүлэх болно. Хэрэв та хэвлэгчийнхээ эрхийг түргэн бэлэн + болгох эсвэл таны хэвлэгч хоосон зайг утаа байна гэж хүлээж + аваад байвал та яах аргагүй <command>lpf</command>-тэй + ажиллах хэрэг гарна.</para> + </listitem> + </itemizedlist> + + <note> + <para>Доорх хэсэгт харуулах янз бүрийн скриптийн хуулбарыг <filename + class="directory">/usr/share/examples/printing</filename> сангаас + олж болно.</para> + </note> + + <sect3 id="printing-advanced-filters"> + <title>Шүүлтүүр хэрхэн ажилладаг вэ</title> + + <para>Өмнө дурдсанаар шүүлтүүр нь хэвлэгчтэй холбогдох төхөөрөмжөөс чөлөөтэй + хэсгийг зохицуулах <application>LPD</application>-ээр эхлүүлэгдэн + ажилладаг програм юм.</para> + + <para>Ажил дахь файлыг <application>LPD</application> хэвлэхийг + хүсэхдээ шүүлтүүр програмыг эхлүүлдэг. Энэ нь шүүлтүүрийн стандарт оролтыг + хэвлэх файл уруу, өөрийн стандарт гаралтыг хэвлэгч уруу, өөрийн стандарт алдааг + алдаа бүртгэх файл (<filename>/etc/printcap</filename> файл + дахь <literal>lf</literal> боломжид эсвэл анхдагчаар + <filename>/dev/console</filename>) уруу тохируулдаг.</para> + + <indexterm> + <primary><command>troff</command></primary> + </indexterm> + <para><application>LPD</application> аль шүүлтүүрийг эхлүүлэх болон + <filename>/etc/printcap</filename> файлд юу байгаа болон + &man.lpr.1; тушаалын мөр дэх ажилд зориулж хэрэглэгч ямар нэмэлт өгөгдлүүд + зааснаас шүүлтүүрийн нэмэлт өгөгдлүүд хамаардаг. Жишээ нь хэрэв хэрэглэгч + <command>lpr -t</command> тушаал бичсэн бол + <application>LPD</application> нь хүрэх хэвлэгчийн <literal>tf</literal> + боломжид жагсаагдсан troff шүүлтүүрийг эхлүүлэх болно. Хэрэв хэрэглэгч + цэвэр текстийг хэвлэхийг хүссэн бол энэ нь <literal>if</literal> + шүүлтүүрийг эхлүүлэх байсан (энэ нь бараг л үнэн юм: дэлгэрэнгүйг <link + linkend="printing-advanced-of">Гаралтын шүүлтүүрүүд</link> хэсгээс + үзнэ үү).</para> + + <para><filename>/etc/printcap</filename> файлд зааж өгч болох гурван + төрлийн шүүлтүүр байдаг:</para> + + <itemizedlist> + <listitem> + <para><emphasis>текст шүүлтүүр</emphasis> буюу + <emphasis>оролтын шүүлтүүр</emphasis> гэж <application>LPD</application> + баримтад толгой эргүүлмээр нэрлэгдсэн шүүлтүүр нь ердийн текст хэвлэлтийг + зохицуулдаг. Үүнийг анхдагч шүүлтүүр гэж бодох хэрэгтэй. + <application>LPD</application> нь хэвлэгч бүрийг цэвэр текстийг + анхдагчаар хэвлэж чаддаг гэж тооцдог бөгөөд устгах тэмдэгтүүд, tab-ууд + эсвэл бусад тусгай тэмдэгтүүд хэвлэгчийг будлиулахгүй байлгахад санаа + тавих нь текст шүүлтүүрийн ажил юм. Хэрэв та хэвлэгчийн хэрэглээний + хувьд бүртгэлтэй тийм орчинд байгаа бол текст шүүлтүүр нь + хэвлэгдсэн мөрүүдийн тоог тоолж тэр тоогоо хэвлэгчийн дэмждэг нэг хуудсан + дахь мөрийн тоотой жишиж хэвлэсэн хуудсуудыг бас бүртгэх ёстой. + Текст шүүлтүүрийг дараах нэмэлт өгөгдлийн жагсаалттай эхлүүлдэг: + + <cmdsynopsis> + <command>filter-name</command> + <arg>-c</arg> + <arg choice="plain">-w<replaceable>width</replaceable></arg> + <arg choice="plain">-l<replaceable>length</replaceable></arg> + <arg choice="plain">-i<replaceable>indent</replaceable></arg> + <arg choice="plain">-n <replaceable>login</replaceable></arg> + <arg choice="plain">-h <replaceable>host</replaceable></arg> + <arg choice="plain"><replaceable>acct-file</replaceable></arg> + </cmdsynopsis> + + энд байгаа + + <variablelist> + <varlistentry> + <term><option>-c</option></term> + + <listitem> + <para>нь ажил <command>lpr + -l</command> тушаалаар илгээгдсэн бол гарч ирнэ</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>width</replaceable></term> + + <listitem> + <para>нь <filename>/etc/printcap</filename> файлд + заагдсан <literal>pw</literal> (хуудсын өргөн) боломжийн + утга юм. Анхдагчаар 132 байна</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>length</replaceable></term> + + <listitem> + <para>нь <literal>pl</literal> (хуудсын урт) + боломжийн утга бөгөөд анхдагчаар 66 байна</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>indent</replaceable></term> + + <listitem> + <para>нь <command>lpr + -i</command> тушаалаас өгөгдөх догол мөрний хэмжээ юм. + Анхдагчаар 0 байна</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>login</replaceable></term> + + <listitem> + <para>нь файлыг хэвлэж байгаа хэрэглэгчийн бүртгэл юм</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>host</replaceable></term> + + <listitem> + <para>нь ажлыг илгээсэн хостын нэр юм</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>acct-file</replaceable></term> + + <listitem> + <para>нь <literal>af</literal> боломжийн + бүртгэлийн файлын нэр юм.</para> + </listitem> + </varlistentry> + </variablelist> + </para> + </listitem> + + <indexterm> + <primary>хэвлэлт</primary> + <secondary>шүүлтүүрүүд</secondary> + </indexterm> + <listitem> + <para><emphasis>Хувиргах шүүлтүүр</emphasis> нь тусгай файлын хэлбэршилтийг + хэвлэгчийн цаасан дээр амилуулж чадах хэлбэршилт уруу хувиргадаг. Жишээ нь + ditroff маяг хийгдсэн өгөгдлийг шууд хэвлэж болдоггүй боловч + ditroff өгөгдлийг хэвлэгчийн ойлгож хэвлэх хэлбэр уруу хувиргах ditroff + файлуудад зориулсан хувиргах шүүлтүүрийг та суулгаж болох юм. + Тэдгээрийн талаар бүгдийг <link + linkend="printing-advanced-convfilters">Хувиргах шүүлтүүрүүд</link> + хэсэг хэлж өгдөг. Хэрэв танд хэвлэгчийн бүртгэл хийлт хэрэгтэй бол хувиргах шүүлтүүрүүд + бас бүртгэл хийх хэрэгтэй болно. Хувиргах шүүлтүүрүүдийг дараах нэмэлт өгөгдлүүдтэй + эхлүүлдэг: + + <cmdsynopsis> + <command>filter-name</command> + <arg + choice="plain">-x<replaceable>pixel-width</replaceable></arg> + <arg choice="plain">-y<replaceable>pixel-height</replaceable></arg> + <arg choice="plain">-n <replaceable>login</replaceable></arg> + <arg choice="plain">-h <replaceable>host</replaceable></arg> + <arg choice="plain"><replaceable>acct-file</replaceable></arg> + </cmdsynopsis> + + энд байгаа <replaceable>pixel-width</replaceable> нь + <literal>px</literal> боломжийн утга (анхдагчаар 0) бөгөөд + <replaceable>pixel-height</replaceable> нь <literal>py</literal> + боломжийн утга юм (анхдагчаар 0).</para> + </listitem> + + <listitem> + <para><emphasis>Гаралтын шүүлтүүр</emphasis> нь шүүх текст байхгүй байх + юм уу эсвэл толгой хуудаснууд идэвхтэй байх тохиолдолд зөвхөн ашиглагддаг. + Миний туршлага дээрээс харахад гаралтын шүүлтүүрүүд ховор ашиглагддаг. + <link + linkend="printing-advanced-of">Гаралтын шүүлтүүрүүд</link> хэсэг + тэдгээрийг тайлбарладаг. Гаралтын шүүлтүүрт зөвхөн хоёр нэмэлт өгөгдөл + байдаг: + + <cmdsynopsis> + <command>filter-name</command> + <arg choice="plain">-w<replaceable>width</replaceable></arg> + <arg choice="plain">-l<replaceable>length</replaceable></arg> + </cmdsynopsis> + + эдгээр нь текст шүүлтүүрийн <option>-w</option> болон + <option>-l</option> нэмэлт өгөгдлүүдтэй адил юм.</para> + </listitem> + </itemizedlist> + + <para>Шүүлтүүрүүд нь бас дараах гарах төлөвтэйгээр <emphasis>гарах</emphasis> + ёстой:</para> + + <variablelist> + <varlistentry> + <term>exit 0</term> + + <listitem> + <para>Шүүлтүүр файлыг амжилттай хэвлэсэн тохиолдолд.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>exit 1</term> + + <listitem> + <para>Шүүлтүүр файлыг хэвлэж чадаагүй боловч <application>LPD</application>-гээр + файлыг дахин хэвлүүлэхээр оролдохыг хүссэн. <application>LPD</application> нь + шүүлтүүр энэ төлөвтэй гарсан бол түүнийг дахин эхлүүлэх болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>exit 2</term> + + <listitem> + <para>Шүүлтүүр файлыг хэвлэж чадаагүй бөгөөд <application>LPD</application>-гээр + файлыг дахин хэвлүүлэхийг хүсээгүй. <application>LPD</application>-нь + файлыг гаргаж хаях болно.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>FreeBSD хувилбартай цуг ирдэг текст шүүлтүүр <filename>/usr/libexec/lpr/lpf</filename> нь + хуудасны өргөн болон уртын нэмэлт өгөгдлүүдийг ашиглан хэзээ form feed илгээх + болон хэвлэгчийн хэрэглээг хэрхэн бүртгэхийг тодорхойлдог. Энэ нь бүртгэлийн оруулгуудыг + бичихийн тулд нэвтрэлт, хост болон файлын нэмэлт өгөгдлүүдийн бүртгэл хийлтийг + ашигладаг.</para> + + <para>Хэрэв та шүүлтүүр худалдаж авахыг хүсэж байгаа бол тэдгээр нь LPD-тэй + нийцтэй эсэхийг нь үзээрэй. Хэрэв тийм бол тэдгээр нь дээр тайлбарласан + нэмэлт өгөгдлийн жагсаалтуудыг дэмжих ёстой. Та ердийн хэрэглээнд зориулж + шүүлтүүрүүд бичих төлөвлөгөөтэй байгаа бол дээрх нэмэлт өгөгдлийн жагсаалт + болон гарах кодуудыг дэмждэгээр тэдгээрийг хийгээрэй.</para> + </sect3> + + <sect3 id="printing-advanced-if-conversion"> + <title>&postscript; хэвлэгчид дээр цэвэр текст ажлуудыг тааруулах нь</title> + <indexterm><primary>хэвлэх ажлууд</primary></indexterm> + + <para>Та өөрийн компьютер болон &postscript; (эсвэл бусад хэлэн дээр + суурилсан) хэвлэгчийнхээ зөвхөн цорын ганц хэрэглэгч бөгөөд өөрийн хэвлэгч уруугаа + цэвэр текстийг хэзээ ч илгээхгүй, таны хэвлэгч уруу цэвэр текстийг илгээхийг хүсдэг + төрөл бүрийн програмуудын боломжуудыг хэзээ ч ашиглахгүй гэж амлах юм бол та + энэ хэсгийн талаар санаа ерөөсөө зовох хэрэггүй юм.</para> + + <para>Гэхдээ та &postscript; болон цэвэр текст ажлуудыг хэвлэгч уруу илгээхийг + хүсэж байгаа бол өөрийн хэвлэгчийн тохиргоог нэн даруй нэмэх хэрэгтэй юм. Ингэхийн + тулд ирж байгаа ажил цэвэр текст үү эсвэл &postscript; үү гэдгийг илрүүлэх + текст шүүлтүүртэй байна. Бүх &postscript; ажлууд <literal>%!</literal>-аар + (бусад хэвлэгчийн хэлнүүдийн хувьд өөрийн хэвлэгчийн баримтыг үзнэ үү) эхлэх ёстой. + Хэрэв тэдгээр нь ажил дахь эхний хоёр тэмдэгт байгаа бол бид &postscript;-ийг + ашиглаж ажлын үлдсэн хэсгийг шууд дамжуулж болно. Хэрэв тэдгээр нь файл дахь + эхний хоёр тэмдэгт биш бол шүүлтүүр текстийг &postscript; уруу хувиргаж + үр дүнг хэвлэх болно.</para> + + <para>Үүнийг бид хэрхэн хийх вэ?</para> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>цуваа</secondary> + </indexterm> + <para>Хэрэв танд цуваа хэвлэгч байгаа бол үүнийг хийх агуу арга нь + <command>lprps</command>-г суулгах явдал юм. <command>lprps</command> + нь хэвлэгчтэй хоёр талын холбоог хийдэг &postscript; хэвлэгчийн шүүлтүүр юм. + Энэ нь хэвлэгчийн төлөвийн файлыг хэвлэгчийн дэлгэрэнгүй мэдээллээр шинэчилдэг. + Ингэснээр хэрэглэгчид болон администраторууд хэвлэгчийн төлөвийг яг ямар байгааг + (<errorname>toner low</errorname> эсвэл <errorname>paper jam</errorname> + гэх зэрэг) харах боломжтой болох юм. Гэхдээ илүү чухал зүйл бол энэ нь + ирж байгаа ажлыг цэвэр текст эсэхийг илрүүлж &postscript; уруу хөрвүүлэх + <command>textps</command> (<command>lprps</command>-тэй цуг ирдэг + өөр програм) тушаалыг дууддаг <command>psif</command> + гэгддэг програмыг агуулдаг явдал юм. Дараа нь хэвлэгч уруу ажлыг илгээхийн тулд + <command>lprps</command> тушаалыг энэ нь ашигладаг.</para> + + <para><command>lprps</command> нь FreeBSD-ийн портын цуглуулгад + байдаг (<link linkend="ports">Портын цуглуулга</link> бүлгийг үзнэ үү). + Мэдээж та өөрөө татаж аван бүтээж суулгаж болно. <command>lprps</command>-г + суулгасны дараа <command>lprps</command>-ийн хэсэг болох <command>psif</command> + програмд замыг зааж өгөх хэрэгтэй. Хэрэв та <command>lprps</command>-г + портын цуглуулгаас суулгасан бол дараахийг <filename>/etc/printcap</filename> + файл дахь цуваа &postscript; хэвлэгчийн оруулгад ашиглах хэрэгтэй:</para> + + <programlisting>:if=/usr/local/libexec/psif:</programlisting> + + <para>Та бас <literal>rw</literal> боломжийг зааж өгөх хэрэгтэй; + энэ нь <application>LPD</application>-д хэвлэгчийг унших-бичих горимоор + онгойлгохыг хэлж өгдөг.</para> + + <para>Хэрэв танд зэрэгцээ &postscript; хэвлэгч байгаа (бөгөөд + тиймээс <command>lprps</command>-д хэрэгтэй хоёр талын холбоог хэвлэгчтэй + цуг ашиглаж чадахгүй байгаа) бол та дараах бүрхүүлийн + скриптийг текст шүүлтүүр маягаар ашиглаж болно:</para> + + <programlisting>#!/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</programlisting> + + <para>Дээрх скрипт дээр байгаа <command>textps</command> нь цэвэр текстийг + &postscript; уруу хувиргахаар бидний тусдаа суулгасан програм юм. + Та дурын текстээс-&postscript; уруу хувиргадаг хүссэн програмаа ашиглаж болно. + FreeBSD-ийн портын цуглуулга (<link linkend="ports">Портын цуглуулга</link> + бүлгийг үзнэ үү) нь өргөн боломжтой текстээс-&postscript; уруу хувиргадаг + <literal>a2ps</literal> гэгддэг програмыг агуулдаг бөгөөд та магадгүй үүнийг + судлахыг хүсэж болох юм.</para> + </sect3> + + <sect3 id="printing-advanced-ps"> + <title>&postscript; биш хэвлэгчид дээр &postscript; дүр үзүүлэх</title> + <indexterm> + <primary>PostScript</primary> + <secondary>эмуляц хийх</secondary> + </indexterm> + <indexterm> + <primary>Ghostscript</primary></indexterm> + <para>&postscript; нь өндөр чанарын маяг тохируулалт болон хэвлэлтэд зориулагдсан + <emphasis>албан ёсны</emphasis> стандарт юм. &postscript; нь гэхдээ + <emphasis>үнэтэй</emphasis> стандарт юм. + Aladdin Enterprises-ийн ачаар харин чөлөөтэй &postscript;-тэй төстэй, + FreeBSD дээр ажилладаг <application>Ghostscript</application> гэгддэг + програм байдаг. Ghostscript нь ихэнх &postscript; файлуудыг уншиж чаддаг бөгөөд + тэдгээрийн хуудсуудыг PostScript биш хэвлэгчдийн олон загваруудыг оролцуулаад + төрөл бүрийн төхөөрөмжүүд рүү амилуулж чаддаг. Ghostscript-г суулгаж + өөрийн хэвлэгчийн хувьд тусгай текстийн шүүлтүүрийг ашиглан та өөрийн &postscript; + биш хэвлэгчийг жинхэнэ &postscript; хэвлэгч шигээр ажиллуулах боломжтой + байдаг.</para> + + <para>Ghostscript нь FreeBSD-ийн портын цуглуулгад байдаг учир хэрэв та үүнийг + суулгахыг хүсвэл тэндээс суулгаж болно. Та өөрөө үүнийг хялбархнаар татан авч, бүтээн + суулгаж бас болох юм.</para> + + <para>&postscript; шиг дүр үзүүлэхийн тулд &postscript; файл хэвлэж байна уу + гэдгийг илрүүлэх текст шүүлтүүр бидэнд байна. Хэрэв энэ нь тийм биш бол шүүлтүүр нь + файлыг хэвлэгч уруу шууд дамжуулна; үгүй бол энэ нь файлыг хэвлэгчийн ойлгодог + хэлбэр уруу эхлээд хувиргах Ghostscript-г ашиглах болно.</para> + + <para>Энд жишээ байна: дараах скрипт нь Hewlett Packard DeskJet 500 + хэвлэгчдэд зориулсан текст шүүлтүүр юм. Бусад хэвлэгчдийн хувьд + <option>-sDEVICE</option> нэмэлт өгөгдлийг сольж <command>gs</command> (Ghostscript) + тушаал уруу өгөх хэрэгтэй. (Ghostscript-ийн тухайн үеийн суулгацын дэмждэг төхөөрөмжүүдийн + жагсаалтыг авахын тулд <command>gs -h</command> гэж бичих хэрэгтэй.</para> + + <programlisting>#!/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</programlisting> + + <para>Төгсгөлд нь та шүүлтүүрийн <application>LPD</application>-д + <literal>if</literal> боломжийн тусламжтай мэдэгдэх хэрэгтэй:</para> + + <programlisting>:if=/usr/local/libexec/ifhp:</programlisting> + + <para>Ингээд л боллоо. Та <command>lpr plain.text</command> болон + <filename>lpr whatever.ps</filename> гэж бичиж болох бөгөөд + хоюулаа амжилттайгаар хэвлэгдэх болно.</para> + </sect3> + + <sect3 id="printing-advanced-convfilters"> + <title>Хувиргах шүүлтүүрүүд</title> + + <para><link + linkend="printing-simple">Хэвлэгчийн энгийн тохиргоо</link> хэсэгт + тайлбарласан энгийн тохиргоог дуусгасны дараа магадгүй таны хамгийн эхэнд хийхийг хүссэн + зүйл чинь өөрийн дуртай файлын хэлбэршилтүүдэд (цэвэр ASCII текстээс гадна) + зориулж хувиргах шүүлтүүрүүдийг суулгах явдал байж болох юм.</para> + + <sect4> + <title>Хувиргах шүүлтүүрүүдийг яагаад суулгах ёстой вэ?</title> + <indexterm> + <primary>&tex;</primary> + <secondary>DVI файлуудыг хэвлэх</secondary> + </indexterm> + + <para>Хувиргах шүүлтүүрүүд нь төрөл бүрийн файлуудыг хэвлэхэд амар болгодог. + Жишээ нь бид &tex; хэв маяг тохируулах системтэй их ажилладаг бөгөөд + бидэнд &postscript; хэвлэгч байна гэж бодъё. &tex;-ээс DVI файлыг + үүсгэх болгонд бид DVI файлыг &postscript; уруу хувиргалгүйгээр + шууд хэвлэж чадахгүй. Тушаалын дараалал иймэрхүү хийгдэнэ:</para> + + <screen>&prompt.user; <userinput>dvips seaweed-analysis.dvi</userinput> +&prompt.user; <userinput>lpr seaweed-analysis.ps</userinput></screen> + + <para>DVI файлуудад зориулсан хувиргах шүүлтүүрийг суулгаж + <application>LPD</application>-ээр өөрсөддөө зориулан хийлгэж + бид гараар хувиргах алхмыг алгасаж болно. Одоо, DVI файлыг авах болгонд + бидэнд хэвлэхэд нэг алхам дутуу байх болно:</para> + + <screen>&prompt.user; <userinput>lpr -d seaweed-analysis.dvi</userinput></screen> + + <para>Бидэнд зориулж DVI файлын хувиргалтыг хийх <application>LPD</application> + програмд <option>-d</option> тохируулгыг зааж өгнө. + <link + linkend="printing-lpr-options-format">Хэлбэршүүлэх болон хувиргах + тохируулгууд</link> хэсэг хувиргах тохируулгуудыг жагсаасан байгаа.</para> + + <para>Таны хүсэх хэвлэгчийн дэмжих хувиргах тохируулга бүрт зориулж + <emphasis>хувиргах шүүлтүүр</emphasis> суулгаж түүний замыг + <filename>/etc/printcap</filename> файлд зааж өгнө. + Хувиргах шүүлтүүр нь энгийн хэвлэгчийн тохиргоон дахь + (<link linkend="printing-textfilter">Текст шүүлтүүрийг + суулгах нь</link> хэсгийг үзнэ үү) текст шүүлтүүртэй төстэй. Ялгаа нь + цэвэр текст хэвлэхийн оронд энэ шүүлтүүр нь файлыг хэвлэгчийн ойлгодог + хэлбэршилт уруу хувиргадаг.</para> + </sect4> + + <sect4> + <title>Аль хувиргах шүүлтүүрүүдийг би суулгах ёстой вэ?</title> + + <para>Та ашиглах хувиргах шүүлтүүрүүдээ суулгах ёстой. Хэрэв та маш их + DVI өгөгдлийг хэвлэх бол DVI хувиргах шүүлтүүр хэрэглэгдэнэ. + Хэрэв танд маш их troff хэвлэх хэрэгтэй бол та troff шүүлтүүрийг + суулгахыг хүсэх байх.</para> + + <para>Дараах хүснэгтэд <application>LPD</application>-ийн + ажилладаг шүүлтүүрүүд, тэдгээрийн <filename>/etc/printcap</filename> + файл дахь боломжийн оруулгууд болон тэдгээрийг <command>lpr</command> + тушаалаар хэрхэн дуудах талаар дурдсан болой:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="3"> + <thead> + <row> + <entry>Файлын төрөл</entry> + <entry><filename>/etc/printcap</filename> боломж</entry> + <entry><command>lpr</command> тохируулга</entry> + </row> + </thead> + + <tbody> + <row> + <entry>cifplot</entry> + <entry><literal>cf</literal></entry> + <entry><option>-c</option></entry> + </row> + + <row> + <entry>DVI</entry> + <entry><literal>df</literal></entry> + <entry><option>-d</option></entry> + </row> + + <row> + <entry>plot</entry> + <entry><literal>gf</literal></entry> + <entry><option>-g</option></entry> + </row> + + <row> + <entry>ditroff</entry> + <entry><literal>nf</literal></entry> + <entry><option>-n</option></entry> + </row> + + <row> + <entry>FORTRAN текст</entry> + <entry><literal>rf</literal></entry> + <entry><option>-f</option></entry> + </row> + + <row> + <entry>troff</entry> + <entry><literal>tf</literal></entry> + <entry><option>-f</option></entry> + </row> + + <row> + <entry>raster</entry> + <entry><literal>vf</literal></entry> + <entry><option>-v</option></entry> + </row> + + <row> + <entry>цэвэр текст</entry> + <entry><literal>if</literal></entry> + <entry>none, <option>-p</option>, or + <option>-l</option></entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Бидний жишээн дээрх <command>lpr -d</command> тушаалыг ашиглах нь + хэвлэгчийн хувьд <filename>/etc/printcap</filename> файл дахь түүний + оруулгад <literal>df</literal> боломж хэрэгтэй гэсэн үг юм.</para> + + <indexterm><primary>FORTRAN</primary></indexterm> + <para>Бусад хүмүүс магадгүй маргаж болох юм. Гэхдээ FORTRAN текст болон + plot зэрэг хэлбэршилтүүд нь магадгүй хуучирсан хэлбэршилтүүд юм. + Та өөрийн талдаа эдгээр шинэ ойлголтууд юм уу эсвэл ердөө л + өөрчлөн тохируулсан шүүлтүүрүүдийг суулгаж аль нэг хэлбэршилтийн + сонголтуудыг өгч болох юм. Жишээ нь та Printerleaf файлуудыг + (Interleaf ширээний хэвлэх програмаас гарах файлууд) шууд хэвлэхийг + хүсчээ. Гэхдээ plot файлуудыг хэзээ ч хэвлэхгүй гэж бодъё. + Тэгвэл та <literal>gf</literal> боломжийн доор + Printerleaf хувиргах шүүлтүүрийг суулгаж <command>lpr -g</command> + тушаал нь <quote>Printerleaf файлуудыг хэвлэх</quote> + гэсэн үг болохыг өөрийн хэрэглэгчиддээ сургах хэрэгтэй болох юм.</para> + </sect4> + + <sect4> + <title>Хувиргах шүүлтүүрүүдийг суулгах нь</title> + + <para>Хувиргах шүүлтүүрүүд нь үндсэн FreeBSD суулгацаас гадна суулгах програмууд + бөгөөд <filename>/usr/local</filename> сан дотор байрлана. + <filename>/usr/local/libexec</filename> сан нь түгээмэл хэрэглэгддэг + байрлал юм. Учир нь тэдгээр нь <application>LPD</application>-ийн + зөвхөн ажиллуулах тусгай програмууд юм; ердийн хэрэглэгчид нь тэдгээрийг + хэзээ ч ажиллуулах хэрэггүй юм.</para> + + <para>Хувиргах шүүлтүүрийг идэвхжүүлэхийн тулд <filename>/etc/printcap</filename> + файлд хүрэх хэвлэгчийн хувьд тохирох боломжийн доор түүний замыг зааж өгөх + явдал юм.</para> + + <para>Бидний жишээн дээр <literal>bamboo</literal> гэж нэрлэгдсэн хэвлэгчийн + оруулгад DVI хувиргах шүүлтүүрийг бид нэмэх болно. <literal>bamboo</literal> + хэвлэгчийн хувьд шинэ <literal>df</literal> боломжийг оруулсан + <filename>/etc/printcap</filename> файлын жишээг энд дахин + үзүүлэв.</para> + + <programlisting># +# /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:</programlisting> + + <para>DVI шүүлтүүр нь <filename>/usr/local/libexec/psdf</filename> + гэж нэрлэгдсэн бүрхүүлийн скрипт юм. Энд тэр скриптийг үзүүлэв:</para> + + <programlisting>#!/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 "$@"</programlisting> + + <para>Энэ скрипт нь <command>dvips</command>-г шүүлтүүрийн горимд + (<option>-f</option> нэмэлт өгөгдөл) хэвлэх ажил болох стандарт + оролт дээр ажиллуулдаг. Дараа нь &postscript; хэвлэгчийн шүүлтүүр + <command>lprps</command>-г (<link + linkend="printing-advanced-if-conversion">&postscript; хэвлэгчид + дээр текст ажлуудыг тааруулах нь</link> хэсгийг үзнэ үү) + <application>LPD</application>-ийн + энэ скрипт уруу дамжуулсан нэмэлт өгөгдлүүдтэй цуг эхлүүлнэ. + <command>lprps</command> тушаал нь хэвлэсэн хуудаснуудыг + бүртгэхийн тулд тэдгээр нэмэлт өгөгдлүүдийг ашиглах болно.</para> + </sect4> + + <sect4> + <title>Хувиргах шүүлтүүрийн зарим жишээнүүд</title> + + <para>Хувиргах шүүлтүүрүүдийг суулгах тогтмол алхмууд байдаггүй болохоор + зарим жишээнүүдийг энд дурдъя. Эдгээрийг өөрийн шүүлтүүрийг + хийхдээ заавар болгон ашиглаарай. Тохирохоор бол шууд ашиглах + хэрэгтэй.</para> + + <para>Энэ жишээ скрипт нь Hewlett Packard LaserJet III-Si хэвлэгчид + зориулсан raster (яг үнэндээ GIF файл) хувиргах шүүлтүүр + юм:</para> + + <programlisting>#!/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</programlisting> + + <para>Энэ нь GIF файлыг зөөгдөх anymap уруу, гарсныг нь зөөгдөх graymap уруу, + гарсныг нь зөөгдөх bitmap уруу, тэр гарсныг нь LaserJet/PCL-тэй + нийцтэй өгөгдөлд хувиргаж ажилладаг.</para> + + <para>Дээрх шүүлтүүрийг ашиглаж байгаа хэвлэгчид зориулсан оруулгатай + <filename>/etc/printcap</filename> файлыг энд үзүүлэв:</para> + + <programlisting># +# /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:</programlisting> + + <para>Дараах скрипт нь <literal>bamboo</literal> гэж нэрлэгдсэн + &postscript; хувилагчийн groff маяг тохируулах системээс troff + өгөгдөлд зориулсан хувиргах шүүлтүүр юм:</para> + + <programlisting>#!/bin/sh +# +# pstf - Convert groff's troff data into PS, then print. +# Installed in /usr/local/libexec/pstf +# +exec grops | /usr/local/libexec/lprps "$@"</programlisting> + + <para>Дээрх скрипт нь хэвлэгчтэй хийх холбоог зохицуулахын тулд + <command>lprps</command>-г дахин ашигладаг. Хэрэв хэвлэгч + зэрэгцээ порт дээр байгаа бол бид энэ скриптийг харин ашиглах болно:</para> + + <programlisting>#!/bin/sh +# +# pstf - Convert groff's troff data into PS, then print. +# Installed in /usr/local/libexec/pstf +# +exec grops</programlisting> + + <para>Ингээд л боллоо. Шүүлтүүрийг идэвхжүүлэхийн тулд бид + дараах оруулгыг <filename>/etc/printcap</filename> файлд + нэмэх хэрэгтэй:</para> + + <programlisting>:tf=/usr/local/libexec/pstf:</programlisting> + + <para>Хуучин гаруудыг FORTRAN-с ичихэд хүргэх жишээг энд үзүүлэв. + Энэ нь цэвэр текстийг шууд хэвлэж чадах дурын хэвлэгчид зориулсан + FORTRAN-текст шүүлтүүр юм. Бид үүнийг <literal>teak</literal> + хэвлэгчид зориулж суулгах болно:</para> + + <programlisting>#!/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</programlisting> + + <para>Тэгээд бид энэ шүүлтүүрийг идэвхжүүлэхийн тулд + <literal>teak</literal> хэвлэгчид зориулж + <filename>/etc/printcap</filename> файлд энэ мөрийг + нэмэх болно:</para> + + <programlisting>:rf=/usr/local/libexec/hprf:</programlisting> + + <para>Энд сүүлийн бөгөөд зарим талаараа төвөгтэй жишээ байна. Бид DVI шүүлтүүрийг + өмнө танилцуулсан LaserJet хэвлэгч <literal>teak</literal>-д + нэмэх болно. Эхлээд амархан хэсэг нь: <filename>/etc/printcap</filename> + файлыг DVI шүүлтүүрийн байрлалаар шинэчлэх явдал юм:</para> + + <programlisting>:df=/usr/local/libexec/hpdf:</programlisting> + + <para>Одоо хэцүү хэсэг нь: шүүлтүүр хийх явдал юм. Үүний тулд бидэнд + DVI-ээс-LaserJet/PCL уруу хувиргах програм хэрэгтэй. FreeBSD-ийн + портын цуглуулгад (see <link linkend="ports">Портын цуглуулга</link>) + нэг байдаг: <command>dvi2xx</command> нь багцын нэр юм. + Энэ багцыг суулгах нь бидэнд хэрэгтэй програм <command>dvilj2p</command>-г + өгдөг. Энэ нь DVI-г LaserJet IIp, LaserJet III, болон LaserJet 2000-тай + нийцтэй кодууд уруу хувиргадаг.</para> + + <para><command>dvilj2p</command> нь шүүлтүүр <command>hpdf</command>-г + нэлээн төвөгтэй болгодог. Учир нь <command>dvilj2p</command> нь + стандарт оролтоос уншиж чаддаггүй. Энэ нь файлын нэртэй ажиллахыг хүсдэг. + Юу нь бүр муу вэ гэхээр файлын нэр нь <filename>.dvi</filename> гэж + төгсөх ёстой. Тэгэхээр <filename>/dev/fd/0</filename>-г + стандарт оролтод зориулж ашиглах нь асуудалтай болно. + Бид түр зуурын файлын нэрийг (<filename>.dvi</filename>-аар төгссөн) + <filename>/dev/fd/0</filename> уруу болгож холбоос үүсгэн энэ асуудлыг + тойрон гарч болох юм. Ингэснээр <command>dvilj2p</command> тушаалыг + стандарт оролтоос уншуулах юм.</para> + + <para>Асуудалтай нэг зүйл нь бид <filename>/tmp</filename>-г түр зуурын + холбоост ашиглаж болохгүй явдал юм. Симболын холбоосуудыг + <username>bin</username> хэрэглэгч болон бүлэг эзэмшдэг. Тэгээд + <filename>/tmp</filename> санд наалттай (sticky) бит тохируулагдсан + байдаг. Шүүлтүүр нь холбоос үүсгэж чадах боловч холбоос нь өөр хэрэглэгчид + харьяалагдах болохоор дууссаныхаа дараа цэвэрлэж устгаж чаддаггүй юм.</para> + + <para>Харин шүүлтүүр нь түр хадгалах сан (<filename>/etc/printcap</filename> файлд + <literal>sd</literal> боломжоор заагдсан) болох одоо ажиллаж + байгаа санд симболын холбоос үүсгэх болно . Энэ нь шүүлтүүрийн ажлаа хийх + төгс газар юм. Ялангуяа илүү их чөлөөтэй дискийн зай <filename>/tmp</filename> сан + доторхоос илүү түр хадгалах санд (заримдаа) байдаг.</para> + + <para>Ингээд эцэст нь шүүлтүүр энэ байна:</para> + + <programlisting>#!/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. +# +dvilj2p -M1 -q -e- dfhp$$.dvi + +# +# Clean up and exit +# +cleanup +exit 0</programlisting> + </sect4> + + <sect4 id="printing-advanced-autoconv"> + <title>Автомат хувиргалт: Хувиргагч шүүлтүүртэй ижилхэн шүүлтүүрүүд + </title> + + <para>Эдгээр бүх хувиргагч шүүлтүүрүүд нь таны хэвлэх + орчинд тань маш олон ажлыг гүйцэтгэж өгдөг ч хэрэглэгчдийг + тэднээс аль нэгийг нь хэрэглэхийг шаарддаг (&man.lpr.1;-н тушаалын + мөрөн дээр). Хэрэв таны хэрэглэгчид компьютер дээр + сайн гаршаагүй хүмүүс бол иймэрхүү шүүлтүүрийн сонголтууд + тэд нарыг залхаах болно. Бүр муудаж болох нөхцөл юу гэвэл + буруу сонгосон шүүлтүүрийг буруу файлд хэрэглэснээр + хэвлэгчээр олон зуун хуудас үр дүнгүй хэвлэгдэх явдал юм. + </para> + + <para>Анхнаасаа хувигагч шүүлтүүрүүдийг суулгахаасаа өмнө + эхлээд та энгийн текст шүүлтүүрийг суулгаад (анхдагч + шүүлтүүр ) хэвлэгдэх файлын төрлийг нь таниад хэрэгтэй + шүүлтүүрийг хэрэглэх нь зүйтэй. <command>file</command> + гэх мэтийн хэрэгслүүд иймэрхүү зүйлд ашиглагдаж болох юм. + Мэдээж <emphasis>зарим</emphasis> файлын төрлийг хооронд нь + ялгахад бэрх боловч мэдээж тэдэнд зориулж та шүүлтүүр үүсгэж + болно. </para> + + <indexterm><primary>apsfilter</primary></indexterm> + <indexterm> + <primary>хэвлэх</primary> + <secondary>шүүлтүүр</secondary> + <tertiary>apsfilter</tertiary> + </indexterm> + <para>FreeBSD-н портын цуглуулга дотор <command>apsfilter</command> + нэртэй автомат хувиргалт хийдэг текст шүүлтүүр бий. Энэ шүүлтүүр нь + энгийн текст, &postscript;, мөн DVI файлуудыг таньж тэдэнд + тохирсон шүүлтүүрийг нь автоматаар ажиллуулдаг. </para> + </sect4> + </sect3> + + <sect3 id="printing-advanced-of"> + <title>Гаралтын шүүлтүүрүүд</title> + + <para><application>LPD</application> түр хадгалагч системд + бид нарын нээгээгүй бас нэг шүүлтүүрийн төрөл бий. + Гаралтын шүүлтүүр гэгч нь текст шүүлтүүр шиг зөвхөн энгийн + текст хэвлэх зориулалттай бөгөөд маш олон зүйлийг + хялбаршуулсан байдаг. Хэрэв та текст шүүлтүүр хэрэглээгүй мөртлөө + гаралтын шүүлтүүр хэрэглэж байгаа бол:</para> + + <itemizedlist> + <listitem> + <para><application>LPD</application> нь хэвлэгдэх файл болгонд + шүүлтүүр ажиллуулалгүйгээр гаралтын шүүлтүүрийг нэг удаа л + эхлүүлдэг. </para> + </listitem> + + <listitem> + <para><application>LPD</application> нь гаралтын шүүлтүүрт + зориулж файлын эхлэл болон төгсгөлийг мэдээлэх алба байхгүй. + </para> + </listitem> + + <listitem> + <para><application>LPD</application> нь хэрэглэгчийн болон компьютерийн нэвтрэх эрхийг дамжуулдаггүй болохоор бүртгэл хийх зориулалт + байдаггүй. Үнэн хэрэгтээ бол энэ нь ердөө хоёр утга авдаг:</para> + + <cmdsynopsis> + <command>шүүлтүүрийн-нэр</command> + <arg choice="plain">-w<replaceable>өргөн</replaceable></arg> + <arg choice="plain">-l<replaceable>урт</replaceable></arg> + </cmdsynopsis> + + <para>Энд <replaceable>өргөн</replaceable> нь + <literal>pw</literal>-н шинж чанар бөгөөд + <replaceable>урт</replaceable> нь + <literal>pl</literal>-н шинж чанар юм. </para> + </listitem> + </itemizedlist> + + <para>Гаралтын шүүлтүүрийн амарчлалд бас найдах хэрэггүй. Хэрэв + хэвлэгдэх файлуудыг тусдаа хуудаснаас эхлүүлэхийг та хүсэж байгаа + бол гаралтын шүүлтүүр <emphasis>ажиллахгүй</emphasis>. Үүнд + текст шүүлтүүр (бас оролтын шүүлтүүр гэж нэрлэдэг) хэрэглэх + хэрэгтэй ба <link + linkend="printing-textfilter">Текст шүүлтүүрийг суулгах нь </link> + хэсгээс харна уу. + Мөн цаашлаад үнэн чанартаа бол гаралтын шүүлтүүрүүд нь байт + хэлбэрээр урсаж байгаа хэвлэгдэх зүйлсээс + онцгой тэмдэгтүүдийг ялгаж + <application>LPD</application>-н нэрийн өмнөөс дохио илгээх + маягаар ажилладаг + <emphasis>нэлээн төвөгтэй</emphasis> систем юм.</para> + + <para>Хэрэв та толгой хуудаснуудыг хэвлэхийг хүсэж escape дарааллууд юм уу + эсвэл эхлүүлэх мөрүүдийг илгээх хэрэгтэй бол гарах шүүлтүүр нь + <emphasis>шаардлагатай</emphasis> юм. (Гэхдээ + хэрэв та толгой хуудаснуудыг хүсэж байгаа хэрэглэгчийн бүртгэлээс + төлбөр авах хүсэлтэй байгаа бол энэ нь <emphasis>дэмий</emphasis> зүйл юм. + Учир нь <application>LPD</application> нь гаралтын шүүлтүүрт ямар ч + хэрэглэгч юм уу эсвэл хостын мэдээллийг өгдөггүй юм.)</para> + + <para>Нэг хэвлэгч дээр <application>LPD</application> нь гаралтын + шүүлтүүр болон текст эсвэл бусад шүүлтүүрүүдийг зөвшөөрдөг. Ийм тохиолдолд + <application>LPD</application> нь зөвхөн толгой хуудсыг хэвлэхийн тулд + гаралтын шүүлтүүрийг эхлүүлэх болно (<link + linkend="printing-advanced-header-pages">Толгой хуудаснууд</link> + хэсгийг үзнэ үү). Тэгээд <application>LPD</application> нь хоёр байтыг + шүүлтүүр рүү илгээж гаралтын шүүлтүүр нь <emphasis>өөрийгөө зогсооно</emphasis> + гэж тооцдог: эдгээр хоёр байт нь ASCII 031 дараа нь ASCII 001 юм. + Гаралтын шүүлтүүр нь эдгээр хоёр байтыг (031, 001) хараад өөртөө <literal>SIGSTOP</literal> + илгээж зогсох ёстой. <application>LPD</application> бусад шүүлтүүүүдийг + ажиллуулж дууссаны дараа гаралтын шүүлтүүрт <literal>SIGCONT</literal> + илгээж түүнийг дахин эхлүүлэх болно.</para> + + <para>Хэрэв гаралтын шүүлтүүр байгаа боловч текст шүүлтүүр <emphasis>байхгүй</emphasis> + бөгөөд <application>LPD</application> цэвэр текст ажил дээр ажиллаж байгаа + бол <application>LPD</application> нь ажлыг хийхийн тулд гаралтын шүүлтүүрийг + ашигладаг. Өмнө хэлсэнчлэн гаралтын шүүлтүүр нь ажлын файл бүрийг дарааллаар + form feed-үүд эсвэл бусад цаасны дэвшилт зэрэг хөндлөнгийн оролцоогүйгээр хэвлэх + бөгөөд энэ нь таны хүсэж байгаа зүйл <emphasis>биш</emphasis> байж + болох юм. Бараг бүх тохиолдолд танд текст шүүлтүүр хэрэгтэй.</para> + + <para><command>lpf</command> гэж танд урьд нь текст шүүлтүүр хэмээн + танилцуулсан шүүлтүүр бас гаралтын шүүлтүүр болон ажилладаг. + Хэрэв танд ямар нэгэн урсгалаас байт таньж код илгээх гаралтын + шүүлтүүр бичилгүйгээр түргэн-боловч-бултар шүүлтүүр хэрэгтэй + бол <command>lpf</command>-г хэрэглээрэй. Та мөн бүрхүүл дээр + скрипт бичиж хэвлэгчид шаардлагатай анхдагч утгуудыг нь + <command>lpf</command>-аар тохируулж бас болно. </para> + </sect3> + + <sect3 id="printing-advanced-lpf"> + <title><command>lpf</command>: Текст шүүлтүүр</title> + + <para>FreeBSD хоёртын түгээлттэй цуг ирдэг <filename>/usr/libexec/lpr/lpf</filename> + програм нь гаралтад (<command>lpr -i</command> тушаалаар илгээгдсэн ажил) догол гаргах, + үсгэн тэмдэгтүүдийг дамжуулахыг зөвшөөрөх (<command>lpr -l</command> тушаалаар + илгээгдсэн ажил), ажил дахь устгах тэмдэгтүүд болон tab-уудад зориулж хэвлэх байрлалыг + тааруулах болон хэвлэсэн хуудсуудыг бүртгэж чаддаг текст шүүлтүүр (оролтын шүүлтүүр) юм. + Энэ нь бас гаралтын шүүлтүүр шиг ажиллаж чаддаг.</para> + + <para><command>lpf</command> нь олон хэвлэх орчнуудад тохирдог. Хэдийгээр + энэ нь хэвлэгч уруу эхлүүлэх дарааллуудыг илгээх боломжгүй боловч хэрэгтэй эхлүүлэлтийг + хийж <command>lpf</command>-г ажиллуулах бүрхүүлийн скрипт бичихийг хялбар + болгодог.</para> + + <indexterm><primary>хуудас бүртгэл</primary></indexterm> + <indexterm> + <primary>бүртгэл</primary> + <secondary>хэвлэгч</secondary> + </indexterm> + <para>Хуудсын бүртгэлийг <command>lpf</command>-ээр зөв хийлгэхийн тулд + <filename>/etc/printcap</filename> файл дахь + <literal>pw</literal> болон <literal>pl</literal> боломжуудад + зөв утгуудыг оруулах хэрэгтэй. Хуудсанд хичнээн текст багтах болон хэрэглэгчийн + ажилд хичнээн хуудас байгааг тодорхойлохын тулд энэ нь эдгээр утгуудыг ашигладаг. + Хэвлэгчийн бүртгэлийн талаарх дэлгэрэнгүй мэдээллийг <link + linkend="printing-advanced-acct">Хэвлэгчийн хэрэглээг бүртгэх нь</link> + хэсгээс үзнэ үү.</para> + </sect3> + </sect2> + + <sect2 id="printing-advanced-header-pages"> + <title>Толгой хуудаснууд</title> + + <para>Хэрэв та <emphasis>маш их</emphasis> хэрэглэгчтэй бөгөөд бүгд төрөл + бүрийн хэвлэгч ашиглаж байгаа бол та магадгүй <emphasis>толгой хуудаснууд</emphasis>ыг + ашиглахыг хүсэж болох юм.</para> + + <indexterm> + <primary>сурталчилгаа хуудаснууд</primary> + <see>толгой хуудаснууд</see> + </indexterm> + <indexterm><primary>толгой хуудаснууд</primary></indexterm> + <para>Толгой хуудаснууд, бас <emphasis>сурталчилгаа</emphasis> эсвэл + <emphasis>тэсрэх хуудаснууд</emphasis> гэгддэг хуудаснууд нь хуудсууд + хэвлэгдсэний дараа ажлууд нь хэнд хамаарахыг тодорхойлдог. Тэдгээр нь + ихэвчлэн том, тод үсгээр, магадгүй чимсэн хүрээнүүдтэйгээр хэвлэгддэг. + Ингэснээр хэвлэсэн олон хуудаснууд дотроос хэрэглэгчдийн ажлуудыг багтаасан + жинхэнэ баримт болон ялгардаг. Энэ нь хэрэглэгчдэд өөрсдийн ажлуудыг + хурдан олох боломжийг олгодог. Толгой хуудасны илэрхий сул тал нь ажил болгоны + хувьд илүү хуудас хэвлэгддэг явдал бөгөөд тэдний түр зуурын ашиг хэдхэн + минут үргэлжилж тун удалгүй тэдгээрийг хогийн сав эсвэл хогийн овоон дотор орохыг + харж болох юм. (Толгой хуудаснууд нь файл болгонтой биш, ажил болгонтой цуг явдгийг + санаарай. Тэгэхээр цаас дэмий үрэх нь тийм ч их муу биш байж болох юм.)</para> + + <para>Хэрэв таны хэвлэгч цэвэр текстийг шууд хэвлэж чаддаг бол + <application>LPD</application> систем нь таны хэвлэсэн зүйлүүдэд + толгой хуудаснуудыг автоматаар өгч чаддаг. Хэрэв танд &postscript; + хэвлэгч байгаа бол толгой хуудсыг үүсгэхийн тулд танд гадаад програм + хэрэгтэй болох юм; <link + linkend="printing-advanced-header-pages-ps">&postscript; хэвлэгчид + дээрх толгой хуудаснууд</link> хэсгийг үзнэ үү.</para> + + <sect3 id="printing-advanced-header-pages-enabling"> + <title>Толгой хуудаснуудыг идэвхжүүлэх нь</title> + + <para><link linkend="printing-simple">Хэвлэгчийн энгийн тохиргоо</link> + хэсэгт бид <filename>/etc/printcap</filename> файлд + <literal>sh</literal>-ийг (<quote>suppress header</quote> буюу толгойг дарах + гэсэн утгатай) зааж өгөн толгой хуудаснуудыг болиулсан. Хэвлэгчийн хувьд толгой хуудаснуудыг + идэвхжүүлэхийн тулд ердөө л <literal>sh</literal> боломжийг устгах хэрэгтэй.</para> + + <para>Хэтэрхий амархан санагдаж байна, тийм үү?</para> + + <para>Таны зөв. Та хэвлэгч уруу эхлүүлэх мөрүүдийг илгээхийн тулд + гаралтын шүүлтүүрийг өгөх хэрэгтэй болж <emphasis>болох</emphasis> юм. + Энд Hewlett Packard PCL-тэй нийцтэй хэвлэгчдэд зориулсан жишээ гаралтын + шүүлтүүр байна:</para> + + <programlisting>#!/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</programlisting> + + <para>Гаралтын шүүлтүүрийн замыг <literal>of</literal> боломжид + зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг <link + linkend="printing-advanced-of">Гаралтын шүүлтүүрүүд</link> + хэсгээс үзнэ үү.</para> + + <para>Бидний урьд нь танилцуулсан <literal>teak</literal> хэвлэгчид + зориулсан жишээ <filename>/etc/printcap</filename> файл энд байна; + бид толгой хуудаснуудыг идэвхжүүлж дээрх гаралтын шүүлтүүрийг нэмсэн:</para> + + <programlisting># +# /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:</programlisting> + + <para>Одоо хэрэглэгч <literal>teak</literal> уруу ажлуудаа хэвлэхэд + ажил болгонтой толгой хуудас хүлээн авах болно. Хэрэв хэрэглэгчид өөрсдийн + хэвлэсэн зүйлсээ хайхад цаг зарцуулахыг хүсэж байгаа бол толгой хуудаснуудыг + дарж ажлаа <command>lpr -h</command> тушаалаар илгээж болно; + &man.lpr.1;-ийн тохируулгуудын талаар дэлгэрэнгүйг <link + linkend="printing-lpr-options-misc">Толгой хуудасны тохируулгууд</link> + хэсгээс үзнэ үү.</para> + + <note> + <para><application>LPD</application> нь толгой хуудасны дараа + form feed тэмдэгт хэвлэдэг. Хэрэв таны хэвлэгч хуудсаа гаргахын + тулд өөр тэмдэгт юм уу эсвэл өөр тэмдэгтүүдийн дараалал ашигладаг + бол тэдгээрийг <filename>/etc/printcap</filename> файлд + <literal>ff</literal> боломжоор зааж өгөх хэрэгтэй.</para> + </note> + </sect3> + + <sect3 id="printing-advanced-header-pages-controlling"> + <title>Толгой хуудаснуудыг хянах нь</title> + + <para>Толгой хуудаснуудыг идэвхжүүлснээр <application>LPD</application> + нь хэрэглэгч, хост, болон ажлыг таниулах том үсгүүдтэй <emphasis>урт + толгой</emphasis> бүхий хуудсыг үүсгэх болно. Энд жишээ байна (kelly нь + outline гэсэн нэртэй ажлыг <hostid>rose</hostid>-с хэвлэжээ):</para> + + <programlisting> k ll ll + k l l + k l l + k k eeee l l y y + k k e e l l y y + k k eeeeee l l y y + kk k e l l y y + k k e e l l y yy + k k eeee lll lll yyy y + y + y y + yyyy + + + ll + t l i + t l + oooo u u ttttt l ii n nnn eeee + o o u u t l i nn n e e + o o u u t l i n n eeeeee + o o u u t l i n n e + o o u uu t t l i n n e e + oooo uuu u tt lll iii n n eeee + + + + + + + + + + r rrr oooo ssss eeee + rr r o o s s e e + r o o ss eeeeee + r o o ss e + r o o s s e e + r oooo ssss eeee + + + + + + + + Job: outline + Date: Sun Sep 17 11:04:58 1995</programlisting> + + <para><application>LPD</application> нь ажлыг шинэ хуудсан дээр + эхлүүлэхийн тулд энэ текстийн дараа form feed-г нэмдэг + (<filename>/etc/printcap</filename> дахь хүрэх хэвлэгчийн оруулгад + <literal>sf</literal> (form feed-г дарах) байхгүй бол).</para> + + <para>Хэрэв та хүсэж байгаа бол <application>LPD</application> нь + <emphasis>богино толгой</emphasis> хийж чаддаг; <filename>/etc/printcap</filename> + файлд <literal>sb</literal>-г (short banner буюу богино сурталчилгаа) + зааж өгөх хэрэгтэй. Толгой хуудас иймэрхүү харагдах болно:</para> + + <programlisting>rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995</programlisting> + + <para>Бас анхдагчаар <application>LPD</application> нь эхлээд толгой + хуудсыг дараа нь ажлыг хэвлэдэг. Эсрэгээр болгохын тулд + <filename>/etc/printcap</filename> файлд <literal>hl</literal>-г + (header last буюу толгой сүүлд) зааж өгөх хэрэгтэй.</para> + </sect3> + + <sect3 id="printing-advanced-header-pages-accounting"> + <title>Толгой хуудаснуудыг бүртгэх нь</title> + + <para><application>LPD</application>-н өөрт нь суугдсан толгой + хуудаснууд нь хэвлэлтэнд бүртгэл тооцоо хийх шаардлагатай үед + <emphasis>үнэгүй</emphasis> байх зарчмыг шаарддаг.</para> + + <para>Яагаад?</para> + + <para>Учир нь гаралтын шүүлтүүр бол толгой хуудас + хэвлэгдэх үед ажилладаг тусдаа биеэ даасан гадаад + програм бөгөөд бүртгэл хийж болох юм шиг боловч + <emphasis>хэрэглэгч юмуу компьютерийн</emphasis> талаарх + ямар ч бүртгэлийн мэдээллээр хангагддаггүй учир + хэн дээр ямар тооцоо бүртгэл хийхээ мэдэж чаддаггүй. + Зөвхөн <quote>нэг хуудас</quote> текст шүүлтүүр рүү нэмсэнээр + юм уу эсвэл хувиргах ямар нэгэн шүүлтүүрийг (хэрэглэгч юм уу + компьютерийн мэдээлэлтэй) хэрэглэгч <command>lpr -h</command> + гэсэн тушаалаар дарж болдог. + Дарагдсан ч гэсэн тэдгээр толгой хуудаснууд бүртгэл + тооцоо хийж байдаг. Үндсэндээ орчны хувьсагчдад дассан хэрэглэгчдэд + <command>lpr -h</command> тушаал илүү аятайхан байж болох боловч + шаардлагатай гэсэн үг биш билээ. + </para> + + <para>Шүүлтүүр бүр өөрсдийн гэсэн толгой хуудас + үүсгэх нь <emphasis>тийм хангалттай шийдэл бас биш</emphasis> + (хэдийгээр тус бүрдээ төлбөр тооцоо хийж чадах байсан ч ). + Хэрэв хэрэглэгч <command>lpr -h</command> тушаалаар + толгой хуудсыг дарсан ч <application>LPD</application> + нь шүүлтүүрүүд рүү <option>-h</option> гэсэн сонголтын талаар + ямар ч мэдээлэл явуулдаггүй болохоор төлбөр тооцоо хийгдсээр байх + болно. </para> + + <para>Тэгэхээр танд ямар сонголтууд байна вэ?</para> + + <para>Та дараах зүйлсийг хийх боломжтой:</para> + + <itemizedlist> + <listitem> + <para><application>LPD</application>-н зарчмыг хүлээн + зөвшөөрч толгой хуудсанд төлбөр тооцохгүй болох.</para> + </listitem> + + <listitem> + <para><application>LPRng</application> гэх мэтийн <application>LPD</application>-н ижил төрлийн түр хадгалагчдыг хэрэглэх. + <link linkend="printing-lpd-alternatives">Түр хадгалагчидтай + ижил төрлийн хадгалагчид </link> хэсэгт + <application>LPD</application>-г орлуулж болох түр хадгалагчдын + талаар өгүүлсэн буй. + </para> + </listitem> + + <listitem> + <para><emphasis>Гайгүй сэргэлэн</emphasis> гаралтын + шүүлтүүр бичих. Гаралтын шүүлтүүр гэдэг нь ердийн үед бол + хэвлэгчийг тохируулах юмуу эсвэл энгийн тэмдэгт хувиргуур + хийдэг програм юм. Ийм шүүлтүүр нь + толгой хуудас болон энгийн текст зэрэгт тун таардаг ( + хэрэв тэнд ямар ч текст (оролтын) шүүлтүүр байхгүй бол). + Гэхдээ хэрэв тэнд энгийн текст хэвлэх текст шүүлтүүр байгаа + бол <application>LPD</application> нь гаралтын шүүлтүүрийг + зөвхөн толгой хуудсанд ажиллуулдаг. Тэгээд + гаралтын шүүлтүүр нь толгой хуудаснаас + <application>LPD</application>-н үүсгэсэн хэрэглэгч болон + компьютерт тооцсон тооцоог салгаж авч чаддаг. Энэ арганд + буй нэг хүндрэл бол гаралтын шүүлтүүр нь ямар бүртгэлийн + файл хэрэглэхээ мэдэхгүйд байгаа юм (энэ файл нь + <literal>af</literal> тохиргоогоор дамжигддаггүй). Гэвч + хэрэв танд бэлэн бүртгэл файл байгаа бол тэдгээрийг + гаралтын шүүлтүүр дотор бичиж өгч болно. Тооцоог салгаж авах + хэсэгт нэмэр болгохын тулд <literal>sh</literal> (short header буюу + богино толгой) тохиргоог <filename>/etc/printcap</filename> + файл дотор оруулах нь зүйтэй. Тэгээд ч энэ бүхэн танд төвөгтэй санагдаж магадгүй бөгөөд + хэрэглэгчид толгой хуудсанд төлбөр тооцдоггүй + өгөөмөр сүлжээ зохицуулагчийг илүүд үзэж бас болох юм.</para> + </listitem> + </itemizedlist> + </sect3> + + <sect3 id="printing-advanced-header-pages-ps"> + <title>&postscript; хэвлэгч дээрх толгой хуудаснууд</title> + + <para>Өмнө өгүүлснээр <application>LPD</application> нь маш + олон хэвлэгчдэд зориулж энгийн текст толгой хуудас үүсгэж + чаддаг. Мэдээж &postscript; нь энгийн текстийг шууд + хэвлэж чаддаггүй болохоор <application>LPD</application>-н энэ + шинж чанар бараг хэрэггүй билээ.</para> + + <para>Толгой хуудас байлгах нэг арга бол хувиргах шүүтүүр болгон + толгой хуудас үүсгэх юм. Ингэхийн тулд шүүлтүүрүүд нь + хэрэглэгч болон компьютерийн мэдээллийг хүлээж аваад толгой + хуудас үүсгэдэг байхаар зохицуулах хэрэгтэй. Энэ аргын нэг + муу тал нь хэрэглэгчид <command>lpr + -h</command> тушаал ашигласан ч толгой хуудастай хуудас + хэвлээд байх болно.</para> + + <para>Энэ аргыг жаахан судалж үзэцгээе. Дараах + скрипт гурван утга хүлээж аваад(хэрэглэгчийн + нэвтрэх нэр, компьютерийн нэр, хэвлэгдэх ажлын нэр) + &postscript; толгой хуудас үүсгэж байна:</para> + + <programlisting>#!/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). Modify for A4 or +# whatever size paper you are using: +# +page_width=612 +page_height=792 +border=72 + +# +# Check arguments +# +if [ $# -ne 3 ]; then + echo "Usage: `basename $0` <user> <host> <job>" 1>&2 + exit 1 +fi + +# +# Save these, mostly for readability in the PostScript, below. +# +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 +showpage +EOF</programlisting> + + <para>Одоо ямар ч хувиргах шүүлтүүр болон текст шүүлтүүрүүд нь + энэ скриптийг дуудаж толгой хуудас үүсгэж хэвлэж болно. + Энд одоо өмнө үзүүлж байсан DVI хувиргах шүүлтүүрийг + жаахан өөрчилж толгой хуудас үүсгэхийг харуулав:</para> + + <programlisting>#!/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</programlisting> + + <para>Хэрэглэгчийн нэр болон компьютерийн нэрийг хэрхэн + салгаж авч байгааг анхаарах хэрэгтэй. Бусад шүүлтүүр дээр ийм салгалт + хийх нь ижилхэн. Текст шүүлтүүр нь хэрэглэгчийн нэр болон + компьютерийн нэрийг арай өөр аргаар салгаж авдаг. + (<link + linkend="printing-advanced-filters">Шүүлтүүр хэрхэн ажилладаг + вэ</link> хэсгээс харна уу).</para> + + <para>Өмнө өгүүлсний дагуу дээр үзүүлсэн энэ загвар нь + хэдийгээр тун энгийн бүтээгдсэн ч гэсэн + <quote>suppress header page</quote> сонголтыг ( + <option>-h</option> сонголт) <command>lpr</command> дээр хорьдог. + Хэрэв хэрэглэгчид жаахан хэмнэхийг хүссэн ч (эсвэл + толгой хуудасны төлбөрт өгөх хэдэн төгрөгөө) + шүүлтүүр болгон толгой хуудас хэвлэдэг болохоор + дээрх аргыг хэрэглээд үр дүн өгөхгүй.</para> + + <para>Хэвлэгдэх бүр толгой хуудсыг хорихын тулд + <link + linkend="printing-advanced-header-pages-accounting">Толгой хуудасны + тооцоо бүртгэл</link> хэсэгт үзүүлсэн дараах бяцхан аргыг хэрэглэнэ: + гаралтын шүүлтүүр бичээд түүгээрээ LPD-н үүсгэсэн + толгой хэсгийг салгаж аван &postscript; хувилбарыг нь үүсгэх. + Хэрэв хэрэглэгч <command>lpr -h</command> тушаал хэрэглэвэл + <application>LPD</application> толгой хэсэг үүсгэхгүй бөгөөд + бас таны гаралтын шүүлтүүрийг ажиллуулахгүй. Бусад үед + гаралтын шүүлтүүр нь <application>LPD</application>-с текстийг + уншаад түүнд тохирсон &postscript; толгой хуудсыг + хэвлэгчид өгдөг.</para> + + <para>Хэрэв танд цуваа холболттой &postscript; хэвлэгч + байгаа бол <command>lprps</command>-г та хэрэглэж болох + бөгөөд энэ нь дээр ярьсан зүйлийг гүйцэтгэж чаддаг + <command>psof</command> нэртэй гаралтын шүүлтүүртэй хамт + ирдэг. Тэмдэглэж хэлэхэд, <command>psof</command> нь + толгой хуудсанд тооцоо боддоггүй. </para> + </sect3> + </sect2> + + <sect2 id="printing-advanced-network-printers"> + <title>Сүлжээгээр хэвлэх</title> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>сүлжээ</secondary> + </indexterm> + <indexterm><primary>сүлжээгээр хэвлэх</primary></indexterm> + <para>FreeBSD нь хэвлэх ажлыг алсад буй компьютер руу илгээж + сүлжээгээр хэвлэхийг бас дэмждэг. Сүлжээгээр хэвлэх нь + хоёр зүйлийг хамарч байдаг.</para> + + <itemizedlist> + <listitem> + <para>Алсад буй компьютерт залгагдсан хэвлэгч рүү хандах. Та нэг + хэвлэгчийг нэг компьютер дээр тохирох цуваа юм уу зэрэгцээ + холболтоор хэвлэгчийг залгана. Дараа нь та + <application>LPD</application>-г суулгаж алсад буй компьютер + уг хэвлэгч залгагдсан компьютер руу хандаж болохыг + тохируулна. <link + linkend="printing-advanced-network-rm">Алсад буй + компьютерт залгагдсан хэвлэгч</link> хэсэгт үүнийг хэрхэн + хийх талаар зааварласан бий.</para> + </listitem> + + <listitem> + <para>Шууд сүлжээнд залгагдсан хэвлэгч рүү хандах. Ийм хэвлэгч нь + цуваа юм уу эсвэл зэрэгцээ холболтын төхөөрөмжөөс гадна + сүлжээний залгууртай байдаг. Ийм хэвлэгч дараах маягаар + ажилладаг:</para> + + <itemizedlist> + <listitem> + <para>Хэвлэгч <application>LPD</application>-н дамжуулах + протоколыг таньж ойлгох ба алсаас ирүүлсэн ажлуудад + дараалал үүсгэж чаддаг. Ийм тохиолдолд уг хэвлэгч нь + өөр дээрээ <application>LPD</application> суулгасан + ердийн компьютер шиг ажиллах болно. + <link linkend="printing-advanced-network-rm">Алсад буй + компьютерт залгагдсан хэвлэгчид</link> хэсэгт иймэрхүү + хэвлэгчийг хэрхэн тохируулах талаар харна уу.</para> + </listitem> + + <listitem> + <para>Хэвлэгч нь сүлжээгээр өгөгдлийг урсгал мэт хүлээж авдаг + тийм төрлийн холболт дэмждэг байж болох юм. + Энэ тохиолдолд та нэг компьютерт уг хэвлэгчийг + <quote>залгаад</quote> суулгасан компьютер нь + ирж буй ажлуудыг түр хадгалах хариуцлагыг нь дааж хэвлэгч рүүгээ + өгөгдлийг урсгаж байхаар тохируулах хэрэгтэй. + <link + linkend="printing-advanced-network-net-if"> + Сүлжээний өгөгдлийн урсгал холболтын төхөөрөмжтэй + хэвлэгчид</link> хэсэгт ийм төрлийн хэвлэгчийг + хэрхэн суулгах талаар зааварласан байгаа. </para> + </listitem> + </itemizedlist> + </listitem> + </itemizedlist> + + <sect3 id="printing-advanced-network-rm"> + <title>Алсад буй компьютерт залгагдсан хэвлэгчид</title> + + <para><application>LPD</application>-д өөрт нь өөр газар + <application>LPD</application> (эсвэл <application>LPD</application>-тэй + зохимжтой) ажиллаж байгаа машин руу хэвлэх ажлыг илгээж чаддаг + ажиллагаа байдаг. Энэ шинж чанарыг ашиглаж та өөр компьютерт хэвлэгчээ + залгаад түүнд өөр газраас хандаж болох боломж нээж өгч байна. + Энэ арга нь мөн <application>LPD</application> дамжуулах + протоколыг ойлгодог хэвлэгчид дээр бас ажиллана .</para> + + <para>Иймэрхүү алсаас хэвлэх ажиллагааг гүйцэтгэхийн тулд эхлээд + хэвлэгчээ <emphasis>хэвлэгчийн эзэн</emphasis> болгож нэг машинд + <link linkend="printing-simple">Хэвлэгч суулгах энгийн явц</link> + хэсэгт заасны дагуу залгах хэрэгтэй. Шаардлагатай бол + <link + linkend="printing-advanced">Хэвлэгчийн нэмэлт тохиргоо</link> хэсэгт + заасан тохиргоог хийж болно. Хэвлэгчээ хэвлэж байгааг нь магадлаад + <application>LPD</application> тохиргоог зөвшөөрсөн эсэхийг + шалгах хэрэгтэй. + Мөн <emphasis>remote host</emphasis> дотор + <emphasis>local host</emphasis> нь <application>LPD</application> + үйлчилгээг хэрэглэх эрхтэй эсэхийг шалгаарай (<link + linkend="printing-advanced-restricting-remote">Алсад буй + хэвлэгчид хэвлэх хязгаарлалт хийх</link> хэсэгт харна уу).</para> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>сүлжээ</secondary> + </indexterm> + <indexterm><primary>сүлжээгээр хэвлэх</primary></indexterm> + <para>Хэрэв та сүлжээний карттай бөгөөд <application>LPD</application> + протокол дэмждэг хэвлэгч хэрэглэж байгаа бол дээр өгүүлснээр + <emphasis>хэвлэгчийн эзэн</emphasis> болон <emphasis>хэвлэгчийн нэр</emphasis> + нь уг тохируулж буй хэвлэгчийн нэр байх ёстой. Хэвлэгчтэй хамт ирсэн + үйлдвэрлэгчийнх нь гарын авлагаас хэвлэгчийнх нь талаарх эсвэл сүлжээний + төхөөрөмжийнх нь талаарх мэдээллийг хараарай. </para> + + <tip> + <para>Хэрэв та Hewlett Packard Laserjet хэвлэгч хэрэглэж байгаа + бол <literal>text</literal> нэртэй хэвлэгч нь автоматаар + LF-г CRLF руу хувиргадаг болохоор <filename>hpif</filename> скрипт + хэрэглэх шаардлагаггүй.</para> + </tip> + + <para>Дараа нь хэвлэгч рүү хандах гэж буй нөгөө машины + <filename>/etc/printcap</filename> файл дотор дараах зүйлсийг + оруулж өгдөг:</para> + + <orderedlist> + <listitem> + <para>Хүссэн нэрээ оруулна. Алсад буй компьютерийн нэрэнд давхар + нэр өгч оруулан амарчилж болох юм. </para> + </listitem> + + <listitem> + <para><literal>lp</literal> тохиргоог хоосон орхино. + (<literal>:lp=:</literal>).</para> + </listitem> + + <listitem> + <para>Түр хадгалах сан үүсгэж түүний байршлыг <literal>sd</literal> хэсэгт + зааж өгдөг. <application>LPD</application> нь алсад буй + хэвлэгч рүү ажлуудыг илгээхээсээ өмнө энэ санд хадгалдаг.</para> + </listitem> + + <listitem> + <para>Хэвлэгчийн эзний нэрийг <literal>rm</literal> хэсэгт + бичиж өгнө.</para> + </listitem> + + <listitem> + <para><emphasis>Хэвлэгчийн эзэнд</emphasis> холбогдсон + хэвлэгчийн нэрийг <literal>rp</literal> + хэсэгт оруулна. </para> + </listitem> + </orderedlist> + + <para>Ингээд болох нь тэр. Та хувиргах шүүлтүүр, цаасны хэмжээ гэх мэтийг + <filename>/etc/printcap</filename> файл дотор оруулах шаардлагаггүй.</para> + + <para>Энд нэг жишээ татъя. <hostid>rose</hostid> нэртэй машин + <literal>bamboo</literal> болон <literal>rattan</literal> гэсэн + хоёр хэвлэгчтэй. + Бид одоо <hostid>orchid</hostid> машиныг уг хэвлэгчид рүү хандаж болдог + болгож тохируулцгаая. + Энд ( <link + linkend="printing-advanced-header-pages-enabling">Толгой хуудсыг + зөвшөөрөх</link> хэсгээс дахин авав) + <hostid>orchid</hostid> машины <filename>/etc/printcap</filename> файл + хэрхэн харагдаж байгааг харуулав. Уг машинд өмнө нь + <literal>teak</literal> нэртэй машин тохируулагдсан байгаа бөгөөд + бид <hostid>rose</hostid> машины хоёр хэвлэгчийг нэмэх болно:</para> + + <programlisting># +# /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:\ + :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:</programlisting> + + <para>Дараа нь бид <hostid>orchid</hostid> дээр түр хадгалах + сан нэмэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput> +&prompt.root; <userinput>chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput> +&prompt.root; <userinput>chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput></screen> + + <para>Одоо <hostid>orchid</hostid> дээрх хэрэглэгчид + <literal>rattan</literal> болон <literal>bamboo</literal> хэвлэгчдийг + хэрэглэж чадна. Жишээ нь <hostid>orchid</hostid> дээрх хэрэглэгч + дараах тушаал өгвөл + + <screen>&prompt.user; <userinput>lpr -P bamboo -d sushi-review.dvi</userinput></screen> + + <hostid>orchid</hostid> дээрх <application>LPD</application> + систем хэвлэх ажлуудыг <filename>/var/spool/lpd/bamboo</filename> + гэсэн түр хадгалагч руу хуулна. Энэ хэвлэгдэх ажил нь + DVI файл байсныг та анзаарна уу. <hostid>rose</hostid> машинд + <literal>bamboo</literal> түр хадгалах сан үүсэнгүүт + хоёр машины <application>LPD</application>-ууд хоорондоо + уг файлыг <hostid>rose</hostid> машин уруу дамжуулдаг. + Дараа нь уг файл <hostid>rose</hostid>-н дараалалд очиж зогсоод + хэвлэгдэх хүртлээ хүлээгдэнэ. Энэ файл DVI-с + &postscript; уруу (<literal>bamboo</literal> нь &postscript; хэвлэгч учир) + <hostid>rose</hostid> дээр хувиргагдана.</para> + </sect3> + + <sect3 id="printing-advanced-network-net-if"> + <title>Сүлжээгээр өгөгдлийг урсгал хэлбэрээр дамжуулдаг + холболттой хэвлэгчид</title> + + <para>Ихэнх тохиолдолд, хэвлэгчдэд зориулж сүлжээний төхөөрөмж авах + үед танд хоёр сонголт бий: түр хадгалагчтай (илүү үнэтэй), + эсвэл цуваа юмуу зэрэгцээ холболтоор холбогдсон мэт өгөгдлийг + хэвлэгч рүү шууд илгээдэг (хямд үнэтэй). + Энэ хэсэгт хямд үнэтэйг нь авч хэлэлцэнэ. Үнэтэйг нь <link + linkend="printing-advanced-network-rm">Алсад буй компьютерт + холбогдсон хэвлэгчид</link> хэсгээс хараарай.</para> + + <para><filename>/etc/printcap</filename> файлд + ямар цуваа юмуу эсвэл ямар зэрэгцээ холболт хэрэглэхийг зааж өгдөг + бөгөөд (хэрэв та цуваа холболтоор холбосон бол ) ямар + давтамжаар илгээх, ямар урсгал хянагч ашиглах, илгээх + завсарлагаа, шинэ мөр тэмдгийг хэрхэн хувиргах гэх мэтчилэн + маш олон зүйлийг тохируулж болно. Хэрэв хэвлэгч TCP/IP порт + юмуу эсвэл өөр сүлжээний порт чагнаж байгаа хэвлэгчийг энд + зааж өгөх боломжгүй. </para> + + <para>Сүлжээнд холбогдсон хэвлэгч рүү илгээхийн тулд + текст болон хувиргах шүүлтүүрээр дуудагдаж болдог + холболтын програм та бичих хэрэгтэй. + Энд нэг жишээ үзүүлье. + <command>netprint</command> нэртэй скрипт нь + бүх өгөгдлийг ердийн оролтоос аваад сүлжээнд холбогдсон + хэвлэгч рүү илгээх болно. Хэвлэгч холбогдсон компьютерийн нэрийг нь + эхний утгаар авах бөгөөд хоёр дахь утгаараа чагнаж буй + портын дугаарыг <command>netprint</command>-д өгнө. Тэмдэглэж хэлэхэд, + энэ нь зөвхөн нэг чиглэлтэй холболт (FreeBSD-с хэвлэгч рүү) бөгөөд + ихэнх сүлжээний хэвлэгчид хоёр тийш чиглэсэн холболтыг дэмждэг + болохоор тэр чанарыг нь та мөн ашиглаж болох юм + (хэвлэгчийн төлөв байдлыг мэдэх, бүртгэл хийх гэх мэт).</para> + + <programlisting>#!/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'; + +($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;</programlisting> + + <para>Дараа нь бид энэ скриптийг янз бүрийн шүүлтүүртэй хамт хэрэглэж болно. + Сүлжээнд + Diablo 750-N туузан хэвлэгч холбогдсон байна гэж авч үзье. + Хэвлэгч хэвлэгдэх өгөгдлийг 5100 гэсэн портын дугаар дээр хүлээж авна. + Хэвлэгчийн холбогдсон компьютерийн нэр нь scrivener. + Одоо энэ хэвлэгчид дараах текст шүүлтүүр хэрэглэе:</para> + + <programlisting>#!/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</programlisting> + </sect3> + </sect2> + + <sect2 id="printing-advanced-restricting"> + <title>Хэвлэгч хэрэглэх хязгаарлалт</title> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>хэрэглэх хязгаарлалт</secondary> + </indexterm> + <para>Энэ хэсэгт хэвлэгч хэрэглэлтийг хязгаарлах талаар өгүүлэх болно. + <application>LPD</application> систем хэвлэгчийг гадаад сүлжээ юм уу + дотоодоос хэн олон хувилах, хэр зэрэг том хэмжээний + ажил хэвлэж болох, хэвлэгчийн дараалал хэр урт байх ёстой зэргийг + зааж өгч болно. </para> + + <sect3 id="printing-advanced-restricting-copies"> + <title>Олон хэвлэлтийг хязгаарлах</title> + + <para><application>LPD</application> нь хэрэглэгчдэд нэг файлыг олон + хэвлэхийг амарчилж өгдөг. Хэрэглэгч нар <command>lpr -#5</command> + (жишээ болгож) тушаалаар файлыг таван удаа хувилж чадна. + Үүний сайн эсэх нь танаас хамаарна.</para> + + <para>Хэрэв ингэж олон хувилах нь цаг болон цаасны дайсан юм байна + гэж үзэж байгаа бол <option>-#</option> сонголтыг + &man.lpr.1; дээр хорьж болох бөгөөд ингэхийн тулд + <literal>sc</literal> сонголтыг + <filename>/etc/printcap</filename> файл дотор оруулж өгнө. + Хэрэв хэрэглэгч <option>-#</option> сонголттой хэвлэх тушаал илгээвэл + дараах мэдэгдлийг харах болно:</para> + + <screen>lpr: multiple copies are not allowed</screen> + + + <para>Хэрэв та алсын хэвлэгч тохируулсан байвал (<link linkend="printing-advanced-network-rm">Алсын компьютерт холбогдсон хэвлэгчид</link> хэсгээс харна уу) + <literal>sc</literal> сонголтыг алсад буй компьютерийн + <filename>/etc/printcap</filename> файл дотор хийж өгөхгүй бол + хэрэглэгчид хүссэн тоогоороо хувилж чадсаар байх болно. + </para> + + <para>Энд нэг жишээ авцгаая. Дараах файл бол алсад буй + <hostid>rose</hostid> компьютерийн + <filename>/etc/printcap</filename> файл. + Хэвлэгч <literal>rattan</literal> нь нэлээн өгөөмөр бөгөөд + хэн хүссэнд нь хувилж өгдөг байхад лазер хэвлэгч + <literal>bamboo</literal> нь нэлээн харамч болохоор + өөртөө <literal>sc</literal> тохиргоог агуулж байна:</para> + + <programlisting># +# /etc/printcap for host rose - restrict multiple copies on 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:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf:</programlisting> + + <para>Одоо <literal>sc</literal> тохиргоог мөн <hostid>orchid</hostid> + компьютерийн + <filename>/etc/printcap</filename> файл дотор оруулж + өгөх хэрэгтэй (бид өөрсдөө энэ компьютер дээр байгаа болохоор + <literal>teak</literal> хэвлэгч дээр олон хуулбар хийхийг хорих болно):</para> + + <programlisting># +# /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:</programlisting> + + <para><literal>sc</literal> тохиргоог хэрэглэснээр + <command>lpr -#</command> тушаалын хэрэглээг хорих боловч + &man.lpr.1; тушаалын олон удаагийн хэрэглээ юм уу эсвэл + нэг удаагийн хэвлэгдэх ажилд нэг файлыг дараах маягаар олон илгээхийг хорих + боломжгүй:</para> + + <screen>&prompt.user; <userinput>lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign</userinput></screen> + + <para>Үүнийг хорих олон арга бий бөгөөд та чөлөөтэй оролдон үзэх + хэрэгтэй (үл тоомсорлох аргыг оруулаад).</para> + </sect3> + + <sect3 id="printing-advanced-restricting-access"> + <title>Хэвлэгч рүү хандах хандалтыг хязгаарлах</title> + + <para>&unix;-н бүлэглэл болон <filename>/etc/printcap</filename> файлын + <literal>rg</literal> тохиргоог ашигласнаар ямар хэвлэгч рүү хэн + хандаж юм хэвлэж болохыг та тохируулж болдог. Нэг тодорхой бүлэгт + хэрэглэгчдээ хамруулж оруулаад тэр бүлгийнхээ нэрийг + <literal>rg</literal> тохиргоонд бичиж өгөөд л болох нь тэр.</para> + + <para>Хэрэв тухайн хяналттай хэвлэгч рүү уг бүлэгт хамаараагүй + хэрэглэгч (<username>root</username>-г оруулаад) юм хэвлэхийг оролдох үед + <errorname>lpr: Not a member of the restricted group</errorname> + + гэсэн алдаатай тулгарах болно. </para> + + <para><literal>sc</literal> (suppress multiple copies буюу олон хуулбарыг хорих) + тохиргооны адилаар алсын компьютерууд таны хэвлэгч рүү хандахаар хэрэв та зөвшөөрсөн + бол <literal>rg</literal>-г тохируулах хэрэгтэй болно. + (<link + linkend="printing-advanced-network-rm">Алсын компьютерт суугдсан хэвлэгчид</link> + хэсгээс харна уу)</para> + + <para>Жишээ нь, ямар ч хэрэглэгч + <literal>rattan</literal> хэвлэгч рүү хандаж чадахаар, харин + <literal>artists</literal> бүлгийн хэрэглэгчид зөвхөн <literal>bamboo</literal> хэвлэгчийг + хэрэглэж болно гэж үзье. Энд бидний танил <hostid>rose</hostid> компьютерийн + <filename>/etc/printcap</filename> файлыг харуулж байна:</para> + + <programlisting># +# /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:</programlisting> + + <para> + <filename>/etc/printcap</filename> файлын ( + <hostid>orchid</hostid> машины) тохиргоог орхие. Мэдээж + <hostid>orchid</hostid> дээрх хэн гуай ч <literal>bamboo</literal>-г + хэрэглэж чадахгүй. + Магадгүй + <hostid>orchid</hostid> дээрх онцгой хэрэглэгчдийг хэвлэгч рүү + хандах эрх олгож болох юм. Үгүй ч байсан болох юм :)</para> + + <note> + <para>Хэвлэгч бүрд зөвхөн нэг л хязгаарлах бүлэг байж болно.</para> + </note> + </sect3> + + <sect3 id="printing-advanced-restricting-sizes"> + <title>Хэвлэгдэхээр илгээгдэх файлын хэмжээг хязгаарлах</title> + + <indexterm><primary>хэвлэх</primary></indexterm> + <para>Хэрэв танд хэвлэгч хэрэглэх эрхтэй хэвлэгчид байгаа бол тэдгээрийн + хэвлэх файлд нь хэмжээг нь хязгаарлах тохиргоо хийхийг хүсэж болох юм. + Хэдийгээр файл систем дээрх хэвлэгчийн түр хадгалагчийн санд + хангалттай зай байгаа ч гэсэн хэрэглэгч бүрд тохирсон тодорхой хэмжээг + зааж өгөх шаардлага гарч магадгүй.</para> + + <indexterm> + <primary>ажлыг хэвлэх</primary> + <secondary>хянах</secondary> + </indexterm> + <para><application>LPD</application> нь <literal>mx</literal> тохиргоонд + зааж өгсөн байтын хэмжээгээр хэвлэгдэх ажлын хэмжээг хязгаарлах + боломж өгдөг. Хэмжих нэгж нь + <literal>BUFSIZ</literal>-д зааж өгсөн багцын хэмжээ байдаг ба + нэг багц нь 1024 байт байдаг билээ. Хэрэв та энэ тохиргоонд тэгийн тоо бичих юм бол + файлын хэмжээнд хязгаар тавихгүй болно. Гэхдээ та ямар ч + <literal>mx</literal> тохиргоо зааж өгөөгүй бол + анхдагч хязгаарлалт нь + 1000 багц байдаг.</para> + + <note> + <para>Энэ хязгаарлалт нь хэвлэгдэх гэж буй <emphasis>файлд</emphasis> хамаатай + болохоос хэвлэгдэх бүх ажлуудыг + <emphasis>хязгаарлана гэсэн үг биш</emphasis>.</para> + </note> + + <para><application>LPD</application> нь хэвлэгдэх файл нь хязгаарласан хэмжээнээс + их файл ирвэл татгалздаггүй харин хязгаар хүртэлх хэмжээг нь хэвлэх дараалалд оруулж + өгдөг бөгөөд тэр хэсэг нь хэвлэгддэг. Үлдсэн хэсэг нь цуцлагдах болно. + Иймэрхүү хязгаарлалт нь зөв буруу эсэх нь таны шийдэл билээ. </para> + + <para>Бидний жишээ болсон + <literal>rattan</literal> болон <literal>bamboo</literal> нар дээрээ + хязгаарлалт хийж үзэцгээе. Зураг бүтээл туурвидаг нөхдийн + &postscript; файлууд их хэмжээтэй байх хандлагатай байдаг болохоор + тэдгээрийг таван мегабайтаас хэтрэхгүй гэж хязгаарлая. Энгийн + текст файлд харин ямар ч хязгаарлалт өгөхгүй байя:</para> + + <programlisting># +# /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:</programlisting> + + <para>Зөвхөн дотоод хэрэглэгчдэд ийм хязгаарлалт хэрэгжих болно гэдгийг + дахин сануулъя. Хэрэв та алсад буй хэвлэгчид ийм хязгаарлалт + хийвэл алсаас хандагдаж буй хэрэглэгчдэд энэ хязгаарлалт хүчингүй. + Үүнийг биелүүлэхийн тулд алсад буй машины <filename>/etc/printcap</filename> + файл дотор <literal>mx</literal> + тохиргоог зааж өгөх ёстой. + <link + linkend="printing-advanced-network-rm">Алсад буй компьютер дээр + холбогдсон хэвлэгчид + </link> хэсгээс алсын хэвлэлт хийх талаар уншаарай. + </para> + + <para>Алсад буй хэвлэгчид хязгаарлалт тавих өөр нэг онцгой арга байдаг. + <link + linkend="printing-advanced-restricting-remote">Алсын хэвлэгч дээр + хэвлэх үйлдлийг хязгаарлах + </link> хэсгээс дэлгэрэнгүй уншина уу.</para> + </sect3> + + <sect3 id="printing-advanced-restricting-remote"> + <title>Алсаас хэвлэгч дээр + хэвлэх үйлдлийг хязгаарлах</title> + + <para><application>LPD</application> нь алсын компьютерээс + илгээгдсэн хэвлэх ажлыг бас хянаж болдог боломж олгодог:</para> + + <variablelist> + <varlistentry> + <term>Компьютерээр нь хязгаарлах</term> + + <listitem> + <para>Дотоод + <application>LPD</application> руу ямар компьютер хандаж болохыг + <filename>/etc/hosts.equiv</filename> болон + <filename>/etc/hosts.lpd</filename> файлд зааж өгснөөр + хянаж болдог. + <application>LPD</application> нь саяны хоёр файлын аль нэгэнд нь + хэвлэлт хүссэн компьютерийн нэр байгаа эсэхийг шалгадаг. + Хэрэв нэр нь байхгүй бол + <application>LPD</application> уг хүсэлтээс татгалздаг. + </para> + + <para>Уг файлын загвар бол тун энгийн. + <filename>/etc/hosts.equiv</filename> файл нь мөн + &man.ruserok.3; протоколд хэрэглэгддэг бөгөөд + &man.rsh.1; болон &man.rcp.1; зэрэг програмд нөлөөлдөг + болохоор тун болгоомжтой хэрэглэхийг сануулж байна.</para> + + <para>Жишээ нь, <hostid>rose</hostid> компьютер дээрх + <filename>/etc/hosts.lpd</filename> файл:</para> + + <programlisting>orchid +violet +madrigal.fishbaum.de</programlisting> + + <para>Энэ нь тэгэхээр <hostid>rose</hostid> компьютер нь + <hostid>orchid</hostid>, <hostid>violet</hostid>, + болон <hostid role="fqdn">madrigal.fishbaum.de</hostid> зэрэг + компьютерээс хэвлэх хүсэлт хүлээж авч болно гэсэн үг. + Хэрэв эдгээрээс өөр компьютерууд <hostid>rose</hostid>-н + <application>LPD</application> руу хандахыг хүсвэл + тэр хүсэлт нь татгалзагдах болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Хэмжээгээр нь хязгаарлах</term> + + <listitem> + <para>Түр хадгалагч санд байрлаж болох файлуудын хэмжээ нь хэд + хүртэл байж болохыг хянаж болдог. + Дотоод хэвлэгчид зориулсан + түр хадгалах сан дотор <filename>minfree</filename> нэртэй + файл үүсгэх хэрэгтэй. Уг файл дотор алсаас ирсэн хэвлэгдэх + ажлын хэмжээ нь хичнээн дискийн багцаар + (512 байт) байж болох дугаарыг бичиж өгдөг. + </para> + + <para>Ингэснээр алсаас хэрэглэх хэрэглэгчид таны дискийг + дүүргэхээс сэргийлнэ. Та энэ файлыг ашигласнаар бас + тодорхой дотоод хэрэглэгчдэд давуу эрхийн дараалал + тогтоож болдог ба + <filename>minfree</filename> файлд зааж өгсөн хэмжээнээс + хэтэрсэн хэмжээгээр нь дараалал тогтоодог.</para> + + <para>Жишээ болгож <filename>minfree</filename> + файлыг <literal>bamboo</literal> хэвлэгчид зориулж нэмж үзье. + Бид <filename>/etc/printcap</filename> файл дээр + дадлага хийх бөгөөд + хэвлэгчид зориулсан түр хадгалагч тохируулсан хэсгийг + нь олж харцгаая. Ингээд <literal>bamboo</literal>-н + оруулгыг харуулъя:</para> + + <programlisting>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:</programlisting> + + <para>Түр хадгалах санг <literal>sd</literal> + тохиргооны хэсэгт зааж өгсөн байна. + Одоо <application>LPD</application>-н алсаас илгээгдсэн + хэвлэгдэх + ажилд зориулж гурван мегабайт хэмжээг + (6144 дискийн багц) зааж өгцгөөе. + :</para> + + <screen>&prompt.root; <userinput>echo 6144 > /var/spool/lpd/bamboo/minfree + </userinput></screen> + </listitem> + </varlistentry> + + <varlistentry> + <term>Хэрэглэгчээр нь хязгаарлах</term> + + <listitem> + <para>Та ямар хэрэглэгч алсаас хэвлэх хүсэлт тавьж болохыг + <filename>/etc/printcap</filename> файл дотор + <literal>rs</literal> тохиргооны хэсэгт зааж өгдөг. + Хэрэв дотоод хэвлэгчийн оруулгын хэсэгт + <literal>rs</literal> гэж харагдвал + <application>LPD</application> нь + алсаас хэвлэх хүсэлт илгээсэн компьютерийн + хэрэглэгч + <emphasis>хэрэв</emphasis> дотоод компьютер дээрх + нэвтрэх эрхтэй ижилхэн нэртэй хэрэглэгч байвал + зөвшөөрөл өгч хэвлүүлнэ. + Бусад тохиолдолд <application>LPD</application> нь + тухай ажлыг хэвлэхээс татгалзана.</para> + + <para>Энэ тохиргоо нь (жишээлбэл) нэг хэвлэгчийг + хувааж хэрэглэдэг олон салбартай байгууллагад ашиглагдаж болох + бөгөөд зарим хэрэглэгчид нь хэд хэдэн салбарт харьяалагддаг + бол уг хэрэглэгчид эрх өгснөөр + өөрийнхөө байгаа салбараас өөр салбарт буй + хэвлэгчид хэвлэх ажил илгээх маягаар ашиглаж болох юм. + Хэрэв та тэдгээр хэрэглэгчдийг <emphasis>зөвхөн</emphasis> + таны хэвлэгчийг л хэрэглэх бөгөөд бусад зүйлсийг ашиглуулахгүй + гэж бодож байгаа бол тэд нарт эхлэл сан байхгүй + бөгөөд <filename>/usr/bin/false</filename> гэсэн хэрэглэгдэхгүй + бүрхүүлтэй + <quote>хязгаарлагдмал</quote> бүртгэл үүсгэх хэрэгтэй. + </para> + </listitem> + </varlistentry> + </variablelist> + </sect3> + </sect2> + + <sect2 id="printing-advanced-acct"> + <title>Хэвлэгчийн хэрэглээнд бүртгэл тооцох</title> + + <indexterm> + <primary>бүртгэл</primary> + <secondary>хэвлэгч</secondary> + </indexterm> + <para>За тэгэхээр та хэвлэлт болгонд мөнгө тооцох шаардлага байг. + Цаас болон хэвлэх хорнуудыг мөнгөөр авдаг болохоор яагаад + болохгүй гэж? + Мөн дээрээс нь хэвлэгчийн эд анги байнга хөдөлж эвдрэх магадлалтай + байдаг болохоор хэвлэгчээ тордох нь бас үнэтэй билээ. + Та хэвлэгчээ арчилж хуудас болгондоо + (эсвэл хуудасны хэсэг бүрд, гарчиг бүрд, эсвэл юу ч байсан яахав) + мөнгө тооцохыг хүсэв. Тэгэхээр та яаж хэвлэгдсэн + хуудас болгонд мөнгө тооцож чадах вэ?</para> + + <para>Гэхдээ, жаахан таагүй мэдээ нь юу вэ гэхээр + <application>LPD</application> түр хадгалагч гуай иймэрхүү талын + үйлчилгээ хийхдээ тун тааруу юм. Иймэрхүү бүртгэл тооцоо нь + хэвлэгчээ хэрхэн ашиглахаас их хамаардаг бөгөөд + хэвлэгдэх загвар, мөн + <emphasis>таны</emphasis> хэвлэгчээсээ мөнгө олборлох + шаардлагаас их шалтгаална.</para> + + <para>Бүртгэл тооцоо хийхийн тулд та хэвлэгчийнхээ + текст шүүлтүүрийг өөрчлөх хэрэгтэй + (энгийн текст ажлаас мөнгө тооцохын тулд) бөгөөд + мөн хувиргагч шүүлтүүрүүдийг бас (мөн бусад файл төрлүүдээс) + өөрчлөх шаардлагатай. Энгийн шүүлтүүр ашиглаад + та бүртгэл тооцоо хийж чадахгүй. <link + linkend="printing-advanced-filter-intro">Шүүлтүүр</link> + хэсгийг харна уу.</para> + + <para>Ерөнхийдөө бүртгэл тооцоо хийж болох хоёр арга бий:</para> + + <itemizedlist> + <listitem> + <para><emphasis>Үечлэн бүртгэл тооцох</emphasis> гэдэг бол + тун амархан бөгөөд байнга хэрэглэгддэг арга. Хэн нэгэн + хэвлэх үед хэрэглэгчийн нэр, компьютерийн нэр, мөн + хэвлэсэн хуудасны дугаар зэргийг бүртгэл файлд хадгалдаг. + Хэвлэгчдээ зориулсан нэгжийнх нь тооцоог та сараар, эсвэл + жилээр, эсвэл өөрийнхөө заасан хугацааагаар хэрэглэгч + бүрийн хувьд тохирсон жагсаалт авч болдог. Ингэж бүртгэл тооцоо + хийгээд уг файлыг цэвэрлэж дараагийн үеэр нь + мөн тооцоо хийхээр бэлтгэнэ.</para> + </listitem> + + <listitem> + <para><emphasis>Цагаар бүртгэж тооцох</emphasis> гэдэг нь + жаахан хэцүү болохоор нэлээн бага хэрэглэгддэг. + Энэ арганд хэрэглэгчдийг хэвлэж эхлэнгүүт тооцоо хийдэг + шүүлтүүр байдаг. Дискийн хэмжээ хязгаарлагчтай ижилхэн + энэ бүртгэл тооцоо нь харьцангуй шулуухан гүйцэтгэгддэг. + Та хэрэглэгчдийн диск хязгаарлалт нь тодорхой хэмжээнээс + хэтрэнгүүт хэрэглэгчдийг тооцоог нь хийлгэж байхаар + тохируулж болно. Гэвч энэ арга нь + хэрэглэгчийн бүртгэл болон тэдгээрийн хязгаарласан хэмжээг + мөрдөхийн тулд зарим өгөгдлийн бааз руу хандах + шаардлагатай байдаг. </para> + </listitem> + </itemizedlist> + + <para>Та шаардагдах шүүлтүүрүүдийг, мөн бүртгэж тооцоо хийх + кодыг нь хангаж чадаж л байвал <application>LPD</application> + түр хадгалагч систем нь өмнө тайлбарласан хоёр аргыг дэмждэг. + Бүртгэж тооцох арганд бас онцгой тал байдаг. + Жишээ нь та үечилж үү эсвэл цагаар тооцох уу гэдгээ сонгож болно. + Та ямар мэдээллийг бүртгэж бичихээ сонгоно: хэрэглэгчийн нэр, + компьютерийн нэр, хэвлэсэн төрөл, хэвлэгдсэн хуудасны + тоо, загвар, хэр удаан хэрэглэсэн гэх мэт. + Та шүүлтүүрүүдийг өөрчилж эдгээр мэдээллийг хадгалдаг болгох хэрэгтэй. + </para> + + <sect3> + <title>Хэвлэлтэнд тооцоо хийх түргэн бөгөөд бохир арга</title> + + <para>FreeBSD нь бүртгэл тооцоо хийхэд хэрэглэгдэх + хоёр үечлэн тооцоо хийдэг програмтай хамт ирдэг. Тэдгээр нь + <command>lpf</command> текст шүүлтүүрүүд бөгөөд <link + linkend="printing-advanced-lpf">lpf: Текст шүүлтүүр</link> + хэсэгт тайлбарлагдсан байгаа. Нөгөөх нь + &man.pac.8; бөгөөд энэ нь хэвлэлтийн бүртгэл тооцоо хийх файлд буй + оруулгуудыг цуглуулдаг програм.</para> + + <para>Шүүлтүүрийн хэсэгт тайлбарласны дагуу (<link + linkend="printing-advanced-filters">Шүүлтүүрүүд</link>), + <application>LPD</application> нь текст болон хувиргагч шүүлтүүрийг + бүртгэл файлтай нь хамт шүүлтүүрийн тушаалын мөрнөөс + эхлүүлдэг. Шүүлтүүр нь ингэж тушаалын мөрнөөс авсан + утгаар хаана бүртгэл файлд оруулах вэ гэдгээ мэддэг. + Энэ файлын нэр нь <filename>/etc/printcap</filename> файл + доторх <literal>af</literal> тохиргоонд заагдсан байдаг + ба хэрэв файлынх нь зам нь яг нарийвчилж заагдаагүй + байгаа бол түр хадгалагчийн сангийн байрлалтай харьцангуй хэлбэрээр + мөн зааж өгч болно.</para> + + <para><application>LPD</application> нь <command>lpf</command>-г + хуудасны өргөн болон өндрийн утгатай нь + (<literal>pw</literal> болон <literal>pl</literal> + тохиргуулаас авч) эхлүүлдэг. <command>lpf</command> нь эдгээр утгыг + ашиглаж хичнээн хуудас хэвлэгдэх вэ гэдгийг тодорхойлдог. + Файлыг хэвлэгч рүү илгээсний дараа бүртгэл тооцооны файлд тооцоо + хийх утга нь оруулагддаг. Энэ оруулга нь дараах маягтай байдаг:</para> + + <programlisting>2.00 rose:andy +3.00 rose:kelly +3.00 orchid:mary +5.00 orchid:mary +2.00 orchid:zhang</programlisting> + + <para>Та болж өгвөл хэвлэгч болгонд тус тусад нь бүртгэл тооцооны + файл хөтлөх хэрэгтэй. Учир нь + <command>lpf</command>-д ямар ч түгжиж зохицуулдаг шинж + чанар байхгүй болохоор хоёр + <command>lpf</command>-ууд нэг файлд хандах тохиолдолд + мөргөлдөөн үүсэж болзошгүй. Тус тусад нь бүртгэл тооцооны + файл хөтлөх амар арга бол <filename>/etc/printcap</filename> дотор + <literal>af=acct</literal> гэсэн тохиргоог оруулах хэрэгтэй. + Дараа нь хэвлэгчид зориулсан түр хадгалах сан бүрд + <filename>acct</filename> гэсэн файл хөтлөгдөх болно.</para> + + <para>Хэрэглэгчдээс хэвлэлтийн төлбөрийг шаардах үедээ + &man.pac.8; програмыг ажиллуулах хэрэгтэй. + Тооцоо хийх хэвлэгчийнхээ түр хадгалах санд оронгуутаа + <literal>pac</literal> гэсэн тушаал ажиллуулахад болно. + Дараа нь доллараар тооцсон дараах маягийн үр дүнг харах болно:</para> + + <screen> Login pages/feet runs price +orchid:kelly 5.00 1 $ 0.10 +orchid:mary 31.00 3 $ 0.62 +orchid:zhang 9.00 1 $ 0.18 +rose:andy 2.00 1 $ 0.04 +rose:kelly 177.00 104 $ 3.54 +rose:mary 87.00 32 $ 1.74 +rose:root 26.00 12 $ 0.52 + +total 337.00 154 $ 6.74</screen> + + <para>&man.pac.8;-тай хамт хавсруулж хэрэглэдэг сонголтуудыг жагсааж харуулъя:</para> + + <variablelist> + <varlistentry> + <term><option>-P<replaceable>хэвлэгч</replaceable></option></term> + + <listitem> + <para>Энэ нь тооцоо бодох <replaceable>хэвлэгч</replaceable>ийг зааж өгнө. + <filename>/etc/printcap</filename> файл доторх + <literal>af</literal> сонголтонд яг нарийвчилсан файлын зам + зааж өгсөн үед л энэ нь хэрэгждэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-c</option></term> + + <listitem> + <para>Хэрэглэгчдийн нэрээр биш үнээр нь эрэмбэлж харуулдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-m</option></term> + + <listitem> + <para>Тооцоо хийх файлаас компьютерийн нэрийг алгасаж харуулдаг. + Ийм үед <hostid>alpha</hostid> компьютер дээрх + <username>smith</username> нэртэй хэрэглэгч <hostid>gamma</hostid> + компьютер дээрх + <username>smith</username> нэртэй хэрэглэгчээс ялгардаггүй. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-p<replaceable>үнэ</replaceable></option></term> + + <listitem> + <para><filename>/etc/printcap</filename> файлд буй + <literal>pc</literal> тохируулгад зааж өгсөн үнийн оронд + нэгж хуудас болгоныг <replaceable>үнэ</replaceable>ээр + үнэлж доллараар тооцдог бөгөөд эсвэл хоёр центээр ( + анхдагч хэмжээ нь) тооцно. Та энэ <replaceable>үнэ</replaceable>-г + бутархай тоон хэлбэрээр бас бичиж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-r</option></term> + + <listitem> + <para>Эрэмбэлэх дарааллыг эсрэгээр үйлдэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-s</option></term> + + <listitem> + <para>Төлбөр тооцооны дүгнэсэн хуудас үүсгэж бүртгэл тооцооны файлыг + богиносгодог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable>хэрэглэгч</replaceable> + <replaceable>…</replaceable></term> + + <listitem> + <para>Зөвхөн зааж өгсөн + <replaceable>хэрэглэгчийн</replaceable> бүртгэл тооцоог харуулна.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>&man.pac.8; боловсруулсан анхдагч тооцоонд + янз бүрийн компьютерээс хэвлэсэн хэрэглэгч бүрд хуудасных нь + дугаарыг харуулдаг. Хэрэв танд компьютерийн нэр харуулах + шаардлага байхгүй (хэрэглэгч янз бүрийн машинаас хэвлэсэн + байж болно) гэж үзвэл <command>pac -m</command> гэсэн тушаалаар + доорх маягаар үр дүнг харах болно:</para> + + <screen> Login pages/feet runs price +andy 2.00 1 $ 0.04 +kelly 182.00 105 $ 3.64 +mary 118.00 35 $ 2.36 +root 26.00 12 $ 0.52 +zhang 9.00 1 $ 0.18 + +total 337.00 154 $ 6.74</screen> + + + <para>Долларын хэмжээг тооцохын тулд + &man.pac.8; нь <filename>/etc/printcap</filename> доторх + <literal>pc</literal> тохиргооны утгыг ашигладаг + (анхдагч утга нь хуудас болгонд 200, эсвэл 2 цент гэж байдаг). + Энэ тохируулгад хуудас бүрд юм уу эсвэл алхам бүрд тооцох центүүдийг + зааж өгдөг. Та энэ утгыг &man.pac.8;-г ажиллуулахдаа + <option>-p</option> гэсэн хавсралт сонголтоор дарж хэрэглэж + болдог. <option>-p</option> сонголтонд хэрэглэх утга нь + центээр биш доллараар байх ёстой. Жишээ нь + + <screen>&prompt.root; <userinput>pac -p1.50</userinput></screen> + + гэснээр хуудас бүр нэг доллар тавин цент болж байна. Та энэ тохиргоог ашиглаж + үнэхээр ашиг олж болох юм шүү.</para> + + <para>Эцэст нь <command>pac -s</command> гэж тушааснаар + дүгнэсэн тооцоог дүнгийн бүртгэл файл уруу хадгалах бөгөөд + энэ файл нь хэвлэгчийн тооцооны файлын нэрийн ард нь <literal>_sum</literal> + гэж залгагдсан нэртэй файл болж хадгалагдана. Дараа нь бүртгэлийн файлыг + богиносгодог. Хэрэв та &man.pac.8;-г дахин ажиллуулбал энэ нь + дүгнэлт файлаас нийт утгыг уншиж аваад ердийн тооцооны файлаас авсан утган дээр + нэмээд ерөнхий нийт нийлбэрийг харуулах болно.</para> + </sect3> + + <sect3> + <title>Хэвлэгдсэн хуудасны тоог яаж тооцох вэ?</title> + + <para>Бүр алсаас бүртгэл хийлтийг зөв хийж гүйцэтгэхийн тулд ажил хэр их + цаас ашигладгийг та тодорхойлж чаддаг байх хэрэгтэй. Энэ нь хэвлэгчийн бүртгэл хийлтийн + үндсэн асуудал юм.</para> + + <para>Цэвэр текст ажлуудын хувьд энэ асуудлыг шийдэх нь тийм ч хэцүү биш юм: + та ажилд хичнээн мөр байгааг тоолж тэр тоогоо таны хэвлэгч нэг хуудсандаа хичнээн мөрийг + дэмждэгтэй харьцуулах хэрэгтэй. Мөрүүдийг давхар хэвлэдэг файл дахь устгах тэмдэгтүүд эсвэл + нэг буюу хэд хэдэн нэмэлт мөрүүд болдог урт логик мөрүүдийг бодолцохоо мартуузай.</para> + + <para>Текст шүүлтүүр <command>lpf</command> (<link + linkend="printing-advanced-lpf">lpf: Текст шүүлтүүр</link> хэсэгт + танилцуулагдсан) нь бүртгэл хийхдээ эдгээр зүйлсийг бодолцдог. Бүртгэл хийх хэрэгтэй + текст шүүлтүүр та бичиж байгаа бол <command>lpf</command>-ийн эх кодыг та + магадгүй үзэхийг хүсэж болох юм.</para> + + <para>Тэгэхээр та бусад файлын хэлбэршилтүүдтэй хэрхэн ажиллах вэ?</para> + + <para>DVI-аас-LaserJet эсвэл DVI-аас-&postscript; руу хийх хөрвүүлэлтийн + хувьд <command>dvilj</command> эсвэл <command>dvips</command> + тушаалаас гарах оношлогооны гаралтыг та өөрийн шүүлтүүрээр оруулж + хичнээн хуудаснууд хөрвүүлэгдсэнийг хайж олж болох юм. Бусад файлын хэлбэршилтүүд + болон хөрвүүлэх програмуудын хувьд та эдгээртэй төстэй зүйлсийг хийж чадах + ёстой.</para> + + <para>Гэхдээ хэвлэгч нь тэдгээр бүх хуудаснуудыг жинхэнэдээ хэвлэхгүй байж + болох сул тал энэ аргуудад ажиглагддаг. Жишээ нь цаас гацах, хор дуусах, эсвэл + дэлбэрсэн хэр нь хэрэглэгчид төлбөр ноогдуулсан хэвээр байж болох зэргийг + дурдаж болох юм.</para> + + <para>Тэгэхээр та юу хийж чадах вэ?</para> + + <para><emphasis>Зөв</emphasis> бүртгэл хийх цорын ганц + <emphasis>найдвартай</emphasis> арга байдаг. Хичнээн цаас ашигладаг болохоо + хэлж чаддаг хэвлэгч аваад цуваа шугамаар юм уу эсвэл сүлжээгээр залгах хэрэгтэй. + Бараг бүх &postscript; хэвлэгчүүд үүнийг дэмждэг. Бусад загварууд + бас ингэж чаддаг (жишээ нь сүлжээнд холбогдсон Imagen laser хэвлэгчүүд). + Хэвлэгчүүдийг ажил бүрийг хэвлэснийхээ дараа хуудасныхаа хэрэглээг + авч <emphasis>зөвхөн</emphasis> тэр утга дээрээ үндэслэн бүртгэлийн мэдээллээ + бүртгүүлдэг болгохын тулд эдгээр хэвлэгчүүдийн хувьд шүүлтүүрүүдийг өөрчлөх хэрэгтэй. + Мөр тоолох эсвэл алдаагүй файл шалгалт шаардлагагүй юм.</para> + + <para>Мэдээж та үргэлж өгөөмөр байж бүх хэвлэлтийг үнэгүй болгож болох юм.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="printing-using"> + <title>Хэвлэгчдийг ашиглах нь</title> + + <indexterm> + <primary>хэвлэгчид</primary> + <secondary>хэрэглээ</secondary> + </indexterm> + <para>Энэ хэсэгт таны FreeBSD дээр тохируулсан хэвлэгчийг хэрхэн хэрэглэх + талаар өгүүлэх болно. Хэрэглэгчийн ашиглаж болох тушаалууд нь:</para> + + <variablelist> + <varlistentry> + <term>&man.lpr.1;</term> + + <listitem> + <para>Хэвлэх үйлдлийг гүйцэтгэдэг</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&man.lpq.1;</term> + + <listitem> + <para>Хэвлэгчийн хэвлэх дарааллыг шалгадаг</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>&man.lprm.1;</term> + + <listitem> + <para>Хэвлэгчийн хэвлэх дарааллаас устгадаг</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Энд мөн удирдаж зохицуулах тушаалууд байдаг. Тэр нь +<link linkend="printing-lpc">Хэвлэгчдийг зохицуулах</link> + хэсэгт өгүүлсэн &man.lpc.8; тушаал юм.</para> + + <para> &man.lpr.1;, &man.lprm.1;, мөн &man.lpq.1; гэсэн эдгээр тушаалууд + нь бүгдээрээ <option>-P + <replaceable>хэвлэгчийн-нэр</replaceable></option> гэсэн сонголт + авдаг бөгөөд үүгээрээ <filename>/etc/printcap</filename> файлд + буй хэвлэгч/дараалалтай ажилладаг. Энэ нь хэвлэгчийн ажлыг + нэмэх, устгах эсвэл хэвлэгдэж байгаа ажлыг шалгах зэрэгт хэрэглэгддэг. + Хэрэв та <option>-P</option> сонголт хэрэглэдэггүй бол + <envar>PRINTER</envar> гэсэн орчны хувьсагчийн утгыг энэ тушаал + хэрэглэдэг. Эцэст нь хэрэв танд <envar>PRINTER</envar> + орчны хувьсагч зарлагдаагүй бол <literal>lp</literal> + нэртэй хэвлэгчийг анхдагч хэвлэгч гэж ханддаг.</para> + + <para>Энд <emphasis>анхдагч хэвлэгч</emphasis> гэдэг нь + <envar>PRINTER</envar> орчны хувьсагч дотор буй хэвлэгч юмуу + эсвэл уг орчны хувьсагчид хэвлэгч заагдаагүй байвал + <literal>lp</literal> гэсэн нэртэй хэвлэгч байна гэж авч үзэхийг + хэлж байгаа юм.</para> + + <sect2 id="printing-lpr"> + <title>Хэвлэх ажиллагаа</title> + + <para>Файлыг хэвлэхийн тулд:</para> + + <screen>&prompt.user; <userinput>lpr <replaceable>файлын-нэр</replaceable> <replaceable>...</replaceable></userinput></screen> + + <indexterm><primary>хэвлэх нь</primary></indexterm> + <para>Энэ нь жагсааж өгсөн файлуудыг + анхдагч хэвлэгч рүү илгээж хэвлэдэг. Хэрэв та ямар ч файл зааж + өгөөгүй бол &man.lpr.1; нь гарнаас оруулах утгуудыг + хэвлэгч рүү илгээдэг. Жишээ нь дараах тушаал нь + системийн чухал файлуудыг хэвлэнэ:</para> + + <screen>&prompt.user; <userinput>lpr /etc/host.conf /etc/hosts.equiv</userinput></screen> + + <para>Хэвлэгчийг онцгойлж сонгохыг хүсвэл :</para> + + <screen>&prompt.user; <userinput>lpr -P <replaceable>хэвлэгчийн-нэр</replaceable> <replaceable>файлын-нэр</replaceable> <replaceable>...</replaceable></userinput></screen> + + <para>Дараах жишээн дээр тухайн байгаа сангийн файлуудыг + жагсааж <literal>rattan</literal> нэртэй + хэвлэгч рүү илгээхийх харуулах болно:</para> + + <screen>&prompt.user; <userinput>ls -l | lpr -P rattan</userinput></screen> + + <para>Ямар ч файлын жагсаалт өгөөгүй болохоор + &man.lpr.1; тушаал нь <command>ls + -l</command> тушаалын гаралтыг өөрийнхөө оруулга гэж авч үзсэн байна.</para> + + <para>&man.lpr.1; тушаал нь файл хувиргалт хийх, + олон хуулбарлаж хэвлэх гэх мэтчилэн маш олон төрлийн сонголт + хүлээн авч хэвлэх үйлдлийнхээ загварыг өөрчилж чаддаг. + <link + linkend="printing-lpr-options">Хэвлэх сонголтууд</link> + хэсгээс нэмэлт мэдээллүүдийг уншина уу.</para> + </sect2> + + <sect2 id="printing-lpq"> + <title>Хэвлэж буй ажлыг шалгах</title> + + <indexterm><primary>хэвлэх ажиллагаа</primary></indexterm> + <para>&man.lpr.1; тушаалаар хэвлэгдэх зүйлс +<application>LPD</application> түр хадгалагч дээр очдог бөгөөд + тэдгээрийг ерөнхийд нь <quote>хэвлэгдэх ажил</quote> гэж нэрлэдэг. + Хэвлэгч болгонд хэвлэгдэх ёстой ажлууд жагсаагдсан байдаг бөгөөд + таны хэвлэхийг хүссэн юм тань бусад хэрэглэгчидтэй адилхан + хэвлэгдэх дараалалд ээлжээ хүлээгээд зогсож байдаг. Хэвлэгч нь + ирсэн зүйлсийг хэн-түрүүлж-ирнэ түүнийг-түрүүлж-хэвлэнэ гэсэн + зарчим баримталж хэвлэдэг. </para> + + <para>Анхдагч хэвлэгчийн дарааллыг харуулахын тулд &man.lpq.1; + тушаалыг бичдэг. Хэрэв хэвлэгчээр нь сонгож харахыг хүсвэл + <option>-P</option> сонголт хэрэглэдэг. Жишээлбэл + + <screen>&prompt.user; <userinput>lpq -P bamboo</userinput></screen> + + гэсэн тушаал нь <literal>bamboo</literal> нэртэй хэвлэгч дээр байгаа + хэвлэх дарааллыг хардаг. Доорхи хэсэгт <command>lpq</command> + тушаалын гаралтыг харуулав:</para> + + <screen>bamboo is ready and printing +Rank Owner Job Files Total Size +active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes +2nd kelly 10 (standard input) 1635 bytes +3rd mary 11 ... 78519 bytes</screen> + + <para>Энэ нь <literal>bamboo</literal> хэвлэгчид гурван файл + жагсаагдан ээлжээ хүлээж байгааг харуулсан байна. + Эхний ээлжит ажлыг kelly хэрэглэгч илгээсэн бөгөөд + <quote>хэвлэх дугаар нь</quote> 9 байна. + Хэвлэх ажил болгон давтагдаагүй өөрийн гэсэн дугаар авдаг. + Та хэвлэх дарааллын энэ дугаарыг хэрэгсэхгүй байж болох ч гэсэн + хэрэв хэвлэх ажлыг цуцлах хэрэг гарвал уг дугаарыг мэдэж байх нь + танд хэрэгтэй билээ. Энэ талаар <link + linkend="printing-lprm">Хэвлэх ажлыг устгах</link> хэсгээс + харна уу.</para> + + <para>Ес гэсэн дугаартай хэвлэх ажил нь хоёр ширхэг файлаас + бүтсэн байна. + &man.lpr.1; тушаалд хэрэв олон файл өгсөн бол тэдгээрийг нэг ажилд + тооцдог. Энэ ажил нь одоогийн идэвхитэй ажил (<quote>Rank</quote> + нэртэй баганад <literal>active</literal> гэж бичсэн байгааг + анхаарна уу) бөгөөд хэвлэгч яг одоо түүнийг хэвлэж байна гэсэн үг. + Хоёр дахь ажил нь стандарт оруулгаас &man.lpr.1; тушаал уруу + илгээгдсэн ажил байна. Гурав дахь ажил нь <username>mary</username> + хэрэглэгчээс илгээгдсэн бөгөөд нэлээн их хэмжээнийх юм байна. Файлын + нэрийн урт нь их байгаа учраас &man.lpq.1; нь түүнийг + гурван цэгээр товчилж харуулсан байна.</para> + + <para>&man.lpq.1; тушаалын гаралтын хамгийн эхний мөр бас чухал + утга илэрхийлдэг нь: + хэвлэгч яг одоо юу хийж байгааг ( ядаж хэвлэгчийн юу хийж байгааг + <application>LPD</application> нөхөр бодож байгааг) харуулдаг.</para> + + <para> &man.lpq.1; тушаал нь мөн <option>-l</option> сонголтыг дэмждэг + бөгөөд энэ нь уртгасан жагсаалтыг харуулдаг юм. Доор + <command>lpq -l</command> тушаалын гаралтыг харуулав:</para> + + <screen>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</screen> + </sect2> + + <sect2 id="printing-lprm"> + <title>Хэвлэх ажлыг устгах</title> + + <para>Хэрэв та хэвлэе гэсэн бодлоо өөрчилбөл &man.lprm.1; тушаалаар + хэвлэгдэх ажлыг устгаж болно. Мөн та + &man.lprm.1; тушаалаар хэвлэгдэж байгаа ажлыг бас устгаж болдог боловч + зарим хэсэг нь хэвлэгдэж магадгүй юм.</para> + + <para>Анхдагч хэвлэгчээс ажил устгахын тулд эхлээд + &man.lpq.1; тушаал хэрэглэж дарааллынх нь дугаарыг нь мэддэг. + Тэгээд дараа нь:</para> + + <screen>&prompt.user; <userinput>lprm <replaceable>дарааллын-дугаар</replaceable></userinput></screen> + + <para>Хэвлэгдэх ажлыг хэвлэгчийн нэрийг нь онцгойлж хандан + устгахын хүсвэл + <option>-P</option> сонголт хэрэглэнэ. + Дараах тушаал нь <literal>bamboo</literal> нэртэй хэвлэгчээс + 10 дугаартай ажлыг устгана:</para> + + <screen>&prompt.user; <userinput>lprm -P bamboo 10</userinput></screen> + + <para>&man.lprm.1; тушаалын хэд хэдэн товчлол бий:</para> + + <variablelist> + <varlistentry> + <term>lprm -</term> + + <listitem> + <para>Танд хамаатай бүх хэвлэгдэх ажлыг устгадаг (анхдагч хэвлэгчээс).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>lprm <replaceable>хэрэглэгч</replaceable></term> + + <listitem> + <para><replaceable>Хэрэглэгч</replaceable>-д хамаатай бүх + ажлыг устгана (анхдагч хэвлэгчээс). Супер хэрэглэгч мэдээж + бүх хэрэглэгчдийн ажлыг устгаж болох бөгөөд хэрэв та биш бол + зөвхөн өөрийнхөө л ажлыг устгана.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>lprm</term> + + <listitem> + <para>Ямар ч дарааллын дугаар, хэрэглэгчийн нэр, + эсвэл <option>-</option> сонголт зэргийг оруулаагүй + бол танд хамаатай яг одоо хэвлэгч дээр идэвхитэй байгаа + ажлыг &man.lprm.1; устгадаг. Супер хэрэглэгч бол + яг одоо идэвхитэй байгаа хэний ч дараалал байсан гэсэн устгана.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Дээрх товчлолуудыг <option>-P</option> сонголт ашиглан хэвлэгчийн + нэр зааж өгөн ямар нэгэн хэвлэгч рүү онцгойлон хандаж болдог. + Жишээлбэл дараах тушаал нь <literal>rattan</literal> хэвлэгчээс + тухайн хэрэглэгчийн бүх дарааллыг устгана:</para> + + <screen>&prompt.user; <userinput>lprm -P rattan -</userinput></screen> + + <note> + <para>Хэрэв та сүлжээний орчинд ажиллаж байгаа бол + &man.lprm.1; тушаал нь өөр ижил нэртэй хэвлэгч + өөр машинд залгаатай байсан ч зөвхөн илгээсэн компьютерийн л дарааллыг + устгахад зөвшөөрдөг. Доорх жишээнд үүнийг тодруулав:</para> + + <screen>&prompt.user; <userinput>lpr -P rattan myfile</userinput> +&prompt.user; <userinput>rlogin orchid</userinput> +&prompt.user; <userinput>lpq -P rattan</userinput> +Rank Owner Job Files Total Size +active seeyan 12 ... 49123 bytes +2nd kelly 13 myfile 12 bytes +&prompt.user; <userinput>lprm -P rattan 13</userinput> +rose: Permission denied +&prompt.user; <userinput>logout</userinput> +&prompt.user; <userinput>lprm -P rattan 13</userinput> +dfA013rose dequeued +cfA013rose dequeued + </screen> + </note> + </sect2> + + <sect2 id="printing-lpr-options"> + <title>Энгийн текстээс өөр зүйлс хэвлэх нь: Хэвлэх сонголтууд</title> + + <para>&man.lpr.1; тушаал нь текст загварчлах, зураг файлыг + өөр хэлбэрт хувиргах, олон хуулбар хийх, хэвлэгдэж байгаа + файлууд уруу хандах гэх мэтчилэн маш олон сонголттой. Энэ + хэсэгт тэр тухай зааварлах болно.</para> + + <sect3 id="printing-lpr-options-format"> + <title>Хэлбэршүүлэх болон хувиргах сонголтууд</title> + + <para>Дараах &man.lpr.1;-н сонголтууд нь хэвлэгдэх ажлын + хэлбэршүүлэлтийг хянадаг. Эдгээр сонголтуудыг хэрэв таны + хэвлэх зүйлс тань энгийн текст хэлбэртэй биш юмуу эсвэл + текстээ &man.pr.1; хэрэгсэл ашиглан өөрчилж хэвлэх үед + хэрэглэнэ.</para> + + <indexterm><primary>&tex;</primary></indexterm> + <para>Жишээлбэл дараах тушаал нь <filename>fish-report.dvi</filename> + нэртэй DVI төрлий файлыг (&tex; төрлийн бичилтийн системийн ) <literal>bamboo</literal> хэвлэгч рүү явуулна:</para> + + <screen>&prompt.user; <userinput>lpr -P bamboo -d fish-report.dvi</userinput></screen> + + <para>Энэ сонголт нь хэвлэгдэх гэж буй бүх файлд хэрэгждэг болохоор + жишээ нь та DVI болон ditroff файлуудыг хамт хэвлэгч рүү илгээж + болохгүй. Түүний оронд файлуудыг тусад нь тусдаа сонголттой илгээх + хэрэгтэй.</para> + + <note> + <para><option>-p</option> болон + <option>-T</option> сонголтуудаас бусад бүх сонголтуудад + хэвлэгч дээр суугдсан хөрвүүлж хувиргадаг шүүгч ажиллагаа + шаардагддаг. Жишээ нь <option>-d</option> сонголт DVI + хөрвүүлж хувиргадаг шүүлт шаарддаг. <link + linkend="printing-advanced-convfilters">Хувиргагч шүүлтүүрүүд</link> + хэсэгт тодорхой өгүүлсэн буй.</para> + </note> + + <variablelist> + <varlistentry> + <term><option>-c</option></term> + + <listitem> + <para>cifplot файлуудыг хэвлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-d</option></term> + + <listitem> + <para>DVI файлуудыг хэвлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-f</option></term> + + <listitem> + <para>FORTRAN текст файлуудыг хэвлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-g</option></term> + + <listitem> + <para>plot төрлийн зураг график файлуудыг хэвлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-i <replaceable>тоо</replaceable></option></term> + + <listitem> + <para>Гаралтыг <replaceable>тоо</replaceable>гоор зай авч + хэвлэнэ. Хэрэв та <replaceable>тоо</replaceable> оруулахгүй + тушаавал 8 гэсэн зайгаар хэвлэнэ. Энэ сонголт зөвхөн тодорхой хэдэн + шүүлтүүртэй л ажилладаг.</para> + + <note> + <para><option>-i</option> сонголт болон тоо хоёрын завсар + ямар ч зай байж болохгүй.</para> + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-l</option></term> + + <listitem> + <para>Текст файлд буй зарим хянагч тэмдэгтүүдтэй нь + шууд үсэгчлэн хэвлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-n</option></term> + + <listitem> + <para>ditroff (төхөөрөмж болгоноос хамааралгүй troff) өгөгдлийг + хэвлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-p</term> + + <listitem> + <para>Хэвлэхээсээ өмнө энгийн текстийг &man.pr.1; хэрэгслээр + хэлбэршүүлдэг. Нэмэлт мэдээллийг &man.pr.1; гарын авлагаас + харна уу.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-T <replaceable>гарчиг</replaceable></option></term> + + <listitem> + <para>&man.pr.1; хуудасны толгой хэсэгт файлын нэрийг + байрлуулахын оронд зааж өгсөн <replaceable>Гарчиг</replaceable>-г + хэвлэдэг. Энэ сонголт нь гэхдээ зөвхөн <option>-p</option> + сонголт хэрэглэсэн үед л хэрэгждэг. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-t</option></term> + + <listitem> + <para>troff өгөгдлийг хэвлэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-v</option></term> + + <listitem> + <para>raster өгөгдлийг хэвлэнэ.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Жишээ: Дараах тушаал нь &man.ls.1;-н гарын авлагыг + аятайхан загварчлаад анхдагч хэвлэгчээр хэвлэнэ:</para> + + <screen>&prompt.user; <userinput>zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t</userinput></screen> + + <para>&man.zcat.1; тушаал нь &man.ls.1; гарын авлагын эх + шахсан файлыг нь задлаад GNU troff хэлбэрт оруулдаг + &man.troff.1; тушаал уруу дамжуулна. Уг хэлбэрт оруулсны дараа + &man.lpr.1; руу дамжигдах бөгөөд энэ нь хэвлэх ажлыг + <application>LPD</application> түр хадгалагч уруу илгээдэг. + Бид <option>-t</option> сонголт &man.lpr.1; дээр хэрэглэсэн + болохоор түр хадгалагч хэвлэгдэх үед GNU troff гаралтыг + хэвлэгчийн ойлгох хэлбэрт хувиргаж хэвлэнэ.</para> + </sect3> + + <sect3 id="printing-lpr-options-job-handling"> + <title>Хэвлэлтэнд хандах сонголтууд</title> + + <para>&man.lpr.1; тушаалд өгсөн дараах сонголтууд + <application>LPD</application> дээрх хэвлэгдэх ажлуудад + онцгойлж ханддаг:</para> + + <variablelist> + <varlistentry> + <term>-# <replaceable>хуулбарлах-тоо</replaceable></term> + + <listitem> + <para>Зөвхөн нэг удаа хэвлэгдэх ажлуудыг <replaceable>хуулбарлах-тоо</replaceable>гоор хувилдаг. Систем хянаж зохицуулагч албатай хүн магадгүй + хэвлэгчийн ингэж ахин дахин хуулбарлаж хэвлэхийн оронд + хувилах фото хуулбар үүсгээд түүнийгээ шууд буулгах + сонголт санал танд тавьж болох юм. <link + linkend="printing-advanced-restricting-copies">Олон хуулбарлалтыг + хязгаарлах</link> хэсэгт тодорхой заасан байгаа.</para> + + <para>Доорх жишээн дээр <filename>parser.c</filename> файлыг + гурав, <filename>parser.h</filename> файлыг мөн гурав хувилж + хэвлэв:</para> + + <screen>&prompt.user; <userinput>lpr -#3 parser.c parser.h</userinput></screen> + </listitem> + </varlistentry> + + <varlistentry> + <term>-m</term> + + <listitem> + <para>Хэвлэх ажил дууссаны дараа захиа илгээнэ. + Хэвлэгдэх ажил дууссаны дараа <application>LPD</application> + систем таны бүртгэл рүү захиа явуулдаг. + Захиан дотроо таны хэвлэх ажиллагаа амжилттай болсон эсвэл + алдаа гарсан тухай мэдэгддэг бөгөөд алдаа гарсан байвал + (голдуу) ямар алдаа гарсныг нь бичсэн байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-s</term> + + <listitem> + <para>Түр хадгалагч сан уруу хуулахгүйгээр уг файлуудад + тэмдэгт холбоос үүсгэдэг.</para> + + <para>Хэрэв та том хэмжээний файл хэвлэх гэж байгаа бол + энэ сонголт танд тун хэрэг болно. Ингэснээр түр хадгалагчид + буй дискийн хэмжээг хэмнэдэг ( таны том хэмжээний файл + түр хадгалагчийн хэмжээнээс хэтэрч түүнтэй зэрэгцээ орших + зай уруу илүүдэж гарах аюултай). <application>LPD</application> + мөн хэвлэх файлыг хуулах гэж цаг зарцуулахгүй түргэн байх + болно.</para> + + <para>Нэг сул тал бий: + <application>LPD</application> нь хэвлэгдэх файл уруу + шууд хандаж байгаа болохоор хэвлэгдэж дуусахаас нааш та уг файлыг + засварлаж чадахгүй байх болно.</para> + + <note> + <para>Хэрэв та сүлжээгээр өөр хэвлэгч рүү хэвлэж байгаа бол + <application>LPD</application> нь уг компьютерээс алсад буй + хэвлэгч рүү файлыг хуулдаг болохоор <option>-s</option> сонголт + нь дотоод зайгаа хэмнэхээс биш алсад буй компьютерийн + дискийн зайг хэмнэдэггүй. Гэвч ийм байсан ч хэрэгтэй сонголт билээ. + </para> + </note> + </listitem> + </varlistentry> + + <varlistentry> + <term>-r</term> + + <listitem> + <para>Түр хадгалагч уруу хуулсны дараа юмуу эсвэл + <option>-s</option> сонголт хэрэглэж хэвлэсний дараа уг файлыг + утсгана. Энэ сонголтыг тун болгоомжтой хэрэглэнэ үү!</para> + </listitem> + </varlistentry> + </variablelist> + </sect3> + + <sect3 id="printing-lpr-options-misc"> + <title>Хуудасны толгой хэсгийг загварчлах сонголтууд</title> + + <para>&man.lpr.1; тушаалд хэрэглэсэн эдгээр сонголтууд нь + хуудасны толгой хэсэгт хэвлэгддэг текстийг зааж өгөхөд + хэрэглэгддэг. Хэрэв хуудасны толгой хэсгийг өөр програм + өөрчилнө гэж заасан байвал энэ сонголт хүчингүй болдог. + <link linkend="printing-advanced-header-pages">Хуудасны толгой + хэсэг</link> хэсэгт энэ талаар тодорхой өгүүлсэн байгаа.</para> + + <variablelist> + <varlistentry> + <term>-C <replaceable>текст</replaceable></term> + + <listitem> + <para>Толгой хэсэгт байдаг копмьютерийн нэрийг + зааж өгсөн <replaceable>текст</replaceable>ээр орлуулдаг. + Ердийн үед бол уг хэвлэх ажлыг илгээсэн компьютерийн нэр байдаг. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-J <replaceable>текст</replaceable></term> + + <listitem> + <para>Толгой хэсэгт байдаг хэвлэх ажлын нэрийг зааж өгсөн + <replaceable>текст</replaceable>ээр орлуулдаг. + Ердийн үед ажлын нэр нь хэвлэх файлын нэр байдаг ба + хэрэв та консолийн стандарт оруулга хэрэглэсэн бол + <filename>stdin</filename> гэж байдаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>-h</term> + + <listitem> + <para>Толгой хэсэггүй хэвлэнэ.</para> + + <note> + <para>Хэрэв өөр програмаар толгой хэсэг нь бэлтгэгдсэн бол + энэ сонголт зарим тохиолдолд хүчингүй болдог. <link + linkend="printing-advanced-header-pages">Хуудасны + толгой хэсэг</link> хуудсанд энэ тухай тайлбарласан буй</para> + </note> + </listitem> + </varlistentry> + </variablelist> + </sect3> + </sect2> + + <sect2 id="printing-lpc"> + <title>Хэвлэгчдийг зохицуулах</title> + + <para>Хэвлэгчдийг зохицуулагчийн зүгээс тэдгээрийг суулгаж шалгахад + үүрэгтэй байдаг. &man.lpc.8; тушаал ашиглан хэвлэгчтэйгээ + та олон аргаар харилцаж чадна. &man.lpc.8; тушаал ашиглан</para> + + <itemizedlist> + <listitem> + <para>Хэвлэгчийг эхлүүлэх болон зогсоох</para> + </listitem> + + <listitem> + <para>Хэвлэгдэх дарааллыг хорих болон зөвшөөрөх</para> + </listitem> + + <listitem> + <para>Дараалалд буй хэвлэгдэх ажлын ээлж дарааг өөрчлөх</para> + </listitem> + </itemizedlist> + + <para>Эхлээд жаахан тодруулцгаая: Хэрэв хэвлэгч <emphasis>зогссон</emphasis> + бол дараалалд буй ямар ч ажлыг хэвлэхгүй. Хэрэглэгчид хэвлэх + ажил илгээж болох бөгөөд тийм ажлууд бүгд дараалалд нэмэгдэж + хэвлэгчийг <emphasis>эхлэх</emphasis> хүртэл юмуу эсвэл дарааллыг + цэвэрлэх хүртэл тэнд хадгалагдана.</para> + + <para>Хэрэв дараалал <emphasis>хоригдсон</emphasis> бол ямар ч + хэрэглэгч (<username>root</username> хэрэглэгчээс бусад) + хэвлэгч рүү юм илгээж чадахгүй. Дараалал + <emphasis>зөвшөөрөгдсөн</emphasis> үед л хэвлэх ажил хүлээж авдаг. + Хэвлэгч <emphasis>эхлэх</emphasis> үедээ мөн хоригдсон + дарааллыг хоосортол нь хэвлэнэ.</para> + + <para>&man.lpc.8; тушаалыг хэрэглэхийн тулд та + <username>root</username> эрхтэй байх хэрэгтэй байдаг. Энгийн + хэрэглэгчид бол &man.lpc.8; тушаалыг хэвлэгчийн + төлөв байдал юм уу эсвэл гацсан хэвлэгчийг + эхлүүлэхэд хэрэглэнэ. </para> + + <para>Энд &man.lpc.8; тушаалын нэгтгэсэн жагсаалтыг харуулав. + Ихэнх тушаалуудад онцгойлон хэвлэгч рүү хандахын тулд + <replaceable>хэвлэгчийн-нэр</replaceable> нэмж өгдөг. Хэрэв + та <literal>all</literal> гэж <replaceable>хэвлэгчийн-нэр</replaceable>-н + оронд өгвөл <filename>/etc/printcap</filename> файл жагсаалттай + буй бүх хэвлэгчийг илэрхийлэх болно.</para> + + <variablelist> + <varlistentry> + <term><command>abort + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para>Одоогийн хэвлэж байгаа ажлыг цуцлаад хэвлэгчийг + зогсооно. Хэрэв дараалал хоригдоогүй бол хэрэглэгчид хэвлэх + зүйлс илгээж байж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>clean + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para>Хэвлэгчийн түр хадгалагчид буй хуучин файлуудыг устгана. + <application>LPD</application> уг файлыг ямар нэгэн шалтгааны + улмаас устгаагүй байж болох юм. Энэ нь хэвлэх үед + алдаа гарах, эсвэл зохион байгуулах зарим үйлдэл хийгдэх гэх + мэт янз бүрийн шалтгаан байж болно. Энэ тушаал түр хадгалагч + санд хамаарахгүй файлуудыг шалгаж олоод устгадаг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>disable + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para>Шинээр ирэх ажлуудад дарааллыг хорино. Хэрэв хэвлэгч тухайн үед хэвлэж байвал + дараалалд үлдсэн байгаа зүйлсүүдийг хэвлэдэг. + Супер хэрэглэгч (<username>root</username>) дараалал хоригдсон + байсан ч хэвлэх зүйл илгээдэг.</para> + + <para>Энэ тушаал шинэ хэвлэгчийн суулгац юм уу шүүлтийг шалгахад + их хэрэгтэй. Жишээ нь хэвлэх дарааллыг хориод + <username>root</username> эрхээр хэвлэж туршиж болно. + Бусад хэрэглэгчид дарааллыг <command>идэвхжих</command> хүртэл + дараалал уруу ажил илгээж чадахгүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>down <replaceable>хэвлэгчийн-нэр</replaceable> + <replaceable>мэдээлэл</replaceable></command></term> + + <listitem> + <para>Хэвлэгчийг унтраана. <command>disable</command> тушаалыг + <command>stop</command>-тай хамт хэрэглэсэнтэй ижил. + Хэрэв хэрэглэгч хэвлэгчийн &man.lpq.1; юмуу эсвэл + <command>lpc + status</command> тушаал хэрэглэн төлөв байдлыг + мэдье гэсэн үед уг зааж өгсөн <replaceable>мэдээлэл</replaceable> + харуулагддаг. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>enable + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para>Хэвлэгчийн дарааллыг зөвшөөрдөг. Хэрэглэгч хэвлэгч рүү + юм илгээж болох боловч хэвлэгч эхлэхээс нааш хэвлэгдэхгүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>help + <replaceable>тушаал</replaceable></command></term> + + <listitem> + <para><replaceable>тушаал</replaceable>ын хэрэглэх тусламжийг харуулдаг. Хэрэв <replaceable>тушаал</replaceable> бичилгүйгээр тушаавал боломжтой бүх + тушаалын ерөнхий мэдээллийг харуулна.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>restart + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para>Хэвлэгчийг эхлүүлдэг. Ердийн хэрэглэгчид энэ тушаалыг хэрэв + ямар нэгэн тохиолдлоор <application>LPD</application> гацсан үед + хэвлэгчийг эхлүүлэхэд хэрэглэж болдог боловч <command>stop</command> юмуу + <command>down</command> тушаал хэрэглэн ажиллаж байгаа хэвлэгчийг + зогсоож чаддаггүй. <command>restart</command> тушаал нь + <command>abort</command> тушаалыг + <command>start</command> тушаалтай хэрэглэсэнтэй ижилхэн.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>start + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para>Хэвлэгчийг эхлүүлнэ. Хэвлэгч дараалалд байгаа ажлуудыг + хэвлэж эхэлдэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>stop + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para>Хэвлэгчийг зогсооно. Хэвлэгч яг хэвлэж байсан ажлаа дуусгаад + дараалалд байгаа ажлуудыг хэвлэлгүйгээр зогсоно. Хэвлэгч зогссон + байсан ч хэрэглэгчид хэвлүүлэх ажлаа дараалалд илгээж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>topq <replaceable>хэвлэгчийн-нэр</replaceable> + <replaceable>ажил-юмуу-хэрэглэгчийн-нэр</replaceable></command></term> + + <listitem> + <para> + <replaceable>хэвлэгчийн-нэр</replaceable> нэртэй хэвлэгчийн + дараалалд байгаа ажлуудын хамгийн дээд хэсэгт нь + зааж өгсөн <replaceable>хэрэглэгчийн-нэр</replaceable> хэрэглэгчийн + <replaceable>ажлыг</replaceable> оруулдаг. Энэ тушаалыг + <literal>all</literal> гэж + <replaceable>хэвлэгчийн-нэр</replaceable>-н оронд хэрэглэх боломжгүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><command>up + <replaceable>хэвлэгчийн-нэр</replaceable></command></term> + + <listitem> + <para><command>down</command> тушаалын эсрэгээр + уг хэвлэгчийг шинээр эхлүүлдэг. + <command>start</command> тушаалыг + <command>enable</command>-тай хэрэглэсэнтэй ижилхэн.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>&man.lpc.8; нь дээрх тушаалуудыг тушаал бичих мөрнөөс + хүлээж авдаг. Хэрэв та ямар ч тушаал оруулаагүй бол &man.lpc.8; нь + <command>exit</command> юм уу + <command>quit</command>, эсвэл end-of-file тэмдэгт илгээх хүртэл + гарнаас тушаал оруулж ажиллах харилцах горимд шилждэг.</para> + </sect2> + </sect1> + + <sect1 id="printing-lpd-alternatives"> + <title>Хэвлэгчийн стандарт түр хадгалагчидтай ижил хадгалагчид </title> + + <para>Хэрэв та энэ гарын авлагыг эхнээс нь уншиж байгаа бол FreeBSD-тэй цуг ирдэг + түр хадгалах систем болох <application>LPD</application>-ийн + талаар бүх л мэдэж болох зүйлсийг одоо сурсан байх ёстой. Та үүний олонхи + дутагдалтай талуудыг үнэлж чадах байх. Энэ нь дараах асуултанд хүргэдэг: + <quote>Өөр ямар (FreeBSD-тэй ажилладаг) түр хадгалах системүүд + байдаг вэ?</quote></para> + + <variablelist> + <varlistentry> + <term>LPRng</term> + + <indexterm><primary>LPRng</primary></indexterm> + <listitem> + <para><application>LPRng</application> буюу <quote>LPR: the Next + Generation</quote> гэгддэг дараа үеийн систем нь PLP-ийг дахин + бичсэн хувилбар юм. Патрик Пауэл болон Жастин Мэйсон (PLP-ийн гол арчлагч) + нар нийлэн <application>LPRng</application>-г хийсэн юм. + <application>LPRng</application>-ийн гол сайт бол <ulink + url="http://www.lprng.org/"></ulink> юм.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>CUPS</term> + + <indexterm><primary>CUPS</primary></indexterm> + <listitem> + <para><application>CUPS</application> буюу Common UNIX Printing + System нь &unix; дээр тулгуурласан үйлдлийн системүүдэд зориулсан + зөөгдөж болох хэвлэх давхаргын боломжийг олгодог. Энэ нь + бүх &unix; үйлдвэрлэгчид болон хэрэглэгчдэд зориулж стандарт + хэвлэх шийдлийг дэмжихийн тулд Easy Software Products-аас + хөгжүүлэгдсэн юм.</para> + + <para><application>CUPS</application> нь Internet Printing + Protocol (<acronym>IPP</acronym>) буюу Интернетийн Хэвлэх Протоколыг + ашиглаж хэвлэх ажлууд болон дарааллуудыг удирдах үндсээ болгодог. + Line Printer Daemon (<acronym>LPD</acronym>) буюу Шугамын + Хэвлэгчийн Демон, Server Message Block (<acronym>SMB</acronym>) + буюу Серверийн Мэдэгдлийн Блок, болон AppSocket (JetDirect гэгддэг) + протоколууд нь багасгасан ажиллагаатайгаар бас дэмжигдсэн байдаг. + CUPS нь амьдралд байх &unix; дээрх хэвлэлтийг дэмжихийн тулд + сүлжээний хэвлэгч олох (browsing) болон PostScript Printer Description + (<acronym>PPD</acronym>) буюу PostScript Хэвлэгчийн Тайлбар дээр + суурилсан хэвлэх тохируулгуудыг нэмдэг.</para> + + <para><application>CUPS</application>-ийн гол сайт нь <ulink + url="http://www.cups.org/"></ulink> юм.</para> + </listitem> + </varlistentry> + </variablelist> + </sect1> + + <sect1 id="printing-troubleshooting"> + <title>Алдааг олж засварлах</title> + + <para>&man.lptest.1; програмын тусамжтайгаар энгийн шалгах + үйлдэл хийж дуусахад та зөв хэвлэгдсэн хүссэн үр дүнд биш + харин дараах алдаануудтай тулгарч болзошгүй юм:</para> + + <variablelist> + <varlistentry> + <term>Хэвлэж болж байна, гэхдээ хэсэг хугацааны дараа юмуу эсвэл + анхнаасаа хуудасны тал хэсгийг хэвлээд зогсох.</term> + + <listitem> + <para>Хэвлэгч дээд хэсгийг нь хэвлээд хэсэг хугацааны дараа + юу ч хийхгүй болох. Ийм үед та хэвлэгч дээрх + PRINT REMAINING эсвэл FORM FEED товч дарж үлдсэн хэсгийг нь + хэвлэх эсэхийг харах хэрэгтэй.</para> + + <para>Хэрэв хэвлэгч өөр хэвлэх юм байгаа эсэхийг хүлээгээд байгаа + тийм нөхцөлд орвол хэвлэгч рүү + FORM FEED тэмдгийг илгээснээр (эсвэл ямар нэгэн юм) уг асуудал + шийдэгдэж болох юм. Өөрийнхөө түр хадгалагч дээр орж ирсэн өгөгдлийг + шууд хэвлэдэг хэвлэгчдэд иймэрхүү арга хэрэглэхэд хангалттай билээ. + Хэрэв өмнөх хуудас нь хуудасны тал хүртэл байгаад дараагийн хуудас нь + шинээр хуудаснаас эхлэх байсан болоод дууссан хуудасны тал + хэсгээс хэвлэхгүй байгаад байх нөхцөл үүссэн байж болзошгүйг + шалгахад мөн илүүдэхгүй.</para> + + <para><filename>/usr/local/libexec/if-simple</filename> + бүрхүүлийн скриптэнд оруулсан дараах оруулга нь хэвлэх + үйлдлийн дараа хэвлэгч рүү хуудас дууссан тэмдэгт илгээнэ:</para> + + <programlisting>#!/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</programlisting> + </listitem> + </varlistentry> + + <varlistentry> + <term>Гэхдээ энэ нь <quote>хачирхалтай нөлөө</quote> үүсгэж болох юм.</term> + + <listitem> + <para>Та дараах зүйлсийг хуудсан дээрээ харах болно:</para> + + <programlisting>!"#$%&'()*+,-./01234 + "#$%&'()*+,-./012345 + #$%&'()*+,-./0123456</programlisting> + + <indexterm><primary>MS-DOS</primary></indexterm> + <indexterm><primary>OS/2</primary></indexterm> + <indexterm><primary>ASCII</primary></indexterm> + <para>Энэ нь таныг шинэ мөр илэрхийлдэг тэмдэгт хөрвүүлэгдээгүй + улмаас өнөөх <emphasis>хачирхалтай нөлөөний</emphasis> хохирогч + нь болсон байна гэдгийг илэрхийлж байна. + &unix; төрлийн үйлдлийн системүүд мөр дууссаныг илэрхийлэхийн тулд + ASCII-н 10 гэсэн дугаарыг буюу line feed (LF) гэсэн нэг л + тэмдэгт хэрэглэдэг. Харин &ms-dos;, &os2;, болон бусад үйлдлийн + системүүд ASCII-н 10 <emphasis>ба</emphasis> ASCII-н + 13 (CR буюу шинэ мөр эхлэх) гэсэн хоёр тэмдгийг хамтад нь + хэрэглэдэг. Ихэнх хэвлэгч нар шинэ мөрийг илэрхийлэхдээ + &ms-dos;-н шийдлийг хэрэглэдэг.</para> + + <para>Хэрэв та FreeBSD-с хэвлэхээр бол таны текстүүд + зөвхөн мөр дууссан тэмдэгт л агуулсан байгаа. + Мөр дууссан тэмдэгтийг хэвлэгч хүлээж авангуутаа хуудсаа нэг мөрөөр + дээшлүүлсэн мөртлөө яг тухайн байрлалдаа дараагийн тэмдэгт ирэхийг + хүлээж зогсдог. Энэ үед л шинэ мөр гэсэн тэмдэгт ирж байж хэвлэгчийн + толгой зүүн хэсэг рүүгээ гүйдэг билээ. </para> + + <para>FreeBSD дараах маягаар хэвлэх хэрэгтэй байдаг:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <tbody> + <row> + <entry>Хэвлэгч CR тэмдэг хүлээж авлаа</entry> + <entry>Хэвлэгч CR гэж хэвлэв</entry> + </row> + + <row> + <entry>Хэвлэгч LF тэмдэгт хүлээж авлаа</entry> + <entry>Хэвлэгч CR + LF гэж хэвлэх</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Үүнийг залруулах хэдэн арга бий:</para> + + <itemizedlist> + <listitem> + <para>Хэвлэгчийнхээ тохируулгын цонхыг ашиглан + эдгээр тэмдэгтийг өөрөөр хөрвүүлж ойлгохоор тохируулах. + Иймэрхүү тохиргоо байдаг эсэхийг хэвлэгчийнхээ + гарын авлаганд харах хэрэгтэй.</para> + + <note> + <para>Хэрэв та системээ шинээр ачаалахдаа + давхар суусан өөр үйлдлийн систем рүү орвол + тухайн үйлдлийн системдээ тохируулж CR болон LF + тэмдэгтийн хөрвүүлэх тохиргоог + <emphasis>дахин хийх</emphasis> хэрэг гарч магадгүй юм.</para> + </note> + </listitem> + + <listitem> + <para>FreeBSD-н цуваа холболтын таниулагч програм нь + автоматаар LF тэмдэгтийг CR+LF тэмдэгт рүү хувиргадаг. + Мэдээж энэ нь <emphasis>зөвхөн</emphasis> цуваа холболтоор + холбогдсон хэвлэгч дээр ажиллана. Энэ шинж чанарыг + идэвхижүүлэхийн тулд <literal>ms#</literal> хэрэгслийг + ашиглан <literal>onlcr</literal> горимыг хэвлэгчийн + <filename>/etc/printcap</filename> файл дотор оруулж + өгөх хэрэгтэй.</para> + </listitem> + + <listitem> + <para>Хэвлэгчийн алгасаж болдог + <emphasis>escape code</emphasis> тэмдэгт + илгээж хэвлэгчийг LF тэмдэгт илгээгдсэн гэж ойлгуулж + болох юм. Хэвлэгчийн гарын авлагаас ийм тэмдэгт + дэмждэг эсэхийг харах хэрэгтэй. Хэрэв та тохирох тийм + тэмдэгт олсон бол текст шүүгч програмыг өөрчилж + эхлээд тэр тэмдэгтийг илгээгээд дараа нь + хэвлэх зүйлсийг илгээхээр засах хэрэгтэй. </para> + + <indexterm><primary>PCL</primary></indexterm> + <para>Энд Hewlett-Packard PCL хэвлэгчийн ойлгодог + алгасаж болдог тэмдэгтийн текст шүүгч жишээг татаж үзүүлэв. + Энэ шүүгч нь LF тэмдэгтийг LF ба + CR гэж хөрвүүлээд хэвлэгч рүү + хэвлэх ажлыг илгээж дараа нь мөр дууссан тэмдэгтийг илгээж + хэвлэх ажил дууссаныг мэдэгддэг. + Энэ нь бараг бүх Hewlett Packard хэвлэгчдэд тохирдог.</para> + + <programlisting>#!/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</programlisting> + + <para>Энд <hostid>orchid</hostid> нэртэй компьютерийн + <filename>/etc/printcap</filename> файлын жишээг харуулж байна. + Энд <literal>teak</literal> нэртэй Hewlett Packard + LaserJet 3Si хэвлэгчийг зэрэгцээ холболтоор холбосон байгаа. + Энд өмнө үзүүлсэн скриптийг текст шүүгчээ болгож хэрэглэсэн байгаа:</para> + + <programlisting># +# /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:</programlisting> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Энэ нь мөрүүдийг давхарлан хэвлэж байх.</term> + + <listitem> + <para>Хэвлэгч мөрөө дээшлүүлсэнгүй. + Бүх мөрүүд дээд мөрөнд давхарлагдаж хэвлэгдэв.</para> + + <para>Энэ хүндрэл нь өнөөх хачирхалтай нөлөөний + <quote>эсрэг</quote> нөлөөлөл бөгөөд арай бага тохиолддог. + FreeBSD-н мөрийн төгсгөл илэрхийлсэн LF тэмдэгт нь + CR тэмдэгтээр солигдоод мөрөө шинээр ахиулалгүй хуудасны + эхэнд очиж дахин хэвлэчихсэн байна.</para> + + <para>Хэвлэгчийн тохируулгын цонх ашиглан LF болон CR + тэмдэгтүүдийг дараах маягаар хөрвүүлэхээр тохируулах хэрэгтэй:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Хэвлэгчийн хүлээж авалт</entry> + <entry>Хэвлэгчийн хэвлэлт</entry> + </row> + </thead> + + <tbody> + <row> + <entry>CR</entry> + <entry>CR</entry> + </row> + + <row> + <entry>LF</entry> + <entry>CR + LF</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </listitem> + </varlistentry> + + <varlistentry> + <term>Хэвлэгч тэмдэгт гээх үзэгдэл.</term> + + <listitem> + <para>Хэвлэгч хэвлэх үедээ мөрөнд зарим тэмдэгтүүдийг хэвлэхгүй + болдог. Энэ хүндрэл нь хэвлэгч ажиллахгүй болох эсвэл маш их тэмдэгт + гээж эхлэх зэргээс илүү дор үзэгдэл юм. </para> + + <para>Хүндрэлийн шалтгаан нь цуваа холболтоор компьютерийн илгээсэн + хурдтай хэвлэгчийн хэвлэх хурд таарахгүй байгаагаас үүсдэг + (ийм хүндрэл зэрэгцээ холбосон хэвлэгчдэд тулгардаггүй). + Энэ хүндрэлийг давах хоёр арга бий:</para> + + <itemizedlist> + <listitem> + <para>Хэрэв хэвлэгч нь XON/XOFF гэсэн урсгал зохицуулагчийг + дэмждэг бол <literal>ms#</literal> шинж чанарыг ашиглан + <literal>ixon</literal> горимыг FreeBSD дээр хэрэглэхээр + тааруулах хэрэгтэй. + </listitem> + + <listitem> + <para>Хэрэв хэвлэгч нь carrier урсгал зохицуулагч дэмждэг бол + <literal>ms#</literal> шинж чанарыг ашиглан <literal>crtscts</literal> + горимыг ашиглах хэрэгтэй. + Ийм урсгал зохицуулагчид тааруулж цуваа холболтоо зөв + холбосон эсэхээ магадлах хэрэгтэй.</para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>Хог хэвлэх үзэгдэл.</term> + + <listitem> + <para>Хэвлэгч хүссэн текстийг хэвлэхийн оронд + хог хэвлээд эхлэв. </para> + + <para>Энэ нь цуваа холболт буруу холбогдсоноос үүсдэг үзэгдэл. + Дамжуулах хурдны давтамжийн <literal>br</literal> шинж чанарыг + шалгаад + <literal>ms#</literal> шинж чанараар өгөгдөл тэгшилж + илгээнэ гэх зэрэг + <filename>/etc/printcap</filename> файлд байгаа + тохиргоотой тохирч буй эсэхийг шалгах хэрэгтэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Юу ч болохгүй байх.</term> + + <listitem> + <para>Хэрэв юу ч болохгүй байвал хүндрэл нь хэвлэгчид биш + FreeBSD-д байж болох юм. <filename>/etc/printcap</filename> + файлд бүртгэл файл хэрэглэнэ гэсэн + (<literal>lf</literal>) шинж чанарыг нэмэх хэрэгтэй. + Жишээ нь энд <literal>rattan</literal> оруулганд + <literal>lf</literal> шинж чанар нэмж байна:</para> + + <programlisting>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</programlisting> + + <para>Тэгээд дахиад хэвлэх гээд оролдоод үз. Гарч болзошгүй алдааны мэдэгдэл + байгаа эсэхийг бүртгэлийн файлаас (бидний жишээн дээр + <filename>/var/log/rattan.log</filename>) шалгах хэрэгтэй. + Мэдэгдлүүдээс хамаарч асуудлыг засахыг оролдох хэрэгтэй.</para> + + <para>Хэрэв та <literal>lf</literal> шинж чанар зааж өгөөгүй бол, + <application>LPD</application> нь + <filename>/dev/console</filename> файлыг анхдагч гэж авч үзнэ.</para> + </listitem> + </varlistentry> + </variablelist> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + + diff --git a/mn_MN.UTF-8/books/handbook/security/Makefile b/mn_MN.UTF-8/books/handbook/security/Makefile new file mode 100644 index 0000000000..038768527c --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/security/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= security/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/security/chapter.sgml b/mn_MN.UTF-8/books/handbook/security/chapter.sgml new file mode 100644 index 0000000000..776a96c576 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/security/chapter.sgml @@ -0,0 +1,4783 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.312 + + $FreeBSD$ +--> + +<chapter id="security"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Мэтью</firstname> + <surname>Диллон</surname> + <contrib>Энэ бүлгийн ихэнх хэсгийг security(7) гарын авлагын хуудаснаас авсан бөгөөд + security(7) гарын авлагын хуудсыг бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Dec 2006 --> + </author> + </authorgroup> + </chapterinfo> + + <title>Аюулгүй байдал</title> + <indexterm><primary>аюулгүй байдал</primary></indexterm> + + <sect1 id="security-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>Энэ бүлэг нь системийн аюулгүй байдлын ухагдахуунуудын үндэс, зарим нэг нийтлэг + практикийн сайн аргууд болон &os; дэх зарим нэг дэвшилттэй сэдвүүдийг + танилцуулах болно. Энд дурдагдсан олон сэдвүүдийг бас системийн болон Интернетийн + аюулгүй байдалд хэрэглэж болох юм. Интернет нь хүн бүр таны найрсаг хөрш байхыг + хүсдэг <quote>найзархаг</quote> газар байхаа аль хэдийн болисон. + Өөрийн системийг аюулгүй болгох нь таны өгөгдөл, оюуны өмч, цаг хугацаа зэрэг + олон зүйлсийг хакерууд зэргийн савраас хамгаалахад хойшлуулашгүй чухал юм.</para> + + <para>&os; нь таны систем болон сүлжээний аюулгүй байдал болон бүрэн бүтэн байдлыг + хангаж байдаг хэрэгслүүд болон арга замуудын цуглуулгыг агуулдаг.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>&os;-ийн хувьд системийн аюулгүй байдлын үндсэн ухагдахуунууд.</para> + </listitem> + + <listitem> + <para>&os;-д байдаг <acronym>DES</acronym> болон <acronym>MD5</acronym> + зэрэг төрөл бүрийн нууцлах арга замуудын талаар.</para> + </listitem> + + <listitem> + <para>Нэг удаагийн нууц үгийн нэвтрэлтийг хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para><acronym>TCP</acronym> Wrappers буюу + <acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчдыг <command>inetd</command> тушаалд ашиглан + хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>&os;-ийн 5.0-с өмнөх хувилбарууд дээр <application>KerberosIV</application>-г + хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>&os; дээр <application>Kerberos5</application>-г хэрхэн тохируулах талаар.</para> + </listitem> + + <listitem> + <para>IPsec-г хэрхэн тохируулж &os;/&windows; машинуудын хооронд + <acronym>VPN</acronym> үүсгэх талаар.</para> + </listitem> + + <listitem> + <para>&os;-ийн <acronym>SSH</acronym> шийдэл болох <application>OpenSSH</application>-г + хэрхэн тохируулж ашиглах талаар.</para> + </listitem> + + <listitem> + <para>Файлын системийн <acronym>ACL</acronym>-үүд гэж юу болох, тэдгээрийг + хэрхэн ашиглах талаар.</para> + </listitem> + + <listitem> + <para><application>Portaudit</application> хэрэгслийг хэрхэн ашиглаж + Портын цуглуулгаас суулгагдсан гуравдагч програм хангамжийн багцуудыг аудит хийх талаар.</para> + </listitem> + + <listitem> + <para>&os;-ийн аюулгүй байдлын зөвлөмжүүдийн сонордуулгуудыг хэрхэн хэрэглэх талаар.</para> + </listitem> + + <listitem> + <para>Процессийн Бүртгэл хөтлөх гэж юу болох талаар ойлголттой болж + түүнийг &os; дээр хэрхэн идэвхжүүлэх талаар.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:</para> + + <itemizedlist> + <listitem> + <para>&os; болон Интернетийн үндсэн ухагдахуунуудыг ойлгох.</para> + </listitem> + </itemizedlist> + + <para>Энэ номонд нийтдээ аюулгүй байдлын нэмэлт сэдвүүд хамрагдсан болно. + Жишээ нь Mandatory Access Control буюу + Шаардлагатай Хандалтын Хяналт <xref linkend="mac">-д, + Интернет галт хануудын талаар <xref linkend="firewalls">-д + хэлэлцэгдсэн байгаа.</para> + </sect1> + + <sect1 id="security-intro"> + <title>Танилцуулга</title> + + <para>Аюулгүй байдал нь системийн администратораас эхэлж түүнтэй дуусдаг + үйл ажиллагаа юм. BSD &unix; олон хэрэглэгчийн системүүд нь угаасаа + зарим нэг аюулгүй байдлыг хангаж байдаг боловч тэдгээр хэрэглэгчдийг + <quote>үнэнч</quote> байлгахыг эрмэлздэг аюулгүй байдлын нэмэлт + арга замуудыг бүтээж түүний ажиллагааг хангах ажил нь сисадмины магадгүй + ганц, хамгийн том үүргүүдийн нэг юм. Таныг аюулгүй болгосон зөвхөн тэр + хэмжээгээр машинууд нь аюулгүй байдаг бөгөөд аюулгүй байдлын санаа зовнилууд + нь хүний ая тухтай хялбар байлгах гэсэн хэрэгцээтэй үргэлж тэмцэлдэж байдаг. Ерөнхийдөө + &unix; системүүд нь асар олон тооны зэрэгцээ процессуудыг ажиллуулах + чадвартай бөгөөд эдгээр процессуудын ихэнх нь серверүүд болон ажилладаг + — энэ нь гаднын зүйлс тэдэнтэй холбогдож ярилцах боломжтой + гэсэн үг юм. Өчигдрийн миникомпьютерууд, мэйнфрэймүүдээс өнөөгийн + ширээний компьютерууд болж компьютерууд нь сүлжээнд холбогдож + сүлжээнүүд нь хоорондоо холбогдох тусам аюулгүй байдал нь улам илүү том + асуудал болсоор байна.</para> + + <para>Системийн аюулгүй байдал нь сүйрүүлэхийг оролдсон эсвэл системийг + ашиглагдахааргүй болгох гэсэн, гэхдээ <username>root</username> + бүртгэлийг буулган авах (<quote>root-г эвдэх</quote>) оролдлого + хийдэггүй, халдлагууд зэрэг төрөл бүрийн халдлагуудыг зогсоохтой бас + хамааралтай юм. Аюулгүй байдлын санаа зовнилуудыг хэд хэдэн зэрэглэлд + хувааж болно:</para> + + <orderedlist> + <listitem> + <para>Үйлчилгээг зогсоох халдлагууд.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн бүртгэл буулган авалтууд.</para> + </listitem> + + <listitem> + <para>Хандаж болох серверүүдээр дамжин root-г буулган авах.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн бүртгэлүүдээс дамжин root-г буулган авах.</para> + </listitem> + + <listitem> + <para>Арын хаалга үүсгэлт.</para> + </listitem> + </orderedlist> + + <indexterm> + <primary>DoS халдлагууд</primary> + <see>Үйлчилгээг Зогсоох (DoS)</see> + </indexterm> + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>DoS халдлагууд</secondary> + <see>Үйлчилгээг Зогсоох (DoS)</see> + </indexterm> + <indexterm><primary>Үйлчилгээг Зогсоох (DoS)</primary></indexterm> + + <para>Үйлчилгээг зогсоох халдлага нь машиныг хэрэгцээтэй эх үүсвэрээс нь салгах + үйлдэл юм. Ихэвчлэн DoS халдлагууд нь сүйрүүлэхийг оролдсон эсвэл + машиныг түүн дээрх серверүүд болон сүлжээний стекийг эзэмдэн ашиглах + боломжгүй болгодог балмадаар хүчлэх арга замууд юм. Зарим DoS халдлагууд + нь сүлжээний стек дэх алдаануудыг ашиглан ганц пакетаар машиныг сүйрүүлэхийг + оролддог. Үүнийг зөвхөн алдааны засварыг цөмд хийснээр засах боломжтой. + Систем дээрх хөнөөлтэй нөхцөлд байх тэр серверийн дуудлагыг хязгаарладаг + тохируулгуудыг зөв зааж серверүүд уруу хийсэн халдлагуудыг ихэвчлэн засаж болдог. + Сүлжээний балмадаар хүчлэх халдлагуудын эсрэг арга хэмжээ авахад илүү + төвөгтэй байдаг. Жишээ нь хууран мэхэлсэн пакетын халдлагыг зогсоох + бараг л боломжгүй, таны системийг Интернетээс салгахад хүргэж болох юм. + Энэ нь таны машиныг зогсоож чадахгүй байж болох боловч таны Интернетийн + холболтыг дүүргэж болно.</para> + + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>бүртгэл буулган авалтууд</secondary> + </indexterm> + + <para>Хэрэглэгчийн бүртгэлийг буулган авах халдлага нь DoS халдлагаас илүү их + тохиолддог. Одоо болтол олон сисадминууд стандарт <application>telnetd</application>, + <application>rlogind</application>, <application>rshd</application>, + болон <application>ftpd</application> серверүүдийг өөрсдийн машинууд + дээр ажиллуулсаар байна. Анхдагчаар серверүүд нь шифрлэсэн холболт дээр + ажилладаггүй. Ийм холболт дээр хэрэв та багагүй хэмжээний хэрэглэгчидтэй + бөгөөд тэдгээр хэрэглэгчдээс нэг болон хэд хэд нь алсаас (энэ нь систем уруу нэвтрэн + орох хамгийн нийтлэг тав тухтай арга юм) таны систем уруу нэвтрэн + орж байгаа бол тэдгээр хэрэглэгчийн нууц үг дундаасаа сүлжээгээр шиншлэгдэн алдагдах + боломжтой байдаг. Анхааралтай системийн админ тэр хэрэглэгчийн + алсаас хандсан бүртгэлүүд дээрээс бүр амжилттай болсон нэвтрэлтүүдэд хүртэл сэжигтэй + эхлэл хаягууд байгаа эсэхийг хайн шинжилдэг.</para> + + <para>Халдагч хэрэглэгчийн бүртгэлд хандаж чадсаны дараа <username>root</username>-г + бас эвдэж чадна гэдгийг үргэлж бодож байх хэрэгтэй. Гэхдээ жинхэнэ амьдрал дээр бол + сайн аюулгүй байдлыг хангаж нууцлаг болгосон байнга ажиллагааг нь хянаж байдаг систем дээр + хэрэглэгчийн бүртгэлд хандах нь халдагч заавал ч үгүй <username>root</username> + эрхэд хандаж чадна гэсэн үг биш юм. Энэ ялгааг зөв салгаж ойлгох хэрэгтэй. Учир нь + <username>root</username> уруу хандах боломжгүй халдагч ерөнхийдөө өөрийн + мөрийг баллаж нууж чаддаггүй бөгөөд тухайн хэрэглэгчийн файлуудыг замбараагүйтүүлэх + эсвэл машиныг сүйрүүлэхээс илүүтэйг хийж чаддаггүй. Хэрэглэгчид нь сисадминууд шиг + аюулгүй байдлын арга хэмжээг тэр болгон авдаггүй болохоор хэрэглэгчийн бүртгэлийн + буулган авалт нь маш элбэг байдаг юм.</para> + + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>арын хаалганууд</secondary> + </indexterm> + + <para>Машин дээрх <username>root</username> бүртгэлийг эвдэх боломжит олон + аргууд байдгийг системийн администраторууд санаж байх хэрэгтэй. Халдагч нь + <username>root</username>-н нууц үгийг мэдэж болно. Эсвэл халдагч root + эрхээр ажилладаг серверт алдаа олж сүлжээгээр тэр сервер уруу дамжин орж + <username>root</username>-г эвдэж болно. Эсвэл халдагч нь suid-root + програмд алдаа байгааг мэдэж хэрэглэгчийн бүртгэлийг эвдэн орсныхоо дараа + тэр алдаагаар дамжин <username>root</username>-г эвдэн орж болох юм. + Хэрэв халдагч машин дээрх <username>root</username>-г эвдэх аргаа + олсон бол заавал арын хаалга суулгах шаардлагагүй болж болох юм. + <username>root</username>-н цоорхойнуудын олонхийг тухайн үед аль хэдийн + олоод хаачихсан байдаг бөгөөд энэ үед халдагчид өөрийн мөрөө цэвэрлэхэд ихээхэн + ажиллагаа шаарддаг болохоор ихэнх халдагчид арын хаалга суулгадаг. + Арын хаалга нь систем уруу хандах <username>root</username> хандалтыг + халдагчид амархнаар дахин олж авах боломжийг олгодог боловч энэ нь ухаалаг системийн + администраторт халдлагыг амархнаар илрүүлэх боломжийг бас олгодог юм. + Халдагчийн хамгийн эхлээд эвдэн орсон цоорхойг хааж чаддаггүй болохоор арын хаалга + суулгахыг боломжгүй болгох нь магадгүй таны аюулгүй байдалд ашиггүй байж болох юм.</para> + + <para>Аюулгүй байдлын засварууд нь олон давхраатай <quote>сонгины хальс</quote> + хандлагаар үргэлж шийдэгдэж байх шаардлагатай бөгөөд тэдгээрийг дараах маягаар + зэрэглэж болно:</para> + + <orderedlist> + <listitem> + <para><username>root</username> болон staff бүртгэлүүдийг нууцлаг/аюулгүй болгох.</para> + </listitem> + + <listitem> + <para><username>root</username>–ажилладаг серверүүд + болон suid/sgid хоёртын файлуудыг аюулгүй болгох.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох.</para> + </listitem> + + <listitem> + <para>Нууц үгийн файлыг аюулгүй болгох.</para> + </listitem> + + <listitem> + <para>Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон + файлын системүүдийг аюулгүй болгох.</para> + </listitem> + + <listitem> + <para>Системд хийгдсэн зохисгүй өөрчлөлтүүдийг түргэн илрүүлэх.</para> + </listitem> + + <listitem> + <para>Параной буюу хэт зовнил.</para> + </listitem> + </orderedlist> + + <para>Энэ бүлгийн дараагийн хэсэг нь дээр дурдсан зүйлсүүдийг илүү гүнзгийгээр + авч үзэх болно.</para> + </sect1> + + <sect1 id="securing-freebsd"> + <title>&os;-н аюулгүй байдлыг хангах нь</title> + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>&os;-н аюулгүй байдлыг хангах нь</secondary> + </indexterm> + + <note> + <title>Тушаалыг Протоколтой харьцуулахад (Command vs. Protocol)</title> + <para>Энэ баримтын туршид бид <application>тод</application> текстээр + програмыг <command>monospaced</command> фонтоор тусгай тушаалуудыг + тэмдэглэх болно. Протоколууд ердийн фонт ашиглах болно. Тэмдэглэгээний энэ + ялгаа нь ssh зэргийн хувьд ашигтай, учир нь энэ ssh нь протоколоос гадна + бас тушаал юм.</para> + </note> + + <para>Үүнээс хойшхи хэсгүүд нь түрүүчийн бүлгийн <link linkend="security-intro"> + сүүлийн хэсэг</link>т дурдсан таны &os; системийг аюулгүй болгох аргуудыг + авч үзнэ.</para> + + <sect2 id="securing-root-and-staff"> + <title><username>root</username> бүртгэл болон staff бүртгэлүүдийг + аюулгүй болгох</title> + <indexterm> + <primary><command>su</command></primary> + </indexterm> + + <para>Эхлээд хэрэв та <username>root</username> бүртгэлийг аюулгүй болгоогүй + бол staff бүртгэлүүдийг аюулгүй болгоход санаа зовсны хэрэггүй. Ихэнх системүүд + <username>root</username> бүртгэлд нууц үг өгсөн байдаг. Таны эхний хийх + зүйл бол нууц үг <emphasis>үргэлж</emphasis> эвдэгдэж болно гэдгийг + бодох хэрэгтэй. Энэ нь та нууц үгээ устгах хэрэгтэй гэсэн үг биш юм. Нууц үг нь + машин уруу консол хандалт хийхэд үргэлж хэрэгтэй байдаг. Энэ нь юу гэсэн үг вэ + гэхээр та нууц үгийг консолоос гадна эсвэл болж өгвөл бүр &man.su.1; тушаалтай + ашиглаж болохоор хийх ёсгүй гэсэн үг юм. Жишээ нь + <command>telnet</command> эсвэл <command>rlogin</command>-р хийгдэх + шууд <username>root</username> нэвтрэлтүүдийг хаах pty-уудын тохиргоог insecure + буюу аюултай гэж <filename>/etc/ttys</filename> файлд заасан эсэхийг шалгаарай. + Хэрэв бусад нэвтрэх үйлчилгээнүүд болох <application>sshd</application> + зэргийг ашиглаж байгаа бол шууд <username>root</username> нэвтрэлтүүдийг + бас хаасан эсэхийг шалгаарай. Та үүнийг <filename>/etc/ssh/sshd_config</filename> + файлыг засварлан <literal>PermitRootLogin</literal> тохируулгыг + <literal>NO</literal> болгон зааж өгөөрэй. Хандах арга бүр — + FTP зэрэг үйлчилгээнүүдээр ихэвчлэн эвдлэн ордог болохыг бодолцох хэрэгтэй. + Шууд <username>root</username> нэвтрэлтүүд зөвхөн системийн консолоор хийгдэхэд + зөвшөөрөгдөх ёстой.</para> + <indexterm> + <primary><groupname>wheel</groupname></primary> + </indexterm> + + <para>Мэдээж систем админы хувьд та <username>root</username> + уруу орж чадаж байх ёстой болохоор бид хэдэн цоорхой үлдээдэг. + Гэхдээ эдгээр цоорхойнууд нь нэмэлт нууц үг шалгаж ажилладаг байхаар + бид хийдэг. <username>root</username>-г хандах боломжтой + байлгах нэг арга нь тохирох staff бүртгэлүүдийг <groupname>wheel</groupname> + бүлэгт (<filename>/etc/group</filename> файлд) нэмэх явдал юм. + <groupname>wheel</groupname> бүлэгт оруулсан staff-ийн гишүүдэд + <username>root</username> уруу <command>su</command> хийхийг + зөвшөөрдөг. Та staff-ийн гишүүдийг тэдгээрийн нууц үгийн оруулгад + <groupname>wheel</groupname> бүлэгт оруулан байрлуулж анхнаас нь + <groupname>wheel</groupname> хандалт өгч хэзээ ч болохгүй. + Staff бүртгэлүүдийг <groupname>staff</groupname> бүлэгт + оруулах ёстой бөгөөд тэгээд дараа нь <filename>/etc/group</filename> + файлын <groupname>wheel</groupname> бүлэгт нэмэх ёстой. + Зөвхөн <username>root</username> хандалт заавал шаардлагатай + тийм staff-ийн гишүүдийг <groupname>wheel</groupname> бүлэгт + оруулах ёстой. Kerberos зэрэг жинхэнээ шалгуулж нэвтрэх аргыг ашиглаж + байх тохиолдолд заавал <groupname>wheel</groupname> бүлэгт оруулалгүйгээр + <username>root</username> бүртгэл дэх Kerberos-ийн + <filename>.k5login</filename> файлыг ашиглаж + <username>root</username> уруу &man.ksu.1; хийхийг зөвшөөрөх + бас боломжтой байдаг. Энэ нь магадгүй давуу шийдэл байж болох юм. + Учир нь хэрэв халдагч таны нууц үгийн файлыг олж аван staff бүртгэлийг + эвдлэн орж чадах бол <groupname>wheel</groupname> арга нь + халдагчид <username>root</username>-г эвдэх боломжийг олгосон хэвээр + байдаг юм. <groupname>wheel</groupname> аргатай байх нь огт аргагүй + байхаас илүү боловч энэ нь заавал ч үгүй хамгийн аюулгүй сонголт бас биш + юм.</para> + + <!-- XXX: + This will need updating depending on the outcome of PR bin/71147. + Personally I know what I'd like to see, which puts this in definite + need of a rewrite, but we'll have to wait and see. ceri@ + --> + + <para>Staff бүртгэлүүд болон эцсийн эцэст <username>root</username> хандалтыг + шууд бусаар аюулгүй болгохын тулд өөр нэвтрэх хандалтын аргыг ашиглаж + staff бүртгэлүүдийн шифрлэсэн нууц үгийг <quote>од болгож</quote> + өгдөг. &man.vipw.8; тушаалыг ашиглан шифрлэсэн нууц үг бүрийг ганц + <quote><literal>*</literal></quote> тэмдэгтээр сольж өгч болно. + Энэ тушаал нь <filename>/etc/master.passwd</filename> файл болон + хэрэглэгч/нууц үгийн мэдээллийн баазыг нууц үгээр шалгагдан нэвтрэх нэвтрэлтүүдийг + хаан шинэчлэх болно.</para> + + <para>Иймэрхүү staff бүртгэлийн эрхийг:</para> + + <programlisting>foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting> + + <para>Ийм болгон өөрчлөх хэрэгтэй:</para> + + <programlisting>foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh</programlisting> + + <para>Шифрлэсэн нууц үг <quote><literal>*</literal></quote> + тэмдэгттэй хэзээ ч таарахгүй болохоор энэ өөрчлөлт нь ердийн нэвтрэлтүүдийг + болиулдаг. Ийм болсон staff-ийн гишүүд &man.kerberos.1; эсвэл + нийтийн/хувийн түлхүүр хослолыг ашиглан &man.ssh.1; зэрэг өөрсдийгөө + таниулан нэвтрэх өөр арга хэрэглэх шаардлагатай. Kerberos-той адилыг + ашиглаж байгаа үед ерөнхийдөө Kerberos сервер ажиллаж байгаа машинууд болон + өөрийн ширээний ажлын компьютерийг аюулгүй болгох шаардлагатай. + Нийтийн/хувийн түлхүүр хослолыг ssh-тэй ашиглаж байгаа үед ерөнхийдөө + нэвтрэлтийг <emphasis>эхлүүлж</emphasis> байгаа машиныг (ихэвчлэн + хэрэглэгчийн ажлын компьютер) аюулгүй болгох шаардлагатай. &man.ssh-keygen.1;-р + түлхүүр хослолыг үүсгэх үедээ түлхүүр хослолыг хамгаалан нэмэлт давхарга + хамгаалалт хийж өгч болох юм. Staff бүртгэлүүдийн нууц үгүүдийг + <quote>од болгох</quote> боломж нь бас staff-ийн гишүүд зөвхөн + таны тохируулсан аюулгүй хандалтын аргуудаар дамжин нэвтрэхийг + баталгаажуулдаг. Энэ нь бүх staff-ийн гишүүдэд аюулгүй, шифрлэгдсэн + холболтуудыг тэдгээрийн бүх сессүүдэд хүчээр ашиглуулдаг бөгөөд энэ нь олон + халдагчдын ашиглаж байсан хамааралгүй, аюулгүй биш машинаас сүлжээг + шиншлэх ноцтой цоорхойг хаадаг.</para> + + <para>Арай илүү шууд бус аюулгүй байдлын арга замууд нь бас таныг илүү хязгаарласан + серверээс арай бага хязгаарласан машин уруу нэвтрэн орж байна гэж тооцдог. + Жишээ нь хэрэв таны гол хайрцаг чинь бүх л төрлийн серверүүд ажиллуулж байвал + таны ажлын компьютер чинь ямрыг ч ажиллуулах ёсгүй. Өөрийн компьютерийг + боломжийн аюулгүй болгохын тулд та ерөөсөө сервергүй болтол аль болох цөөн + сервер ажиллуулах хэрэгтэй бөгөөд та нууц үгээр хамгаалагдсан дэлгэц хоослогч + ажиллуулах хэрэгтэй. Мэдээж ажлын компьютер уруу физик хандалт өгвөл + халдагч ямар ч төрлийн аюулгүй байдлыг та хангасан байлаа гэсэн эвдэж + чадна. Энэ нь таны бодох ёстой асуудлын нэг юм. Гэхдээ эвдлэн оролтуудын + олонхи нь алсаас сүлжээгээр дамжин таны ажлын компьютер эсвэл серверүүдэд + физик хандалт байхгүй хүмүүсээс ирдэг гэдгийг та бас л бодолцох хэрэгтэй юм.</para> + <indexterm><primary>KerberosIV</primary></indexterm> + + <para>Kereberos мэтийг ашиглах нь танд staff бүртгэлийн нууц үгийг нэг газар + өөрчлөх эсвэл хаах боломжийг олгох бөгөөд staff-ийн гишүүдийн бүртгэл байж болох + бүх машинууд дээр нэн даруй бас үйлчилдэг. Хэрэв staff-ийн гишүүний бүртгэл + эвдэгдсэн бол түүний нууц үгийг бүх машинууд дээр нэн даруй өөрчлөх тэр боломжийг + дутуу үнэлэх ёсгүй юм. Тусдаа байгаа нууц үгүүдийг N машинууд дээр өөрчлөх нь + зовлонтой байдаг. Мөн та Kerberos-д нууц үг дахин өгөлтийг ноогдуулж болох + бөгөөд Kerberos тасалбарыг хэсэг хугацааны дараа дуусдагаар хийж болохоос + гадна Kerberos систем нь тодорхой хугацааны (жишээ нь сар бүр) дараа + хэрэглэгчийг шинэ нууц үг сонгохыг шаарддагаар бас тохируулж болдог.</para> + </sect2> + + <sect2> + <title>root-ажилладаг серверүүд болон suid/sgid хоёртын файлуудыг аюулгүй болгох</title> + + <indexterm> + <primary><command>ntalk</command></primary> + </indexterm> + <indexterm> + <primary><command>comsat</command></primary> + </indexterm> + <indexterm> + <primary><command>finger</command></primary> + </indexterm> + <indexterm> + <primary>sandboxes</primary> + </indexterm> + <indexterm> + <primary><application>sshd</application></primary> + </indexterm> + <indexterm> + <primary><application>telnetd</application></primary> + </indexterm> + <indexterm> + <primary><application>rshd</application></primary> + </indexterm> + <indexterm> + <primary><application>rlogind</application></primary> + </indexterm> + + <para>Хянамгай сисадмин илүү ч үгүй дутуу ч үгүй зөвхөн өөрийн хэрэгтэй серверүүдийг + ажиллуулдаг. Гуравдагч талын серверүүд ихэвчлэн хамгийн алдаатай байх + хандлагатай гэдгийг санаж байх хэрэгтэй. Жишээ нь + <application>imapd</application> эсвэл + <application>popper</application> серверийн хуучин хувилбарыг + ажиллуулна гэдэг нь универсал <username>root</username> тасалбарыг + бүх дэлхийд өгч байна гэсэн үг юм. Та няхуур шалгаагүй сервер битгий ажиллуул. + Олон серверүүд заавал <username>root</username> эрхээр ажиллах + шаардлагагүй байдаг. Жишээ нь <application>ntalk</application>, + <application>comsat</application>, болон + <application>finger</application> демонуудыг тусгай хэрэглэгчийн + <firstterm>sandboxes буюу хамгаалагдсан хязгаарлагдмал орчинд</firstterm> + ажиллуулах боломжтой байдаг. Хамгаалагдсан хязгаарлагдмал орчин нь + асар их төвгүүдийг давж хийгээгүй л бол төгс биш бөгөөд өмнө дурдсан сонгины + хандлагаар аюулгүй байдалд хандах нь хэвээр байна: хэрэв хэн нэгэн нь + хамгаалагдсан хязгаарлагдмал орчинд ажиллаж байгаа серверт эвдэн орж + чадсан ч гэсэн тэд хамгаалагдсан хязгаарлагдмал орчныг бас эвдэн гарах хэрэг + болно. Аль болох олон давхаргыг халдагч эвдлэх ёстой болох тусам тэдгээрийн + амжилттай болох нь улам багасах болно. Урьд нь root цоорхойнууд нь + системийн үндсэн серверүүдээс авахуулаад бараг л бүх + <username>root</username> ажилладаг сервер дээр олдож байсан. + Хэрэв таны ажиллуулдаг машин уруу хүмүүс зөвхөн <application>sshd</application> + ашиглан нэвтэрдэг бөгөөд <application>telnetd</application>, + <application>rshd</application> эсвэл + <application>rlogind</application> хэзээ ч ашиглан нэвтэрдэггүй + бол эдгээр үйлчилгээнүүдийг хаагаарай!</para> + + <para>Одоо &os; нь <application>ntalkd</application>, + <application>comsat</application>, болон + <application>finger</application> үйлчилгээнүүдийг хамгаалагдсан + хязгаарлагдмал орчинд анхдагчаар ажиллуулдаг. Хамгаалагдсан хязгаарлагдмал + орчинд ажиллуулж болох өөр нэг програм нь &man.named.8; юм. + <filename>/etc/defaults/rc.conf</filename> нь + <application>named</application>-г хамгаалагдсан хязгаарлагдмал + орчинд ажиллуулахад шаардлагатай нэмэлт өгөгдлүүдийг тайлбар хэлбэрээр агуулсан + байдаг. Таны шинэ систем эсвэл байгаа системээ шинэчилж байгаагаас хамааран + тэдгээр хамгаалагдсан хязгаарлагдмал орчинд ашиглагдах тусгай хэрэглэгчийн + бүртгэлүүд суулгагдаагүй байж болох юм. Хянамгай сисадмин судалгаа хийж + серверүүдийг хамгаалагдсан хязгаарлагдмал орчинд аль болох + ажиллуулдаг.</para> + <indexterm> + <primary><application>sendmail</application></primary> + </indexterm> + + <para>Хамгаалагдсан хязгаарлагдмал орчинд ерөнхийдөө ажилладаггүй хэд хэдэн + серверүүд байдаг: <application>sendmail</application>, + <application>popper</application>, + <application>imapd</application>, <application>ftpd</application>, + болон бусад. Эдгээрийн зарим шиг бас өөр серверүүд байдаг боловч + тэдгээрийг суулгах нь таны хүсэж байгаагаас илүү (амархан байх гэсэн асуудал + энд сөхөгдөж байна) их ажиллагаа шаардаж магадгүй юм. Та эдгээр серверүүдийг + магадгүй <username>root</username> эрхээр ажиллуулж тэдгээрт учирч болох + эвдрэн оролтуудыг илрүүлэх өөр арга замуудад найдах хэрэгтэй болж болох юм.</para> + + <para>Системийн өөр нэг том боломжтой <username>root</username> цоорхойнууд + бол системд суусан suid-root болон sgid хоёртын файлууд юм. + <application>rlogin</application> зэрэг эдгээрийн ихэнх нь + <filename>/bin</filename>, <filename>/sbin</filename>, + <filename>/usr/bin</filename>, эсвэл <filename>/usr/sbin</filename> + сангуудад байрладаг. Юу ч 100% аюулгүй байдаггүй боловч системийн анхдагч + suid болон sgid хоёртын файлууд нь боломжийн хэрээр аюулгүй гэж тооцогддог. + Гэсэн хэдий ч эдгээр хоёртын файлуудад <username>root</username> цоорхойнууд + үе үе олддог. <application>xterm</application>-г (энэ нь ихэвчлэн suid + байдаг) эмзэг болгосон <username>root</username> цоорхойнууд 1998 онд + <literal>Xlib</literal>-д олджээ. Харамсхаасаа өмнө аюулгүй байж + байсан нь дээр учраас хянамгай сисадмин зөвхөн staff ажиллуулах ёстойгоор + staff зөвхөн хандаж чадах тусгай бүлэгт зөвшөөрч suid хоёртын файлуудыг + хязгаарладаг бөгөөд хэн ч ашигладаггүй suid хоёртын файлуудыг ажиллуулж болохгүй + болгодог (<command>chmod 000</command>). Дэлгэцгүй серверт ер нь + <application>xterm</application> хоёртын файл хэрэгцээгүй юм. + Sgid хоёртын файлууд нь бас л аюултай юм. Хэрэв халдагч sgid-kmem + хоёртын файлыг эвдэж чадвал тэр <filename>/dev/kmem</filename>-г + уншиж чадах бөгөөд ингэснээр нууц үгтэй дурын бүртгэлийг эвдэн орж + шифрлэсэн нууц үгийн файлыг уншихад хүргэдэг. Бас <literal>kmem</literal> + бүлгийг эвдсэн халдагч secure буюу аюулгүй аргаар дамжин нэвтрэн орсон хэрэглэгчдийн + ашиглаж байгаа pty-уудаар илгээгдсэн гарын товчнуудын даралтуудыг + хянаж чаддаг. <groupname>tty</groupname> бүлгийг эвдсэн халдагч + бараг дурын хэрэглэгчийн tty-д бичиж чадна. Хэрэв хэрэглэгч гар дуурайх боломж бүхий + тэрминал програм эсвэл эмулятор ажиллуулж байгаа бол хэрэглэгчийн тэрминалыг + тушаал буцаан харуулахаар болгодог өгөгдлийн урсгалыг халдагч үүсгэж дараа нь + тэр тушаалыг тэр хэрэглэгчийн эрхээр ажиллуулдаг.</para> + </sect2> + + <sect2 id="secure-users"> + <title>Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох</title> + + <para>Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох нь ихэвчлэн хамгийн хэцүү + байдаг. Та өөрийн staff-д ширүүн хандалтын хязгаарлалтууд оногдуулж + тэдгээрийн нууц үгүүдийг <quote>од болгож</quote> болох боловч + та ердийн хэрэглэгчийн бүртгэлүүдийг яг ингэж хязгаарлаж чадахгүй байж болох + юм. Хэрэв та хангалттай хяналттай байх юм бол таны аз болж хэрэглэгчийн + бүртгэлүүдийг зөвөөр аюулгүй болгож чадна. Хэрэв үгүй бол та тэдгээр + бүртгэлүүдийг хянахдаа ердөө л илүү сонор сэрэмжтэй байх хэрэгтэй. + ssh болон Kerberos-г хэрэглэгчийн бүртгэлүүдэд ашиглах нь + нэмэлт удирдлага болон техникийн дэмжлэг шаардлагатайгаас болоод + илүү асуудалтай байдаг боловч энэ нь шифрлэсэн нууц үгийн файлыг бодох юм + бол маш сайн шийдэл хэвээр байдаг.</para> + </sect2> + + <sect2> + <title>Нууц үгийн файлыг аюулгүй болгох</title> + + <para>Цорын ганц итгэлтэй арга бол аль болох олон нууц үгүүдийг од болгон + тэдгээр бүртгэлүүдэд хандахын тулд ssh эсвэл Kerberos ашигла. + Шифрлэгдсэн нууц үгийн файлыг (<filename>/etc/spwd.db</filename>) + зөвхөн <username>root</username> уншиж чаддаг боловч халдагч + root-бичих хандалт олж авч чадаагүй ч гэсэн тэр файлд унших эрх олж авах + боломжтой байж болох юм.</para> + + <para>Таны аюулгүй байдлын скриптүүд нууц үгийн файлд хийгдсэн өөрчлөлтүүдийг + үргэлж шалгаж тайлагнах шаардлагатай (доорх <link + linkend="security-integrity">Файлын бүрэн бүтэн байдлыг шалгах</link> + хэсгийг үзнэ үү).</para> + </sect2> + + <sect2> + <title>Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон файлын системүүдийг аюулгүй болгох</title> + + <para>Хэрэв халдагч <username>root</username>-г эвдсэн бол тэр юуг ч хийж чадах + боловч зарим ашиг сонирхлууд байдаг. Жишээ нь орчин үеийн ихэнх цөмүүдэд + пакет шиншлэх төхөөрөмжийн драйвер бүтээгдсэн байдаг. &os;-д энэ нь + <devicename>bpf</devicename> төхөөрөмж гэж нэрлэгддэг. Халдагч + ердөө буулган авсан машин дээрээ пакет шиншлэгчийг ажиллуулахыг оролддог. + Та халдагчид энэ боломжийг өгөх хэрэггүй бөгөөд ихэнх системүүдэд + <devicename>bpf</devicename> төхөөрөмжийг эмхэтгэн оруулах + шаардлагагүй юм.</para> + + <indexterm> + <primary><command>sysctl</command></primary> + </indexterm> + <para>Гэхдээ <devicename>bpf</devicename> төхөөрөмжийг хаасан ч гэсэн + та <filename>/dev/mem</filename> болон <filename>/dev/kmem</filename> + файлуудад бас санаа тавих хэрэгтэй. Энэнээс болоод халдагч түүхий (raw) + төхөөрөмжүүдэд бичиж чадсан хэвээр байна. Мөн цөмийн бас нэг боломж болох + модул ачаалагч гэж нэрлэгддэг &man.kldload.8; байдаг. Самбаатай + халдагч KLD модул ашиглаад өөрийн <devicename>bpf</devicename> + төхөөрөмж эсвэл бусад шиншлэх төхөөрөмжийг ажиллаж байгаа цөмд суулгадаг. + Эдгээр асуудлуудаас зайлсхийхийн тулд та цөмийг илүү өндөр аюулгүй байдлын + түвшинд ядаж аюулгүйн түвшин 1-д ажиллуулах хэрэгтэй. Аюулгүй түвшин + <command>sysctl</command> тушаалаар <varname>kern.securelevel</varname> + хувьсагчийн тусламжтай тохируулагдаж болно. Аюулгүйн түвшинг 1 болгосны дараа + түүхий төхөөрөмжүүдэд бичих хандалт хийхийг хориглох бөгөөд <literal>schg</literal> + зэрэг <command>chflags</command> тугууд үйлчлэх болно. Мөн та + чухал эхлүүлэх хоёртын файлууд, сангууд болон скрипт файлууд, ер нь аюулгүйн + түвшин заагдах хүртэл ажиллаж байгаа бүгдэд <literal>schg</literal> туг + байгаа эсэхийг шалгах хэрэгтэй. Энэ нь хэтэрхий болж болох бөгөөд + таныг илүү өндөр аюулгүйн түвшинд ажиллаж байгаа үед системийг шинэчлэхийг + бүр илүү төвөгтэй болгодог юм. Та буулт хийж системийн бүх файл болон санд + <literal>schg</literal> тугийг зааж өгөлгүйгээр системийг өндөр аюулгүйн + түвшинд ажиллуулж болох юм. Өөр нэг боломж нь <filename>/</filename> + болон <filename>/usr</filename> санг ердөө л зөвхөн уншихаар холбох явдал + юм. Хамгаалах зүйлдээ хэт ширүүн байх нь булаан эзлэлтийн бүх чухал илрүүлэлтийг + бас болиулж болохыг санахад илүүдэхгүй.</para> + </sect2> + + <sect2 id="security-integrity"> + <title>Файлын бүрэн бүтэн байдлыг шалгах нь: Хоёртын файлууд, Тохиргооны файлууд, + гэх мэт.</title> + + <para>Тэр мөч ирэхэд, та зөвхөн системийн гол тохиргоо болон хяналтын файлуудаа + ая тухын хүчин зүйл урьтахаас хамаагүй өмнө хамгаалж чадна. + Жишээ нь <command>chflags</command> тушаал ашиглан + <filename>/</filename> болон <filename>/usr</filename> + сангууд дахь ихэнх файлуудад <literal>schg</literal> битийг тохируулах нь + магадгүй үр ашиггүй байж болох бөгөөд учир нь ингэснээр файлуудыг хамгаалахын + хажуугаар бас илрүүлэх цонхыг хаадаг юм. Таны аюулгүй байдлын сонгины + сүүлийн давхарга нь илрүүлэлт бөгөөд энэ нь хамгийн чухал юм. Хэрэв та боломжит + халдагчдыг илрүүлж чадахгүй л бол аюулгүй байдлын бусад үлдсэн асуудлуудын талаар + бодоод ч бараг хэрэггүй юм (эсвэл бүр дэмий юм, аюулгүй байдлыг танд буруу ойлгуулахад + хүргэдэг). Сонгины ажлын хагас нь халдагчийг үйлдэл дээр нь + барихын тулд түүнийг зогсоохын оронд харин удаашруулах явдал юм.</para> + + <para>Халдлагыг илрүүлэх хамгийн сайн арга бол өөрчлөгдсөн, алга болсон, эсвэл + гэнэтийн файлуудыг хайх явдал юм. Өөрчлөгдсөн файлуудыг хайх хамгийн сайн арга + бол тэдгээрийг өөр (ихэвчлэн төвлөрсөн) хязгаарлагдмал хандалттай системээс хайх + явдал юм. Өөрийн аюулгүй байдлын скриптийг нэмэлт аюулгүй байдал хангасан + хязгаарлагдмал хандалттай систем дээр бичих нь тэдгээрийг боломжит халдагчдад + бараг харагдуулдаггүй бөгөөд энэ нь чухал юм. Давуу талыг хамгийн ихээр авахын + тулд ерөнхийдөө хязгаарлагдмал хандалттай хайрцагт бусад машинуудад хандах + тэр ач холбогдолтой хандалтыг өгөх хэрэгтэй. Үүнийг ихэвчлэн бусад машинуудын зөвхөн + унших NFS экспортыг хязгаарлагдмал хандалттай хайрцагт өгөх эсвэл ssh түлхүүр + хослолыг тохируулж хязгаарлагдмал хандалттай хайрцгийг бусад машинууд уруу ssh + хийхийг зөвшөөрөх замаар хийдэг. Өөрийн сүлжээний урсгалыг тооцохгүй юм бол NFS нь + хамгийн харагддаггүй арга юм — энэ нь клиент хайрцаг бүр дэх файлын + системүүдийг монитор хийхийг танд зөвшөөрч бараг л илэрдэггүй. Хэрэв таны + хязгаарлагдмал хандалттай сервер нь клиент хайрцагнууд уруу hub буюу салаалагч эсвэл + чиглүүлэлтийн хэд хэдэн давхаргаар дамжин холбогдсон бол NFS арга нь хэтэрхий + аюултай (сүлжээний хувьд) байж болох бөгөөд ssh-ийг ашиглах нь түүний гаргадаг + аудит мөрийн замуудтай байсан ч гэсэн магадгүй илүү сонголт байж болох юм.</para> + + <para>Монитор хийгдэх клиент систем уруу хандахад хамгийн багаар бодоход унших эрхийг + та хязгаарлагдмал хандалттай хайрцагт өгсний дараа яг мониторыг хийхдээ скрипт бичих + хэрэгтэй. Өгөгдсөн NFS холболтод &man.find.1; болон &man.md5.1; зэрэг + энгийн системийн хэрэгслүүд ашиглан та скриптүүд бичиж болно. Клиент хайрцгийн + файлуудад өдөрт нэг удаа физикээр md5 хийж <filename>/etc</filename> болон + <filename>/usr/local/etc</filename> сангууд дахь хяналтын файлуудыг + бүр илүү давтамжтайгаар шалгаж байх нь зүйтэй юм. Хязгаарлагдмал хандалттай + машины зөв гэж тооцсон md5 мэдээлэлтэй харьцуулахад тарахгүй файлууд олдвол + сисадминд үүнийг очиж шалгахыг хашгиран мэдээлэх ёстой. Аюулгүй байдлын сайн + скрипт нь тохирохгүй suid хоёртын файлууд болон <filename>/</filename> болон + <filename>/usr</filename> зэрэг системийн хуваалтууд дээрх шинээр үүссэн + эсвэл устгагдсан файлуудыг бас шалгадаг.</para> + + <para>NFS биш ssh-ийг ашиглаж байх үед аюулгүй байдлыг скрипт бичих нь бүр илүү хэцүү + байдаг. Та скриптүүдийг харагдуулж ажиллуулахын тулд тэдгээрийг клиент хайрцаг уруу үндсэндээ + <command>scp</command> хийх хэрэгтэй бөгөөд аюулгүй байдлаа бодох юм бол + та тэдгээр скриптүүдийн ашигладаг хоёртын файлуудыг (find гэх зэрэг) бас + <command>scp</command> хийх хэрэгтэй юм. + Клиент хайрцаг дээрх <application>ssh</application> клиент аль хэдийн + эвдэгдсэн байж болох юм. Аюултай холболтоор ажиллаж байгаа бол ssh-г ашиглах нь + шаардлагатай байж болох боловч бас түүнтэй ажиллахад бүр илүү хэцүү байдаг юм.</para> + + <para>Аюулгүй байдлын сайн скрипт нь + <filename>.rhosts</filename>, <filename>.shosts</filename>, + <filename>.ssh/authorized_keys</filename> гэх зэрэг + <literal>MD5</literal> шалгалтын хүрээний гадуур байх хэрэглэгч болон + staff-ийн гишүүдийн хандалтын тохиргооны файлууд дахь өөрчлөлтүүдийг бас + шалгадаг.</para> + + <para>Хэрэв та асар их хэрэглэгчийн дискийн зайтай бол тэдгээр хуваалтууд дээрх + файл бүр дээр ажиллахад хэт удаж болох юм. Энэ тохиолдолд suid хоёртын + файлууд болон төхөөрөмжүүдийг хаах холболтын тугуудыг зааж өгөх нь зүйтэй юм. + <literal>nodev</literal> болон <literal>nosuid</literal> + нь таны хайж байгаа тохируулгууд юм. Энэ давхаргын зорилго нь + эвдлэн оролтын оролдлогуудыг амжилттай эсвэл амжилтгүй болсноос үл хамааран + илрүүлэх явдал учраас ямар ч гэсэн ядаж долоо хоногт нэг удаа та тэдгээр файлуудыг + магадгүй шалгаж байх хэрэгтэй юм.</para> + + <para>Процессийн бүртгэл хийх нь (&man.accton.8;-г үзнэ үү) эвдлэн оролтын + дараах үнэлэх арга замууд болон тусалж болох харьцангуй бага ачаалал бүхий + үйлдлийн системийн боломж юм. Энэ нь эвдлэн орсны дараа файлыг хөндөөгүй хэвээр + гэж үзэн халдагч систем уруу хэрхэн эвдлэн орсныг мөрдөхөд ялангуяа ашигтай + байдаг.</para> + + <para>Эцэст нь аюулгүй байдлын скриптүүд нь бүртгэлийн файлуудыг процесс хийх ёстой + бөгөөд бүртгэлүүд өөрсдөө аль болох аюулгүй байдлаар үүсгэгдэх ёстой бөгөөд + алсын syslog нь их ашигтай байж болох юм. Халдагч өөрийн мөрийг арилгахыг + оролдох бөгөөд эхний эвдлэн оролтын арга болон хугацааг мөрдөхөд сисадмины хувьд + бүртгэлийн файлууд нь маш чухал байдаг юм. Бүртгэлийн файлуудын байнгын бичлэгийг + хадгалах нэг арга нь системийн консолийг сериал порт уруу ажиллуулж консолуудыг + хянаж аюулгүй машин дээр мэдээллийг цуглуулах явдал юм.</para> + </sect2> + + <sect2> + <title>Параной буюу хэт зовнил</title> + + <para>Бага зэргийн хэт зовнил буруудахгүй. Дүрэм болгож тав тухтай байдлыг + алдагдуулдаггүй дурын тооны аюулгүй байдлын боломжуудыг сисадмин нэмж болох бөгөөд + зарим анхаарлыг бодолцон тав тухтай байдалд <emphasis>нөлөөлөх</emphasis> + аюулгүй байдлын боломжуудыг бас нэмж болох юм. Бүр илүү чухал нь аюулгүй + байдлын администратор үүнийг бага зэрэг хольж хэрэглэж болно — хэрэв та энэ + баримтад дурдсан заавруудыг үгчлэн ашиглавал энэ баримтыг уншсан ирээдүйн халдагчид + та өөрийн арга замуудыг заан өгч байна гэсэн үг юм.</para> + </sect2> + + <sect2> + <title>Үйлчилгээг Зогсоох Халдлагууд</title> + <indexterm><primary>Үйлчилгээг Зогсоох (DoS)</primary></indexterm> + + <para>Энэ хэсэг нь Үйлчилгээг Зогсоох халдлагуудыг хамрана. DoS халдлага нь + ихэвчлэн пакетийн халдлага байдаг. Таны сүлжээг дүүргэж байгаа орчин үеийн + хууран мэхэлсэн пакетийн халдлагуудын эсрэг нэг их юм хийж чадахгүй ч гэсэн + халдлагууд таны серверүүдийг унагахгүйн тулд та ерөнхийдөө хохирлыг + хязгаарлаж болно:</para> + + <orderedlist> + <listitem> + <para>Серверийн fork хийлтийг хязгаарлах.</para> + </listitem> + + <listitem> + <para>Springboard буюу бусад халдлагуудыг хязгаарлах (ICMP хариу халдлагууд, ping + цацалт, гэх мэт.).</para> + </listitem> + + <listitem> + <para>Цөмйн чиглүүлэлтийн кэшийг хэт ачаалах.</para> + </listitem> + </orderedlist> + + <para>Нийтлэг DoS халдлагын дүр зураг бол fork хийгдэж байгаа серверт + халдаж түүнээр асар их хүүхэд процесс үүсгүүлж эцсийн эцэст хост системийн + хувьд санах ой, файлын тодорхойлогчууд гэх мэтүүд дуусч зогсоход + хүргэдэг. <application>inetd</application> (&man.inetd.8;-г + үзнэ үү) нь энэ төрлийн халдлагыг хязгаарлах хэд хэдэн тохируулгатай. + Машиныг зогсоохоос хамгаалах боломжтой боловч ерөнхийдөө үйлчилгээг + халдлагад өртүүлэхгүй байх боломжгүйг энд тэмдэглэх нь зүйтэй юм. + <application>inetd</application> гарын авлагын хуудсыг + анхааралтай уншиж <option>-c</option>, <option>-C</option>, + болон <option>-R</option> тохируулгуудад ялангуяа анхаарлаа + хандуулаарай. Хууран мэхэлсэн IP халдлагууд нь + <application>inetd</application> дахь + <option>-C</option> тохируулгыг хуурах учраас ихэвчлэн тохируулгуудын + хослолыг ашиглах шаардлагатай. Зарим дан серверүүд өөрийн + fork хийгдэхийг хязгаарлах параметрүүдтэй байдаг.</para> + + <para><application>Sendmail</application> нь + <option>-OMaxDaemonChildren</option> тохируулгатай байдаг бөгөөд + энэ нь <application>Sendmail</application>-ийг ачаалал хязгаарлах тохируулгатай ажиллуулж ачааллын + хоцрогдол үүсгэснээс хавьгүй илүүтэйгээр ажилладаг. Та + <application>Sendmail</application>-г ажиллуулахдаа + хүссэн ачааллыг даахаар гэхдээ компьютерийг унагахаар их хэмжээний тоогоор + <application>Sendmail</application>-үүдийг ажиллуулах биш түүнээс + багаар <literal>MaxDaemonChildren</literal> параметрийг + хангалттай өндрөөр тавьж өгөх хэрэгтэй. Мөн <application>sendmail</application>-ийг дарааллын + горимоор (<option>-ODeliveryMode=queued</option>) ажиллуулах + болон демоныг (<command>sendmail -bd</command>) дараалалтай + (<command>sendmail -q15m</command>) ажиллуулдгаас тусад нь ажиллуулах нь + чухал юм. Хэрэв та шууд илгээх горимыг хүсэж байгаа бол та дарааллыг + <option>-q1m</option> зэргээр бүр бага интервалаар ажиллуулах боломжтой + боловч <literal>MaxDaemonChildren</literal> тохируулгыг боломжийн + утгаар хоорондоо холбоотой амжилтгүйтлүүдээс <application>sendmail</application>-ийг хамгаалахын + <emphasis>тулд</emphasis> зааж өгсөн эсэхээ шалгаарай.</para> + + <para><application>Syslogd</application>-д шууд халдаж болох учраас аль болох + <option>-s</option> тохируулгыг эсвэл <option>-a</option> тохируулгыг ашиглахыг + танд зөвлөдөг.</para> + + <para>Шууд халдлага хийгдэж болох <application>TCP Wrapper</application>-ийн + буцах identd зэрэг буцан холбогддог үйлчилгээнүүдийн хувьд та маш хянамгай байх + хэрэгтэй. Ийм учраас та <application>TCP Wrapper</application>-ийн + буцах identd боломжийг ерөнхийдөө ашиглах хэрэггүй юм.</para> + + <para>Та өөрийн захын чиглүүлэгчүүд дээрээ дотоод үйлчилгээнүүд уруугаа + гаднаас хандуулахгүй болгож галт ханаар хамгаалах нь зүйтэй юм. + Үүний цаадах санаа нь гаднаас ирж болзошгүй сүлжээ дүүргэх халдлагаас өөрийн LAN-г + хамгаалах явдал бөгөөд сүлжээн дээр тулгуурласан <username>root</username> + эрхийг буулгахаас дотоод үйлчилгээнүүдийг хамгаалах зүйлс тийм их биш юм. + exclusive буюу хамааруулаагүй галт ханыг үргэлж тохируулах хэрэгтэй, өөрөөр хэлбэл + <quote>A, B, C, D болон M-Z портуудаас <emphasis>бусад</emphasis> + бүгдийг галт ханаар хамгаалах хэрэгтэй</quote>. Ингэснээр та + <application>named</application> (хэрэв та бүсийн хувьд анхдагч бол), + <application>ntalkd</application>, + <application>sendmail</application> болон бусад Интернетээс хандах + үйлчилгээнүүд зэрэг зарим нэг тусгай үйлчилгээнүүдийн портуудаас бусад бүх бага + дугаарын портуудыг галт ханаар хамгаалж чадах юм. Хэрэв та галт ханыг өөр + аргаар — inclusive буюу хамааруулсан эсвэл зөвшөөрсөн галт хана маягаар + тохируулахыг оролдвол хэд хэдэн үйлчилгээнүүдийг <quote>хаахаа</quote> + мартаж магадгүй юм, эсвэл та шинэ дотоод үйлчилгээ нэмээд галт ханаа шинэчлэхээ + мартаж болох юм. Та галт хана дээр зөвшөөрсөнтэй адил үйлдлийг нэвтрүүлэхийн + тулд бага дугаарын портуудыг нээлгүйгээр өндөр дугаарын портуудыг онгойлгож + болох юм. Мөн &os; нь динамик холболтод хэрэглэгддэг портуудыг + <command>sysctl</command>-ийн төрөл бүрийн + <varname>net.inet.ip.portrange</varname> хувьсагчуудаар + (<command>sysctl -a | fgrep portrange</command>) + хянах боломжийг танд олгодгийг бас тэмдэглэх нь зүйтэй юм. Энэ нь бас таны + галт ханын тохиргооны төвөгтэй байдлыг амарчилдаг юм. Жишээ нь + та ердийн 4000-аас 5000 хүртэлх портууд болон 49152-оос 65535 хүртэлх + өндөр дугаарын портуудыг ашигладаг бол 4000-аас доошхи бүгдийг + өөрийн галт хана дээр хаах хэрэгтэй (мэдээж Интернетээс ханддаг хэдэн тусгай портуудаас + бусад).</para> + + <para>Өөр нийтлэг DoS халдлагуудын нэг нь springboard халдлага юм + — сервер, дотоод сүлжээ эсвэл бусад машиныг хариу үйлдэл хийхийг нь + ихэсгэж хэт ачаалахад хүргэдэг халдлага юм. Ийм маягийн хамгийн нийтлэг + халдлага нь <emphasis>ICMP ping broadcast буюу цацалт</emphasis> + юм. Халдагч таны LAN-ий цацах хаяг уруу илгээсэн ping пакетийнхаа + эхлэл IP хаягыг халдахыг хүсэж байгаа машиныхаа IP хаягаар сольж хуурдаг. + Хэрэв таны захын чиглүүлэгчүүд цацах хаяг уруу илгээх ping пакетуудыг + зогсоохоор тохируулагдаагүй бол таны LAN хангалттай хариу үүсгэн хууран мэхэлсэн + эхлэл хаяг уруу илгээж, ялангуяа халдагч хэдэн арван цацах хаягууд уруу өөр өөр + хэдэн арван сүлжээнүүдээр дамжин энэ башир аргаа ашигласан үед, хохирогчийг + дүүргэдэг. 120 мегабайтаас илүү хэмжээний цацах халдлага одоогоор + хэмжигдээд байна. Энэ төрлийн хоёр дахь нийтлэг халдлага нь ICMP-ийн алдаа + тайлагнах системийн эсрэг халдлага юм. ICMP алдааны мэдэгдэл үүсгэдэг + пакетуудыг бүтээж халдагч серверийн орж ирж байгаа сүлжээг дүүргэж ингэснээр + серверийг өөрийн гарах сүлжээг ICMP хариунуудаар дүүргэхэд хүргэдэг. + Энэ төрлийн халдлага нь ялангуяа хэрэв сервер үүсгэж байгаа ICMP хариунуудаа + хангалттай хурднаар шавхан гаргаж чадахгүй байгаа бол серверийг санах ойгүй болгож + сүйрүүлж бас болох юм. <application>sysctl</application>-ийн + <literal>net.inet.icmp.icmplim</literal> хувьсагчийг ашиглан + эдгээр халдлагуудыг хязгаарлах хэрэгтэй. Springboard төрлийн халдлагуудын + сүүлийн гол ангилал нь udp цуурай үйлчилгээ зэрэг зарим дотоод + <application>inetd</application> үйлчилгээнүүдтэй холбоотой юм. + Халдагч UDP пакетыг хууран мэхэлж A болон B сервер нь хоюулаа таны LAN-д байгаа + тийм A серверийн цуурай порт дээрх эхлэл хаягаар болон төгсгөл хаягийг B серверийн + цуурай порт дээрх хаягаар солидог. Уг хоёр сервер дараа нь энэ ганц пакетыг + хоорондоо шидэлцдэг. Эдгээр серверүүд болон тэдгээрийн LAN-г энэ маягаар + халдагч хэдхэн пакетуудыг хатган оруулан хэт ачаалж чаддаг. + Үүнтэй адил асуудлууд дотоод <application>chargen</application> портод + бас байдаг. Чадварлаг сисадмин эдгээр бүх дотоод inetd тест үйлчилгээнүүдийг + хаадаг.</para> + + <para>Хууран мэхэлсэн пакетийн халдлагуудыг цөмийн чиглүүлэлтийн кэшийг хэт ачаалахад + хэрэглэж болдог. <varname>net.inet.ip.rtexpire</varname>, + <varname>rtminexpire</varname>, болон <varname>rtmaxcache</varname> + <command>sysctl</command> параметрүүдийг үзнэ үү. Дурын эхлэл + IP хаягийг ашигласан хууран мэхэлсэн пакетийн халдлага нь чиглүүлэлтийн хүснэгтэд түр зуур + кэш хийгдсэн чиглүүлэлтийг цөмөөр үүсгүүлэхэд хүргэдэг бөгөөд энэ нь + <command>netstat -rna | fgrep W3</command> тушаалаар харагддаг. + Эдгээр чиглүүлэлтүүд нь ихэвчлэн 1600 секунд орчим хугацааны дотор дуусдаг. + Хэрэв цөм кэш хийгдсэн чиглүүлэлтийн хүснэгт хэтэрхий том болсныг илрүүлэх юм бол + <varname>rtexpire</varname> динамикаар багасгадаг боловч + <varname>rtminexpire</varname>-с бага болтол хэзээ ч багасгадаггүй. + Хоёр асуудал байдаг:</para> + + <orderedlist> + <listitem> + <para>Бага ачаалагдсан сервер гэнэт халдлагад өртөхөд цөм хангалттай хурдан + хариу үйлдэл хийдэггүй.</para> + </listitem> + + <listitem> + <para><varname>rtminexpire</varname> хувьсагч нь + үргэлжилсэн халдлагыг цөм дааж чадахаар хангалттай бага байдаггүй.</para> + </listitem> + </orderedlist> + + <para>Хэрэв таны серверүүд Интернетэд T3 эсвэл илүү хурдаар холбогдсон бол + &man.sysctl.8;-оор + <varname>rtexpire</varname> болон <varname>rtminexpire</varname> + хувьсагчуудыг хоюуланг гараар дарж бичихдээ хянамгай байх хэрэгтэй. + Аль ч параметрийг (машиныг сүйрүүлэхийг та хүсээгүй л бол) хэзээ ч битгий + 0 болгоорой. Эдгээр параметрүүдийг хоюуланг нь 2 секунд болгох нь + чиглүүлэлтийн хүснэгтийг халдлагаас хамгаалахад хангалттай байх ёстой.</para> + </sect2> + + <sect2> + <title>Kerberos болон SSH-тэй холбоотой хандалтын асуудлууд</title> + <indexterm><primary><command>ssh</command></primary></indexterm> + <indexterm><primary>KerberosIV</primary></indexterm> + + <para>Хэрэв та Kerberos болон ssh-г хоюуланг ашиглахаар бол цөөн хэдэн асуудлуудыг + дурдах хэрэгтэй. Kerberos 5 нь жинхэнийг шалгах маш сайн нэвтрэлтийн протокол + боловч түүнийг ашигласан <application>telnet</application> болон + <application>rlogin</application>-д байдаг алдаанууд нь энэ хоёр програмыг + хоёртын урсгалтай ажиллахад тохиромжгүй болгодог. Мөн <option>-x</option> + тохируулгыг ашиглахгүй л бол анхдагчаар Kerberos нь сессийг шифрлэдэггүй. + <application>ssh</application> нь бүгдийг шифрлэдэг.</para> + + <para>Ssh нь анхдагчаар шифрлэсэн түлхүүрүүдээ дамжуулдгаас бусад бүх л талаараа зэгсэн + сайн ажилладаг. Энэ нь юу гэсэн үг вэ гэхээр та хэрэв системийн бусад хэсэгт хандах боломж + олгодог түлхүүрүүд бүхий аюулгүй ажлын компьютертай бөгөөд та аюултай машин уруу ssh + хийвэл таны түлхүүрүүд ашиглагдах боломжтой гэсэн үг юм. Яг түлхүүрүүд нь өөрсдөө + ил гардаггүй боловч ssh нь таны нэвтэрсэн хугацааны туршид зориулж дамжуулах порт + суулгадаг бөгөөд хэрэв халдагч аюулгүй машин дээрх <username>root</username>-г + эвдсэн бол тэрхүү портыг таны түлхүүрүүдийг ашиглахын тулд хэрэглэн таны түлхүүрээр + тайлагдах өөр бусад машинуудад хандах боломжийг олж авах боломжтой юм.</para> + + <para>Бид staff нэвтрэлтүүдийн хувьд аль болох ssh-г Kerberos-той цуг ашиглахыг + зөвлөдөг. <application>Ssh</application> нь Kerberos-ийн дэмжлэгтэй + эмхэтгэгдэж болдог. Энэ нь ил гарсан байж болзошгүй ssh түлхүүрүүдэд + найдах таны найдварыг багасгахын хамт нууц үгүүдийг Kerberos-оор хамгаалдаг. + Ssh түлхүүрүүд нь аюулгүй машинуудын автоматчилагдсан ажлуудад (Kerberos-оор + хийхэд таарахгүй) зөвхөн хэрэглэгдэх ёстой. Мөн бид таныг ssh-ийн тохиргоондоо + key-forwarding буюу түлхүүр дамжуулалтыг болиулах эсвэл ssh-ийн + <filename>authorized_keys</filename> файлдаа зөвхөн тусгайлсан + машинуудаас нэвтрэхэд түлхүүрийг ашиглаж болохоор болгож зөвшөөрдөг + <literal>from=IP/DOMAIN</literal> тохируулгыг ашиглахыг зөвлөдөг.</para> + </sect2> + </sect1> + + <sect1 id="crypt"> + <sect1info> + <authorgroup> + <author> + <firstname>Билл</firstname> + <surname>Свингл</surname> + <contrib>Хэсгүүдийг дахин бичиж шинэчилсэн </contrib> + </author> + </authorgroup> + <!-- 21 Mar 2000 --> + </sect1info> + + <title>DES, MD5, болон Crypt</title> + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>crypt</secondary> + </indexterm> + + <indexterm><primary>crypt</primary></indexterm> + <indexterm><primary>DES</primary></indexterm> + <indexterm><primary>MD5</primary></indexterm> + + <para>&unix; систем дээрх хэрэглэгч бүрийн хувьд нууц үг бүртгэлтэй нь холбоотой + байдаг. Мэдээж эдгээр нууц үгүүд нь зөвхөн хэрэглэгч ба үйлдлийн системд + мэдэгдэж байх ёстой. Эдгээр нууц үгүүдийг нууцлаг байлгахын тулд тэдгээрийг + <quote>one-way hash буюу үл буцах хэш</quote> гэгддэг шифрлэхэд амархан + боловч буцааж болдоггүй аргаар шифрлэдэг. Өөрөөр хэлбэл хормын өмнө + мэдээж гэж хэлсэн бидний хэлсэн үг яг жинхэнэдээ үнэн биш юм: үйлдлийн систем + өөрөө нууц үгийг <emphasis>жинхэнэдээ</emphasis> мэддэггүй. + Энэ нь зөвхөн нууц үгийн <emphasis>шифрлэсэн</emphasis> хэлбэрийг + мэддэг. <quote>plain-text буюу ердийн уншигдах текст </quote> + хэлбэрийн нууц үгийг авах цорын ганц арга нь боломжит нууц үгүүдийн орон зайгаас + балмадаар хүчлэн хайх явдал юм.</para> + + <para>Харамсалтай нь &unix; бий болсон тэр үед нууц үгийг аюулгүй аргаар + шифрлэх цорын ганц арга нь DES, Data Encryption Standard буюу + Өгөгдөл Шифрлэх Стандарт дээр үндэслэсэн байлаа. Энэ нь АНУ-д оршин + сууж байсан хэрэглэгчдийн хувьд тийм ч асуудалтай биш байсан юм, гэхдээ + DES-ийн эх код АНУ-аас гадагшаа экспорт хийгдэж болохгүй байсан + учир &os; нь АНУ-ын хуулийг дагахын хажуугаар DES-ийг ашигласан хэвээр + байсан бусад бүх &unix; төрлүүдтэй нийцтэй байх арга замыг хайж олоход + хүрсэн юм.</para> + + <para>Үүний шийдэл нь АНУ-ын хэрэглэгчид DES сангуудыг суулгаж ашиглах боломжтой + мөртлөө олон улсын хэрэглэгчид гадагш экспорт хийгдэж болох шифрлэх аргатай бас + байхаар шифрийн сангуудыг хуваасан явдал байлаа. Ингэж &os; нь + MD5-ийг өөрийн анхдагч шифрлэх аргаа болгон ашиглах болсон юм. MD5 нь + DES-ээс илүү аюулгүй нууцлаг гэгддэг бөгөөд DES-ийг суулгах нь үндсэндээ + нийцтэй байх шалтгаануудын улмаас зориулагдсан юм.</para> + + <sect2> + <title>Өөрийн Crypt арга замыг таних нь</title> + + <para>Одоогоор шифрийн сан DES, MD5 болон Blowfish хэш функцуудыг дэмждэг. + Анхдагчаар &os; нь MD5 ашиглан нууц үгүүдийг шифрлэдэг.</para> + + <para>&os; аль шифрлэх аргыг тохируулж ашиглаж байгааг мэдэх хялбар байдаг. + <filename>/etc/master.passwd</filename> файл дахь шифрлэсэн + нууц үгийг шалгах нь нэг арга юм. MD5 хэшээр шифрлэгдсэн нууц үгүүд нь + DES-р шифрлэгдсэнийгээ бодох юм бол урт бөгөөд <literal>$1$</literal> + тэмдэгтээр бас эхэлдэг. <literal>$2a$</literal> + тэмдэгтээр эхэлсэн нууц үгүүд Blowfish хэш функцээр шифрлэгдсэн байдаг. + DES мөр нь ямар нэг тусгайлан таньж болох шинж тэмдэггүй байдаг боловч + тэд MD5 нууц үгүүдээс богино бөгөөд <literal>$</literal> + тэмдэгт ордоггүй 64 тэмдэгттэй цагаан толгойгоор кодчилогддог, тиймээс + долларын тэмдэгтээр эхлээгүй харьцангуй богино мөр ихэвчлэн DES нууц үг + байдаг.</para> + + <para>Шинэ нууц үгүүдэд ашиглагдах нууц үгийн хэлбэр нь нэвтрэлтийн + <literal>passwd_format</literal> боломжийн тусламжтай + <filename>/etc/login.conf</filename> файлд хянагддаг бөгөөд + энэ хувьсагч нь <literal>des</literal>, <literal>md5</literal> + эсвэл <literal>blf</literal> утгуудыг авдаг. Нэвтрэлтийн + боломжуудын талаар дэлгэрэнгүй мэдээллийг &man.login.conf.5; + гарын авлагын хуудаснаас үзнэ үү.</para> + + </sect2> + </sect1> + + <sect1 id="one-time-passwords"> + <title>Нэг удаагийн нууц үгүүд</title> + <indexterm><primary>нэг удаагийн нууц үгүүд</primary></indexterm> + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>нэг удаагийн нууц үгүүд</secondary> + </indexterm> + + <para>Анхдагчаар &os; OPIE (One-time Passwords + In Everything буюу Бүхэнд зориулсан нэг удаагийн нууц үгүүд) дэмжлэгтэй + байдаг бөгөөд энэ нь MD5 хэшийг анхдагчаар ашигладаг.</para> + + <para>Бид гурван өөр төрлийн нууц үгийг доор хэлэлцэх болно. Эхнийх нь таны ердийн + &unix; загварын эсвэл Kerberos нууц үг юм; бид үүнийг <quote>&unix; нууц үг</quote> + гэж нэрлэх болно. Хоёр дахь төрөл нь OPIE &man.opiekey.1; програмаар + үүсгэгдэж &man.opiepasswd.1; програм болон нэвтрэлт хүлээх мөр хүлээн авах + нэг удаагийн нууц үг юм; бид үүнийг <quote>нэг удаагийн нууц үг</quote> гэх болно. + Сүүлийн төрөл нууц үг бол <command>opiekey</command> програмд + (заримдаа <command>opiepasswd</command> програмууд) өгдөг + нууцлаг нууц үг бөгөөд үүнийг ашиглан дээрх програмууд нэг удаагийн нууц үг + үүсгэдэг; бид үүнийг <quote>нууцлаг нууц үг</quote> гэх буюу эсвэл + зүгээр л шалгагдаагүй <quote>нууц үг</quote> гэх болно.</para> + + <para>Нууцлаг нууц үг нь таны &unix; нууц үгтэй ямар ч холбоогүй юм; тэдгээр нь + адил байж болох боловч ингэхийг зөвлөдөггүй. OPIE нууцлаг нууц үгүүд нь + хуучин &unix; нууц үгүүд шиг 8 тэмдэгтэд хязгаарлагддаггүй + <footnote><para>&os; дээр стандарт нэвтрэх нууц үг уртаараа 128 тэмдэгт + хүртэл байж болдог.</para></footnote> бөгөөд таны хүссэн хэмжээний + урттай байж болдог. Зургаа эсвэл долоон үг бүхий өгүүлбэрээс тогтох нууц үгүүд + нэлээн элбэг байдаг. Ихэнх хэсгийн хувьд OPIE систем &unix;-ийн нууц үгийн + системээс бүр мөсөн ангид ажилладаг.</para> + + <para>Нууц үгээс гадна OPIE-д чухал өгөгдлийн өөр хоёр хэсэг байдаг. Нэг нь + <quote>seed буюу үр</quote> эсвэл <quote>key буюу түлхүүр</quote> гэгддэг + бөгөөд 2 үсэг болон таван тооноос тогтдог. Нөгөөдөх нь <quote>давталтын тоо</quote> + буюу 1-ээс 100 хүртэлх тоо юм. OPIE нэг удаагийн нууц үгийг үр болон нууцлаг + нууц үгийг нийлүүлэн MD5 хэшийг давталтын тоогоор ашиглан үүсгэж үр дүнг нь + зургаан богино Англи үг болгодог. Эдгээр зургаан Англи үг нь таны нэг удаагийн нууц + үг юм. Нэвтрэлт шалгах систем (үндсэндээ PAM) ашигласан хамгийн сүүлийн нэг удаагийн + нууц үгийг хадгалж байдаг бөгөөд хэрэглэгчийн өгсөн нууц үгийн хэш өмнөх нууц үгтэй таарч + байвал хэрэглэгчийг нэвтрүүлдэг. Үл буцах хэш ашиглагддаг болохоор хэрэв + амжилттайгаар ашиглагдсан нууц үгийг олж авсан бол дараа дараагийн нэг удаагийн + нууц үгүүдийг үүсгэх боломжгүй байдаг; хэрэглэгч болон нэвтрэлтийн програмыг хамгийн + сүүлийн хэлбэрт адилхан байлгаж байхын тулд давталтын тоо амжилттай нэвтрэлт хийгдэх бүрийн + дараа багасаж байдаг. Давталтын тоо 1 хүрэх үед OPIE дахин хийгдэх + хэрэгтэй болно.</para> + + <para>Систем болгоны хувьд хэдэн програмууд байдаг бөгөөд тэдгээрийг бид энд + хэлэлцэх болно. <command>opiekey</command> програм давталтын + тоо, үр болон нууцлаг нууц үгийг хүлээн авч нэг удаагийн нууц үг эсвэл + нэг удаагийн нууц үгүүдийн үргэлжилсэн жагсаалтыг үүсгэдэг. + <command>opiepasswd</command> програмыг OPIE-г эхлүүлэх болон + нууц үг, давталтын тоо эсвэл үр өөрчлөхөд ашигладаг; энэ нь + нууцлаг нэвтрэх үгс аль эсвэл давталтын тоо, үр болон нэг удаагийн нууц үгийг + авдаг. <command>opieinfo</command> програм тохирох итгэмжлэлүүдийн + файлуудыг (<filename>/etc/opiekeys</filename>) шалгаж + ажиллуулсан хэрэглэгчийн одоогийн давталтын тоо болон үрийг дэлгэцэд + гаргадаг.</para> + + <para>Бид дөрвөн өөр төрлийн үйлдлийн талаар хэлэлцэх болно. Эхнийх нь аюулгүй + холболтоор <command>opiepasswd</command> ашиглаж нэг удаагийн нууц үгүүдийг + эхний удаа тохируулах эсвэл өөрийн нууц үг эсвэл үрийг өөрчлөх үйлдэл юм. + Хоёр дахь үйлдэл нь <command>opiepasswd</command>-г аюултай холболтоор, + <command>opiekey</command> тушаалыг аюулгүй холболтоор ашиглаж + адил үйлдлийг хийх явдал юм. Гурав дахь нь <command>opiekey</command>-г + аюултай холболтоор ашиглан нэвтрэн орох үйлдэл юм. Дөрөв дэх нь + <command>opiekey</command>-г ашиглан хэд хэдэн түлхүүрүүд үүсгэх үйлдэл + бөгөөд гадагшаа аюулгүй холболтуудгүй газрууд уруу явахдаа тэдгээр түлхүүрүүдийг бичин авч + эсвэл хэвлэн аваад өөртөө авч явж болох юм.</para> + + <sect2> + <title>Аюулгүй холболт эхлүүлэх</title> + <para>OPIE-г эхний удаа эхлүүлэхдээ <command>opiepasswd</command> + тушаалыг ажиллуул:</para> + + <screen>&prompt.user; <userinput>opiepasswd -c</userinput> +[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 +</screen> + + <para><prompt>Enter new secret pass phrase:</prompt> эсвэл + <prompt>Enter secret password:</prompt> мөрүүд дээр та + нууц үг эсвэл өгүүлбэр оруулах ёстой. Энэ нь таны нэвтрэхдээ ашиглах + нууц үг биш гэдгийг санах хэрэгтэй, үүнийг ашиглаж таны нэг удаагийн + нэвтрэх түлхүүрийг үүсгэдэг. <quote>ID</quote> мөр таны + тухайн үеийн параметрүүд болох таны нэвтрэх нэр, давталтын тоо болон + үрийг өгдөг. Нэвтрэн орох үед систем эдгээр параметрүүдийг санаж + танд тэдгээрийг санах шаардлагагүйгээр буцаан үзүүлдэг. Сүүлийн мөр нь + тэдгээр параметрүүд болон таны нууцлаг нууц үгт харгалзах нэг удаагийн + нууц үгийг өгдөг; хэрэв та нэн даруй дахин нэвтэрвэл энэ нэг удаагийн нууц үг + нь таны ашиглах тэр нууц үг юм.</para> + </sect2> + + <sect2> + <title>Аюултай холболт эхлүүлэх</title> + + <para>Өөрийн нууцлаг нууц үгийг аюултай холболтоор эхэлж өгөхдөө эсвэл + өөрчлөхдөө <command>opiekey</command> ажиллуулж болох тийм газар уруу + аюулгүй холболттой байж байх шаардлагатай; энэ нь таны итгэж байгаа машин + дээр бүрхүүлийн тушаал хүлээх мөр хэлбэрээр байж болно. Та бас давталтын тоог + (100 боломжийн утга байж болох юм) бодож өгөх хэрэгтэй бөгөөд та өөрөө үр + бодож олох эсвэл дурын үүсгэснийг ашиглах хэрэгтэй. Аюултай холболтоор + (таны эхлүүлж байгаа машин уруу) <command>opiepasswd</command> + тушаалыг ашигла:</para> + + <screen>&prompt.user; <userinput>opiepasswd</userinput> + +Updating unfurl: +You need the response from an OTP generator. +Old secret pass phrase: + otp-md5 498 to4268 ext + Response: GAME GAG WELT OUT DOWN CHAT +New secret pass phrase: + otp-md5 499 to4269 + Response: LINE PAP MILK NELL BUOY TROY + +ID mark OTP key is 499 gr4269 +LINE PAP MILK NELL BUOY TROY +</screen> + + <para>Анхдагч үрийг хүлээж авах бол <keycap>Return</keycap> дар. + Дараа нь хандах нууц үгийг оруулахын өмнө аюулгүй холболт уруугаа + орж адил параметрүүдийг өгөөрэй:</para> + + <screen>&prompt.user; <userinput>opiekey 498 to4268</userinput> +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 +</screen> + + <para>Одоо аюултай холболт уруугаа шилжиж үүсгэсэн нэг удаагийн нууц үгээ + тохирох програм уруу хуулаарай.</para> + </sect2> + + <sect2> + <title>Нэг удаагийн нууц үг ганцыг үүсгэх нь</title> + + <para>OPIE-г эхлүүлэн тохируулж нэвтэрсний дараа танд иймэрхүү тушаал + хүлээх мөр харуулагдана:</para> + +<screen>&prompt.user; <userinput>telnet example.com</userinput> +Trying 10.0.0.1... +Connected to example.com +Escape character is '^]'. + +FreeBSD/i386 (example.com) (ttypa) + +login: <userinput><username></userinput> +otp-md5 498 gr4269 ext +Password: </screen> + + <para>Энэ дашрамд тэмдэглэн хэлэхэд OPIE тушаал хүлээх мөрүүд ашигтай боломжтой + байдаг: хэрэв та нууц үг хүлээх мөр дээр <keycap>Return</keycap> + дарвал хүлээх мөр цуурайг идэвхжүүлж таны юу бичиж байгааг танд харуулдаг. + Та хэвлэсэн зүйлээсээ харж магадгүй нууц үгийг гараараа бичиж оруулахыг + оролдож байгаа бол энэ маш ашигтай байж болох юм.</para> + + <indexterm><primary>MS-DOS</primary></indexterm> + <indexterm><primary>Windows</primary></indexterm> + <indexterm><primary>MacOS</primary></indexterm> + + <para>Энэ үед нэвтрэлт хүлээх мөрөнд хариулахын тулд та өөрийн нэг удаагийн нууц үгийг + үүсгэх хэрэгтэй болно. Үүнийг <command>opiekey</command> тушаал итгэн ажиллуулж + чадах тийм систем дээрээ хийх хэрэгтэй. (DOS, &windows; болон &macos;-д + зориулсан эдгээрийн хувилбарууд байдаг) Эдгээрт давталтын тоо болон үр тушаалын + мөрийн тохируулга хэлбэрээр хэрэгтэй байдаг. Та нэвтрэн орж байгаа машиныхаа + нэвтрэлт хүлээх мөрөөс эдгээрийг шууд хуулан тавьж болох юм.</para> + + <para>Итгэсэн систем дээрээ:</para> + + <screen>&prompt.user; <userinput>opiekey 498 to4268</userinput> +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</screen> + + <para>Одоо та өөрийн нэг удаагийн нууц үгтэй болсон болохоор нэвтрэлтээ + үргэлжлүүлж болно.</para> + </sect2> + + <sect2> + <title>Нэг удаагийн нууц үг олныг үүсгэх нь</title> + + <para>Заримдаа та итгэсэн машин эсвэл аюулгүй холболт уруу хандах боломжгүй + тийм газар очих хэрэгтэй болдог. Энэ тохиолдолд <command>opiekey</command> + тушаал ашиглаж хэд хэдэн нэг удаагийн нууц үгүүдийг урьдчилан үүсгэж хэвлэн + биедээ авч явах боломжтой юм. Жишээ нь:</para> + + <screen>&prompt.user; <userinput>opiekey -n 5 30 zz99999</userinput> +Using the MD5 algorithm to compute response. +Reminder: Don't use opiekey from telnet or dial-in sessions. +Enter secret pass phrase: <userinput><secret password></userinput> +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</screen> + + <para><option>-n 5</option> нь дараалсан таван түлхүүрийг үүсгэхийг, + <option>30</option> нь сүүлийн давталтын тоог хэд байх ёстойг зааж өгч + байгаа юм. Эдгээр нь ашиглах бололцоотойг <emphasis>урвуу</emphasis> + дарааллаар дэлгэцэнд харуулдагийг тэмдэглэх нь зүйтэй. Хэрэв та хэт санаа + зовниж байгаа бол та үр дүнг гараар бичиж авахыг хүсэж болох юм; + эсвэл <command>lpr</command> уруу хуулан авч тавьж болох юм. Мөр бүр + давталтын тоо болон нэг удаагийн нууц үгийг харуулж байгааг анхаараарай; + та нууц үгүүдийг хэрэглэх бүртээ тэдгээрийг арилгаж энэ хэвлэсэн арга тань ашигтай + хэвээр болохыг мэдэж болох юм.</para> + </sect2> + + <sect2> + <title>&unix; нууц үгүүдийг ашиглахыг хязгаарлах нь</title> + + <para>OPIE нь &unix; нууц үгүүдийн ашиглалтыг нэвтрэлтийн сессийн IP хаяг дээр тулгуурлан + хязгаарлаж чаддаг. Тохирох файл нь <filename>/etc/opieaccess</filename> + бөгөөд энэ файл нь анхдагчаар байдаг. Энэ файлын талаар болон + үүнийг ашигласнаар та аюулгүй байдлын ямар зүйлсүүдийг бодолцож анхаарах ёстой талаар + дэлгэрэнгүй мэдээллийг &man.opieaccess.5;-с шалгана уу.</para> + + <para>Энд жишээ <filename>opieaccess</filename> файл байна:</para> + + <programlisting>permit 192.168.0.0 255.255.0.0</programlisting> + + <para>Энэ мөр нь &unix; нууц үгүүдийг ямар ч үед ашиглахын тулд эхлэл IP хаягийг + (хууран мэхлэхэд хүрч болох тийм эмзэг) заагдсан утга болон багтай тааруулах + боломжийг хэрэглэгчдэд олгодог.</para> + + <para><filename>opieaccess</filename> дахь аль ч дүрэм таарахгүй байгаа + бол анхдагчаар OPIE биш нэвтрэлтүүдийг хааж үгүйсгэдэг.</para> + + </sect2> + </sect1> + + <sect1 id="tcpwrappers"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Бичсэн: </contrib> + </author> + </authorgroup> + </sect1info> + + <indexterm><primary>TCP Гүйцэтгэлийг хялбаршуулагчид</primary></indexterm> + + <title>TCP Гүйцэтгэлийг хялбаршуулагчид</title> + + <para>&man.inetd.8;-г мэддэг хэн бүхэн <acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчдын + талаар заримдаа сонссон байх. Гэхдээ цөөн хүмүүс энэ боломжийн + сүлжээний орчин дахь ашигтай талыг бүрэн ойлгодог юм шиг санагддаг. + Хүн бүхэн сүлжээний холболтууд зохицуулах галт хана суулгахыг хүсдэг + юм шиг санагддаг. Галт хана олон төрлийн хэрэглээтэй боловч + холболт үүсгэгч уруу текс илгээх зэрэг зарим зүйлсийг галт хана хийж + чаддаггүй. Энд дурдсан <acronym>TCP</acronym> програм энэ мэтийг болон + үүнээс илүүг хийдэг. Дараагийн хэдэн хэсэгт <acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчдын + олон боломжуудыг хэлэлцэх бөгөөд боломжтой үед нь жишээ тохиргооны + мөрийг үзүүлэх болно.</para> + + <para><acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчид програм хангамж нь + <command>inetd</command>-ийн чадваруудыг сервер бүрийн + хувьд түүний доор хянагдаж болохоор дэмжин өргөтгөдөг. Энэ аргыг ашиглан + бүртгэл хөтлөх дэмжлэг нэмэх, холболтууд уруу мэдэгдэл буцаах, демонд + зөвхөн дотоод холболтуудыг хүлээн авахыг зөвшөөрөх гэх мэт үйлдлүүдийг + хийх боломжтой. Эдгээр боломжуудын заримыг галт хана суулган тохируулж хийж + болох боловч энэ нь зөвхөн хамгаалалтын нэмэлт давхарга болохоос гадна + галт ханын үзүүлж чаддагаас илүү хяналтыг олгодог юм.</para> + + <para><acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчдын ийнхүү нэмэгдсэн + ажиллагаа нь сайн галт ханыг солихоор зүйл гэж ойлгогдох ёсгүй юм. + <acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчид нь галт хана + эсвэл өөр бусад аюулгүй байдлыг нэмэгдүүлэгч програмуудын хамтаар + ашиглагдаж системийн хувьд хамгаалалтын нэмэлт давхарга болон аятайхан + үйлчлэх боломжтой юм.</para> + + <para>Энэ нь <command>inetd</command>-ийн тохиргооны өргөтгөл болохоор + энэхүү баримтыг уншигч таныг <link linkend="network-inetd">inetd тохиргоо</link> + хэсгийг уншсан гэдэгт найдаж байна.</para> + + <note> + <para>&man.inetd.8;-ээр ажиллуулагдсан програмууд яг жинхэнээрээ + <quote>демонууд</quote> биш боловч тэдгээрийг уламжлалаар демонууд гэдэг. + Энэ ухагдахууныг бид энэ хэсэгт бас ашиглах болно.</para> + </note> + + <sect2> + <title>Эхний тохиргоо</title> + + <para><acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчдыг &os;-д + ашиглахад байх цорын ганц шаардлага нь <command>inetd</command> серверийг + <filename>rc.conf</filename> файлаас <option>-Ww</option> + тохируулгатай ажиллуулсан эсэхийг шалгах явдал юм; энэ нь анхдагч тохиргоо + юм. Мэдээж <filename>/etc/hosts.allow</filename> файлын + зөв тохиргоо бас байгааг хүлээж байдаг боловч эдгээр тохиолдлуудад + &man.syslogd.8; системийн бүртгэлүүдэд мэдэгдлүүд шиддэг.</para> + + <note> + <para>Бусад <acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчдын + шийдлүүдтэй харьцуулах юм бол <filename>hosts.deny</filename> + файлыг хэрэглэхээ больсон. Тохиргооны бүх сонголтууд + <filename>/etc/hosts.allow</filename> файлд байх шаардлагатай.</para> + </note> + + <para>Хамгийн амархан тохиргоогоороо бол демоны холболтын бодлогууд + зөвшөөрөгдсөн эсвэл хаагдсаны аль нэгээр <filename>/etc/hosts.allow</filename> + файл дахь тохируулгуудаас хамааран тохируулагддаг. &os; дээрх анхдагч + тохиргоо нь <command>inetd</command>-ээр эхэлсэн демон бүр уруу хийгдэх + холболтыг зөвшөөрдөг. Үүнийг өөрчлөх талаар зөвхөн үндсэн тохиргооны тухай + дурдсаны дараа хэлэлцэх болно.</para> + + <para>Үндсэн тохиргоо ихэвчлэн <literal>демон : хаяг : үйлдэл</literal> + хэлбэрийг авдаг. Энд байгаа <literal>демон</literal> нь + <command>inetd</command>-ийн эхлүүлсэн демоны нэр юм. + <literal>Хаяг</literal> нь зөв хостын нэр, <literal>address</literal> + хаяг эсвэл дөрвөлжин хаалтан ([ ]) доторх IPv6 хаяг байж болно. + Үйлдэл талбар нь allow буюу зөвшөөрөх эсвэл deny буюу эрхийг хориглох эсвэл + хандалтыг хаахын аль нэг байна. Тохиргоо эхний тохирсон дүрэм журмын дагуу ажилладаг гэдгийг + санах хэрэгтэй, энэ нь тохирох дүрмийг тохиргооны файлаас өсөх дарааллаар + хайна гэсэн үг юм. Тохирох дүрэм олдвол тэр дүрэм ашиглагдаж хайх + процесс зогсоно.</para> + + <para>Бусад хэд хэдэн тохируулгууд байдаг боловч тэдгээрийг энэ хэсгийн сүүлд + тайлбарлах болно. Хялбар тохиргооны мөр ганцхан тэр мэдээллийн дагуу амархнаар + хийгдэж болно. Жишээ нь + <filename role="package">mail/qpopper</filename> демоноор дамжин + хийгдэж болох <acronym>POP</acronym>3 холболтуудыг зөвшөөрөхийн тулд + дараах мөрүүд <filename>hosts.allow</filename> файлд нэмж хийгдэх + хэрэгтэй:</para> + + <programlisting># This line is required for POP3 connections: +qpopper : ALL : allow</programlisting> + + <para>Энэ мөрийн нэмснийхээ дараа <command>inetd</command>-г дахин эхлүүлэх + хэрэгтэй. Үүнийг &man.kill.1; тушаал эсвэл <filename>/etc/rc.d/inetd</filename>-г + <parameter>restart</parameter> параметртэй ашиглан хийж болно.</para> + </sect2> + + <sect2> + <title>Дэвшилтэт тохиргоо</title> + + <para><acronym>TCP</acronym> Гүйцэтгэлийг хялбаршуулагчид нь бас дэвшилтэт + тохируулгуудтай байдаг; тэдгээр нь холболтуудтай хэрхэн ажиллахыг илүүтэйгээр + хянах боломжийг олгодог. Зарим тохиолдолд тодорхой хостууд эсвэл демон + холболтууд уруу тайлбар буцаах нь зүйтэй санаа байж болох юм. Бусад + тохиолдолд магадгүй бүртгэлийн файл бичигдэх ёстой эсвэл цахим захидал + администратор уруу илгээгдэж болох юм. Бусад тохиолдлууд үйлчилгээг зөвхөн + дотоод холболтууддаа ашиглахыг шаардаж болох юм. Эдгээр нь бүгдээрээ + <literal>орлуулагддаг тэмдэгтүүд</literal>, өргөтгөх тэмдэгтүүд болон + гадаад тушаалыг ажиллуулах зэрэг тохиргооны сонголтуудын тусламжтай хийгдэх + боломжтой юм. Дараагийн хоёр хэсэгт эдгээр тохиолдлуудын талаар бичсэн + байгаа.</para> + + <sect3> + <title>Гадаад тушаалууд</title> + + <para>Холболтыг хааж түүнийг тогтоохыг оролдсон хүн уруу шалтгааныг нь + илгээх тохиолдол гарчээ гэж бодъё. Үүнийг яаж хийх вэ? Энэ үйлдлийг + <option>twist</option> тохируулга ашиглан хийх боломжтой. + Холболт тогтоохоор оролдоход <option>twist</option> тохируулга + бүрхүүлийн тушаал эсвэл скрипт ажилуулахаар дуудагддаг. + <filename>hosts.allow</filename> файлд үүний жишээ аль хэдийн + орсон байдаг:</para> + + <programlisting># The rest of the daemons are protected. +ALL : ALL \ + : severity auth.info \ + : twist /bin/echo "You are not welcome to use %d from %h."</programlisting> + + <para>Энэ жишээ нь <quote>You are not allowed to use <literal>daemon</literal> + from <literal>hostname</literal>.</quote> буюу + <quote>Та <literal>демон</literal>ыг <literal>hostname</literal>-с + ашиглах зөвшөөрөлгүй.</quote> гэсэн мэдэгдлийг хандалтын файлд урьдаар + тохируулагдаагүй демон бүрийн хувьд буцаадаг. Энэ нь тогтоогдсон холболт дөнгөж + салсны дараа холболтыг эхлүүлэгч уруу хариултыг буцааж илгээхэд маш их ашигтай + байдаг. Буцсан мэдэгдэл бүр <literal>"</literal> тэмдэгтүүд дотор + заавал байх <emphasis>шаардлагатай</emphasis>; энэ дүрмэнд ямар нэг + жич зөвшөөрөл байхгүй.</para> + + <warning> + <para>Хэрэв халдагч эсвэл бүлэг халдагчид эдгээр демонуудыг холболт хийх + хүсэлтээр цутгаж чадах юм бол серверийн эсрэг үйлчилгээг зогсоох халдлага явуулах + боломжтой байж болох юм.</para> + </warning> + + <para>Өөр нэг боломж нь эдгээр тохиолдлуудад <option>spawn</option> + тохируулгыг ашиглах явдал юм. <option>twist</option> тохируулгын + нэгэн адил <option>spawn</option> тохируулга нь холболтуудыг сохроор + хааж гадаад бүрхүүлийн тушаалууд эсвэл скриптүүдийг ажиллуулахад ашиглагдаж + болно. <option>twist</option> тохируулгаас ялгаатай тал нь + <option>spawn</option> нь холболт тогтоосон хүн уруу хариулт буцааж + илгээдэггүй. Жишээ нь дараах тохиргооны мөр байжээ гэж бодъё:</para> + + <programlisting># 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</programlisting> + + <para>Энэ нь <hostid role="fqdn">*.example.com</hostid> доменоос + ирсэн бүх холболтын оролдлогуудаас татгалзахын зэрэгцээ хостын нэр, <acronym>IP</acronym> + хаяг болон тэдний хандалт хийхийг оролдсон демоныг <filename>/var/log/connections.log</filename> + файл уруу бүртгэнэ.</para> + + <para>Дээр тайлбарласан орлуулах тэмдэгтүүдээс гадна, өөрөөр хэлбэл + %a тэмдэгтээс гадна бусад цөөн хэдэн тэмдэгтүүд бас байдаг. Бүрэн жагсаалтыг + &man.hosts.access.5; гарын авлагын хуудаснаас үзнэ үү.</para> + </sect3> + + <sect3> + <title>Орлуулагддаг тэмдэгтүүдийн тохиргоонууд</title> + + <para>Энэ хүртэл <literal>ALL</literal> жишээ бүх л жишээнүүдэд + ашиглагдлаа. Ажиллагааг арай цаашлуулж өргөтгөх бусад тохируулгууд + байдаг. Жишээ нь <literal>ALL</literal> нь демон, домен эсвэл + <acronym>IP</acronym> хаягийн аль нэгтэй тааруулах зорилгоор + ашиглагдаж болох юм. Өөр нэг орлуулагддаг тэмдэгт нь + <acronym>IP</acronym> хаягаа өөрчлөн хуурсан байж болох дурын хостыг + тааруулах <literal>PARANOID</literal> тохируулга юм. Өөрөөр хэлбэл + <literal>paranoid буюу хэт зовнил</literal> нь + өөрийн хостын нэрээс өөр <acronym>IP</acronym> хаягтай машинаас + холболт хийгдэх бүр түүнд тохирох үйлдлийг тодорхойлоход ашиглагдаж + болох юм. Дараах жишээ энэ хэлэлцүүлэгт арай илүү ойлголт өгч магадгүй + юм:</para> + + <programlisting># Block possibly spoofed requests to sendmail: +sendmail : PARANOID : deny</programlisting> + + <para>Энэ жишээн дээр <command>sendmail</command> уруу хийгдэж байгаа + өөрийнхөө хостын нэрээс өөр <acronym>IP</acronym> хаягтай холболтын бүх + хүсэлтүүдээс татгалзан хааж байна.</para> + + <caution> + <para>Хэрэв клиент эсвэл сервер эвдэрхий <acronym>DNS</acronym> + суулгацтай бол <literal>PARANOID</literal>-ийг ашиглах нь серверүүдийг + ноцтойгоор зэрэмдэг болгож болох юм. Иймд администраторын зохион байгуулалт + болон хуваарилалт хийхийг зөвлөж байна.</para> + </caution> + + <para>Орлуулагддаг тэмдэгтүүдийн талаар болон тэдэнтэй холбоотой ажиллагааны + талаар дэлгэрэнгүйг &man.hosts.access.5; гарын авлагын хуудаснаас + үзээрэй.</para> + + <para>Тусгай тохиргооны аль ч мөрүүдийн өмнө дээрх нь ажиллана, эхний тохиргооны + мөр <filename>hosts.allow</filename> файлд тайлбар болгон хаагдах + шаардлагатай. Үүнийг энэ хэсгийн эхэнд тэмдэглэж хэлсэн байгаа.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="kerberosIV"> + <sect1info> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Мюррэй</surname> + <contrib>Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Дэйпоз</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + + <title><application>KerberosIV</application></title> + + <para>Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн + тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм. + Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон + бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж + болохоор болсон.</para> + + <para>Дараах заавруудыг &os;-тэй цуг түгээгддэг Kerberos-ийг хэрхэн тохируулах гарын авлага + болгон хэрэглэж болох юм. Гэхдээ та бүрэн тайлбарын талаар харгалзах гарын авлагын + хуудаснуудад хандаж үзэх шаардлагатай.</para> + + <sect2> + <title><application>KerberosIV</application> суулгах нь</title> + + <indexterm><primary>MIT</primary></indexterm> + <indexterm> + <primary>KerberosIV</primary> + <secondary>суулгах нь</secondary> + </indexterm> + <para>Kerberos нь &os;-ийн нэмэлт бүрэлдэхүүн хэсэг юм. Энэ програм хангамжийг + суулгах хамгийн амархан арга нь &os; эхэлж суулгах үед <application>sysinstall</application>-д + <literal>krb4</literal> эсвэл <literal>krb5</literal> түгээлтийг сонгон + суулгах явдал юм. Энэ нь Kerberos-ийн <quote>eBones</quote> (KerberosIV) + эсвэл <quote>Heimdal</quote> (Kerberos5) шийдлүүдийг суулгах болно. + Эдгээр нь АНУ/Канадаас гадна хөгжүүлэгдсэн учраас АНУ-ын криптограф + код дээрх экспортын хязгаарлагдмал хяналтын үед бусад улсуудын системийн эзэмшигчдэд + ашиглагдах боломжтой болсон юм. Иймээс эдгээр шийдлүүд нь орсон байдаг.</para> + + <para>Үүнээс гадна Kerberos-ийн MIT шийдэл портуудын цуглуулгын + <filename role="package">security/krb5</filename> санд байдаг.</para> + </sect2> + + <sect2> + <title>Эхний мэдээллийн бааз үүсгэх</title> + + <para>Энэ нь Kerberos сервер дээр зөвхөн хийгддэг. Эхлээд хуучин Kerberos мэдээллийн + баазууд байгаа эсэхийг шалгаарай. Та <filename>/etc/kerberosIV</filename> сан + уруу орж зөвхөн дараах файлууд байгааг шалгаарай:</para> + + <screen>&prompt.root; <userinput>cd /etc/kerberosIV</userinput> +&prompt.root; <userinput>ls</userinput> +README krb.conf krb.realms</screen> + + <para>Хэрэв аль нэг нэмэлт файлууд (<filename>principal.*</filename> + эсвэл <filename>master_key</filename> зэрэг) байвал + <command>kdb_destroy</command> тушаал ашиглаж хуучин Kerberos мэдээллийн + баазыг устгах эсвэл хэрэв Kerberos ажиллахгүй байгаа бол ердөө л нэмэлт файлуудыг + устгах хэрэгтэй.</para> + + <para>Та одоо өөрийн Kerberos хүрээг (realm) зааж өгөхдөө <filename>krb.conf</filename> + болон <filename>krb.realms</filename> файлуудыг засварлах шаардлагатай. + Энэ тохиолдолд хүрээ нь <literal>EXAMPLE.COM</literal> болох бөгөөд + сервер нь <hostid role="fqdn">grunt.example.com</hostid> болох юм. + Бид <filename>krb.conf</filename> файлыг засварлаж эсвэл + үүсгэнэ:</para> + + <screen>&prompt.root; <userinput>cat krb.conf</userinput> +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</screen> + + <para>Энэ тохиолдолд бусад хүрээнүүд тэнд байх хэрэггүй. Тэдгээр нь энд машиныг хэрхэн + олон хүрээнүүдийг мэдэхээр хийгдэх жишээ маягаар байгаа болно. Хялбараа бодоод + та тэдгээрийг оруулахгүйг хүсэж болох юм.</para> + + <para>Эхний мөр нь систем ажиллах хүрээг нэрлэж байна. Бусад мөрүүд нь хүрээ/хост + оруулгуудыг агуулна. Мөр дэх эхнийх нь хүрээ бөгөөд хоёр дахь нь + <quote>түлхүүр түгээх төв</quote> болж байгаа хүрээн дэх хост юм. + Хостын нэрийн дараах <literal>admin server</literal> нь хост бас + удирдах мэдээллийн баазаар хангаж байна гэсэн үг юм. Эдгээр ухагдахуунуудын + тайлбаруудын талаар Kerberos-ийн гарын авлагын хуудаснуудаас зөвлөгөө + авна уу.</para> + + <para>Одоо бид <hostid role="fqdn">grunt.example.com</hostid>-г + <literal>EXAMPLE.COM</literal> хүрээ уруу нэмэх ёстой бөгөөд + бас <literal>EXAMPLE.COM</literal> хүрээний + <hostid role="domainname">.example.com</hostid> домен дэх бүх + хостуудыг оруулан нэмж өгөх хэрэгтэй. <filename>krb.realms</filename> + файл дараах байдлаар шинэчлэгдэх болно:</para> + + <screen>&prompt.root; <userinput>cat krb.realms</userinput> +grunt.example.com EXAMPLE.COM +.example.com EXAMPLE.COM +.berkeley.edu CS.BERKELEY.EDU +.MIT.EDU ATHENA.MIT.EDU +.mit.edu ATHENA.MIT.EDU</screen> + + <para>Дахин хэлэхэд бусад хүрээнүүд тэнд байх шаардлагагүй. Тэдгээр нь энд машиныг хэрхэн + олон хүрээнүүдийг мэдэхээр хийгдэх жишээ маягаар байгаа болно. Хялбараа бодоод + та тэдгээрийг оруулахгүйг хүсэж болох юм.</para> + + <para>Эхний мөр нь <emphasis>тусгай</emphasis> системийг нэрлэгдсэн + хүрээ уруу оруулж байна. Бусад мөрүүд нэрлэгдсэн хүрээнд тухайн дэд домены + системүүдийг хэрхэн анхдагчаар болгож байгааг харуулна.</para> + + <para>Одоо бид мэдээллийн сан үүсгэхэд бэлэн боллоо. Энэ нь зөвхөн + Kerberos сервер (эсвэл Түлхүүр Түгээх Төв) дээр ажиллах ёстой. + <command>kdb_init</command> тушаал ажиллуулж үүнийг хийнэ:</para> + + <screen>&prompt.root; <userinput>kdb_init</userinput> +<prompt>Realm name [default ATHENA.MIT.EDU ]:</prompt> <userinput>EXAMPLE.COM</userinput> +You will be prompted for the database Master Password. +It is important that you NOT FORGET this password. + +<prompt>Enter Kerberos master key:</prompt> </screen> + + <para>Одоо бид локал машин дээрх серверүүд авч болгохоор болгохын тулд түлхүүрийг + хадгалах хэрэгтэй. <command>kstash</command> тушаал ашиглаж үүнийг + хийнэ:</para> + + <screen>&prompt.root; <userinput>kstash</userinput> + +<prompt>Enter Kerberos master key:</prompt> + +Current Kerberos master key version is 1. + +Master key entered. BEWARE!</screen> + + <para>Энэ нь шифрлэгдсэн мастер нууц үгийг + <filename>/etc/kerberosIV/master_key</filename>-д хадгална.</para> + </sect2> + + <sect2> + <title>Бүгдийг ажиллахаар болгох</title> + + <indexterm> + <primary>KerberosIV</primary> + <secondary>эхний эхлүүлэлт</secondary> + </indexterm> + + <para>Kerberos-оор аюулгүй болгогдох систем <emphasis>бүрийн</emphasis> + хувьд хоёр удирдагч мэдээллийн баазад нэмэгдэх шаардлагатай. Тэдгээрийн нэрс нь + <literal>kpasswd</literal> болон <literal>rcmd</literal> байна. + Эдгээр хоёр удирдагч нь систем бүрийн хувьд хувь системийн нэртэй тохиолдлуудын + хамтаар хийгдэнэ.</para> + + <para>Эдгээр <application>kpasswd</application> болон + <application>rcmd</application> демонууд нь бусад системүүдэд + Kerberos нууц үгнүүдийг өөрчилж &man.rcp.1;, + &man.rlogin.1; болон &man.rsh.1; зэрэг тушаалуудыг ажиллуулахыг + зөвшөөрдөг.</para> + + <para>Одоо эдгээр оруулгуудыг нэмэцгээе:</para> + + <screen>&prompt.root; <userinput>kdb_edit</userinput> +Opening database... + +<prompt>Enter Kerberos master key:</prompt> + +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. + +<prompt>Principal name:</prompt> <userinput>passwd</userinput> +<prompt>Instance:</prompt> <userinput>grunt</userinput> + +<Not found>, <prompt>Create [y] ?</prompt> <userinput>y</userinput> + +Principal: passwd, Instance: grunt, kdc_key_ver: 1 +<prompt>New Password:</prompt> <---- enter RANDOM here +Verifying password + +<prompt>New Password:</prompt> <---- enter RANDOM here + +<prompt>Random password [y] ?</prompt> <userinput>y</userinput> + +Principal's new key version = 1 +<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> +<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> +<prompt>Attributes [ 0 ] ?</prompt> +Edit O.K. +<prompt>Principal name:</prompt> <userinput>rcmd</userinput> +<prompt>Instance:</prompt> <userinput>grunt</userinput> + +<Not found>, <prompt>Create [y] ?</prompt> + +Principal: rcmd, Instance: grunt, kdc_key_ver: 1 +<prompt>New Password:</prompt> <---- enter RANDOM here +Verifying password + +<prompt>New Password:</prompt> <---- enter RANDOM here + +<prompt>Random password [y] ?</prompt> + +Principal's new key version = 1 +<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> +<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> +<prompt>Attributes [ 0 ] ?</prompt> +Edit O.K. +<prompt>Principal name:</prompt> <---- null entry here will cause an exit</screen> + </sect2> + + <sect2> + <title>Серверийн файлыг үүсгэх</title> + + <para>Одоо бид машин бүр дээр үйлчилгээнүүдийг тодорхойлдог бүх тохиолдлуудыг + гаргаж авах хэрэгтэй. Энэ зорилгоор бид <command>ext_srvtab</command> + тушаалыг ашиглана. Энэ нь файл үүсгэх бөгөөд түүнийг Kerberos-ийн + клиент бүрийн <filename>/etc</filename> сан уруу + <emphasis>аюулгүйн үүднээс</emphasis> хуулах эсвэл шилжүүлэх хэрэгтэй. + Энэ файл нь сервер болон клиент бүр дээр байх хэрэгтэй бөгөөд Kerberos-ийн + ажиллагаанд шийдвэрлэх зүйл болдог.</para> + + + <screen>&prompt.root; <userinput>ext_srvtab grunt</userinput> +<prompt>Enter Kerberos master key:</prompt> + +Current Kerberos master key version is 1. + +Master key entered. BEWARE! +Generating 'grunt-new-srvtab'....</screen> + + <para>Одоо, энэ тушаал зөвхөн түр зуурын файл үүсгэдэг бөгөөд тэр файлын нэрийг + бүх серверүүд авч чадахаар <filename>srvtab</filename> болгон нэрлэх + шаардлагатай. &man.mv.1; тушаал ашиглаж эх систем дээрх байрлал уруу + шилжүүл:</para> + + <screen>&prompt.root; <userinput>mv grunt-new-srvtab srvtab</userinput></screen> + + <para>Хэрэв файл нь клиент системд зориулагдсан бөгөөд сүлжээ нь аюулгүй биш + гэж бодогдвол <filename><replaceable>client</replaceable>-new-srvtab</filename> + файлыг шилжүүлж болох зөөвөрлөгч уруу хуулж физик аюулгүйн үүднээс тээвэрлэж + болно. Үүнийг клиентийн <filename>/etc</filename> сан дотор + <filename>srvtab</filename> болгон нэрлэж 600 горимд байгаа эсэхийг + шалгаарай:</para> + + <screen>&prompt.root; <userinput>mv grumble-new-srvtab srvtab</userinput> +&prompt.root; <userinput>chmod 600 srvtab</userinput></screen> + </sect2> + + <sect2> + <title>Мэдээллийн санг нутагшуулах</title> + + <para>Бид одоо зарим хэрэглэгчийг мэдээллийн баазад оруулах хэрэгтэй. Эхлээд + <username>jane</username> хэрэглэгчид зориулсан оруулгыг үүсгэе. + Үүнийг <command>kdb_edit</command> тушаал ашиглаж хийнэ:</para> + + <screen>&prompt.root; <userinput>kdb_edit</userinput> +Opening database... + +<prompt>Enter Kerberos master key:</prompt> + +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. + +<prompt>Principal name:</prompt> <userinput>jane</userinput> +<prompt>Instance:</prompt> + +<Not found>, <prompt>Create [y] ?</prompt> <userinput>y</userinput> + +Principal: jane, Instance: , kdc_key_ver: 1 +<prompt>New Password:</prompt> <---- enter a secure password here +Verifying password + +<prompt>New Password:</prompt> <---- re-enter the password here +Principal's new key version = 1 +<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> +<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> +<prompt>Attributes [ 0 ] ?</prompt> +Edit O.K. +<prompt>Principal name:</prompt> <---- null entry here will cause an exit</screen> + </sect2> + + <sect2> + <title>Бүгдийг тест хийх</title> + + <para>Эхлээд бид Kerberos демонууд ажиллуулах шаардлагатай. Хэрэв та + өөрийн <filename>/etc/rc.conf</filename> файлыг зөв засварласан + бол дахин ачаалахад энэ нь автоматаар хийгдэх ёстойг санаарай. + Энэ нь зөвхөн Kerberos сервер дээр шаардлагатай. kerberos-ийн + клиентүүд хэрэгтэй зүйлээ автоматаар <filename>/etc/kerberosIV</filename> + сангаас авах болно.</para> + + <screen>&prompt.root; <userinput>kerberos &</userinput> +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 +&prompt.root; <userinput>kadmind -n &</userinput> +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!</screen> + + <para>Одоо бид <command>kinit</command> тушаал ашиглаж + бидний дээр үүсгэсэн <username>jane</username> ID-д зориулсан тасалбарыг авахыг + оролдож болно:</para> + + <screen>&prompt.user; <userinput>kinit jane</userinput> +MIT Project Athena (grunt.example.com) +Kerberos Initialization for "jane" +<prompt>Password:</prompt> </screen> + + <para>Токенууд бидэнд үнэхээр байгаа эсэхийг <command>klist</command> ашиглан + үзэхийг оролдоорой:</para> + + <screen>&prompt.user; <userinput>klist</userinput> +Ticket file: /tmp/tkt245 +Principal: jane@EXAMPLE.COM + + Issued Expires Principal +Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM</screen> + + <para>Одоо <application>kpasswd</application> демон + Kerberos-ийн мэдээллийн баазад нэвтрэлтийн зөвшөөрөл авч чадах эсэхийг шалгахын + тулд нууц үгийг &man.passwd.1; ашиглан өөрчлөхийг оролдоорой:</para> + + <screen>&prompt.user; <userinput>passwd</userinput> +realm EXAMPLE.COM +<prompt>Old password for jane:</prompt> +<prompt>New Password for jane:</prompt> +Verifying password +<prompt>New Password for jane:</prompt> +Password changed.</screen> + </sect2> + + <sect2> + <title><command>su</command> зөвшөөрлүүдийг нэмэх</title> + + <para>Kerberos нь <username>root</username> зөвшөөрлүүд + хэрэгтэй хэрэглэгч <emphasis>бүрд</emphasis> өөрсдийнх нь + <emphasis>тусдаа</emphasis> &man.su.1; нууц үгийг өгөхийг + бидэнд зөвшөөрдөг. Одоо бид &man.su.1;-аар танигдан зөвшөөрөгдсөн + ID-г <username>root</username> уруу нэмж болно. Үүнийг + <username>root</username>-г удирдагчтай холбосон тохиолдолтой + байснаар хянаж болно. <command>kdb_edit</command> ашиглан + Kerberos-ийн мэдээллийн баазад <literal>jane.root</literal> + оруулгыг бид үүсгэж болно:</para> + + <screen>&prompt.root; <userinput>kdb_edit</userinput> +Opening database... + +<prompt>Enter Kerberos master key:</prompt> + +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. + +<prompt>Principal name:</prompt> <userinput>jane</userinput> +<prompt>Instance:</prompt> <userinput>root</userinput> + +<Not found>, Create [y] ? y + +Principal: jane, Instance: root, kdc_key_ver: 1 +<prompt>New Password:</prompt> <---- enter a SECURE password here +Verifying password + +<prompt>New Password:</prompt> <---- re-enter the password here + +Principal's new key version = 1 +<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> +<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> <userinput>12</userinput> <--- Keep this short! +<prompt>Attributes [ 0 ] ?</prompt> +Edit O.K. +<prompt>Principal name:</prompt> <---- null entry here will cause an exit</screen> + + <para>Одоо үүнийг ажиллаж байгааг шалгаж токенуудыг авахыг оролдоорой:</para> + + <screen>&prompt.root; <userinput>kinit jane.root</userinput> +MIT Project Athena (grunt.example.com) +Kerberos Initialization for "jane.root" +<prompt>Password:</prompt></screen> + + <para>Одоо бид хэрэглэгчийг <username>root</username>-ийн + <filename>.klogin</filename> файлд нэмэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cat /root/.klogin</userinput> +jane.root@EXAMPLE.COM</screen> + + <para>Одоо &man.su.1; хийхийг оролдоод үз:</para> + + <screen>&prompt.user; <userinput>su</userinput> +<prompt>Password:</prompt></screen> + + <para>тэгээд ямар токенууд бидэнд байгааг хараарай:</para> + + <screen>&prompt.root; <userinput>klist</userinput> +Ticket file: /tmp/tkt_root_245 +Principal: jane.root@EXAMPLE.COM + + Issued Expires Principal +May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COM</screen> + </sect2> + + <sect2> + <title>Бусад тушаалуудыг ашиглах</title> + + <para>Өмнөх жишээн дээр бид <literal>jane</literal> гэж нэрлэгдсэн + удирдагчийг <literal>root</literal> тохиолдолтой үүсгэсэн. + Энэ нь удирдагчтай адил нэртэй хэрэглэгч дээр үндэслэсэн бөгөөд энэ нь + Kerberos-ийн анхдагч юм; <username>root</username>-ийн гэр сан дахь + <filename>.klogin</filename> файлд шаардлагатай оруулгууд байвал + <literal><username>.</literal><username>root</username> + хэлбэрийн <literal><principal>.<instance></literal> нь + тэр <literal><username></literal>-г <username>root</username> + уруу &man.su.1; хийхийг зөвшөөрдөг:</para> + + <screen>&prompt.root; <userinput>cat /root/.klogin</userinput> +jane.root@EXAMPLE.COM</screen> + + <para>хэрэв хэрэглэгч үүнтэй адил хэлбэрийн өөрийн гэр сангийн мөрүүдтэй бол:</para> + + <screen>&prompt.user; <userinput>cat ~/.klogin</userinput> +jane@EXAMPLE.COM +jack@EXAMPLE.COM</screen> + + <para>Энэ нь өөрсдийгөө + <username>jane</username> эсвэл <username>jack</username> гэж + таниулсан (<command>kinit</command>-ийн тусламжтай, дээрхийг үз) + <literal>EXAMPLE.COM</literal> хүрээний хэнд ч + &man.rlogin.1;, &man.rsh.1; эсвэл &man.rcp.1; ашиглан энэ систем + (<hostid>grunt</hostid>) дээрх <username>jane</username>-ий бүртгэл + эсвэл файлуудад хандахыг зөвшөөрдөг.</para> + + <para>Жишээ нь <username>jane</username> одоо өөр систем уруу Kerberos + ашиглан нэвтрэн орж байна:</para> + + <screen>&prompt.user; <userinput>kinit</userinput> +MIT Project Athena (grunt.example.com) +<prompt>Password:</prompt> +&prompt.user; <userinput>rlogin grunt</userinput> +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</screen> + + <para>Эсвэл <username>jack</username> яг тэр машин дээрх <username>jane</username> бүртгэл + уруу нэвтрэн орж байна (<username>jane</username> дээрхтэй адил <filename>.klogin</filename>-ийг + тохируулсан бөгөөд Kerberos хариуцсан хүн удирдагч <emphasis>jack</emphasis>-ийг хоосон + тохиолдолтой тохируулсан):</para> + + <screen>&prompt.user; <userinput>kinit</userinput> +&prompt.user; <userinput>rlogin grunt -l jane</userinput> +MIT Project Athena (grunt.example.com) +<prompt>Password:</prompt> +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</screen> + </sect2> + </sect1> + + <sect1 id="kerberos5"> + <sect1info> + <authorgroup> + <author> + <firstname>Тиллмэн</firstname> + <surname>Хоожсон</surname> + <contrib>Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Марк</firstname> + <surname>Мюррей</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + + <title><application>Kerberos5</application></title> + + <para>&os;-5.1-ээс хойшхи &os;-ийн хувилбар бүр зөвхөн + <application>Kerberos5</application>-д зориулсан дэмжлэгийг + оруулсан байдаг. <application>Kerberos5</application> нь + орсон цорын ганц хувилбар болохоор түүний тохиргоо олон талаараа + <application>KerberosIV</application>-ийнхтэй адил + байдаг. Дараах мэдээлэл &os;-5.0-с хойшхи хувилбар дахь + <application>Kerberos5</application>-тай хамаатай. + <application>KerberosIV</application> багцыг ашиглахыг + хүсэж байгаа хэрэглэгчид <filename role="package">security/krb4</filename> + портыг суулгаж болно.</para> + + <para>Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн + тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм. + Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон + бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж + болохоор болсон.</para> + + <para><application>Kerberos</application> нь хэн бэ гэдгийг шалгах прокси систем + юм. Энэ нь бас итгэгдсэн гуравдагч нэвтрэлт таних систем гэж тайлбарлагдаж + болно. <application>Kerberos</application> нь зөвхөн нэг функцийг + хангадаг — сүлжээн дээр хэрэглэгчдэд өөрсдийгөө аюулгүйгээр таниулах + боломжийг хангаж өгдөг. Энэ нь шалгаж таних функцууд (хэрэглэгчдийн + хийхийг зөвшөөрдөг) эсвэл аудит функцуудын (тэдгээр хэрэглэгчид юу хийснийг) + үүргийг гүйцэтгэдэггүй. Клиент болон сервер өөрийгөө таниулж батлахаар + <application>Kerberos</application>-г ашигласны дараа тэд бизнесээ бодож + өөрсдийн бүх холболтуудаа шифрлэж нууцлал болон бүрэн бүтэн байдлаа хадгалан + баталгаажуулж болно.</para> + + <para>Иймээс <application>Kerberos</application>-ийг нэвтрэлт танилт болон + аудит үйлчилгээнүүдийг хангадаг бусад аюулгүй байдлын аргуудтай цуг ашиглахыг + маш ихээр зөвлөдөг.</para> + + <para>Дараах заавруудыг &os;-д зориулан түгээгдсэн <application>Kerberos</application>-ийг + хэрхэн тохируулах гарын авлага болгон ашиглаж болно. Гэхдээ та тохирох гарын авлагын + хуудаснуудаас бүрэн тайлбарын талаар лавлах хэрэгтэй.</para> + + <para><application>Kerberos</application>-ийн суулгацыг үзүүлэх зорилгоор + төрөл бүрийн нэрийн талбарууд дараах байдлаар зохицуулагдана:</para> + + <itemizedlist> + <listitem> + <para><acronym>DNS</acronym> домен (<quote>бүс</quote>) + нь example.org байна.</para> + </listitem> + + <listitem> + <para><application>Kerberos</application> хүрээ нь + EXAMPLE.ORG байна.</para> + </listitem> + </itemizedlist> + + <note> + <para>Хэрэв та дотооддоо ажиллуулах бодолтой байсан ч гэсэн <application>Kerberos</application>-ийг + суулгаж тохируулахдаа жинхэнэ домены нэрүүдийг ашиглана уу. Энэ нь + <acronym>DNS</acronym>-ийн асуудлуудыг тойрон гарч + бусад <application>Kerberos</application> хүрээнүүдтэй хийх + хоорондын үйлдлийг баталгаажуулдаг.</para> + </note> + + <sect2> + <title>Түүх</title> + <indexterm> + <primary>Kerberos5</primary> + <secondary>түүх</secondary> + </indexterm> + + <para><application>Kerberos</application>-ийг <acronym>MIT</acronym> + анх сүлжээний аюулгүй байдлын асуудлуудын шийдэл болгож хийсэн. + <application>Kerberos</application> протокол нь хүчирхэг криптографыг + ашигладаг бөгөөд клиент нь аюултай сүлжээний холболтоор өөрийгөө хэн бэ гэдгийг + серверт (болон эсрэгээр) баталж чадах боломжийг олгодог.</para> + + <para><application>Kerberos</application> нь сүлжээний танин шалгах + протоколын нэрээс гадна програмыг (жишээ нь <application>Kerberos</application> + телнет) шийдвэрлэж байгаа програмуудыг тайлбарласан тайлбар бас болдог. + Протоколын одоогийн хувилбар нь 5 бөгөөд <acronym>RFC</acronym> 1510-д + тайлбарласан байдаг.</para> + + <para>Өргөн хүрээний үйлдлийн системүүдийг хамарсан энэ протоколын хэд хэдэн чөлөөтэй + шийдлүүд байдаг. <application>Kerberos</application> анх хөгжүүлэгдсэн + Массачусетсийн Технологийн Институт (<acronym>MIT</acronym>) нь + өөрийн <application>Kerberos</application> багцыг хөгжүүлсээр байна. + Энэ багц нь <acronym>US</acronym>-д криптограф бүтээгдэхүүн болж нийтлэг + хэрэглэгддэг бөгөөд энэ нь түүхээс авч үзэхэд <acronym>US</acronym>-ын + экспортын дүрэм журмуудаас болсон юм. <acronym>MIT</acronym> + <application>Kerberos</application> нь порт + (<filename role="package">security/krb5</filename>) хэлбэрээр байдаг. + Heimdal <application>Kerberos</application> нь өөр шийдлийн 5-р + хувилбар бөгөөд экспортын дурэм журмуудыг тойрон гарах зорилгоор + <acronym>US</acronym>-ээс гадна хамааралгүйгээр хөгжүүлэгдсэн ( + бөгөөд ихэвчлэн арилжааны бус &unix; төрлүүдэд орсон байдаг) юм. + Heimdal <application>Kerberos</application> түгээлт нь + порт (<filename role="package">security/heimdal</filename>) + хэлбэрээр байдаг бөгөөд үүний хамгийн бага суулгац үндсэн &os; суулгацад + орсон байдаг.</para> + + <para>Аль болох олон үзэгчдийг хамрахын тулд эдгээр зааврууд нь &os;-д орсон + Heimdal түгээлтийг ашиглаж байна гэж тооцдог.</para> + + </sect2> + + <sect2> + <title>Heimdal <acronym>KDC</acronym> суулгаж тохируулах</title> + <indexterm> + <primary>Kerberos5</primary> + <secondary>Түлхүүр Түгээх Төв</secondary> + </indexterm> + + <para>Түлхүүр Түгээх Төв (<acronym>KDC</acronym>) нь + <application>Kerberos</application>-ийн хангадаг төвлөрсөн нэвтрэлт таних + үйлчилгээ юм — энэ нь <application>Kerberos</application> + тасалбарууд өгдөг компьютер юм. <acronym>KDC</acronym> нь + <application>Kerberos</application> хүрээний бусад бүх компьютерүүдэд + <quote>итгэгдсэн</quote> гэж тооцогддог бөгөөд аюулгүй байдлын санаа зовнилыг + дээшлүүлдэг.</para> + + <para><application>Kerberos</application> серверийг ажиллуулж байхад маш цөөн тооцооллын + эх үүсвэрийг шаарддаг боловч аюулгүй байдлын шалтгаанаас болоод зөвхөн + <acronym>KDC</acronym> болон ажиллах тусдаа зориулагдсан машинтай байхыг + зөвлөдгийг санаарай.</para> + + <para><acronym>KDC</acronym>-г тохируулж эхлэхдээ таны + <filename>/etc/rc.conf</filename> файлд <acronym>KDC</acronym> + болж ажиллах зөв тохиргоо хийгдсэн эсэхийг шалгаарай (өөрийн системийн хувьд + та замуудыг өөрчлөх хэрэгтэй байж болох юм):</para> + + <programlisting>kerberos5_server_enable="YES" +kadmind5_server_enable="YES"</programlisting> + + <para>Дараа нь бид таны <application>Kerberos</application> тохиргооны + файл <filename>/etc/krb5.conf</filename>-г тохируулна:</para> + + <programlisting>[libdefaults] + default_realm = EXAMPLE.ORG +[realms] + EXAMPLE.ORG = { + kdc = kerberos.example.org + admin_server = kerberos.example.org + } +[domain_realm] + .example.org = EXAMPLE.ORG</programlisting> + + <para>Энэ <filename>/etc/krb5.conf</filename> файл нь + таны <acronym>KDC</acronym> нь бүрэн баталгаажсан хостын нэр + <hostid role="fqdn">kerberos.example.org</hostid>-тэй байна + гэж үзэж байгааг санаарай. Хэрэв таны <acronym>KDC</acronym> өөр + хостын нэртэй бол та өөрийн бүсийн файлдаа CNAME (alias)-ийг нэмэх + хэрэгтэй.</para> + + <note> + <para>Зөв тохируулсан <acronym>BIND</acronym> <acronym>DNS</acronym> + сервер бүхий том сүлжээнүүдэд өмнөх жишээ нь:</para> + + <programlisting>[libdefaults] + default_realm = EXAMPLE.ORG</programlisting> + + <para>болж дараах мөрүүдийг <hostid role="fqdn">example.org</hostid> + бүсийн файлд нэмж цэгцэлж болно:</para> + + <programlisting>_kerberos._udp IN SRV 01 00 88 kerberos.example.org. +_kerberos._tcp IN SRV 01 00 88 kerberos.example.org. +_kpasswd._udp IN SRV 01 00 464 kerberos.example.org. +_kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org. +_kerberos IN TXT EXAMPLE.ORG</programlisting></note> + + <note> + <para><application>Kerberos</application> үйлчилгээнүүдийг хэрэглэгчдэд + хүртээмжтэй болгохын тулд та эсвэл бүрэн тохируулсан <filename>/etc/krb5.conf</filename> + файлтай эсвэл хамгийн багаар тохируулсан <filename>/etc/krb5.conf</filename> + файл <emphasis>болон</emphasis> зөв тохируулсан DNS сервертэй байх + <emphasis>ёстой</emphasis>.</para> + </note> + + <para>Дараа нь бид <application>Kerberos</application> мэдээллийн бааз + үүсгэнэ. Энэ мэдээллийн бааз нь мастер нууц үгээр шифрлэсэн бүх удирдагчдын + түлхүүрүүдийг агуулдаг. Та энэ нууц үгийг тогтоох шаардлагагүй, энэ нь + файлд (<filename>/var/heimdal/m-key</filename>) хадгалагдах болно. + Мастер түлхүүр үүсгэхийн тулд <command>kstash</command> тушаалыг + ажиллуулж нууц үгээ оруулаарай.</para> + + <para>Мастер түлхүүр үүсгэгдсэний дараа та мэдээллийн баазыг + <command>kadmin</command> програмыг <literal>-l</literal> + тохируулгатай (<quote>локал</quote> гэсэн утгатай) ашиглан эхлүүлж болно. + Энэ тохируулга нь <command>kadmin</command>-д мэдээллийн баазын + файлыг <command>kadmind</command> сүлжээний үйлчилгээгээр + дамжилгүйгээр шууд өөрчлөхийг заадаг. Энэ нь мэдээллийн бааз үүсэхээс + өмнө түүн уруу хандахыг оролдох асуудлыг (яг л өндөг, тахианы аль нь түрүүлж гарсан + гэж маргадаг тэр асуудлын адил) зохицуулдаг. <command>kadmin</command> + хүлээх мөртэй болсныхоо дараа та өөрийн хүрээнүүдийн эхний мэдээллийн санг + <command>init</command> тушаал ашиглан үүсгээрэй.</para> + + <para>Эцэст нь <command>kadmin</command>-ы горимд байхдаа өөрийн + эхний удирдагчийг <command>add</command> тушаал ашиглан үүсгээрэй. + Одоохондоо удирдагчийн хувьд анхдагч тохируулгуудыг сонгоорой, та + тэдгээрийг сүүлд нь <command>modify</command> тушаал ашиглан + өөрчилж чадна. Та аль ч тушаал хүлээх мөрөнд <literal>?</literal> + тушаал ашиглаж байгаа боломжит тохируулгуудыг харж болохыг + санаарай.</para> + + <para>Мэдээллийн сан үүсгэлтийн жишээ сесс доор байна:</para> + + <screen>&prompt.root; <userinput>kstash</userinput> +Master key: <userinput>xxxxxxxx</userinput> +Verifying password - Master key: <userinput>xxxxxxxx</userinput> + +&prompt.root; <userinput>kadmin -l</userinput> +kadmin> <userinput>init EXAMPLE.ORG</userinput> +Realm max ticket life [unlimited]: +kadmin> <userinput>add tillman</userinput> +Max ticket life [unlimited]: +Max renewable life [unlimited]: +Attributes []: +Password: <userinput>xxxxxxxx</userinput> +Verifying password - Password: <userinput>xxxxxxxx</userinput></screen> + + <para>Одоо <acronym>KDC</acronym> үйлчилгээнүүдийг эхлүүлэх цаг болжээ. + Үйлчилгээнүүдйиг эхлүүлэхдээ <command>/etc/rc.d/kerberos start</command> болон + <command>/etc/rc.d/kadmind start</command> тушаалуудыг + ажиллуулна. Энэ үед танд ямар ч kerberos хийгдсэн демон байхгүйг санаарай, + гэхдээ та <acronym>KDC</acronym>-ийн өөрийнх нь тушаалын мөрөөс үүсгэсэн удирдагчид + (хэрэглэгч) зориулсан тасалбарыг авч жагсаан <acronym>KDC</acronym>-г ажиллаж байгаа + гэдгийг та баталж чадаж байх ёстой:</para> + + <screen>&prompt.user; <userinput>kinit <replaceable>tillman</replaceable></userinput> +tillman@EXAMPLE.ORG's Password: + +&prompt.user; <userinput>klist</userinput> +Credentials cache: FILE:<filename>/tmp/krb5cc_500</filename> + Principal: tillman@EXAMPLE.ORG + + Issued Expires Principal +Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG</screen> + + <para>Та дууссаныхаа дараа тасалбарыг буцааж болно:</para> + + <screen>&prompt.user; <userinput>k5destroy</userinput></screen> + </sect2> + + <sect2> + <title>Серверийг <application>Kerberos</application> хийн Heimdal үйлчилгээнүүдтэй + идэвхжүүлэх</title> + + <indexterm> + <primary>Kerberos5</primary> + <secondary>үйлчилгээнүүдийг идэвхжүүлэх</secondary> + </indexterm> + + <para>Эхлээд бидэнд <application>Kerberos</application>-ийн тохиргооны + файл <filename>/etc/krb5.conf</filename>-ийн хуулбар хэрэг болно. + Ингэхийн тулд <acronym>KDC</acronym>-ээс түүнийг аюулгүй аргаар + (&man.scp.1; зэрэг сүлжээний хэрэгслүүд эсвэл физикээр уян диск ашиглан) + клиент компьютер уруу ердөө л хуулах хэрэгтэй.</para> + + <para>Дараа нь танд <filename>/etc/krb5.keytab</filename> файл + хэрэгтэй. Энэ нь <application>Kerberos</application> хийгдсэн + демонууд бүхий сервер болон ажлын станц хоёрын гол ялгаа юм — + сервер нь <filename>keytab</filename> файлтай байх шаардлагатай. + Энэ файл нь өөрийг нь зөвшөөрдөг серверийн хост түлхүүр болон өөрсдийнхөө + нэрийг (identity) шалгах <acronym>KDC</acronym>-г агуулдаг. + Хэрэв түлхүүр нь нийтэд мэдэгдвэл серверийн аюулгүй байдал эвдэрч болох учир + энэ нь сервер уруу аюулгүйн үүднээс дамжуулагдах ёстой. Энэ нь шууд утгаараа + <acronym>FTP</acronym> зэрэг цэвэр текст сувгаар дамжуулах нь маш буруу + гэсэн үг юм.</para> + + <para>Ихэвчлэн сервер уруу <filename>keytab</filename> файлыг + <command>kadmin</command> тушаал ашиглан дамжуулдаг. + Энэ нь тохиромжтой байдаг бөгөөд учир нь та бас хостын удирдагчыг + (<filename>krb5.keytab</filename> файлын <acronym>KDC</acronym> + төгсгөл) <command>kadmin</command> тушаал ашиглан үүсгэх хэрэгтэй + болдог.</para> + + <para>Та тасалбарыг аль хэдийн авсан байх ёстой бөгөөд энэ тасалбар нь + <filename>kadmind.acl</filename> файлын <command>kadmin</command> + интерфэйсийг ашиглаж болохоор зөвгөөрөгдсөн байх ёстойг санаарай. + Heimdal-ийн мэдээллийн хуудаснуудын (<command>info heimdal</command>) + <quote>Алсын удирдлага</quote> гэсэн гарчигтай хэсгээс хандалт хянах жагсаалтуудыг + дизайн хийх талаар дэлгэрэнгүйг үзнэ үү. Хэрэв та алсын <command>kadmin</command> + хандалтыг идэвхжүүлэхийг хүсэхгүй байгаа бол та <acronym>KDC</acronym> уруу + ердөө л аюулгүйгээр холбогдож (локал консолиор, &man.ssh.1; эсвэл + <application>Kerberos</application> &man.telnet.1;) удирдлагыг локалиар + өөр дээрээсээ <command>kadmin -l</command> тушаал ашиглан хийж болно.</para> + + <para><filename>/etc/krb5.conf</filename> файлыг суулгасны дараа та + <application>Kerberos</application> серверээс <command>kadmin</command> + тушаалыг ашиглаж болно. <command>add --random-key</command> тушаал нь + серверийн хост удирдагчийг нэмэх боломжийг танд олгох бөгөөд <command>ext</command> + тушаал нь серверийн хост удирдагчийг өөрийн keytab уруу задлах боломжийг танд олгоно. + Жишээ нь:</para> + + <screen>&prompt.root; <userinput>kadmin</userinput> +kadmin><userinput> add --random-key host/myserver.example.org</userinput> +Max ticket life [unlimited]: +Max renewable life [unlimited]: +Attributes []: +kadmin><userinput> ext host/myserver.example.org</userinput> +kadmin><userinput> exit</userinput></screen> + + <para><command>ext</command> тушаал нь (<quote>extract</quote> гэдгийг + богиноор илэрхийлнэ) задалсан түлхүүрийг анхдагчаар <filename>/etc/krb5.keytab</filename> + файлд хадгалдаг.</para> + + <para>Хэрэв таны хувьд <acronym>KDC</acronym> дээр <command>kadmind</command> + ажиллахгүй байгаа бөгөөд (магадгүй аюулгүй байдлын шалтгаануудаас болоод) + тэгээд <command>kadmin</command> уруу алсаас хандах боломжгүй бол та + хост удирдагчийг (<username>host/myserver.EXAMPLE.ORG</username>) + шууд <acronym>KDC</acronym> дээр нэмж дараа нь доорхтой адилаар түүнийг түр + зуурын файл уруу (<acronym>KDC</acronym> дээрх + <filename>/etc/krb5.keytab</filename> файлыг дарж бичихээс сэргийлж) + задалж болно:</para> + + <screen>&prompt.root; <userinput>kadmin</userinput> +kadmin><userinput> ext --keytab=/tmp/example.keytab host/myserver.example.org</userinput> +kadmin><userinput> exit</userinput></screen> + + <para>Та дараа нь keytab-ийг аюулгүйгээр (жишээ нь <command>scp</command> эсвэл + уян диск ашиглан) сервер компьютер уруу хуулж болно. <acronym>KDC</acronym> + дээрх keytab-ийг дарж бичихээс сэргийлж keytab нэрийг анхдагч бишээр зааж өгсөн + эсэхээ шалгаарай.</para> + + <para>Энэ мөчид хүрэх үед таны сервер <acronym>KDC</acronym>-тэй + (<filename>krb5.conf</filename> файлтай учраас) холбогдож чадах бөгөөд + (<filename>krb5.keytab</filename> файлтай учраас) өөрийгөө таниулан баталж + чадна. Одоо та зарим нэг <application>Kerberos</application> үйлчилгээнүүдийг + идэвхжүүлэхэд бэлэн болжээ. Энэ жишээн дээр бид <command>telnet</command> + үйлчилгээг <filename>/etc/inetd.conf</filename> файлд доорхтой төстэй + мөрийг оруулан идэвхжүүлж дараа нь &man.inetd.8; үйлчилгээг + <command>/etc/rc.d/inetd restart</command> тушаалын тусламжтай + дахин ачаалах болно:</para> + + <programlisting>telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user</programlisting> + + <para>Хамгийн чухал нь <command>-a</command> төрөл (нэвтрэлт танихад) + хэрэглэгчид тохируулагдсан. Илүү дэлгэрэнгүйг &man.telnetd.8; гарын + авлагын хуудаснаас лавлана уу.</para> + + </sect2> + + <sect2> + <title>Клиентийг <application>Kerberos</application> хийн Heimdal үйлчилгээтэйгээр идэвхжүүлэх</title> + + <indexterm> + <primary>Kerberos5</primary> + <secondary>клиентүүдийг тохируулах</secondary> + </indexterm> + + <para>Клиент компьютерийг тохируулах нь маш амархан. + <application>Kerberos</application> тохиргоо хийгдсэний дараа танд зөвхөн + <filename>/etc/krb5.conf</filename>-д байрлах + <application>Kerberos</application> тохиргооны файл хэрэгтэй. + Үүнийг ердөө л аюулгүйгээр клиент компьютер уруу <acronym>KDC</acronym>-ээс + хуулна.</para> + + <para>Клиентээсээ <command>kinit</command>, <command>klist</command>, болон + <command>kdestroy</command> тушаалуудыг үүсгэсэн удирдагчийнхаа хувьд + тасалбар олж авах, үзүүлэх, болон дараа нь устгахад ашиглахыг оролдон клиент + компьютераа тест хийгээрэй. Та <application>Kerberos</application> + програмуудыг ашиглан <application>Kerberos</application> хийгдсэн + серверүүд уруу холбогдож чадах ёстой бөгөөд хэрэв ингэж ажиллаж болохгүй байгаа + бөгөөд тасалбар олж авах нь асуудалтай байгаа бол энэ нь клиент эсвэл + <acronym>KDC</acronym>-тэй холбоотой биш сервертэй холбоотой + асуудал юм.</para> + + <para><command>telnet</command> зэрэг програмыг тест хийж байх үед + таны нууц үг цэвэр текстээр бишээр илгээгдэж байгааг шалгахын тулд пакет + шиншлэгч (&man.tcpdump.1; зэрэг) ашиглаад үзээрэй. + <command>telnet</command>-ийг бүх өгөгдлийн урсгалыг шифрлэдэг + (<command>ssh</command>-тэй адил) <literal>-x</literal> тохируулгатай + ашиглахыг оролдоорой.</para> + + <para>Төрөл бүрийн гол биш <application>Kerberos</application> клиент + програмууд нь бас анхдагчаар суудаг. Энэ нь үндсэн Heimdal суулгацын + <quote>хамгийн бага</quote> мөн чанар юм: <command>telnet</command> + нь цорын ганц <application>Kerberos</application> хийгдсэн үйлчилгээ + юм.</para> + + <para>Heimdal порт нь зарим нэг дутуу програмуудыг нэмдэг: + <command>ftp</command>, <command>rsh</command>, + <command>rcp</command>, <command>rlogin</command> болон + бусад цөөн хэдэн нийтлэг биш програмуудын <application>Kerberos</application> + хийгдсэн хувилбаруудыг нэмдэг. <acronym>MIT</acronym> порт нь бас + <application>Kerberos</application> клиент програмуудын бүрэн цуглуулгыг + агуулдаг.</para> + + </sect2> + + <sect2> + <title>Хэрэглэгчийн тохиргооны файлууд: <filename>.k5login</filename> болон <filename>.k5users</filename></title> + + <indexterm> + <primary><filename>.k5login</filename></primary> + </indexterm> + + <indexterm> + <primary><filename>.k5users</filename></primary> + </indexterm> + + <para>Хүрээн дэх хэрэглэгчийн хувьд ихэнхдээ өөрсдийнх нь <application>Kerberos</application> + удирдагчийг (<username>tillman@EXAMPLE.ORG</username> зэрэг) + локал хэрэглэгчийн бүртгэлд (<username>tillman</username> зэрэг локал бүртгэл) + харгалзуулж өгсөн байдаг. <command>telnet</command> зэрэг клиент + програмууд ихэвчлэн хэрэглэгчийн нэр эсвэл удирдагчийг шаарддаггүй.</para> + + <para>Гэхдээ хааяа нэг та харгалзах <application>Kerberos</application> + удирдагчгүй хэн нэгэнд зориулж локал хэрэглэгчийн бүртгэлд хандах хандалтыг + өгөхийг хүсэж болох юм. Жишээ нь <username>tillman@EXAMPLE.ORG</username> + магадгүй локал хэрэглэгчийн бүртгэл <username>webdevelopers</username>-д + хандах хандалт хэрэгтэй байж болох юм. Бусад удирдагчид бас энэ локал бүртгэлд хандах + хэрэгтэй байж болох юм.</para> + + <para><filename>.k5login</filename> болон <filename>.k5users</filename> + файлууд нь хэрэглэгчдийн гэрийн сангуудад байрладаг бөгөөд + <filename>.hosts</filename> болон <filename>.rhosts</filename> + файлуудын хүчирхэг хослолын нэгэн адилаар энэ асуудлыг шийдэн ашиглагдаж болох юм. + Жишээ нь хэрэв <filename>.k5login</filename> нь дараах агуулгатайгаар:</para> + + <screen>tillman@example.org +jdoe@example.org</screen> + + <para>локал хэрэглэгч <username>webdevelopers</username>-ийн гэр санд + байрлаж байвал энд жагсаагдсан хоёр удирдагч хоюулаа хуваалцсан нууц үгийн шаардлагагүйгээр + тэр бүртгэл уруу хандах хандалттай болох юм.</para> + + <para>Эдгээр тушаалуудын гарын авлагын хуудаснуудыг уншихыг зөвлөж байна. + <command>ksu</command> гарын авлагын хуудас <filename>.k5users</filename> + файлын тухай тайлбарладгийг тэмдэглэх нь зүйтэй юм.</para> + + </sect2> + + <sect2> + <title><application>Kerberos</application>-той холбоотой арга, зальнууд болон алдааг олж засварлах</title> + + <indexterm> + <primary>Kerberos5</primary> + <secondary>алдааг олж засварлах</secondary> + </indexterm> + + <itemizedlist> + <listitem> + <para>Heimdal эсвэл <acronym>MIT</acronym> + <application>Kerberos</application> портууд ашиглах үед + таны <envar>PATH</envar> орчны хувьсагч + клиентийн програмуудын <application>Kerberos</application> + хувилбаруудыг системийн хувилбаруудаас өмнө жагсаасан байхыг + шаарддаг.</para> + </listitem> + + <listitem> + <para>Таны хүрээний бүх компьютерүүд цагийн тохиргоонуудаа адилаар + тохируулсан уу? Хэрэв үгүй бол нэвтрэлт танилт амжилтгүй болж + болох юм. <xref linkend="network-ntp"> нь + <acronym>NTP</acronym> ашиглан цагийг хамгийн сүүлийн + хэлбэрт аваачиж адил болгож тохируулах талаар тайлбарладаг.</para> + </listitem> + + <listitem> + <para><acronym>MIT</acronym> болон Heimdal нь хоорондоо сайн + ажилладаг. <command>kadmin</command>-аас бусад талаараа + сайн ажилладаг, учир нь энэ програмын протокол стандартчилагдаагүй.</para> + </listitem> + + <listitem> + <para>Та хэрэв өөрийн хостын нэрийг өөрчилбөл бас өөрийн <username>host/</username> + удирдагчийг өөрчилж өөрийн keytab-ийг шинэчлэх хэрэгтэй. Энэ нь бас + Апачигийн <filename role="package">www/mod_auth_kerb</filename>-д + хэрэглэгддэг <username>www/</username> удирдагч зэрэг тусгай keytab + оруулгуудад хамаатай юм.</para> + </listitem> + + <listitem> + <para>Таны хүрээний бүх хостууд <acronym>DNS</acronym>-д (эсвэл + хамгийн багадаа <filename>/etc/hosts</filename>-ийн хувьд) танигдаж + (урагш болон эсрэгээр танигдаж) байх ёстой. CNAME-үүд ажиллах боловч A болон PTR + бичлэгүүд зөв бөгөөд байрандаа байж байх ёстой. Алдааны мэдэгдэл нь + тийм ч ойлгогдохоор байдаггүй, жишээ нь: <errorname>Kerberos5 + refuses authentication because Read req + failed: Key table entry not found буюу орчуулбал + Унших Req амжилтгүй болсон болохоор Kerberos5 нь нэвтрэлт танилтаас + татгалзаж байна</errorname>.</para> + </listitem> + + <listitem> + <para>Таны <acronym>KDC</acronym>-ийн хувьд магадгүй клиент маягаар + харьцаж байгаа зарим үйлдлийн системүүд setuid + <username>root</username> болохын тулд <command>ksu</command> + тушаалд зөвшөөрлүүдийг тохируулдаггүй. Энэ нь <command>ksu</command> + ажиллахгүй гэсэн үг бөгөөд аюулгүй байдлын хувьд сайн боловч залхаамаар + байдаг. Энэ нь <acronym>KDC</acronym>-ийн алдаа биш юм.</para> + </listitem> + + <listitem> + <para><acronym>MIT</acronym> + <application>Kerberos</application>-той байхад хэрэв та + анхдагч 10 цагаас арай урт амьдрах хугацаа бүхий тасалбартай удирдагчийг + зөвшөөрөхийг хүсвэл <command>kadmin</command> дээр + <command>modify_principal</command> тушаал ашиглан + өөрчлөхийг хүссэн удирдагч болон <username>krbtgt</username> + удирдагчийн maxlife-ийг өөрчлөх шаардлагатай. Дараа нь + удирдагч <literal>-l</literal> тохируулгыг + <command>kinit</command>-тай ашиглаж илүү урт амьдрах хугацаатай + тасалбарыг авах хүсэлт илгээж болох юм.</para> + </listitem> + + <listitem> + <note><para>Хэрэв та өөрийн <acronym>KDC</acronym> дээр + алдааг олж засварлахын тулд пакет шиншлэгч ажиллуулж дараа нь + ажлын станцаасаа <command>kinit</command>-ийг ажиллуулахад + <command>kinit</command>-ийг ажилласан даруй + таны <acronym>TGT</acronym> илгээгдэхийг + — таныг бүр нууц үгээ бичихээс өмнө та харах болно! + Үүний тайлбар нь <application>Kerberos</application> + сервер чөлөөтэйгээр <acronym>TGT</acronym>-ийг (Ticket Granting + Ticket буюу Тасалбар Баталгаажуулах Тасалбар) ямар ч танигдаагүй + хүсэлтэд дамжуулдаг; гэхдээ <acronym>TGT</acronym> бүр + хэрэглэгчийн нууц үгээс гарсан түлхүүр болон шифрлэгдсэн байдаг. + Тийм болохоор хэрэглэгч өөрсдийн нууц үгийг бичихэд + тэр нь <acronym>KDC</acronym> уруу илгээгддэггүй бөгөөд + харин <command>kinit</command>-ийн аль хэдийн олж авсан + <acronym>TGT</acronym>-г буцааж шифрлэхэд (decrypt) + ашиглагддаг. Хэрэв буцааж шифрлэх процесс хүчинтэй хугацаа бүхий + хүчинтэй тасалбарыг гаргаж авбал хэрэглэгч хүчинтэй + <application>Kerberos</application> итгэмжлэлүүдтэй + байна. Эдгээр итгэмжлэлүүд нь ирээдүйд + <application>Kerberos</application> сервертэй аюулгүй холболтууд + хийхэд зориулагдсан сессийн түлхүүр болон бас <application>Kerberos</application> + серверийн өөрийнх нь түлхүүрээр шифрлэгдсэн тасалбар-баталгаажуулах + тасалбарыг агуулдаг. Шифрлэлтийн хоёр дахь давхарга нь хэрэглэгчид + мэдэгддэггүй, гэхдээ энэ нь <acronym>TGT</acronym> бүрийн + жинхэнийг шалгахыг <application>Kerberos</application> + серверт зөвшөөрч байгаа тэр зүйл юм.</para></note> + </listitem> + + <listitem> + <para>Хэрэв та урт амьдрах хугацаатай (жишээ нь долоо хоног) тасалбар ашиглахыг + хүсэж байгаа бөгөөд та тасалбар хадгалагдаж байгаа машин уруу + <application>OpenSSH</application> ашиглан холбогдож байгаа бол + <application>Kerberos</application> + <option>TicketCleanup</option> тохируулга <literal>no</literal> + гэж <filename>sshd_config</filename> тохиргооны файлд байгаа эсэхийг + шалгаарай, тэгэхгүй бол таны тасалбарууд таныг гарах үед устгагдах + болно.</para> + </listitem> + + <listitem> + <para>Хостын удирдагчид илүү урт амьдрах хугацаатай тасалбартай бас байж болно + гэдгийг санаарай. Хэрэв таны хэрэглэгчийн удирдагч долоо хоног амьдрах хугацаатай + бөгөөд гэхдээ таны холбогдож байгаа хост 9 цаг амьдрах хугацаатай бол + та кэшдээ хугацаа нь дууссан хостын удирдагчтай болж тасалбарын кэш + хүссэнээр ажиллахгүй болох болно.</para> + </listitem> + + <listitem> + <para>Тусгайлсан муу нууц үгүүдийг ашиглуулахгүйн тулд (<command>kadmind</command> + тушаалын гарын авлагын хуудас үүнийг товчхон тайлбарладаг) + <filename>krb5.dict</filename> файлыг тохируулахдаа + нууц үгийн бодлого тавигдсан удирдагчдад энэ нь зөвхөн хамаатайг санах + хэрэгтэй. <filename>krb5.dict</filename> файлуудын хэлбэр + хялбар байдаг: нэг мөрт нэг үг (string) байна. <filename>/usr/share/dict/words</filename> + симболын холбоос үүсгэх нь ашигтай байж болох юм.</para> + </listitem> + </itemizedlist> + + </sect2> + + <sect2> + <title><acronym>MIT</acronym> портоос ялгаатай талууд</title> + + <para><acronym>MIT</acronym> болон Heimdal суулгацуудын гол ялгаа нь + өөр (гэхдээ орлуулж болох) тушаалууд болон өөр протоколууд ашигладаг + <command>kadmin</command> програмтай холбоотой юм. + Хэрэв таны <acronym>KDC</acronym> нь <acronym>MIT</acronym> бол + та Heimdal <command>kadmin</command> програмыг ашиглаж өөрийн + <acronym>KDC</acronym>-г алсаас (эсвэл эсрэг чиглэлд энэ + зорилгоор) удирдаж чадахгүй болдог учир энэ нь их хамаатай юм.</para> + + <para>Клиент програмууд нь бас шал өөр өөр тушаалын мөрийн тохируулгууд авч + адил үүргийг гүйцэтгэж болох юм. <acronym>MIT</acronym> + <application>Kerberos</application> веб сайт + (<ulink url="http://web.mit.edu/Kerberos/www/"></ulink>) дээрх заавруудыг + дагахыг зөвлөж байна. Замын асуудлуудаас болгоомжлоорой: + <acronym>MIT</acronym> порт нь анхдагчаар <filename>/usr/local/</filename> + уруу суудаг бөгөөд хэрэв таны <envar>PATH</envar> орчны хувьсагч системийн + сангуудыг эхлээд жагсаадаг бол <quote>жирийн</quote> системийн програмууд + <acronym>MIT</acronym>-ийн оронд ажиллаж болохыг санаарай.</para> + + <note><para><command>telnetd</command> болон <command>klogind</command>-ээр + нэвтрэх нэвтрэлтүүд нэг л хачин байдаг тэр шалтгааныг ойлгохыг хүсвэл &os;-ийн хангадаг + <acronym>MIT</acronym> <filename role="package">security/krb5</filename> портын + суулгасан <filename>/usr/local/share/doc/krb5/README.FreeBSD</filename> + файлыг унших хэрэгтэй. Хамгийн чухал нь + <quote>кэш файл дахь буруу зөвшөөрлүүд</quote>ийг зөв болгох нь + дамжуулагдсан итгэмжлүүдийн эзэмшилтийг зөвөөр солих <command>login.krb5</command> + хоёртын файлыг нэвтрэлт танилтанд ашиглахыг шаарддаг.</para></note> + + <para><filename>rc.conf</filename> файл дараах тохиргоог агуулж засварлагдсан + байх бас шаардлагатай:</para> + + <programlisting>kerberos5_server="/usr/local/sbin/krb5kdc" +kadmind5_server="/usr/local/sbin/kadmind" +kerberos5_server_enable="YES" +kadmind5_server_enable="YES"</programlisting> + + <para><acronym>MIT</acronym> керберосд зориулсан програмууд + <filename role="directory">/usr/local</filename> санд хоёртын файлуудыг + суулгадаг болохоор ингэж хийгддэг.</para> + </sect2> + + <sect2> + <title><application>Kerberos</application> дахь хязгааруудыг багасгах</title> + + <indexterm> + <primary>Kerberos5</primary> + <secondary>хязгаарууд болон дутагдалууд</secondary> + </indexterm> + + <sect3> + <title><application>Kerberos</application> нь бүгдийг эсвэл юуг ч биш гэсэн арга юм</title> + + <para>Сүлжээнд идэвхжүүлэгдсэн үйлчилгээ бүр <application>Kerberos</application>-тэй + ажиллахаар засварлагдсан (эсвэл сүлжээний халдлагуудын эсрэг аюулгүй + байдлыг хангасан) байх шаардлагатай, тэгэхгүй бол хэрэглэгчдийн + итгэмжлэлүүд хулгайлагдаж дахин ашиглагдаж болох юм. Үүний нэг жишээ нь + бүх алсын бүрхүүлүүдийг (жишээ нь <command>rsh</command> болон + <command>telnet</command>) <application>Kerberos</application> хийн + идэвхжүүлсэн мөртлөө нууц үгүүдийг цэвэр текстээр илгээдэг <acronym>POP3</acronym> + захидлын серверийг тэгж хувиргахгүй байх явдал юм.</para> + + </sect3> + + <sect3> + <title><application>Kerberos</application> нь ганц хэрэглэгчийн ажлын станцуудад зориулагдсан</title> + + <para>Олон хэрэглэгчийн орчинд <application>Kerberos</application> нь + тийм ч аюулгүй биш юм. Энэ нь тасалбаруудыг бүх хэрэглэгчийн хувьд уншигдаж + болох <filename>/tmp</filename> санд хадгалдаг учраас тэр юм. + Хэрэв хэрэглэгч компьютераа хэд хэдэн бусад хүмүүстэй зэрэг харилцан хуваалцаж + байвал (өөрөө хэлбэл олон-хэрэглэгч) хэрэглэгчийн тасалбаруудыг өөр хэрэглэгч + хулгайлах (хуулан авах) боломжтой юм.</para> + + <para>Үүнийг <literal>-c</literal> файлын нэрийн тушаалын мөрийн тохируулгатай + эсвэл (илүү зохимжтой) <envar>KRB5CCNAME</envar> орчны хувьсагчтайгаар + даван гарч болох юм, гэхдээ ингэх нь их ховор байдаг. Зарчмын хувьд + тасалбарыг хэрэглэгчдийн гэр санд хадгалж хялбар файлын зөвшөөрлүүдийг ашиглах нь + энэ асуудлыг багасгадаг.</para> + + </sect3> + + <sect3> + <title>KDC нь амжилтгүйтэлийн ганц цэг</title> + + <para>Дизайнаараа бол <acronym>KDC</acronym> нь мастер нууц үгийн + мэдээллийн баазаас тогтох бөгөөд түүний нэгэн адил аюулгүй байх ёстой. + <acronym>KDC</acronym> нь үүн дээр өөр ямар ч үйлчилгээнүүд + ажиллуулсан байх ёсгүй бөгөөд физикээр аюулгүй байдлыг нь + хангасан байх шаардлагатай. <application>Kerberos</application> + нь ижил түлхүүрээр (<quote>мастер</quote> түлхүүр) шифрлэгдсэн бүх + нууц үгүүдийг хадгалдаг бөгөөд тэр ижил түлхүүр нь эргээд + <acronym>KDC</acronym> дээр файл маягаар хадгалагддаг учраас + аюул өндөртэй байдаг.</para> + + <para>Тэмдэглэн хэлэхэд булаан эзлэгдсэн мастер түлхүүр нь хэн нэг нь айхаар + тийм ч муу биш юм. Түлхүүр үг нь зөвхөн <application>Kerberos</application> + мэдээллийн баазыг шифрлэхэд болон санамсаргүй тоо үүсгэгчийн үр болон + хэрэглэгддэг. Таны <acronym>KDC</acronym> уруу хандахад аюулгүй л + байж байвал халдагч мастер түлхүүрээр их юм хийж чадахгүй.</para> + + <para>Мөн нэмж хэлэхэд хэрэв <acronym>KDC</acronym> нь боломжгүй байвал + (магадгүй үйлчилгээ зогсоох халдлага эсвэл сүлжээний асуудлуудаас болоод) + сүлжээний үйлчилгээнүүд нь нэвтрэлт танилтыг хийж болохгүй болохоор + хэрэглэгдэх боломжгүй болох бөгөөд нэг ёсны үйлчилгээ зогсоох халдлагын рецепт + болох юм. Үүнийг олон <acronym>KDC</acronym>-тэй (нэг мастер болон + нэг буюу хэд хэдэн боолууд) болон хоёрдогч эсвэл нэмэлт, эцсийн нэвтрэлт таних + (<acronym>PAM</acronym> нь энэнд маш сайн) болгоомжтой шийдлийн + тусламжтайгаар даван гарч болох юм.</para> + + </sect3> + + <sect3> + <title><application>Kerberos</application>-ийн дутагдалууд</title> + + <para><application>Kerberos</application> нь хэрэглэгчид, хостууд болон + үйлчилгээнүүдэд өөр хоорондоо бие биенээ таниулах боломжийг олгодог. Гэхдээ энэ нь + <acronym>KDC</acronym>-г хэрэглэгчид, хостууд эсвэл үйлчилгээнүүдэд + таниулах аргагүй юм. Энэ нь троян хийгдсэн <command>kinit</command> (жишээ нь) + тушаал бүх хэрэглэгчийн нэрс болон нууц үгүүдийг бүртгэн бичиж авч болно гэсэн + үг юм. <filename role="package">security/tripwire</filename> + ч юм уу эсвэл өөр бусад файлын системийн бүрэн бүтэн байдлыг шалгах хэрэгслүүд + үүнийг арилгаж чадна.</para> + + </sect3> + </sect2> + + <sect2> + <title>Эх сурвалжууд болон нэмэлт мэдээллүүд</title> + + <indexterm> + <primary>Kerberos5</primary> + <secondary>гадаад эх сурвалжууд</secondary> + </indexterm> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.faqs.org/faqs/Kerberos-faq/general/preamble.html"> + <application>Kerberos</application>-ийн FAQ</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://web.mit.edu/Kerberos/www/dialogue.html"> + Танин шалгах системийг дизайн хийх нь: Дөрвөн үзэгдэл дэх харилцан яриа (диалог)</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.ietf.org/rfc/rfc1510.txt?number=1510">RFC 1510, + <application>Kerberos</application> Сүлжээний Танин Шалгах Үйлчилгээ + (V5)</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://web.mit.edu/Kerberos/www/"><acronym>MIT</acronym> + <application>Kerberos</application>-ийн гэр хуудас</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.pdc.kth.se/heimdal/">Heimdal + <application>Kerberos</application>-ийн гэр хуудас</ulink></para> + </listitem> + + </itemizedlist> + </sect2> + </sect1> + + <sect1 id="openssl"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Бичсэн: </contrib> + </author> + </authorgroup> + </sect1info> + <title>OpenSSL</title> + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>OpenSSL</secondary> + </indexterm> + + <para>Олон хэрэглэгчдийн хайдаг нэг боломж нь &os;-д байдаг + <application>OpenSSL</application> багаж юм. + <application>OpenSSL</application> нь ердийн холбооны давхарга + дээр шифрлэлт дамжуулах давхаргыг хангаж өгдөг; ингэснээр түүнийг сүлжээний + програмууд болон үйлчилгээнүүдтэй холбож өгөх боломжийг олгодог.</para> + + <para><application>OpenSSL</application>-ийн зарим нэг хэрэглээнд + захидлын клиентүүдийн шифрлэсэн нэвтрэлт, кредит картаар хийх төлбөрүүд гэх мэт + веб дээр тулгуурласан шилжүүлгүүд зэрэг олныг дурдаж болно. + <filename role="package">www/apache13-ssl</filename> болон + <filename role="package">mail/sylpheed-claws</filename> зэрэг + олон портууд нь <application>OpenSSL</application>-тэй бүтээх + эмхэтгэлийн дэмжлэгийг санал болгодог.</para> + + <note> + <para>Ихэнх тохиолдолд Портуудын Цуглуулга нь make хувьсагч + <makevar>WITH_OPENSSL_BASE</makevar>-ийг <quote>yes</quote> + гэж заагаагүй тохиолдолд + <filename role="package">security/openssl</filename> портыг + бүтээхийг оролддог.</para> + </note> + + <para>&os;-д орсон <application>OpenSSL</application>-ийн хувилбар нь + Secure Sockets Layer v2/v3 (SSLv2/SSLv3) буюу Аюулгүй Сокетуудын + Давхаргын v2/v3 хувилбарууд, Transport Layer Security v1 (TLSv1) буюу + Тээврийн Давхаргын Аюулгүй байдлын v1 хувилбарын сүлжээний аюулгүй байдлын + протоколуудыг дэмждэг бөгөөд ерөнхий криптограф сан болон ашиглагдаж + болох юм.</para> + + <note> + <para><application>OpenSSL</application> нь + <acronym>IDEA</acronym> алгоритмийг дэмждэг боловч Нэгдсэн Улсын + патентуудаас болоод анхдагчаар хаалттай байдаг. Үүнийг ашиглахын тулд + лицензийг шалгасан байх ёстой бөгөөд хэрэв хязгаарлалтуудыг хүлээн + авах боломжтой бол <makevar>MAKE_IDEA</makevar> хувьсагчийг + <filename>make.conf</filename> файлд заагж өгөх ёстой байдаг.</para> + </note> + + <para><application>OpenSSL</application>-ийн хамгийн түгээмэл хэрэглээний + нэг бол програм хангамжуудад зориулан ашиглах сертификатуудыг бэлдэх явдал + юм. Эдгээр сертификатууд нь компани болон хувь хүмүүсийн итгэмжлэлүүдийг + хүчинтэй бөгөөд луйврын биш гэдгийг баталгаажуулдаг. Хэрэв асуудалтай сертификат + хэд хэдэн <quote>Certificate Authorities</quote> эсвэл <acronym>CA</acronym>-ууд буюу + Сертификатын Эрх мэдэлтнүүдээр шалгагдаагүй бол ихэвчлэн анхааруулга үзүүлдэг. + Сертификатын Эрх мэдэлтэн нь <ulink url="http://www.verisign.com">VeriSign</ulink> зэрэг + компани байдаг бөгөөд компаниуд эсвэл хувь хүмүүсийн итгэмжлэлүүдийг хүчин төгөлдөр болгохын + тулд сертификатуудыг баталгаажуулж өгдөг. Энэ процесс нь өртөгтэй бөгөөд + сертификатууд ашиглахад заавал ч үгүй шаардлага болдоггүй; гэхдээ энэ нь + паранойд буюу хэт зовнисон хэрэглэгчдийн заримын санааг тайвшруулж болох юм.</para> + + <sect2> + <title>Сертификатуудыг үүсгэх нь</title> + + <indexterm> + <primary>OpenSSL</primary> + <secondary>сертификат үүсгэлт</secondary> + </indexterm> + + <para>Сертификат үүсгэхийн тулд дараах тушаал байдаг:</para> + + <screen>&prompt.root; <userinput>openssl req -new -nodes -out req.pem -keyout cert.pem</userinput> +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]:<userinput><replaceable>US</replaceable></userinput> +State or Province Name (full name) [Some-State]:<userinput><replaceable>PA</replaceable></userinput> +Locality Name (eg, city) []:<userinput><replaceable>Pittsburgh</replaceable></userinput> +Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput><replaceable>My Company</replaceable></userinput> +Organizational Unit Name (eg, section) []:<userinput><replaceable>Systems Administrator</replaceable></userinput> +Common Name (eg, YOUR name) []:<userinput><replaceable>localhost.example.org</replaceable></userinput> +Email Address []:<userinput><replaceable>trhodes@FreeBSD.org</replaceable></userinput> + +Please enter the following 'extra' attributes +to be sent with your certificate request +A challenge password []:<userinput><replaceable>SOME PASSWORD</replaceable></userinput> +An optional company name []:<userinput><replaceable>Another Name</replaceable></userinput></screen> + + <para><quote>Common Name</quote> хүлээх мөрийн дараах хариу домений + нэрийг харуулж байгааг анзаараарай. Энэ мөр нь шалгалт хийх зорилгоор + серверийн нэрийг оруулахыг шаарддаг; домен нэрээс бусдыг байрлуулах нь + ашиггүй сертификат үүсэхэд хүргэдэг. Бусал тохируулгууд, жишээ нь + дуусах хугацаа, өөр шифрлэх алгоритмууд гэх мэт тохируулгууд байдаг. + Бүрэн гүйцэд жагсаалтыг &man.openssl.1; гарын авлагын хуудсыг үзэн + авч болно.</para> + + <para>Дээрх тушаалын ажилласан санд хоёр файл одоо байж байх ёстой. + Сертификатын хүсэлт <filename>req.pem</filename> нь таны оруулсан итгэмжлэлүүдийг + хүчин төгөлдөр болгож хүсэлтийг баталгаажуулан сертификатыг танд буцаах сертификатын + эрх мэдэлтэн уруу илгээгдэж болно. Үүсгэгдсэн хоёр дахь файл нь + <filename>cert.pem</filename> гэж нэрлэгдэн сертификатын хувийн түлхүүр + болох бөгөөд ямар ч байсан гэсэн хамгаалагдсан байх ёстой; хэрэв энэ нь + бусдын гарт орох юм бол таны (эсвэл таны серверийн) дүрд тоглон ашиглагдаж болох + юм.</para> + + <para><acronym>CA</acronym>-с гарын үсэг шаарддаггүй тохиолдолд + өөрөө зурсан сертификатыг үүсгэж болно. Эхлээд <acronym>RSA</acronym> + түрхүүр үүсгэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>openssl dsaparam -rand -genkey -out <filename>myRSA.key</filename> 1024</userinput></screen> + + <para>Дараа нь <acronym>CA</acronym> түлхүүр үүсгэ:</para> + + <screen>&prompt.root; <userinput>openssl gendsa -des3 -out <filename>myca.key</filename> <filename>myRSA.key</filename></userinput></screen> + + <para>Сертификат үүсгэхийн тулд энэ түлхүүрийг ашигла :</para> + + <screen>&prompt.root; <userinput>openssl req -new -x509 -days 365 -key <filename>myca.key</filename> -out <filename>new.crt</filename></userinput></screen> + + <para>Санд хоёр шинэ файл үүсэх ёстой: сертификатын эрх мэдэлтний гарын + үсгийн файл <filename>myca.key</filename> болон сертификат өөрөө + <filename>new.crt</filename> байна. Эдгээрийг + зөвхөн <username>root</username> унших эрхтэй + <filename class="directory">/etc</filename> санд байрлуулах + шаардлагатай. Үүнд 0700 зөвшөөрөл байж болох бөгөөд түүнийг + <command>chmod</command> хэрэгсэл ашиглан тохируулж болно.</para> + </sect2> + + <sect2> + <title>Сертификатуудыг ашиглах нь, жишээ</title> + + <para>Тэгэхээр эдгээр файлууд нь юу хийж чадах вэ? Сайн хэрэглээ болох нэг + жишээ нь <application>Sendmail</application> + <acronym>MTA</acronym> уруу хийгдэх холболтуудыг шифрлэх байж болно. + Энэ нь локал <acronym>MTA</acronym> ашиглан захидал илгээх + хэрэглэгчдийн цэвэр текст нэвтрэлтийн хэрэглээг болиулах юм.</para> + + <note> + <para>Зарим <acronym>MUA</acronym>-ууд нь хэрэв хэрэглэгчид дотроо + сертификат суулгаагүй бол тэдэнд алдааг харуулдаг болохоор энэ нь + ертөнц дээрх хамгийн шилдэг хэрэглээ биш юм. + Сертификат суулгах талаарх илүү мэдээллийг програм хангамжтай цуг ирсэн + баримтаас үзэх хэрэгтэй.</para> + </note> + + <para>Дотоод <filename>.mc</filename> файл дотор дараах мөрүүдийг + байрлуулах хэрэгтэй:</para> + + <programlisting>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</programlisting> + + <para>Дээрх <filename class="directory">/etc/certs/</filename> нь + сертификат болон түлхүүр файлуудыг дотооддоо хадгалах сан юм. + Сүүлийн хэдэн шаардлагууд нь дотоод <filename>.cf</filename> файлын + дахин бүтээлт юм. Үүнийг <filename class="directory">/etc/mail</filename> сан + дотроос <command>make</command> <parameter>install</parameter> тушаал + бичин хийж болно. Ингэсний дараа <command>make</command> + <parameter>restart</parameter> тушаалыг ажиллуулаарай, энэ нь + <application>Sendmail</application> демоныг эхлүүлэх ёстой.</para> + + <para>Хэрэв бүгд зүгээр болж өнгөрвөл <filename>/var/log/maillog</filename> + файлд ямар ч алдаа бичигдэхгүй бөгөөд <application>Sendmail</application> + процессийн жагсаалтад харуулагдана.</para> + + <para>Хялбар тест хийхийн тулд &man.telnet.1; хэрэгсэл ашиглан + захидлын серверт холбогдох хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>telnet <replaceable>example.com</replaceable> 25</userinput> +Trying 192.0.34.166... +Connected to <hostid role="fqdn">example.com</hostid>. +Escape character is '^]'. +220 <hostid role="fqdn">example.com</hostid> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) +<userinput>ehlo <replaceable>example.com</replaceable></userinput> +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 +<userinput>quit</userinput> +221 2.0.0 <hostid role="fqdn">example.com</hostid> closing connection +Connection closed by foreign host.</screen> + + <para>Хэрэв <quote>STARTTLS</quote> мөр гарч ирвэл бүгд зөв ажиллаж + байна.</para> + </sect2> + </sect1> + + <sect1 id="ipsec"> + <sect1info> + <authorgroup> + <author> + <firstname>Ник</firstname> + <surname>Клэйтон</surname> + <affiliation> + <address><email>nik@FreeBSD.org</email></address> + </affiliation> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + </sect1info> + + <indexterm> + <primary>IPsec</primary> + </indexterm> + + <title>IPsec дээгүүр VPN хийх</title> + <para>FreeBSD гарц машинуудыг ашиглан Интернэтээр тусгаарлагдсан хоёр сүлжээний + хооронд VPN үүсгэх.</para> + + <sect2> + <sect2info> + <authorgroup> + <author> + <firstname>Хитэн М.</firstname> + <surname>Пандиа</surname> + <affiliation> + <address><email>hmp@FreeBSD.org</email></address> + </affiliation> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + </sect2info> + + <title>IPsec-ийг ойлгох нь</title> + + <para>Энэ хэсэг IPsec-ийг тохируулах процессийг тайлбарлаж + FreeBSD болон <application>µsoft.windows; 2000/XP</application> + машинуудаас тогтох орчинд түүнийг ашиглан тэдгээрийг өөр хоорондоо аюулгүйгээр + холбогдох нөхцөлийг бүрдүүлэх талаар зааварлах болно. IPsec-ийг тохируулахын + тулд та өөрчлөн тохируулсан цөм бүтээх ухагдахууныг мэдсэн байх шаардлагатай + (<xref linkend="kernelconfig">-г үзнэ үү).</para> + + <para><emphasis>IPsec</emphasis> нь Интернэт Протокол (IP) давхаргын + дээр суудаг протокол юм. Энэ нь хоёр буюу хэд хэдэн хостуудыг аюулгүй байдлаар + (нэрээс нь харах юм бол) холбох боломжийг олгодог. FreeBSD IPsec + <quote>сүлжээний стек</quote> нь IPv4 болон IPv6 протоколуудыг хоюуланг + дэмждэг <ulink url="http://www.kame.net/">KAME</ulink> шийдэл дээр + үндэслэсэн.</para> + + <note> + <para>FreeBSD нь OpenBSD-ээс авсан <quote>Fast IPsec буюу + Хурдан IPsec</quote> гэгддэг <quote>тоног төхөөрөмжөөр хурдасгасан</quote> + IPsec стектэй. Энэ нь IPsec-ийн ажиллагааг оновчтой болгохын тулд &man.crypto.4; + дэд системийн тусламжтайгаар криптограф тоног төхөөрөмжийг (аль болох бүх газар) + хэрэглэгдэг. Энэ нь шинэ дэд систем бөгөөд IPsec-ийн KAME хувилбарт байдаг + бүх боломжуудыг дэмждэггүй. Гэхдээ тоног төхөөрөмжөөр хурдасгасан IPsec-ийг + идэвхжүүлэхийн тулд өөрийн цөмийн тохиргооны файлдаа дараах цөмийн тохируулгыг + нэмэх хэрэгтэй:</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>FAST_IPSEC</secondary> + </indexterm> + + <screen> +options FAST_IPSEC # new IPsec (cannot define w/ IPSEC) + </screen> + + <para>IPsec-ийн KAME шийдлийн оронд <quote>Fast IPsec</quote> + дэд системийг ашиглах боломж одоогоор байхгүйг тэмдэглэе. Дэлгэрэнгүй + мэдээллийг &man.fast.ipsec.4; гарын авлагын хуудаснаас + лавлана уу.</para> + </note> + + <note> + <para>Галт хануудад &man.gif.4; туннелийн төлөвийг бас зөв дагаж + мөрдөх боломжийг олгохын тулд та өөрийн цөмийн тохиргооны файлдаа + <option>IPSEC_FILTERGIF</option> тохируулгыг идэвхжүүлэх + хэрэгтэй:</para> + + <screen> +options IPSEC_FILTERGIF #filter ipsec packets from a tunnel + </screen> + </note> + + <indexterm> + <primary>IPsec</primary> + <secondary>ESP</secondary> + </indexterm> + + <indexterm> + <primary>IPsec</primary> + <secondary>AH</secondary> + </indexterm> + + <para>IPsec нь хоёр дэд протоколоос тогтоно:</para> + + <itemizedlist> + <listitem> + <para><emphasis>Encapsulated Security Payload + (ESP) буюу Хайрцаглагдсан Аюулгүй байдлын ачаа</emphasis> нь + гуравдагчийн нөлөөллөөс тэгш хэмт криптограф алгоритмийг + (Blowfish, 3DES-тэй адил) ашиглан агуулгыг нь шифрлэж + IP пакетийн өгөгдлийг хамгаалдаг.</para> + </listitem> + <listitem> + <para><emphasis>Authentication Header (AH) буюу Нэвтрэлт Танилтын + Толгой</emphasis> нь аюулгүй хэш хийх функцээр IP пакетийн толгойн + талбаруудыг хэш хийн криптограф хянах нийлбэрийг тооцоолон гуравдагч + этгээдийн нөлөөлөл болон хууран мэхлэлтээс IP пакетийн толгойг + хамгаалдаг. Үүний дараа пакет дахь мэдээллийг таниулахыг зөвшөөрөх + хэшийг агуулсан нэмэлт толгой байдаг.</para> + </listitem> + </itemizedlist> + + <para><acronym>ESP</acronym> болон <acronym>AH</acronym> нь + орчноосоо хамаараад хоюулаа цуг эсвэл тусдаа ашиглагдаж болно.</para> + + <indexterm> + <primary>VPN</primary> + </indexterm> + + <indexterm> + <primary>виртуал хувийн сүлжээ</primary> + <see>VPN</see> + </indexterm> + + <para>IPsec нь хоёр хостын хоорондох урсгалыг шууд шифрлэх (<emphasis>Transport + Mode буюу Тээвэрлэх Горим</emphasis> гэгддэг) буюу эсвэл + хоёр корпорацийн сүлжээний хооронд аюулгүй холбоонд ашиглагдаж болох + <quote>виртуал туннеллууд</quote> (<emphasis>Tunnel Mode буюу Туннелийн + Горим</emphasis> гэгддэг) бүтээхэд хэрэглэгдэж болох юм. Сүүлийх нь ерөнхийдөө + <emphasis>Виртуал Хувийн Сүлжээ (VPN)</emphasis> гэгддэг. + FreeBSD-ийн IPsec дэд системийн талаар дэлгэрэнгүй мэдээллийг + &man.ipsec.4; гарын авлагын хуудаснаас лавлах хэрэгтэй.</para> + + <para>Өөрийн цөмдөө IPsec дэмжлэгийг нэмэхийн тулд та дараах тохируулгуудыг + цөмийн тохиргоондоо нэмээрэй:</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>IPSEC</secondary> + </indexterm> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>IPSEC_ESP</secondary> + </indexterm> + + <screen> +options IPSEC #IP security +options IPSEC_ESP #IP security (crypto; define w/ IPSEC) + </screen> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>IPSEC_DEBUG</secondary> + </indexterm> + + <para>Хэрэв IPsec дибаг хийх дэмжлэг заавал хэрэгтэй бол дараах цөмийн тохируулга + бас нэмэгдсэн байх шаардлагатай:</para> + + <screen> +options IPSEC_DEBUG #debug for IP security + </screen> + </sect2> + + <sect2> + <title>Асуудал</title> + + <para>VPN-ийг байгуулахад ямар нэг стандарт байхгүй. VPN-үүд нь өөр өөрийн давуу болон сул + талуудтай төрөл бүрийн технологуудыг ашиглан хийгдэж болно. Энэ хэсэг нь + нэг тохиолдлын загвар үзүүлэх бөгөөд энэ тохиолдол дахь VPN-ийг хийхэд + хэрэглэгдэх стратегүүдийг харуулах болно.</para> + </sect2> + + <sect2> + <title>Тохиолдол: Интернэтэд холбогдсон, нэг юм шиг ажиллах хоёр сүлжээ</title> + + <indexterm> + <primary>VPN</primary> + <secondary>үүсгэх</secondary> + </indexterm> + + <para>Угтвар нөхцөл дараах маягийн байна:</para> + + <itemizedlist> + <listitem> + <para>Та хамгийн багадаа хоёр сайттай байна</para> + </listitem> + <listitem> + <para>Хоёр сайт хоюулаа IP-г дотооддоо ашигладаг</para> + </listitem> + <listitem> + <para>FreeBSD дээр нь ажилладаг гарц компьютераар хоёр сайт хоюулаа + Интернэтэд холбогдсон.</para> + </listitem> + <listitem> + <para>Хоёр сүлжээний гарц компьютер бүр хамгийн багаар бодоход нэг нийтийн IP + хаягтай.</para> + </listitem> + <listitem> + <para>Хоёр сүлжээний дотоод хаягууд нь нийтийн эсвэл хувийн IP хаягууд байж + болох юм, энэ нь хамаагүй. Та гарц машин дээр хэрэв шаардлагатай бол + NAT ажиллуулсан байж болох юм.</para> + </listitem> + <listitem> + <para>Хоёр сүлжээний дотоод IP хаягууд <emphasis>мөргөлдөхгүй</emphasis>. + Үүнийг ажиллуулахын тулд VPN технолог болон NAT-ийн хослолыг ашиглах нь + онолын хувьд боломжтой боловч би үүнийг хар дарсан зүүд шигээр тохиргоо их төвөгтэй + байх болов уу гэж бодож байна.</para> + </listitem> + </itemizedlist> + + <para>Хоёр сүлжээ дотооддоо хоюулаа адилхан хувийн IP хаягийн хүрээ (өөрөөр хэлбэл + хоюулаа <hostid role="ipaddr">192.168.1.x</hostid>) ашиглаж байгаа хоёр + сүлжээг холбохыг оролдож байгаагаа хэрэв та мэдэх юм бол аль нэг сүлжээний IP-г дахин + дугаарлах шаардлагатай болно.</para> + + <para>Сүлжээний бүтэц иймэрхүү харагдаж болох юм:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="security/ipsec-network" align="center"> + </imageobject> + + <textobject> +<literallayout class="monospaced">Сүлжээ #1 [ Дотоод хостууд ] Хувийн Сүлжээ, 192.168.1.2-254 + [ Win9x/NT/2K ] + [ UNIX ] + | + | + .---[fxp1]---. Хувийн IP, 192.168.1.1 + | FreeBSD | + `---[fxp0]---' Нийтийн IP, A.B.C.D + | + | + -=-=- Интернэт -=-=- + | + | + .---[fxp0]---. Нийтийн IP, W.X.Y.Z + | FreeBSD | + `---[fxp1]---' Хувийн IP, 192.168.2.1 + | + | +Сүлжээ #2 [ Internal Hosts ] + [ Win9x/NT/2K ] Хувийн Сүлжээ, 192.168.2.2-254 + [ UNIX ]</literallayout> + </textobject> + </mediaobject> + + <para>Хоёр нийтийн IP хаяг байгааг анзаарна уу. Нийтлэлийн туршид би эдгээрийг үсгээр + орлуулан ашиглах болно. Энэ нийтлэлийн туршид тохиолдох эдгээр үсэгнүүдийн оронд өөрийн + нийтийн хаягаар орлуулж тавиарай. Мөн дотроо хоёр гарц машин маань .1 IP хаягтай + бөгөөд хоёр сүлжээ маань өөр өөр хувийн IP хаягийн хүрээтэйг (<hostid + role="ipaddr">192.168.1.x</hostid> болон <hostid + role="ipaddr">192.168.2.x</hostid>) анхаарна уу. Хувийн сүлжээнүүд дэх бүх + машинууд өөрсдийн анхдагч гарцдаа <hostid role="ipaddr">.1</hostid> + машиныг ашиглахаар тохируулсан байгаа болно.</para> + + <para>Гол зорилго нь сүлжээ талаасаа авч үзэх юм бол сүлжээ болгон нөгөө сүлжээнийхээ машинуудыг + яг л нэг чиглүүлэгчид холбоотой юм шиг харж чадан ажиллаж байх ёстой -- гэвч энэ чиглүүлэгч нь + хааяа пакетуудыг гээдэг илүү удаан чиглүүлэгч байх юм.</para> + + <para>Энэ нь (жишээ нь) <hostid role="ipaddr">192.168.1.20</hostid> машин + дараах тушаалыг ажиллуулж</para> + + <programlisting>ping 192.168.2.34</programlisting> + + <para>нэвт ажиллаж чадах ёстой гэсэн үг юм. &windows; машинууд + өөр сүлжээн дээр байх машинуудыг харж файлын хуваалцал санг үзэх зэргийг хийж + локал сүлжээн дээр байгаа машинуудыг харж үзэж чаддаг шигээр ажиллаж чадаж байх + ёстой.</para> + + <para>Тэгээд бүх юм аюулгүй байх хэрэгтэй. Энэ нь хоёр сүлжээний хоорондох + урсгал шифрлэгдэх ёстой гэсэн үг юм.</para> + + <para>Эдгээр хоёр сүлжээний хооронд VPN үүсгэх нь олон алхамтай + процесс юм. Эдгээр нь:</para> + + <orderedlist> + <listitem> + <para>Интернэтийн дагуу хоёр сүлжээний хооронд <quote>виртуал</quote> + сүлжээний холболт үүсгэнэ. Ажиллаж байгааг нь шалгаж &man.ping.8; зэрэг + багажуудыг ашиглаж тест хийгээрэй.</para> + </listitem> + + <listitem> + <para>Хоёр сүлжээний хоорондох урсгал харагдахгүйгээр шифрлэгдэж + шаардлагатай бол буцаан шифрлэгдэх тэр боломжийг бүрдүүлэх + аюулгүй байдлын бодлогуудыг зааж өгөөрэй. Урсгал шифрлэгдэж + байгааг эсэхийг шалгаж &man.tcpdump.1; зэрэг багажууд ашиглан + тест хийгээрэй.</para> + </listitem> + + <listitem> + <para>VPN-ийн дагуу &windows; машинууд нэг нь нөгөөгөө харж байхыг + зөвшөөрөх нэмэлт програм хангамжийг FreeBSD гарц машинууд дээр + тохируулаарай.</para> + </listitem> + </orderedlist> + + <sect3> + <title>Алхам 1: <quote>виртуал</quote> сүлжээний холболт үүсгэн тест хийх</title> + + <para>Сүлжээ #1 дээрх гарц машин (<hostid role="ipaddr">A.B.C.D</hostid> + нийтиийн IP хаягтай, <hostid role="ipaddr">192.168.1.1</hostid> хувийн + IP хаягтай) уруу та нэвтрэн орсон бөгөөд <hostid role="ipaddr">W.X.Y.Z</hostid> + IP хаягтай машины хувийн хаяг уруу нь <command>ping 192.168.2.1</command> + гэж тушаал ажиллуулъя гэж бодъё. Ингэж ажиллахын тулд юу болох ёстой вэ?</para> + + <orderedlist> + <listitem> + <para>Гарц машин <hostid role="ipaddr">192.168.2.1</hostid> уруу + яаж хүрэхээ мэдэх ёстой. Өөрөөр хэлбэл энэ нь <hostid + role="ipaddr">192.168.2.1</hostid> уруу хийгдсэн чиглүүлэлттэй + байх хэрэгтэй.</para> + </listitem> + <listitem> + <para><hostid role="ipaddr">192.168.x</hostid> зэрэг хувийн + IP хаягууд Интернэт дээр бараг үзэгдэх ёсгүй. Харин + <hostid role="ipaddr">192.168.2.1</hostid> уруу таны илгээсэн + пакет бүр өөр пакет дотор орсон байх ёстой. Энэ пакет нь + <hostid role="ipaddr">A.B.C.D</hostid> машинаас ирсэн маягаар + байх ёстой бөгөөд <hostid role="ipaddr">W.X.Y.Z</hostid> уруу + илгээгдэх ёстой. Энэ процессийг <firstterm>encapsulation</firstterm> + буюу хайрцаглалт гэж нэрлэдэг.</para> + </listitem> + <listitem> + <para>Энэ пакет нь <hostid role="ipaddr">W.X.Y.Z</hostid> дээр ирээд + <quote>unencapsulated</quote> буюу буцааж ялгагдан + <hostid role="ipaddr">192.168.2.1</hostid> уруу хүргэгдэх + хэрэгтэй.</para> + </listitem> + </orderedlist> + + <para>Та үүнийг хоёр сүлжээний хоорондох <quote>туннел</quote> + гэж ойлгож болно. <quote>Туннелийн хоёр амсар</quote> нь + <hostid role="ipaddr">A.B.C.D</hostid> болон <hostid + role="ipaddr">W.X.Y.Z</hostid> IP хаягууд бөгөөд туннелд + түүгээр дамжин өнгөрөх хувийн IP хаягуудыг мэдэгдсэн байх шаардлагатай. + Туннел нь нийтийн Интернэтээр хувийн IP хаягтай урсгалыг дамжуулахад + хэрэглэгдэнэ.</para> + + <para>Энэ туннел нь ерөнхий интерфэйс эсвэл FreeBSD дээрх <devicename>gif</devicename> + төхөөрөмж ашиглан үүсгэгддэг. Таны бодсоноор гарц машин бүр дээрх + <devicename>gif</devicename> интерфэйс нь дөрвөн IP хаягтай + байхаар тохируулагдсан байх шаардлагатай; хоёр нь нийтийн IP хаяг, + хоёр нь хувийн IP хаяг.</para> + + <para>Хоёр машины хувьд gif төхөөрөмжийн дэмжлэг &os;-ийн цөмд эмхэтгэгдсэн + байх шаардлагатай. Та дараах мөрийг:</para> + + <programlisting>device gif</programlisting> + + <para>хоёр машины цөмийн тохиргооны файлд хийн дараа нь эмхэтгэн суулгаж дахин + ачаалснаар үүнийг хийж болно.</para> + + <para>Туннелийг тохируулах нь хоёр алхамтай процесс юм. Эхлээд туннелд ямар гадаад + (эсвэл нийтийн) IP хаягууд байгааг &man.ifconfig.8; ашиглан мэдэгдэх + ёстой. Тэгээд дараа нь хувийн IP хаягуудыг &man.ifconfig.8; тушаал ашиглан + тохируулах ёстой.</para> + + <para>Сүлжээ #1 дэх гарц машин дээр туннеллийг тохируулахын тулд та дараах тушаалуудыг + ашиглах болно.</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>gif0</replaceable> create</userinput> +&prompt.root; <userinput>ifconfig <replaceable>gif0</replaceable> tunnel <replaceable>A.B.C.D</replaceable> <replaceable>W.X.Y.Z</replaceable></userinput> +&prompt.root; <userinput>ifconfig <replaceable>gif0</replaceable> inet <replaceable>192.168.1.1</replaceable> <replaceable>192.168.2.1</replaceable> netmask <replaceable>0xffffffff</replaceable></userinput> + </screen> + + <para>Нөгөө нэг гарц машин дээр та адил тушаалуудыг гэхдээ IP хаягуудын дарааллыг + эсрэгээр тавин ажиллуулна.</para> + + <screen>&prompt.root; <userinput>ifconfig <replaceable>gif0</replaceable> create</userinput> +&prompt.root; <userinput>ifconfig <replaceable>gif0</replaceable> tunnel <replaceable>W.X.Y.Z</replaceable> <replaceable>A.B.C.D</replaceable></userinput> +&prompt.root; <userinput>ifconfig <replaceable>gif0</replaceable> inet <replaceable>192.168.2.1</replaceable> <replaceable>192.168.1.1</replaceable> netmask <replaceable>0xffffffff</replaceable></userinput> + </screen> + + <para>Та дараа нь:</para> + + <programlisting>ifconfig gif0</programlisting> + + <para>ажиллуулж тохиргоог харж болно. Жишээ нь сүлжээ #1 дээрх гарц машин + дээр та үүнийг харах болно:</para> + + <screen>&prompt.root; <userinput>ifconfig gif0</userinput> +gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280 + tunnel inet A.B.C.D --> W.X.Y.Z + inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff + </screen> + + <para>Эндээс харахад <hostid role="ipaddr">A.B.C.D</hostid> болон + <hostid role="ipaddr">W.X.Y.Z</hostid> физик хаягуудын хооронд туннел + үүссэн бөгөөд туннелээр зөвшөөрөгдөх урсгал нь <hostid + role="ipaddr">192.168.1.1</hostid> болон <hostid + role="ipaddr">192.168.2.1</hostid>-ийн хооронд байна.</para> + + <para>Энэ нь бас хоёр машин дээрх чиглүүлэлтийн хүснэгтэд бас оруулга нэмсэн байх + бөгөөд та үүнийг <command>netstat -rn</command> тушаал ашиглан шалгаж + болно. Доорх гаралт нь сүлжээ #1 дэх гарц машиных юм.</para> + + <screen>&prompt.root; <userinput>netstat -rn</userinput> +Routing tables + +Internet: +Destination Gateway Flags Refs Use Netif Expire +... +192.168.2.1 192.168.1.1 UH 0 0 gif0 +... + </screen> + + <para><quote>Flags</quote> утгын харуулж байгаагаар энэ нь хостын чиглүүлэлт + бөгөөд энэ нь гарц бүр нөгөө гарц уруу хэрхэн хүрэхээ мэдэх боловч тэд харин + өөрсдийнхөө харгалзах сүлжээнүүд уруу хэрхэн хүрэхээ мэдэхгүй гэсэн үг юм. + Энэ асуудлыг удахгүй засварлах болно.</para> + + <para>Энэ нь хоёр машин дээр хоюулан дээр нь галт хана ажиллаж гэсэн үг юм. + Таны VPN урсгалын хувьд үүнийг тойрон гарах шаардлагатай. Та хоёр сүлжээний + хоорондох бүх урсгалыг зөвшөөрөх юм уу эсвэл VPN-ий хоёр төгсгөлийг нэгээс нөгөөг + хамгаалах галт ханын дүрмүүдийг оруулж болох юм.</para> + + <para>Хэрэв VPN-ээр өнгөрөх бүх урсгалыг зөвшөөрөхөөр галт ханыг тохируулах + юм бол энэ нь тест хийхийг ихээхэн амарчлах болно. Та дараа нь хэзээ ч галт ханаа + илүү чангаруулж болно. Хэрэв та &man.ipfw.8; тушаалыг гарц машинууд дээр + ашиглаж байгаа бол дараах</para> + + <programlisting>ipfw add 1 allow ip from any to any via gif0</programlisting> + + <para>тушаал нь хоёр төгсгөлийн цэгийн хоорондох бүх урсгалыг таны галт ханын + бусад дүрмүүдийг хөндөлгүйгээр зөвшөөрөх болно. Мэдээж та энэ тушаалыг хоёр + гарц хост дээр хоюулан дээр ажиллуулах хэрэгтэй болно.</para> + + <para>Нэг гарц машинаас нөгөө уруугаа ping хийхийг зөвшөөрөхөд хангалттай. + <hostid role="ipaddr">192.168.1.1</hostid> дээр та дараах + </para> + + <programlisting>ping 192.168.2.1</programlisting> + + <para>тушаалыг ажиллуулж хариу хүлээж авахаас гадна мөн нөгөө гарц машин + дээрээс бас ингэж хийж чадаж байх ёстой.</para> + + <para>Гэхдээ та хоёр сүлжээний дотоод машинууд уруу арай хүрч чадахгүй байх + ёстой. Энэ нь чиглүүлэлтээс болж байгаа юм -- гарц машинууд бие бие уруугаа + хэрхэн хүрэхээ мэдэж байгаа боловч нэг нэгнийнхээ цаана байгаа сүлжээнд хэрхэн + хүрэхийг мэдэхгүй.</para> + + <para>Энэ асуудлыг шийдэхийн тулд та гарц машин бүр дээр статик чиглүүлэлт нэмэх + хэрэгтэй. Эхний гарц дээр хийх тушаал нь:</para> + + <programlisting>route add 192.168.2.0 192.168.2.1 netmask 0xffffff00 + </programlisting> + + <para>Энэ нь <quote><hostid role="ipaddr">192.168.2.0</hostid> сүлжээний + хостуудад хүрэхийн тулд пакетуудыг <hostid role="ipaddr">192.168.2.1</hostid> + хост уруу илгээ</quote> гэж байна. Та үүнтэй адил тушаалыг нөгөө гарц дээр бас + ажиллуулах хэрэгтэй бөгөөд гэхдээ <hostid role="ipaddr">192.168.1.x</hostid> + хаягуудыг ашиглах ёстой.</para> + + <para>Одоо нэг сүлжээн дэх хостуудын IP урсгал нөгөө сүлжээний хостуудад хүрэх боломжтой + болно.</para> + + <para>Энэ нь одоо хоёр сүлжээний хооронд VPN-ий гуравны хоёрыг үүсгэж байгаа бөгөөд + аль болох <quote>виртуал</quote>аар үүсгэгдсэн <quote>сүлжээ</quote> юм. + Энэ нь одоохондоо хувийн биш байгаа. Та үүнийг &man.ping.8; болон &man.tcpdump.1; + ашиглан тест хийж болно. Гарц хост уруу нэвтрэн орж дараах тушаалыг ажиллуулна</para> + + <programlisting>tcpdump dst host 192.168.2.1</programlisting> + + <para>Тэр хост дээрээ өөр сессээр дараах тушаалыг ажиллуулна</para> + + <programlisting>ping 192.168.2.1</programlisting> + + <para>Та иймэрхүү гаралтыг харах болно:</para> + + <programlisting> +16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request +16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply +16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request +16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply +16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request +16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply + </programlisting> + + <para>Эндээс харахад ICMP мэдэгдлүүд нааш цааш шифрлэгдэлгүй явж байна. + Хэрэв та пакетуудаас өгөгдлийн байтуудыг илүүтэйгээр авахын тулд &man.tcpdump.1; + уруу <option>-s</option> параметрийг өгч ашигласан бол илүү мэдээлэл + та харж болох юм.</para> + + <para>Энэ нь мэдээж хүлээн авах боломжгүй зүйл юм. Дараагийн хэсэгт + хоёр сүлжээний хоорондох холболтыг бүх урсгал нь автоматаар шифрлэгдэхээр + аюулгүй болгох талаар хэлэлцэх болно.</para> + + <itemizedlist> + <title>Дүгнэн хэлэхэд:</title> + <listitem> + <para>Хоёр цөмийг <quote>device gif</quote> мөртэйгээр тохируулна.</para> + </listitem> + <listitem> + <para>Гарц хост #1 дээрх <filename>/etc/rc.conf</filename> файлд засвар хийн + дараах мөрүүдийг нэмнэ (шаардлагатай тохиолдолд IP хаягуудыг солино).</para> + <programlisting>gif_interfaces="gif0" +gifconfig_gif0="A.B.C.D W.X.Y.Z" +ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff" +static_routes="vpn" +route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00" + </programlisting> + </listitem> + + <listitem> + <para>Хоёр хост дээрх гарц скриптийг (<filename>/etc/rc.firewall</filename>, + эсвэл үүнтэй адил) засварлаж дараахийг нэмнэ.</para> + + <programlisting>ipfw add 1 allow ip from any to any via gif0</programlisting> + </listitem> + <listitem> + <para>IP хаягуудын дарааллыг эсрэгээр болгон гарц хост #2 дээрх + <filename>/etc/rc.conf</filename> файлд адил өөрчлөлтийг + хийнэ.</para> + </listitem> + </itemizedlist> + </sect3> + + <sect3> + <title>Алхам 2: Холболтыг аюулгүй болгох</title> + + <para>Холболтыг аюулгүй болгохын тулд бид IPsec-ийг ашиглах болно. IPsec нь + хоёр хостыг шифрлэлтийн түлхүүр дээр зөвшилцүүлж дараа нь уг хоёр хостын хооронд + өгөгдлийг шифрлэхийн тулд энэ түлхүүрийг ашиглах арга замыг өгдөг.</para> + + <para>Энд тохиргооны хоёр талбарыг бодолцох хэрэгтэй.</para> + + <orderedlist> + <listitem> + <para>Ашиглах шифрлэлтийн арга зам дээр хоёр хост зөвшилцөх тийм арга зам + байх ёстой. Хоёр хост энэ арга зам дээр зөвшилцсөний дараа тэдгээрийн + хооронд <quote>аюулгүй байдлын нэгдэл</quote> байна гэж + үздэг.</para> + </listitem> + <listitem> + <para>Аль урсгалыг шифрлэх ёстойг заах арга зам байх ёстой. Мэдээж та өөрийн бүх + гарч байгаа урсгалаа шифрлэхийг хүсэхгүй байх -- та зөвхөн VPN-ий хэсэг + болсон урсгалыг шифрлэхийг хүснэ. Аль урсгалыг шифрлэхийг тодорхойлохын + тулд хийгдэх дүрмүүд нь <quote>security policies</quote> буюу + <quote>аюулгүй байдлын бодлогууд</quote> гэгдэнэ.</para> + </listitem> + </orderedlist> + + <para>Аюулгүй байдлын нэгдлүүд болон аюулгүй байдлын бодлогуудын ажиллагааг + цөм хангаж байдаг бөгөөд хэрэглэгчдийн талбарын програмуудаар засварлагдаж + болно. Гэхдээ үүнийг хийхийн өмнө IPsec болон Encapsulated + Security Payload (ESP) буюу Хайрцаглагдсан Аюулгүй байдлын Ачаа + протоколыг цөм дэмжихээр та тохируулах хэрэгтэй. Цөмийг:</para> + + <indexterm> + <primary>цөмийн тохируулгууд</primary> + <secondary>IPSEC</secondary> + </indexterm> + + <programlisting>options IPSEC +options IPSEC_ESP + </programlisting> + + <para>тохируулгатай тохируулан дахин эмхэтгэж суулгаад ачаалан үүнийг хийнэ. + Урьдын адил та хоёр гарц машин дээрх цөмийн хувьд үүнийг хийх ёстой.</para> + + <indexterm> + <primary>IKE</primary> + </indexterm> + + <para>Аюулгүй байдлын нэгдлүүдийг тохируулах үед танд хоёр сонголт байна. + Шифрлэлтийн алгоритм, шифрлэлтийн түлхүүрүүд гэх зэргүүдийг сонгож + тэдгээр нэгдлүүдийг хоёр хостын хооронд гараараа тохируулж болох бөгөөд + эсвэл эдгээрийг хийх Internet Key Exchange protocol (IKE) буюу + Интертэтийн Түлхүүр Солилцох протоколыг шийддэг демонуудыг та ашиглаж + болно.</para> + + <para>Би сүүлийнхийг зөвлөж байна. Өөр бусдыг тооцохгүй юм бол үүнийг + тохируулах нь амархан.</para> + + <indexterm> + <primary>IPsec</primary> + <secondary>аюулгүй байдлын бодлогууд</secondary> + </indexterm> + + <indexterm> + <primary><command>setkey</command></primary> + </indexterm> + + <para>Аюулгүй байдлын бодлогуудыг засварлах болон үзүүлэхдээ &man.setkey.8;-г + ашиглан хийдэг. Адилтгах юм бол <command>setkey</command> нь цөмийн + аюулгүй байдлын бодлогын хүснэгтүүдэд &man.route.8; цөмийн чиглүүлэлтийн + хүснэгтүүдэд зориулагдсан шиг зориулагдсан байна. <command>setkey</command> + нь бас одоогийн аюулгүй байдлын нэгдлүүдийг үзүүлж чадах бөгөөд адилтган + цааш үргэлжлүүлбэл энэ нь бас <command>netstat -r</command> тушаалын + нэгэн адил болох юм.</para> + + <para>FreeBSD-ээр аюулгүй байдлын нэгдлүүдийг удирдах демонуудын хувьд хэд хэдэн + сонголт байдаг. Энэ нийтлэл нь эдгээрийн нэг &os;-ийн Портуудын цуглуулгын + <filename role="package">security/ipsec-tools</filename>-д байдаг + racoon-ийг хэрхэн ашиглах талаар тайлбарлах болно.</para> + + <indexterm> + <primary>racoon</primary> + </indexterm> + + <para><application>racoon</application> програм хангамж хоёр гарц машин + дээр хоюулан дээр нь ажиллах ёстой. Энэ нь хост бүр дээр VPN-ий нөгөө төгсгөлийн IP хаяг болон + нууц түлхүүртэйгээр (таны сонгох түлхүүр байх бөгөөд хоёр гарц машин дээр ижил байх ёстой) + тохируулагддаг.</para> + + <para>Дараа нь хоёр демон нэг нэгэндээ хандаж тэдгээр нь өөрсдөө хэн хэн гэж хэлснээ + (таны тохируулсан нууц түлхүүрийг ашиглан) баталгаажуулдаг. Демонууд дараа нь + шинэ нууц түлхүүрийг үүсгэж түүнийг ашиглан VPN-ээр урсгалыг шифрлэдэг. + Тэд энэ нууцаа үе үе өөрчилдөг бөгөөд халдагч түлхүүрүүдийн аль нэгийг эвдсэн ч (цагаа + тулахаар энэ нь онолын хувьд бараг боломжгүй зүйл) гэсэн энэ нь халдагчид муу юм + хийх боломж олгодоггүй -- түлхүүрийг эвдэх тэр үед хоёр демон өөр түлхүүрийг сонгосон байна.</para> + + <para>racoon-ий тохиргооны файл <filename>${PREFIX}/etc/racoon</filename>-д + байрлана. Та энд тохиргооны файлыг олох ёстой бөгөөд түүнд нэг их өөрчлөлт хийгдэх ёсгүй. + Таны өөрчлөх шаардлагатай racoon-ий тохиргооны файлын өөр нэг бүрэлдэхүүн хэсэг нь + <quote>pre-shared key буюу урьдчилан хуваалцсан түлхүүр</quote> юм.</para> + + <para>racoon-ий анхдагч тохиргоо үүнийг <filename>${PREFIX}/etc/racoon/psk.txt</filename>-д + байгаа гэж боддог. Урьдчилан хуваалцсан түлхүүр нь таны урсгалыг VPN-ийн дагуу шифрлэх + түлхүүр <emphasis>биш</emphasis> бөгөөд харин энэ нь ердөө л түлхүүр удирдах демонуудыг нэг нь + нөгөөдөө итгэхийг зөвшөөрөх токен гэдгийг тэмдэглэж хэлэх нь зүйтэй юм.</para> + + <para><filename>psk.txt</filename> нь таны ажиллаж байгаа алсын сайт бүрийн + мөрийг агуулсан байна. Хоёр сайт бүхий энэ жишээн дээр <filename>psk.txt</filename> + файл бүр нэг мөрийг агуулсан байна (VPN-ий төгсгөлүүд бүр зөвхөн нөгөө төгсгөлтэйгээ + ажилладаг).</para> + + <para>Гарц хост #1 дээр энэ мөр иймэрхүү харагдах ёстой:</para> + + <programlisting>W.X.Y.Z secret</programlisting> + + <para>Энэ нь алсын төгсгөлийн <emphasis>нийтийн</emphasis> IP хаяг, хоосон зай, + тэгээд нууц үгийг илэрхийлэх текст мэдээлэл байна. Мэдээж та өөрийн түлхүүртээ + <quote>secret</quote> гэдгийг ашиглах ёсгүй -- нууц үгийг сонгох энгийн дүрэм энд + үйлчилнэ.</para> + + <para>Гарц хост #2 дээр энэ мөр иймэрхүү харагдах ёстой</para> + + <programlisting>A.B.C.D secret</programlisting> + + <para>Энэ нь алсын төгсгөлийн IP хаяг болон адилхан нууц түлхүүр байна. + <filename>psk.txt</filename> нь racoon ажиллахаас өмнө + <literal>0600</literal> (өөрөөр хэлбэл <username>root</username>-д + зөвхөн унших/бичих) горимд байна.</para> + + <para>Та racoon-ийг хоёр гарц машин дээр ажиллуулах ёстой. Та бас + UDP-ээр ISAKMP (Internet Security Association + Key Management Protocol буюу Интернэтийн Аюулгүй байдлын Нэгдлийн Түлхүүр + Удирдах Протокол) порт уруу зөөгдөх IKE урсгалыг зөвшөөрөх галт ханын зарим + дүрмүүдийг нэмэх хэрэгтэй. Дахин хэлэхэд энэ нь таны галт ханын дүрмийн олонлогт + нэлээн эрт байх шаардлагатай.</para> + + <programlisting>ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp +ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp + </programlisting> + + <para>racoon ажилласны дараа та нэг гарц хостоос нөгөө гарц хост уруу ping хийж + үзэж болно. Холболт нь шифрлэгдээгүй байх боловч racoon дараа нь аюулгүй байдлын + нэгдлүүдийг хоёр хостын хооронд тохируулна -- энэ нь хором болж өнгөрч болох бөгөөд + ping тушаал хариу өгч эхлэх хүртэл богино саатал маягаар танд харагдаж болох юм.</para> + + <para>Аюулгүй байдлын нэгдэл тохируулагдсаны дараа та үүнийг &man.setkey.8; ашиглан + үзэж болно.</para> + + <programlisting>setkey -D</programlisting> + + <para>тушаалыг аль нэг хост дээр ажиллуулж аюулгүй байдлын нэгдлийн мэдээллийг харна.</para> + + <para>Энэ нь асуудлын нэг хагас нь юм. Нөгөө нэг хагас нь өөрийн аюулгүй байдлын + бодлогуудыг тохируулах явдал юм.</para> + + <para>Ухаалаг аюулгүй байдлын бодлогыг үүсгэхийн тулд энэ хүртэл юуг хийснээ эргэн + харцгаая. Энэ хэлэлцэл нь холболтын төгсгөлийн хоюулангийнх нь хувьд авч + үзнэ.</para> + + <para>Таны гадагш илгээх IP пакет бүр пакетийн тухай өгөгдлийг агуулах толгойтой + байдаг. Толгой нь эхлэл болон төгсгөлийн IP хаягуудыг агуулдаг. Бидний мэдэж + байгаагаар <hostid role="ipaddr">192.168.x.y</hostid> зэрэг + хувийн IP хаягууд нийтийн Интернэт дээр ил гарах ёсгүй. Харин тэд эхлээд өөр + пакет дотор хайрцаглагдах ёстой. Энэ пакет нь хувийн хаягуудын оронд солигдсон + нийтийн эхлэл болон төгсгөл IP хаягуудтай байх ёстой.</para> + + <para>Тэгэхээр хэрэв таны гарч байгаа пакет иймэрхүү харагдаж эхэлбэл:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="security/ipsec-out-pkt" align="center"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> + .----------------------. + | Src: 192.168.1.1 | + | Dst: 192.168.2.1 | + | <other header info> | + +----------------------+ + | <packet data> | + `----------------------'</literallayout> + </textobject> + </mediaobject> + + <para>Дараа нь өөр нэг пакетийн дотор энэ нь хайрцаглагдан иймэрхүү харагдах болно:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="security/ipsec-encap-pkt" align="center"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> + .--------------------------. + | Src: A.B.C.D | + | Dst: W.X.Y.Z | + | <other header info> | + +--------------------------+ + | .----------------------. | + | | Src: 192.168.1.1 | | + | | Dst: 192.168.2.1 | | + | | <other header info> | | + | +----------------------+ | + | | <packet data> | | + | `----------------------' | + `--------------------------'</literallayout> + </textobject> + </mediaobject> + + <para>Энэ хайрцаглалт нь <devicename>gif</devicename> төхөөрөмжөөр + хийгдэнэ. Пакет нь гадна талдаа жинхэнэ IP хаягуудтай байх бөгөөд + бидний эхний пакет Интернэт уруу гарах пакет дотор орсон байгааг харж болно.</para> + + <para>Мэдээж бид VPN-үүдийн хоорондох бүх урсгалыг шифрлэхийг хүснэ. + Та үүнийг иймэрхүүгээр үгчлэн хэлж болно:</para> + + <para><quote>Хэрэв пакет <hostid + role="ipaddr">A.B.C.D</hostid>-с гарч <hostid + role="ipaddr">W.X.Y.Z</hostid> уруу чиглэсэн бол шаардлагатай аюулгүй + байдлын нэгдлүүдийг ашиглан шифрлэнэ.</quote></para> + + <para><quote>Хэрэв пакет нь <hostid + role="ipaddr">W.X.Y.Z</hostid>-с ирж <hostid + role="ipaddr">A.B.C.D</hostid> уруу чиглэсэн бол шаардлагатай аюулгүй + байдлын нэгдлүүдийг ашиглан буцааж шифрлэнэ.</quote></para> + + <para>Ингэж хэлэхэд ер нь бараг л зөв, ойрхон байна, гэхдээ бас тийм ч зөв биш юм. Хэрэв та + үүнийг хийсэн бол <hostid role="ipaddr">W.X.Y.Z</hostid>-с гарсан болон + түүн уруу чиглэсэн, бүр VPN-ий хэсэг ч биш бүх урсгал шифрлэгдэх болно. Та яг үүнийг + хүсээгүй байх. Зөв бодлого нь дараах маягаар байна</para> + + <para><quote>Хэрэв пакет <hostid + role="ipaddr">A.B.C.D</hostid>-с гарч тэр пакет нь өөр пакет дотор орон + хайрцаглагдан <hostid + role="ipaddr">W.X.Y.Z</hostid> уруу чиглэсэн бол шаардлагатай аюулгүй + байдлын нэгдлүүдийг ашиглан шифрлэнэ.</quote></para> + + <para><quote>Хэрэв пакет нь <hostid + role="ipaddr">W.X.Y.Z</hostid>-с ирж тэр пакет нь өөр пакет дотор орон + хайрцаглагдан <hostid + role="ipaddr">A.B.C.D</hostid> уруу чиглэсэн бол шаардлагатай аюулгүй + байдлын нэгдлүүдийг ашиглан буцааж шифрлэнэ.</quote></para> + + <para>Нарийн өөрчлөлт, гэхдээ хэрэгтэй нэгэн.</para> + + <para>Аюулгүй байдлын бодлогууд нь бас &man.setkey.8; ашиглагдан заагдана. + &man.setkey.8; нь бодлого тодорхойлох тохиргооны хэлтэй байна. Та + тохиргооны заавруудыг stdin-ээс оруулж болох бөгөөд эсвэл тохиргооны заавруудыг агуулах + файлын нэрийг зааж өгөх <option>-f</option> тохируулгыг ашиглаж болно.</para> + + <para>Гарц хост #1-ийн (<hostid role="ipaddr">A.B.C.D</hostid> гэсэн нийтийн + IP хаягтай) тохиргоо <hostid role="ipaddr">W.X.Y.Z</hostid> уруу чиглэсэн + бүх гарах урсгалыг хүчээр шифрлэхийн тулд:</para> + + <programlisting> +spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; + </programlisting> + + <para>Эдгээр тушаалуудыг файлд (өөрөөр хэлбэл + <filename>/etc/ipsec.conf</filename>) хийгээд ажиллуулаарай</para> + + <screen>&prompt.root; <userinput>setkey -f /etc/ipsec.conf</userinput></screen> + + <para><option>spdadd</option> нь бид аюулгүй бодлогын мэдээллийн санд + дүрэм нэмэхийг хүсэж байгааг &man.setkey.8;-д хэлж өгч байна. Энэ мөрийн бусад нь + энэ бодлогод аль пакет таарахыг заана. <hostid + role="ipaddr">A.B.C.D/32</hostid> ба <hostid + role="ipaddr">W.X.Y.Z/32</hostid> нь энэ бодлого хамаарах + сүлжээ болон хостуудыг таних IP хаягууд болон сүлжээний багууд юм. Энэ + тохиолдолд эдгээр хоёр хостуудын хоорондох урсгалд үүнийг хамааруулахыг + бид хүсэж байна. <option>ipencap</option> нь энэ бодлого зөвхөн + бусад пакетуудыг хайрцаглах пакетуудад хамаатай гэдгийг цөмд хэлнэ. + <option>-P out</option> тохируулга нь энэ бодлого гарах пакетуудад + хамаатайг хэлэх бөгөөд <option>ipsec</option> тохируулга нь пакет + нууцлагдахыг хэлж байна.</para> + + <para>Хоёр дахь мөр нь энэ пакет хэрхэн шифрлэгдэхийг заана. + <option>esp</option> нь ашиглагдах протокол байхад <option>tunnel</option> + нь пакетийг цаашаагаа IPsec пакет дотор орж хайрцаглалт хийгдэхийг заана. + <hostid role="ipaddr">A.B.C.D</hostid> болон <hostid + role="ipaddr">W.X.Y.Z</hostid>-ийн давхардсан хэрэглээ нь + ашиглах аюулгүй байдлын нэгдлийг сонгоход хэрэглэгдэх бөгөөд төгсгөлийн + <option>require</option> тохируулга энэ дүрмэнд таарсан пакетуудыг + шифрлэх ёстойг зааж байна.</para> + + <para>Энэ дүрэм нь зөвхөн гарч байгаа пакетуудтай таарна. Ирж байгаа пакетийн + хувьд танд үүнтэй адил дүрэм хэрэгтэй.</para> + + <programlisting>spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require;</programlisting> + + <para>Энэ тохиолдолд <option>out</option>-ийн оронд <option>in</option> + тохируулгыг ашиглаж шаардлагын дагуу IP хаягуудыг эсрэгээр болгосныг хараарай.</para> + + <para>Нөгөө нэг гарц хостод (<hostid role="ipaddr">W.X.Y.Z</hostid> + нийтийн IP хаягтай) үүнтэй адил дүрмүүд хэрэгтэй.</para> + + <programlisting>spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; +spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require;</programlisting> + + <para>Төгсгөлд нь та ESP болон IPENCAP пакетуудыг нааш цааш зөвшөөрөх + галт ханын дүрмүүдийг нэмэх хэрэгтэй. Эдгээр дүрмүүдийг хост бүр дээр + нэмэх шаардлагатай.</para> + + <programlisting>ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z +ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D +ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z +ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D + </programlisting> + + <para>Дүрмүүд нь тэгш хэмт учир адилхан дүрмүүдийг та гарц хост бүр дээр ашиглаж + болно.</para> + + <para>Одоо гарч байгаа пакетууд үүнтэй адил харагдах болно:</para> + + <mediaobject> + <imageobject> + <imagedata fileref="security/ipsec-crypt-pkt" align="center"> + </imageobject> + + <textobject> + <literallayout class="monospaced"> + .------------------------------. --------------------------. + | Src: A.B.C.D | | + | Dst: W.X.Y.Z | | + | <other header info> | | Encrypted + +------------------------------+ | packet. + | .--------------------------. | -------------. | contents + | | Src: A.B.C.D | | | | are + | | Dst: W.X.Y.Z | | | | completely + | | <other header info> | | | |- secure + | +--------------------------+ | | Encap'd | from third + | | .----------------------. | | -. | packet | party + | | | Src: 192.168.1.1 | | | | Original |- with real | snooping + | | | Dst: 192.168.2.1 | | | | packet, | IP addr | + | | | <other header info> | | | |- private | | + | | +----------------------+ | | | IP addr | | + | | | <packet data> | | | | | | + | | `----------------------' | | -' | | + | `--------------------------' | -------------' | + `------------------------------' --------------------------' + </literallayout> + </textobject> + </mediaobject> + + <para>Тэдгээрийг VPN-ий хамгийн төгсгөлд хүлээн авах үед тэдгээр нь эхлээд + буцаан шифрлэгдэнэ (racoon-аар тохиролцсон аюулгүй байдлын нэгдлүүдийг + ашиглан). Тэдгээр нь үүний дараа хоёр дахь давхаргыг гаргах + <devicename>gif</devicename> интерфэйс уруу орж хамгийн дотор байрлах + пакеттай үлдэх хүртэл боловсруулагдаад дотоод сүлжээ руу аялах болно.</para> + + <para>Өмнө дурдсаны адил та &man.ping.8; тестийг ашиглан аюулгүй байдлыг + шалгаж болно. Эхлээд <hostid role="ipaddr">A.B.C.D</hostid> гарц + машин уруу нэвтрэн орж дараах тушаалыг ажиллуулна:</para> + + <programlisting>tcpdump dst host 192.168.2.1</programlisting> + + <para>Тэр хост дээрээ өөр сессээр дараах тушаалыг ажиллуулна</para> + + <programlisting>ping 192.168.2.1</programlisting> + + <para>Энэ удаад та дараахтай адил гаралтыг харах ёстой:</para> + + <programlisting>XXX tcpdump output</programlisting> + + <para>Одоо эндээс харах юм бол &man.tcpdump.1; нь ESP пакетуудыг үзүүлж + байна. Хэрэв та тэдгээрийг <option>-s</option> тохируулгатай шалгахыг оролдвол + шифрлэлтээс болоод (мэдээж) нууцлаг харагдах болно.</para> + + <para>Баяр хүргэе. Та дөнгөж сая алсын хоёр сайтын хооронд VPN + тохирууллаа.</para> + + <itemizedlist> + <title>Дүгнэн хэлэхэд</title> + <listitem> + <para>Хоёр цөмийг хоюуланг нь дараах тохируулгатай тохируулна:</para> + + <programlisting>options IPSEC +options IPSEC_ESP + </programlisting> + </listitem> + <listitem> + <para><filename + role="package">security/ipsec-tools</filename> суулгана. Алсын хостын + IP хаяг болон тэдгээрийн мэддэг нууц түлхүүрийн оруулгыг нэмж + <filename>${PREFIX}/etc/racoon/psk.txt</filename> + файлыг хоёр гарц хост дээр хоюулан дээр засварлана. Энэ файлын горим + 0600 байгааг шалгаарай.</para> + </listitem> + <listitem> + <para>Хост бүр дээрх <filename>/etc/rc.conf</filename> файлд дараах + мөрүүдийг нэмээрэй:</para> + + <programlisting>ipsec_enable="YES" +ipsec_file="/etc/ipsec.conf" + </programlisting> + </listitem> + <listitem> + <para>Хост бүр дээр шаардлагатай spadd мөрүүдийг агуулсан + <filename>/etc/ipsec.conf</filename> файл үүсгэна. 1-р гарц + хост дээр энэ нь ийм байна:</para> + + <programlisting> +spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec + esp/tunnel/A.B.C.D-W.X.Y.Z/require; +spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec + esp/tunnel/W.X.Y.Z-A.B.C.D/require; +</programlisting> + + <para>2-р гарц хост дээр энэ нь ийм байна:</para> + +<programlisting> +spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec + esp/tunnel/W.X.Y.Z-A.B.C.D/require; +spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec + esp/tunnel/A.B.C.D-W.X.Y.Z/require; +</programlisting> + </listitem> + <listitem> + <para>Хост бүр дээр IKE, ESP, болон IPENCAP урсгалыг зөвшөөрөх + галт ханын дүрмүүд нэмээрэй:</para> + + <programlisting> +ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp +ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp +ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z +ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D +ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z +ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D + </programlisting> + </listitem> + </itemizedlist> + + <para>Өмнөх хоёр алхам VPN-ийг эхлүүлэн ажиллуулахад хангалттай байх + ёстой. Сүлжээ бүрийн машинууд өөр хоорондоо IP хаягуудаараа + хандах боломжтой болох бөгөөд холболтын дагуух бүх урсгал автоматаар + аюулгүй шифрлэгдэх болно.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="openssh"> + <sect1info> + <authorgroup> + <author> + <firstname>Шерн</firstname> + <surname>Ли</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + <!-- 21 April 2001 --> + </authorgroup> + </sect1info> + + <title>OpenSSH</title> + <indexterm><primary>OpenSSH</primary></indexterm> + <indexterm> + <primary>аюулгүй байдал</primary> + <secondary>OpenSSH</secondary> + </indexterm> + + <para><application>OpenSSH</application> нь алсын машинуудад аюулгүйгээр хандах + сүлжээний холболтын хэрэгслүүдийн олонлог юм. <command>rlogin</command>, + <command>rsh</command>, <command>rcp</command>, болон + <command>telnet</command>-ийг энэ програмаар шууд орлуулан ашиглаж болно. + Мөн TCP/IP холболтууд аюулгүйгээр SSH-ээр туннел хийгдэж/дамжуулагдаж + болдог. <application>OpenSSH</application> нь сэм чагналт, холболт булаан авалт, болон + бусад сүлжээний түвшний халдлагуудыг үр дүнтэйгээр устгаж бүх трафикийг шифрлэдэг.</para> + + <para><application>OpenSSH</application>-г OpenBSD төсөл дэмжиж байдаг бөгөөд + бүх сүүлийн үеийн алдааны засварууд болон шинэчлэлтүүд бүхий SSH v1.2.12 дээр + тулгуурласан байдаг. Энэ програм нь SSH протокол 1 болон 2-той хоюулантай нь + нийцтэй.</para> + + <sect2> + <title>OpenSSH-ийг ашиглах давуу тал</title> + + <para>&man.telnet.1; эсвэл &man.rlogin.1; ашиглаж байх үед сүлжээгээр + илгээгдэж байгаа өгөгдөл цэвэр, шифрлэгдээгүй хэлбэрээр байдаг. + Сүлжээний шиншлэгчид клиент болон серверийн хооронд хаана ч байсан гэсэн + таны хэрэглэгч/нууц үгийн мэдээлэл эсвэл таны сессээр дамжсан өгөгдлийг + хулгайлж чадна. <application>OpenSSH</application> нь ийм асуудлаас + хамгаалж төрөл бүрийн нэвтрэлт таних болон шифрлэх аргуудыг санал болгодог.</para> + </sect2> + + <sect2> + <title>sshd-г идэвхжүүлэх</title> + <indexterm> + <primary>OpenSSH</primary> + <secondary>идэвхжүүлэх</secondary> + </indexterm> + + <para><application>sshd</application> нь стандарт &os; суулгацын явцад + харуулагдах тохируулга юм. <application>sshd</application> идэвхжсэн + эсэхийг харахдаа <filename>rc.conf</filename> файлаас дараах мөрийг + шалгаарай:</para> + <screen>sshd_enable="YES"</screen> + <para>Энэ нь дараагийн удаа таны систем эхлэхэд <application>OpenSSH</application>-д + зориулсан &man.sshd.8; демон програмыг дуудна. Мөн <filename>/etc/rc.d/sshd</filename> + &man.rc.8; скрипт ашиглан <application>OpenSSH</application>-г эхлүүлэх + боломжтой байдаг:</para> + + <programlisting>/etc/rc.d/sshd start</programlisting> + </sect2> + + <sect2> + <title>SSH клиент</title> + <indexterm> + <primary>OpenSSH</primary> + <secondary>клиент</secondary> + </indexterm> + + <para>&man.ssh.1; хэрэгсэл &man.rlogin.1;-тэй адил + ажилладаг.</para> + + <screen>&prompt.root; <userinput>ssh <replaceable>user@example.com</replaceable></userinput> +Host key not found from the list of known hosts. +Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput> +Host 'example.com' added to the list of known hosts. +user@example.com's password: <userinput>*******</userinput></screen> + + <para>Нэвтрэлт нь <command>rlogin</command> эсвэл + <command>telnet</command> ашиглан үүсгэгдсэн сесс шиг үргэлжлэх болно. + SSH нь хэрэглэгч холбогдоход серверийн жинхэнэ эсэхийг шалгахын тулд + түлхүүр хээ шалгах системийг хэрэглэдэг. Хэрэглэгч зөвхөн эхний удаа холбогдоход + <literal>yes</literal> гэж оруулахыг шаардана. Дараа дараагийн + нэвтрэлт оролдлогууд бүгд хадгалсан хээ шалгах түлхүүртэй харьцуулагдан + шалгагддаг. Хэрэв хадгалсан хээ нь дараа дараагийн нэвтрэлтийн оролдлогуудаас + хүлээн авсан хээнээс өөр бол SSH клиент нь танд түгшүүр өгнө. Хээнүүд + <filename>~/.ssh/known_hosts</filename> файлд эсвэл SSH v2-ийн хээнүүд + <filename>~/.ssh/known_hosts2</filename> файлд + хадгалагдана.</para> + + <para>Анхдагчаар <application>OpenSSH</application> серверүүдийн + сүүлийн үеийн хувилбарууд зөвхөн SSH v2 холболтуудыг хүлээн авдаг. + Клиент нь хэрэв боломжтой бол 2-р хувилбарыг ашиглах бөгөөд боломжгүй бол + 1-р хувилбарыг ашигладаг. <option>-1</option> эсвэл + <option>-2</option> тохируулгуудыг 1-р эсвэл 2-р хувилбаруудад зориулан + дамжуулан клиентэд зөвхөн аль нэгийг ашиглахыг хүчилж болно. 1-р хувилбарын + нийцтэй байдал нь клиентэд хуучин хувилбаруудтай нийцтэй байх зорилгоор дэмжигдсэн + байдаг.</para> + </sect2> + + <sect2> + <title>Аюулгүй хуулбарлалт</title> + <indexterm> + <primary>OpenSSH</primary> + <secondary>аюулгүй хуулбарлалт</secondary> + </indexterm> + <indexterm><primary><command>scp</command></primary></indexterm> + + <para>&man.scp.1; тушаал &man.rcp.1;-тэй адил ажилладаг; энэ нь файлыг алсын + машинаас эсвэл машин уруу, ялгаатай нь аюулгүйгээр хуулдаг.</para> + + <screen>&prompt.root; <userinput> scp <replaceable>user@example.com:/COPYRIGHT COPYRIGHT</replaceable></userinput> +user@example.com's password: <userinput>*******</userinput> +COPYRIGHT 100% |*****************************| 4735 +00:00 +&prompt.root;</screen> + <para>Өмнөх жишээн дээр энэ хостын хувьд хээ нь аль хэдийн хадгалагдсан болохоор + &man.scp.1;-ийг энд ашиглах үед шалгагддаг.</para> + + <para>&man.scp.1;-ээр дамжуулсан нэмэлт өгөгдлүүд нь &man.cp.1;-тэй адил бөгөөд + эхний нэмэлт өгөгдөлд файл эсвэл файлууд, хоёр дахь дээр очих файлыг + зааж өгдөг. Файл нь сүлжээгээр SSH-ээр татагддаг болохоор файлын нэг эсвэл хэд хэдэн + нэмэлт өгөгдлүүд <option>user@host:<path_to_remote_file></option> + хэлбэрийг авдаг.</para> + + </sect2> + + <sect2> + <title>Тохиргоо</title> + <indexterm> + <primary>OpenSSH</primary> + <secondary>тохиргоо</secondary> + </indexterm> + + <para><application>OpenSSH</application> демон болон клиентийн + системийн дагуух тохиргооны файлууд <filename>/etc/ssh</filename> + санд байрладаг.</para> + + <para><filename>ssh_config</filename> клиентийн тохируулгуудыг + тохируулдаг бөгөөд <filename>sshd_config</filename> нь + демоныг тохируулдаг.</para> + + <para>Мөн <option>sshd_program</option> + (анхдагчаар <filename>/usr/sbin/sshd</filename>) болон + <option>sshd_flags</option> <filename>rc.conf</filename> + тохируулгууд тохиргооны түвшнүүдийг илүүтэйгээр хангадаг.</para> + </sect2> + + <sect2 id="security-ssh-keygen"> + <title>ssh-keygen</title> + + <para>Нууц үгүүдийг ашиглахын оронд &man.ssh-keygen.1; нь + хэрэглэгчийг шалгаж танихад DSA эсвэл RSA түлхүүрүүдийг үүсгэхэд + хэрэглэгдэж болно:</para> + + <screen>&prompt.user; <userinput>ssh-keygen -t <replaceable>dsa</replaceable></userinput> +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 user@host.example.com +</screen> + + <para>&man.ssh-keygen.1; нь шалгаж танихад хэрэглэгдэх нийтийн болон хувийн + түлхүүр хослолыг үүсгэнэ. Хувийн түлхүүр <filename>~/.ssh/id_dsa</filename> эсвэл + <filename>~/.ssh/id_rsa</filename>-д хадгалагдах бөгөөд харин нийтийн түлхүүр + нь <filename>~/.ssh/id_dsa.pub</filename> эсвэл + <filename>~/.ssh/id_rsa.pub</filename>-д DSA болон RSA түлхүүрийн төрлүүдэд + зориулагдан хадгалагддаг. Тохируулга нь ажиллахын тулд нийтийн түлхүүр нь алсын машины + <filename>~/.ssh/authorized_keys</filename> файлд хийгдэх ёстой байдаг. + Үүнтэй адилаар нийтийн түлхүүрүүдийн RSA хувилбар нь + <filename>~/.ssh/authorized_keys</filename> файлд бас хийгдэх ёстой.</para> + + <para>Энэ нь нууц үгүүдийн оронд SSH түлхүүрүүдийг ашиглан алсын машин уруу + холбогдохыг зөвшөөрөх болно.</para> + + <para>Хэрэв нэвтрэх үгнүүд &man.ssh-keygen.1;-д ашиглагдаж байгаа бол + хувийн түлхүүрийг хэрэглэхийн тулд хэрэглэгчээс нууц үгийг нэвтрэх болгонд + асуудаг. &man.ssh-agent.1; нь урт нэвтрэх үгнүүдийг дахин дахин оруулах + тэр зовлонг зөөллөж чадах бөгөөд <xref linkend="security-ssh-agent"> + хэсэгт тайлбарлагдсан байгаа болно.</para> + + <warning><para>Төрөл бүрийн тохируулгууд болон файлууд нь + таны систем дээр байгаа <application>OpenSSH</application>-ийн + хувилбаруудаас шалтгаалан өөр өөр байдаг; асуудалтай учрахгүйн тулд + та &man.ssh-keygen.1; гарын авлагын хуудаснаас лавлах + хэрэгтэй.</para></warning> + </sect2> + + <sect2 id="security-ssh-agent"> + <title>ssh-agent болон ssh-add</title> + + <para>&man.ssh-agent.1; болон &man.ssh-add.1; хэрэгслүүд нь + нэвтрэх үгнүүдийг дахин дахин бичүүлэлгүйгээр <application>SSH</application> + түлхүүрүүдийг санах ойд дуудан ашиглаж болох аргуудаар хангадаг.</para> + + <para>&man.ssh-agent.1; хэрэгсэл нь түүн уруу дуудагдсан хувийн түлхүүр(үүд) + ашиглан жинхэн эсэхийг шалгах танилтыг зохицуулна. &man.ssh-agent.1; нь өөр програмыг + ачаалахад хэрэглэгдэх ёстой. Хамгийн хялбартаа энэ нь бүрхүүл + эсвэл илүү дэвшилттэйгээр ашиглавал цонхны удирдагч ажиллуулж болох + юм.</para> + + <para>&man.ssh-agent.1;-ийг бүрхүүлд ашиглахын тулд үүнийг эхлээд + бүрхүүлтэй цуг нэмэлт өгөгдөл маягаар ажиллуулах шаардлагатай. Хоёрдугаарт + хэн бэ гэдэг мэдээллийг (identity) &man.ssh-add.1;-г ажиллуулан нэмэх хэрэгтэй бөгөөд + түүнд хувийн түлхүүрийн нэвтрэх үгнүүдийг өгөх хэрэгтэй. Эдгээр алхмууд + хийгдсэний дараа хэрэглэгч харгалзах нийтийн түлхүүр суулгагдсан + дурын хост уруу &man.ssh.1; хийж чадах болно. + Жишээ нь:</para> + + <screen>&prompt.user; ssh-agent <replaceable>csh</replaceable> +&prompt.user; ssh-add +Enter passphrase for /home/user/.ssh/id_dsa: +Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) +&prompt.user;</screen> + + <para>X11 дээр &man.ssh-agent.1; хэрэглэхийн тулд &man.ssh-agent.1;-ийн + дуудлага <filename>~/.xinitrc</filename>-д байх шаардлагатай. + Ингэснээр X11-д ачаалагдсан бүх програмуудад &man.ssh-agent.1;-ийн + үйлчилгээнүүдийг үзүүлэх болно. Жишээ <filename>~/.xinitrc</filename> + файл иймэрхүү харагдах болно:</para> + + <programlisting>exec ssh-agent <replaceable>startxfce4</replaceable></programlisting> + + <para>Энэ нь &man.ssh-agent.1;-ийг ажиллуулах бөгөөд тэр нь эргээд + X11 эхлэх бүрт <application>XFCE</application>-ийг ажиллуулна. + Ингэж хийгдсэний дараа өөрчлөлтүүд нь үйлчлэхийн тулд X11 дахин эхэлсэний хойно + өөрийн SSH түлхүүрүүдийг бүгдийг ачаалахын тулд ердөө л &man.ssh-add.1;-ийг + ажиллуулаарай.</para> + </sect2> + + <sect2 id="security-ssh-tunneling"> + <title>SSH туннел хийх</title> + <indexterm> + <primary>OpenSSH</primary> + <secondary>туннел хийх</secondary> + </indexterm> + + <para><application>OpenSSH</application> нь шифрлэгдсэн сессийн үед өөр протоколыг + хайрцаглах туннел үүсгэх чадвартай байдаг.</para> + + <para>Дараах тушаал <application>telnet</application>-д зориулж туннел үүсгэхийг + &man.ssh.1;-д хэлж өгнө:</para> + + <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.example.com</replaceable></userinput> +&prompt.user;</screen> + + <para><command>ssh</command> тушаал дараах тохируулгуудтай + хэрэглэгдэнэ:</para> + + <variablelist> + <varlistentry> + <term><option>-2</option></term> + + <listitem> + <para><command>ssh</command>-ийг протоколын 2-р хувилбарыг + ашиглахыг зааж өгнө. (хэрэв та хуучин SSH серверүүдтэй ажиллаж + байгаа бол үүнийг битгий ашиглаарай)</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-N</option></term> + + <listitem> + <para>Тушаал байхгүй эсвэл зөвхөн туннел гэдгийг заана. Хэрэв үүнийг + орхивол <command>ssh</command> ердийн сесс эхлүүлнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-f</option></term> + + <listitem> + <para><command>ssh</command>-ийг ард, далд ажиллуулахыг + заана.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-L</option></term> + + <listitem> + <para>Локал туннелийг <replaceable>localport:remotehost:remoteport</replaceable> + загвараар зааж өгнө.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>user@foo.example.com</option></term> + + <listitem> + <para>Алсын SSH сервер.</para> + </listitem> + </varlistentry> + </variablelist> + + + <para>SSH туннел нь сонсох сокетийг <hostid>localhost</hostid>-ийн + заагдсан порт дээр үүсгэн ажилладаг. Дараа нь локал хост/порт дээр хүлээн + авсан дурын холболтыг SSH-ээр дамжуулан заасан алсын хост болон порт уруу + илгээдэг.</para> + + <para>Жишээн дээр <hostid>localhost</hostid> дээрх <replaceable>5023</replaceable> + порт нь алсын машины <hostid>localhost</hostid> дээрх <replaceable>23</replaceable> + порт уруу дамжуулагдаж байна. <replaceable>23</replaceable> нь + <application>telnet</application> учир энэ нь SSH туннелээр аюулгүй + <application>telnet</application> сесс үүсгэнэ.</para> + + <para>SMTP, POP3, FTP гэх зэрэг ямар ч аюултай TCP протоколуудын + гүйцэтгэлийг хялбаршуулахад үүнийг ашиглаж болно.</para> + + <example> + <title>SMTP-д зориулан SSH ашиглан аюулгүй туннел үүсгэх</title> + + <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5025:localhost:25 user@mailserver.example.com</replaceable></userinput> +user@mailserver.example.com's password: <userinput>*****</userinput> +&prompt.user; <userinput>telnet localhost 5025</userinput> +Trying 127.0.0.1... +Connected to localhost. +Escape character is '^]'. +220 mailserver.example.com ESMTP</screen> + + <para>Үүнийг &man.ssh-keygen.1; болон нэмэлт хэрэглэгчийн бүртгэлүүдтэй + цуг илүү үл үзэгдэх/төвөггүй SSH туннел хийх орчин үүсгэхэд ашиглаж болно. + Түлхүүрүүд нь нууц үг бичихийн оронд ашиглагдаж болох бөгөөд туннелууд + нь тусдаа хэрэглэгч маягаар ажиллаж чадна.</para> + </example> + + <sect3> + <title>SSH туннелийн практик жишээнүүд</title> + + <sect4> + <title>POP3 сервер уруу аюулгүй хандах</title> + + <para>Ажил дээр чинь гаднаас холболтууд хүлээн авах SSH сервер байна. + Бас тэр оффисийн сүлжээнд POP3 сервер ажиллуулж байгаа + захидлын сервер байна. Таны гэр болон оффисийн хоорондын + сүлжээ болон сүлжээний зам итгэж болохоор эсвэл итгэж болохооргүй + байж магадгүй юм. Ийм учраас та өөрийн захидлыг аюулгүй аргаар + шалгах хэрэгтэй юм. Үүний шийдэл нь өөрийн оффисийн SSH сервер + уруу SSH холболт үүсгэж захидлын сервер уруу туннел хийх явдал + юм.</para> + + <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>2110:mail.example.com:110 user@ssh-server.example.com</replaceable></userinput> +user@ssh-server.example.com's password: <userinput>******</userinput></screen> + + <para>Туннел эхлэн ажилласны дараа та өөрийн захидлын клиентийнхээ + POP3 хүсэлтүүдийг <hostid>localhost</hostid>-ийн 2110 порт уруу + илгээхээр зааж өгч болно. Эндэх холболт туннелээр аюулгүйгээр дамжин + <hostid>mail.example.com</hostid> уруу илгээгдэнэ.</para> + </sect4> + + <sect4> + <title>Хэцүү галт ханыг тойрон гарах</title> + + <para>Зарим сүлжээний администраторууд хэтэрхий чанга галт ханын дүрэм ашиглан + зөвхөн ирж байгаа холболтууд төдийгүй гарч байгаа холболтуудыг ч бас + шүүдэг. Танд алсын машинуудад зөвхөн SSH болон вебээр аялах 22 болон + 80-р портуудад хандах боломжийг өгсөн байж болох юм.</para> + + <para>Та хөгжим цацдаг Ogg Vorbis сервер зэрэг өөр (магадгүй ажилдаа холбоогүй) + үйлчилгээ уруу хандахыг магадгүй хүсэж болох юм. Хэрэв энэ Ogg Vorbis + сервер нь 22 эсвэл 80-аас бусад өөр порт дээр цацаж байгаа бол + та түүнд хандаж чадахгүй юм.</para> + + <para>Үүний шийдэл нь таны сүлжээний галт ханаас гаднах машин уруу SSH холболт үүсгэж + үүнийг Ogg Vorbis сервер уруу туннел хийхэд ашиглах явдал юм.</para> + + <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>8888:music.example.com:8000 user@unfirewalled-system.example.org</replaceable></userinput> +user@unfirewalled-system.example.org's password: <userinput>*******</userinput></screen> + + <para>Таны урсгал хүлээн авах клиент одоо <hostid>localhost</hostid>-ийн + 8888 порт уруу заагдах бөгөөд тэр цаашаагаа галт ханыг амжилттайгаар + гэтлэн <hostid>music.example.com</hostid> уруу дамжуулагдана.</para> + </sect4> + </sect3> + </sect2> + + <sect2> + <title><varname>AllowUsers</varname> хэрэглэгчийн тохируулга</title> + + <para>Ямар хэрэглэгчид хаанаас орохыг хязгаарлаж өгөх нь зүйтэй юм. + <literal>AllowUsers</literal> тохируулга нь үүнд хүрэх сайн арга + юм. Жишээ нь <username>root</username> хэрэглэгчийг зөвхөн + <hostid role="ipaddr">192.168.1.32</hostid>-оос орохыг + зөвшөөрөхийн тулд дараахитай адил тохируулгыг <filename>/etc/ssh/sshd_config</filename> + файлд хийх нь зүйтэй юм:</para> + + <programlisting>AllowUsers root@192.168.1.32</programlisting> + + <para><username>admin</username> хэрэглэгчийг хаанаас ч орохыг зөвшөөрөхийн + тулд ердөө л хэрэглэгчийн нэрийг өөрийг нь жагсааж өгнө:</para> + + <programlisting>AllowUsers admin</programlisting> + + <para>Олон хэрэглэгчид нэг мөрөнд жагсаагдах шаардлагатай:</para> + + <programlisting>AllowUsers root@192.168.1.32 admin</programlisting> + + <note> + <para>Та энэ машин уруу нэвтрэх хэрэгцээтэй хэрэглэгч бүрийг жагсааж өгөх нь чухал юм, + тэгэхгүй бол тэдгээр нь орж чадахгүй болно.</para> + </note> + + <para><filename>/etc/ssh/sshd_config</filename>-д өөрчлөлтүүд хийснийхээ + дараа &man.sshd.8;-д өөрийн тохиргооны файлуудыг дахин дуудахыг дараах тушаалыг + ажиллуулж та хэлж өгөх ёстой:</para> + + <screen>&prompt.root; <userinput>/etc/rc.d/sshd reload</userinput></screen> + </sect2> + + <sect2> + <title>Нэмэлт унших материалууд</title> + <para><ulink url="http://www.openssh.com/">OpenSSH</ulink></para> + <para>&man.ssh.1; &man.scp.1; &man.ssh-keygen.1; + &man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;</para> + <para>&man.sshd.8; &man.sftp-server.8; &man.sshd.config.5;</para> + </sect2> + </sect1> + + <sect1 id="fs-acl"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хавь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + <indexterm> + <primary>ACL</primary> + </indexterm> + <title>Файлын системийн хандалт хянах жагсаалтууд</title> + + <para>Хормын хувилбарууд зэрэг файлын системийн өргөжүүлэлтүүдийн хамтаар FreeBSD 5.0 + болон сүүлийн хувилбарууд Файлын системийн хандалт хянах жагсаалтуудын + (<acronym>ACL</acronym>-ууд) аюулгүй байдлыг санал болгодог.</para> + + <para>Хандалт Хянах Жагсаалтууд нь стандарт &unix; зөвшөөрлийн загварыг + маш нийцтэй (&posix;.1e) аргаар өргөтгөдөг. Энэ боломж нь администраторт + илүү төвөгтэй аюулгүй байдлын загвар болон түүний давуу талыг ашиглахыг + зөвшөөрдөг.</para> + + <para><acronym>UFS</acronym> файлын системүүдэд <acronym>ACL</acronym> + дэмжлэгийг идэвхжүүлэхийн тулд дараах:</para> + + <programlisting>options UFS_ACL</programlisting> + + <para>тохируулгыг цөмд эмхэтгэх шаардлагатай. Хэрэв энэ тохируулга эмхэтгэгдээгүй бол + <acronym>ACL</acronym>-ууд дэмжих файлын системийг холбохыг оролдоход + анхааруулах мэдэгдэл дэлгэцэд гардаг. Энэ тохируулга <filename>GENERIC</filename> + цөмд орсон байдаг. <acronym>ACL</acronym>-ууд нь файлын систем дээр өргөтгөсөн шинж + чанаруудыг идэвхжүүлсэн дээр тулгуурладаг. Өргөтгөсөн шинж чанарууд нь + дараа үеийн &unix; файлын систем <acronym>UFS2</acronym>-д төрөлхийн + дэмжигдсэн байдаг.</para> + + <note><para><acronym>UFS1</acronym> дээр өргөтгөсөн шинж чанаруудыг тохируулахад + <acronym>UFS2</acronym> дээр тохируулахтай харьцуулбал илүү удирдлагын + зардал шаардлагатай байдаг. <acronym>UFS2</acronym> дээрх өргөтгөсөн + шинж чанаруудын ажиллагаа нь бас бодитойгоор илүү байдаг. Иймээс + <acronym>UFS2</acronym>-г <acronym>UFS1</acronym>-ийн оронд + хандалт хянах жагсаалтуудад ашиглахыг ерөнхийдөө зөвлөдөг.</para></note> + + <para><acronym>ACL</acronym>-ууд нь <filename>/etc/fstab</filename> файлд + нэмэгдэж өгч болох холбох үеийн удирдлагын <option>acls</option> тугаар + идэвхтэй болдог. Файлын системийн толгой дахь супер блокийн <acronym>ACL</acronym>-ууд тугийг + өөрчлөхийн тулд &man.tunefs.8;-ийг ашиглан шургуу замаар холбох үеийн тугийг автоматаар + зааж өгч болно. Ерөнхийдөө хэд хэдэн шалтгааны улмаас супер блокийн тугийг ашиглах нь + дээр байдаг:</para> + + <itemizedlist> + <listitem> + <para>Холбх үеийн <acronym>ACL</acronym>-ууд туг дахин холболтоор өөрчлөгддөггүй + (&man.mount.8; <option>-u</option>), зөвхөн бүрэн гүйцэд + &man.umount.8; хийгдэж шинэ &man.mount.8; хийгдсэний дараа болно. + Энэ нь бас файлын системийг ашиглаж байх үед дарааллыг нь өөрчилж болохгүй гэсэн үг + юм.</para> + </listitem> + + <listitem> + <para><filename>fstab</filename>-д мөр байхгүй байсан ч гэсэн эсвэл төхөөрөмжүүдийн + дараалал өөрчлөгдсөн ч гэсэн супер блокийн тугийг тохируулах нь файлын системийг үргэлж + <acronym>ACL</acronym>-уудыг идэвхтэйгээр холбоход хүргэдэг. Энэ нь файлын системийг + <acronym>ACL</acronym>-уудыг идэвхжүүлэлгүйгээр санамсаргүйгээр холбохоос хамгаалдаг бөгөөд + ингэж санамсаргүй холбох нь <acronym>ACL</acronym>-уудыг буруугаар албадаж + тэгснээр аюулгүй байдлын асуудлуудад хүргэж болох юм.</para> + </listitem> + </itemizedlist> + + <note><para>Бид шинэ &man.mount.8; хийлгүйгээр туг идэвхжүүлдэгийг зөвшөөрөхөөр + <acronym>ACL</acronym>-уудын ажиллагааг өөрчилж болох юм, гэхдээ бид + <acronym>ACL</acronym>-уудыг идэвхжүүлэлгүй санамсаргүйгээр холболт хийхийг + болиулахыг хүсдэг бөгөөд учир нь хэрэв та <acronym>ACL</acronym>-уудыг идэвхжүүлээд + дараа нь болиулаад өргөтгөсөн шинж чанаруудыг устгалгүйгээр дахин идэвхжүүлбэл та + өөртөө нэлээн хэцүү асуудал учруулах зүйлийг хийх болно. Ерөнхийдөө та файлын систем + дээр <acronym>ACL</acronym>-уудыг идэвхжүүлсэний дараа файлын хамгаалалтууд нь + системийн хэрэглэгчдэд зориулагдсан файлуудтай нийцгүй болж болох учир тэдгээрийг + болиулж болохгүй бөгөөд <acronym>ACL</acronym>-уудыг дахин идэвхжүүлэх нь + зөвшөөрлүүд нь өөрчлөгдсөн байж болох файлуудад өмнөх <acronym>ACL</acronym>-уудыг + магадгүй дахин холбож өөр тааварлаж болшгүй ажиллагаанд хүргэж болох юм.</para></note> + + <para><acronym>ACL</acronym>-ууд идэвхжүүлсэн файлын системүүд өөрсдийн зөвшөөрлийн + тохируулгууд дээрээ <literal>+</literal> (нэмэх) тэмдэг үзэх үед харуулдаг. + Жишээ нь:</para> + + <programlisting>drwx------ 2 robert robert 512 Dec 27 11:54 private +drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1 +drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2 +drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3 +drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting> + + <para>Энд бид <filename>directory1</filename>, + <filename>directory2</filename>, болон <filename>directory3</filename> + сангууд бүгд <acronym>ACL</acronym>-ууд-ийн давуу талыг авч байгааг харж байна. + <filename>public_html</filename> сан тэгэхгүй байна.</para> + + <sect2> + <title><acronym>ACL</acronym>-уудыг ашиглах нь</title> + + <para>Файлын системийн <acronym>ACL</acronym>-уудыг &man.getfacl.1; + хэрэгслээр харж болно. Жишээ нь <filename>test</filename> файл дээрх + <acronym>ACL</acronym> тохируулгуудыг харахын тулд дараах тушаалыг + ажиллуулах хэрэгтэй:</para> + + <screen>&prompt.user; <userinput>getfacl <filename>test</filename></userinput> + #file:test + #owner:1001 + #group:1001 + user::rw- + group::r-- + other::r--</screen> + + <para>Энэ файлын <acronym>ACL</acronym> тохируулгуудыг өөрчлөхийн тулд + &man.setfacl.1; хэрэгслийг ажиллуул. Ажиглаарай:</para> + + <screen>&prompt.user; <userinput>setfacl -k <filename>test</filename></userinput></screen> + + <para><option>-k</option> туг нь тухайн үед тодорхойлогдсон бүх + <acronym>ACL</acronym>-уудыг файл эсвэл файлын системээс + арилгана. Илүү дээр арга бол <acronym>ACL</acronym>-уудыг + ажиллуулахад шаардлагатай үндсэн талбаруудыг орхидог + <option>-b</option> тугийг ашиглах явдал юм.</para> + + <screen>&prompt.user; <userinput>setfacl -m u:trhodes:rwx,group:web:r--,o::--- <filename>test</filename></userinput></screen> + + <para>Дээр дурдсан тушаал дээр <option>-m</option> тохируулга анхдагч + <acronym>ACL</acronym> оруулгуудыг өөрчлөхөд хэрэглэгдсэн. + Өмнөх тушаалаар устгагдсан болохоор урьдчилан тодорхойлсон оруулгууд + байхгүй учир энэ нь анхдагч тохируулгуудыг сэргээж жагсаасан тохируулгуудаас + зааж өгдөг. Хэрэв та систем дээр байхгүй хэрэглэгч эсвэл бүлэг нэмэх бол + <errorname>Invalid argument</errorname> буюу Буруу нэмэлт өгөгдөл + гэсэн алдаа <devicename>stdout</devicename> уруу хэвлэгдэнэ гэдгийг + санаж байх хэрэгтэй.</para> + </sect2> + </sect1> + + <sect1 id="security-portaudit"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + + <indexterm> + <primary>Portaudit</primary> + </indexterm> + <title>Гуравдагч талын аюулгүй байдлын асуудлуудыг монитор хийх нь</title> + + <para>Сүүлийн жилүүдэд эмзэг асуудлын үнэлгээ хэрхэн зохицуулагдаж байгаа тал дээр + аюулгүй байдлын ертөнц олон сайжруулалт хийсэн. Одоогийн байгаа бүх л үйлдлийн + системүүд дээр гуравдагч талын хэрэгслүүд суулгаж тохируулдагаас болж системийн + халдлагын заналхийлэл ихэсдэг.</para> + + <para>Эмзэг асуудлын үнэлгээ нь аюулгүй байдлын түлхүүр хүчин зүйл бөгөөд + &os; нь үндсэн системд зориулан зөвлөгөөнүүдийг гаргадаг боловч + гуравдагч талын хэрэгслүүд бүрийн хувьд хийх нь &os; төслийн боломжоос + гадуур юм. Мэдэгдэж байгаа асуудлуудыг администраторуудад анхааруулж + гуравдагч талын эмзэг асуудлуудыг зөөлрүүлэх арга байдаг. &os;-д нэмэлтээр + <application>Portaudit</application> гэгддэг хэрэгсэл зөвхөн энэ + зорилгоор байдаг.</para> + + <para><filename role="port">ports-mgmt/portaudit</filename> порт нь + &os;-ийн аюулгүй байдлын баг болон портуудын хөгжүүлэгчдийн шинэчилж + ажиллагааг нь хангаж байдаг мэдээллийн баазаас мэдэгдэж байгаа аюулгүй байдлын + асуудлуудыг шалгадаг.</para> + + <para><application>Portaudit</application>-г ашиглаж эхлэхийн тулд + Портуудын цуглуулгаас түүнийг суулгах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/portaudit && make install clean</userinput></screen> + + <para>Суулгах процессийн явцад өдөр бүрийн аюулгүй байдлыг шалгах ажиллагаанд + <application>Portaudit</application>-н гаралтыг зөвшөөрч + &man.periodic.8;-д зориулсан тохиргооны файлуудыг шинэчилдэг. + Өдөр тутмын аюулгүй байдлыг шалгах ажиллагаа <username>root</username>-ийн + захидлын бүртгэл уруу цахим захидал явуулж түүнийг уг хэрэглэгч уншсан эсэхийг + баталгаажуулах хэрэгтэй. Өөр ямар ч илүү тохиргоо энд хэрэггүй.</para> + + <para>Суулгасны дараа администратор мэдээллийн баазыг шинэчлэх болон суулгасан + багцуудад мэдэгдэж байгаа эмзэг асуудлуудыг үзэхдээ дараах тушаалыг + ажиллуулна:</para> + + <screen>&prompt.root; <userinput>portaudit -Fda</userinput></screen> + + <note> + <para>Мэдээллийн бааз &man.periodic.8; ажиллах үед автоматаар шинэчлэгддэг; + иймээс дээрх тушаал заавал шаардлагагүй юм. Энэ нь зөвхөн дараах жишээнүүдэд + шаардлагатай.</para> + </note> + + <para>Портуудын цуглуулгын хэсэг болгон суулгагдсан гуравдагч талын хэрэгслүүдийг + ямар ч үед аудит хийхдээ администратор зөвхөн дараах тушаалыг ажиллуулах + хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>portaudit -a</userinput></screen> + + <para><application>Portaudit</application> эмзэг асуудалтай багцын хувьд + дараахтай адилыг гаргана:</para> + + <programlisting>Affected package: cups-base-1.1.22.0_1 +Type of problem: cups-base -- HPGL buffer overflow vulnerability. +Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html> + +1 problem(s) in your installed packages found. + +You are advised to update or deinstall the affected package(s) immediately.</programlisting> + + <para>Үзүүлсэн <acronym>URL</acronym> уруу веб хөтөчийг чиглүүлж администратор + асуудалтай байгаа эмзэг асуудлын талаар дэлгэрэнгүй мэдээллийг олж авч + болно. Ийм мэдээлэл нь нөлөөлөх хувилбарууд болон &os;-ийн портын хувилбар, + аюулгүй байдлын зөвлөгөөнүүд байж болох өөр бусад веб сайтуудыг агуулж болох + юм.</para> + + <para>Товчхондоо <application>Portaudit</application> нь хүчирхэг + хэрэгсэл бөгөөд <application>Portupgrade</application> порттой цуг + хэрэглэхэд маш ашигтай байдаг.</para> + </sect1> + + <sect1 id="security-advisories"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + <indexterm> + <primary>FreeBSD-ийн аюулгүй байдлын зөвлөгөөнүүд</primary> + </indexterm> + <title>&os;-ийн аюулгүй байдлын зөвлөгөөнүүд</title> + + <para>Үйлдвэрлэлийн чанарыг хангасан үйлдлийн системүүдийн нэгэн адил &os; + <quote>Аюулгүй байдлын зөвлөгөөнүүд</quote> гаргадаг. Эдгээр + зөвлөгөөнүүд нь ихэвчлэн аюулгүй байдлын жагсаалтууд уруу илгээгддэг + бөгөөд зөвхөн тохирох хувилбаруудад засвар хийгдсэний дараа Errata буюу + алдааны хуудсанд тэмдэглэгддэг. Энэ хэсэгт зөвлөгөө гэж юу болох, түүнийг + хэрхэн ойлгох болон системд засвар хийхдээ ямар арга хэмжээнүүдийг + авах талаар тайлбарлах болно.</para> + + <sect2> + <title>Зөвлөгөө ямархуу харагдах вэ?</title> + + <para>&os;-ийн аюулгүй байдлын зөвлөгөөнүүд + &a.security-notifications.name; захидлын жагсаалтаас авсан доорх + зөвлөгөөтэй адил харагдах болно.</para> + + <programlisting>============================================================================= +&os;-SA-XX:XX.UTIL Security Advisory + The &os; Project + +Topic: denial of service due to some problem<co id="co-topic"> + +Category: core<co id="co-category"> +Module: sys<co id="co-module"> +Announced: 2003-09-23<co id="co-announce"> +Credits: Person@EMAIL-ADDRESS<co id="co-credit"> +Affects: All releases of &os;<co id="co-affects"> + &os; 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)<co id="co-corrected"> +<acronym>CVE</acronym> Name: CVE-XXXX-XXXX<co id="co-cve"> + +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<co id="co-backround"> + + +II. Problem Description<co id="co-descript"> + + +III. Impact<co id="co-impact"> + + +IV. Workaround<co id="co-workaround"> + + +V. Solution<co id="co-solution"> + + +VI. Correction details<co id="co-details"> + + +VII. References<co id="co-ref"></programlisting> + + + <calloutlist> + <callout arearefs="co-topic"> + <para><literal>Topic</literal> буюу сэдэв талбар асуудал юу болохыг яг заасан + байдаг. Энэ нь үндсэндээ тухайн үеийн аюулгүй байдлын зөвлөгөөний + танилцуулга бөгөөд эмзэг асуудалтай цуг хэрэгслийг тэмдэглэдэг.</para> + </callout> + + <callout arearefs="co-category"> + <para>The <literal>Category</literal> буюу зэрэглэл талбар нь хамаарч байгаа + системийн хэсгийг хэлдэг бөгөөд <literal>core</literal>, + <literal>contrib</literal>, эсвэл <literal>ports</literal>-ийн + аль нэг байж болно. <literal>core</literal> зэрэглэл нь эмзэг + асуудал &os; үйлдлийн системийн гол хэсэгт нөлөөлнө гэсэн үг юм. + <literal>contrib</literal> зэрэглэл нь эмзэг асуудал + <application>sendmail</application> зэрэг &os; төсөлд + хувь нэмэр болгон оруулсан програм хангамжуудад нөлөөлнө гэсэн үг юм. + Эцэст нь <literal>ports</literal> зэрэглэл нь эмзэг асуудал + портуудын цуглуулганд ордог нэмэлт програм хангамжуудад нөлөөлөхийг + харуулдаг.</para> + </callout> + + <callout arearefs="co-module"> + <para><literal>Module</literal> талбар нь бүрэлдэхүүн хэсгийн байрлалыг + жишээ нь <literal>sys</literal> гэх зэргээр илэрхийлдэг. Энэ жишээн дээр + <literal>sys</literal> модул өртөхийг бид харж байгаа бөгөөд ийм учраас энэ + эмзэг асуудал нь цөм дотор ашиглагдсан бүрэлдэхүүн хэсэгт нөлөөлөх юм.</para> + </callout> + + <callout arearefs="co-announce"> + <para><literal>Announced</literal> буюу зарласан талбар нь аюулгүй байдлын + зөвлөгөө хэвлэгдсэн эсвэл ертөнцөд зарлагдсан огноог заадаг. Энэ нь + аюулгүй байдлын баг асуудал байгааг шалгаж үүний засвар + &os;-ийн эх модны архивт итгэмжлэн оруулсныг тогтоосон гэсэн үг юм.</para> + </callout> + + <callout arearefs="co-credit"> + <para><literal>Credits</literal> буюу талархал талбар нь эмзэг асуудлыг + мэдэж тайлагнасан хувь хүн болон байгууллагыг зааж талархдаг.</para> + </callout> + + <callout arearefs="co-affects"> + <para><literal>Affects</literal> буюу нөлөөлөх хувилбарын талбар нь + энэ эмзэг асуудал нөлөөлөх &os;-ийн хувилбаруудыг тайлбарладаг. + Цөмийн хувьд уг нөлөөлсөн файлууд дээр ажиллуулсан + <command>ident</command> тушаалын үр дүнг зэрвэс харж + хувилбарыг тодорхойлж болно. Портуудын хувьд + <filename>/var/db/pkg</filename> санд портын нэрийн дараа + хувилбарын дугаар байдаг. Хэрэв систем нь &os;-ийн <acronym>CVS</acronym> + архивтай адил хамгийн сүүлийн хэлбэрт орж өдөр тутам дахин бүтээгдээгүй + бол энэ нь нөлөөлөлд орсон хэвээр байх магадлалтай юм.</para> + </callout> + + <callout arearefs="co-corrected"> + <para><literal>Corrected</literal> буюу засварласан талбар нь + огноо, цаг, цагийн бүс болон засварласан хувилбаруудыг + заадаг.</para> + </callout> + + <callout arearefs="co-cve"> + <para>Common Vulnerabilities Database system буюу Нийтлэг Эмзэг асуудлуудын + Мэдээллийн Баазын системээс эмзэг асуудлуудыг хайхад хэрэглэгдэх + магадлалын мэдээлэлд нөөцлөгддөг.</para> + </callout> + + <callout arearefs="co-backround"> + <para><literal>Background</literal> талбар нь нөлөөлөлд яг ямар хэрэгсэл + орсон талаар мэдээлэл өгдөг. Ихэнхдээ энэ нь &os;-д яагаад тухайн хэрэгсэл + байдаг, юунд хэрэглэгддэг болон хэрэгсэл хэрхэн бий болсон талаар байдаг.</para> + </callout> + + <callout arearefs="co-descript"> + <para><literal>Problem Description</literal> буюу асуудлын тайлбар талбар нь + аюулгүй байдлын цоорхойг гүнзгий тайлбарладаг. Энэ нь гажигтай кодын мэдээлэл + эсвэл бүр хэрэгслийг хэрхэн хорлонтойгоор ашиглаж аюулгүй байдлын цоорхой + нээдэг талаарх мэдээллийг агуулдаг.</para> + </callout> + + <callout arearefs="co-impact"> + <para><literal>Impact</literal> буюу үйлчлэл талбар нь асуудал системд + ямар төрлийн үйлчлэл үзүүлдэгийг тайлбарладаг. Жишээ нь энэ нь + үйлчилгээг зогсоох халдлагаас авахуулаад хэрэглэгчдэд өгч болох нэмэлт + зөвшөөрлүүд эсвэл халдагчид супер хэрэглэгчийн хандалт өгөх зэрэг + юу ч байж болно.</para> + </callout> + + <callout arearefs="co-workaround"> + <para><literal>Workaround</literal> буюу тойрон гарах талбар нь + боломжит тойрон гарах арга замыг системийг шинэчилж чадахгүй байж болох + системийн администраторуудад олгодог. Энэ нь хугацааны шаардлагууд, + сүлжээний боломж эсвэп өөр бусад олон шалтгаанаас болдог байж болох + юм. Ямар ч байсан гэсэн аюулгүй байдлыг хөнгөнөөр авч үзэж болохгүй + бөгөөд нөлөөлөлд орсон систем эсвэл засвар нөхөөс хийгдэх аль эсвэл + аюулгүй байдлын цоорхойг тойрон гарах шийдэл хийгдэх + шаардлагатай.</para> + </callout> + + <callout arearefs="co-solution"> + <para><literal>Solution</literal> буюу шийдэл талбар нь нөлөөлөлд орсон + системийг засварлах заавруудыг санал болгодог. Энэ нь системд засвар + нөхөөс хийн аюулгүй ажиллуулах алхам алхмаар тест хийгдэж шалгагдсан арга + юм.</para> + </callout> + + <callout arearefs="co-details"> + <para><literal>Correction Details</literal> буюу засварын нарийн + учир талбар нь <acronym>CVS</acronym> салбар эсвэл хувилбарын + нэрийн цэгүүдийг доогуур зураас тэмдэгтээр өөрчилж үзүүлдэг. Мөн энэ нь + салбар болгон дахь нөлөөлөлд орсон файлуудын хувилбарын дугаарыг бас + харуулдаг.</para> + </callout> + + <callout arearefs="co-ref"> + <para><literal>References</literal> буюу лавлагаа талбар нь ихэвчлэн + бусад мэдээллийн эхүүдийг өгдөг. Энэ нь вебийн <acronym>URL</acronym>-ууд, + номнууд, захидлын жагсаалтууд болон мэдээний бүлгүүдийг агуулж болно.</para> + </callout> + </calloutlist> + </sect2> + </sect1> + + <sect1 id="security-accounting"> + <sect1info> + <authorgroup> + <author> + <firstname>Том</firstname> + <surname>Рөүдс</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + </sect1info> + <indexterm> + <primary>Процессийн бүртгэл хөтлөх</primary> + </indexterm> + <title>Процессийн бүртгэл хөтлөх</title> + + <para>Процессийн бүртгэл хөтлөх аюулгүй байдлын аргыг ашиглаж + администраторууд системийн эх үүсвэрүүдийг ашигласан байдал болон тэдгээрийг + хэрэглэгчдэд хэрхэн хуваарилсныг мэдэж болох бөгөөд энэ нь системийг монитор + хийх боломжийг олгодог. Мөн энэ арга нь хэрэглэгчдийн тушаалуудыг туйлын + багаар мөшгих боломжийг администраторуудад олгодог.</para> + + <para>Энэ нь үнэн хэрэгтээ өөрийн эерэг болон сөрөг талуудтай. Эерэг талуудын нэг нь + халдлагыг орсон цэг хүртэл нарийсган олох боломж юм. Сөрөг тал нь процессийн + бүртгэл хөтлөлтөөр үүссэн бүртгэлүүд бөгөөд тэдгээр нь дискийн зай шаардаж + болох юм. Энэ хэсэг процессийн бүртгэл хөтлөлтийн үндсүүдийг администраторуудад + таниулах болно.</para> + + <sect2> + <title>Процессийн бүртгэл хөтлөлтийг идэвхжүүлж хэрэглэх нь</title> + <para>Процессийн бүртгэл хөтлөлтийг ашиглаж эхлэхээсээ өмнө үүнийг идэвхжүүлэх + хэрэгтэй. Үүнийг хийхийн тулд дараах тушаалуудыг ажиллуул:</para> + + <screen>&prompt.root; <userinput>touch <filename>/var/account/acct</filename></userinput> + +&prompt.root; <userinput>accton <filename>/var/account/acct</filename></userinput> + +&prompt.root; <userinput>echo 'accounting_enable="YES"' >> <filename>/etc/rc.conf</filename></userinput></screen> + + <para>Идэвхтэй болгосны дараа бүртгэл хөтлөлт <acronym>CPU</acronym> + статистикууд, тушаалууд гэх мэтийг даган мөшгиж эхэлнэ. Бүртгэлийн + бүх бичлэгүүд уншиж болохооргүй хэлбэрээр байдаг бөгөөд тэдгээрийг + &man.sa.8; хэрэгсэл ашиглан үзэж болдог. Ямар нэг тохируулгагүйгээр + ажиллуулбал <command>sa</command> тушаал нь хэрэглэгч болгоны + дуудлагуудын тоо, нийт зарцуулсан хугацааг минутаар, нийт <acronym>CPU</acronym> + болон хэрэглэгчийн хугацааг минутаар, дундаж I/O үйлдлүүдийн тоо + гэх мэттэй холбоотой мэдээллийг дэлгэцэнд хэвлэн үзүүлдэг.</para> + + <para>Тушаалуудыг ашигласан талаарх мэдээллийг харахын тулд &man.lastcomm.1; + хэрэгслийг ашиглах хэрэгтэй. <command>lastcomm</command> тушаал нь + тухайн &man.ttys.5; дээр хэрэглэгчдийн ажиллуулсан тушаалуудыг + үзүүлэхэд хэрэглэгдэж болно, жишээ нь:</para> + + <screen>&prompt.root; <userinput>lastcomm ls + <username>trhodes</username> ttyp1</userinput></screen> + + <para>Дээрх тушаал нь ttyp1 терминал дээр <username>trhodes</username> + хэрэглэгчийн <command>ls</command> тушаал ашигласан мэдэгдэж байгаа + бүгдийг дэлгэцэд харуулах болно.</para> + + <para>Өөр олон ашигтай тохируулгууд байдаг бөгөөд &man.lastcomm.1;, + &man.acct.5; болон &man.sa.8; гарын авлагын хуудсуудад тайлбарласан + байдаг.</para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/serialcomms/Makefile b/mn_MN.UTF-8/books/handbook/serialcomms/Makefile new file mode 100644 index 0000000000..8cc7c9db56 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/serialcomms/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= serialcomms/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml b/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml new file mode 100644 index 0000000000..e070560f43 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml @@ -0,0 +1,2850 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.119 + + $FreeBSD$ +--> + +<chapter id="serialcomms"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + <title>Цуваа холбоонууд</title> + + <sect1 id="serial-synopsis"> + <title>Ерөнхий агуулга</title> + + <indexterm><primary>цуваа холбоонууд</primary></indexterm> + <para>&unix; нь цуваа холбоонуудад зориулсан дэмжлэгтэй үргэлж байсаар ирсэн. + Тухайлбал хамгийн анхны &unix; машинууд хэрэглэгчийн оролт болон гаралтын + хувьд цуваа шугамууд дээр тулгуурладаг байсан. Дундаж <quote>терминал</quote> нь + секундэнд 10 тэмдэгт дамжих цуваа хэвлэгч болон гараас тогтдог байсан тэр үеэс хойш + юмс асар их өөрчлөгдсөөр ирсэн юм. Энэ бүлэг нь FreeBSD дээр цуваа холбоонуудыг + ашиглах зарим аргуудаас дурдах болно.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + <itemizedlist> + <listitem><para>Өөрийн FreeBSD системд терминалуудыг хэрхэн холбох + талаар.</para></listitem> + <listitem><para>Алсын хостууд уруу хэрхэн модемоор залгаж холбогдох + талаар.</para></listitem> + <listitem><para>Алсын хэрэглэгчдийг модемоор таны систем уруу + нэвтрэхийг хэрхэн зөвшөөрөх талаар.</para></listitem> + <listitem><para>Цуваа консолиос өөрийн системийг хэрхэн + ачаалах талаар.</para></listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + <itemizedlist> + <listitem><para>Шинэ цөмийг хэрхэн тохируулан суулгах талаар мэдэх (<xref + linkend="kernelconfig">).</para></listitem> + <listitem><para>&unix; зөвшөөрлүүд болон процессуудыг ойлгох (<xref linkend="basics">).</para></listitem> + <listitem><para>FreeBSD дээр ашиглахыг хүсэж байгаа + цуваа тоног төхөөрөмжийн (модем эсвэл олон порттой карт) техникийн гарын авлагад + хандаж болохоор байх.</para></listitem> + </itemizedlist> + </sect1> + + <sect1 id="serial"> + <title>Танилцуулга</title> + + <!-- XXX Write me! --> + + <sect2 id="serial-terminology"> + <title>Ухагдахуунууд</title> + + <variablelist> + <indexterm><primary>bits-per-second</primary></indexterm> + <varlistentry> + <term>bps</term> + <listitem> + <para>Bits per Second буюу секундэнд дамжуулах бит — + өгөгдөл дамжих хурд</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>DTE</term> + <indexterm><primary>DTE</primary></indexterm> + <listitem> + <para>Data Terminal Equipment буюу Өгөгдлийн Терминал Төхөөрөмж — + жишээ нь таны компьютер</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>DCE</term> + <indexterm><primary>DCE</primary></indexterm> + <listitem> + <para>Data Communications Equipment буюу Өгөгдлийн Холбоонуудын Төхөөрөмж — таны модем</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RS-232</term> + <indexterm><primary>RS-232C кабелиуд</primary></indexterm> + <listitem> + <para>Тоног төхөөрөмжийн цуваа холбоонуудад зориулсан EIA стандарт</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Холбоонуудын өгөгдлийн хурдны талаар ярихдаа энэ хэсэг <quote>baud</quote> + гэсэн ухагдахууныг ашигладаггүй. Baud нь тодорхой хугацаанд хийгдсэн цахилгааны + төлөвийн шилжилтүүдийн тоог хэлдэг бол <quote>bps</quote> (bits per second + буюу секундэнд дамжуулах бит) нь хэрэглэгдэх <emphasis>зөв</emphasis> + ойлголт юм (энэ нь ямар ч байсан хэцүү зөрүүд хүмүүст тийм ч яршиг төвөг болдоггүй + юм шиг санагддаг).</para> + </sect2> + + <sect2 id="serial-cables-ports"> + <title>Кабелиуд болон Портууд</title> + + <para>Өөрийн FreeBSD систем уруу модем эсвэл терминалийг холбохын тулд + танд компьютер дээр чинь цуваа порт болон өөрийн цуваа төхөөрөмж уруу холбох зөв кабел + хэрэгтэй болно. Хэрэв та өөрийн тоног төхөөрөмжтэй болон шаардагдах кабелтай + аль хэдийн танил болсон бол энэ хэсгийг айлгүйгээр орхиж болно.</para> + + <sect3 id="term-cables"> + <title>Кабелиуд</title> + + <para>Хэд хэдэн өөр өөр төрлийн цуваа кабелиуд байдаг. Бидний + зорилгод нийцэх хоёр хамгийн нийтлэг төрөл бол null-модем болон стандарт + (<quote>straight буюу шууд</quote>) RS-232 кабелиуд юм. Таны тоног + төхөөрөмжийн баримт шаардлагатай кабелийн төрлийг тайлбарлах + ёстой.</para> + + <sect4 id="term-cables-null"> + <title>Null-модем кабелиуд</title> + + <indexterm> + <primary>null-модем кабел</primary> + </indexterm> + <para>Null-модем кабел нь <quote>Signal Ground</quote> буюу Газар дохио + зэрэг зарим дохионуудыг шууд нэвтрүүлдэг боловч зарим дохионуудыг + шилжүүлдэг. Жишээ нь нэг талын <quote>Transmitted Data</quote> + буюу Дамжигдсан Өгөгдөл зүү нь нөгөө талын <quote>Received Data</quote> + буюу Хүлээн авсан Өгөгдөл зүү уруу ордог.</para> + + <para>Та бас өөрийн null-модем кабелийг терминалуудтай ажиллахаар болгож + болно (өөрөөр хэлбэл чанарын зорилгоор). Энэ хүснэгт нь RS-232C + <link linkend="serialcomms-signal-names">дохионууд</link> болон + DB-25 холбогч дээрх зүүний тоонуудыг харуулж байна. Мөн стандарт нь + шууд холбогдох 1-р зүүг 1-р зүү <emphasis>Protective Ground</emphasis> + буюу Хамгаалалтын Газар шугам уруу дууддаг боловч энэ нь ихэвчлэн орхигддог. + Зарим терминалууд 2, 3 болон 7-р зүүнүүдийг зөвхөн ашиглахад зүгээр + ажилладаг бол бусдууд нь доор дурдсан жишээнүүдээс өөр тохиргоонуудыг + шаарддаг.</para> + + <table frame="none" pgwide="1"> + <title>DB-25-аас DB-25 Null-Модем кабел</title> + + <tgroup cols="5"> + <thead> + <row> + <entry align="left">Дохио</entry> + <entry align="left">Зүү #</entry> + <entry></entry> + <entry align="left">Зүү #</entry> + <entry align="left">Дохио</entry> + </row> + </thead> + + <tbody> + <row> + <entry>SG</entry> + <entry>7</entry> + <entry>холбогдох</entry> + <entry>7</entry> + <entry>SG</entry> + </row> + + <row> + <entry>TD</entry> + <entry>2</entry> + <entry>холбогдох</entry> + <entry>3</entry> + <entry>RD</entry> + </row> + + <row> + <entry>RD</entry> + <entry>3</entry> + <entry>холбогдох</entry> + <entry>2</entry> + <entry>TD</entry> + </row> + + <row> + <entry>RTS</entry> + <entry>4</entry> + <entry>холбогдох</entry> + <entry>5</entry> + <entry>CTS</entry> + </row> + + <row> + <entry>CTS</entry> + <entry>5</entry> + <entry>холбогдох</entry> + <entry>4</entry> + <entry>RTS</entry> + </row> + + <row> + <entry>DTR</entry> + <entry>20</entry> + <entry>холбогдох</entry> + <entry>6</entry> + <entry>DSR</entry> + </row> + + <row> + <entry>DTR</entry> + <entry>20</entry> + <entry>холбогдох</entry> + <entry>8</entry> + <entry>DCD</entry> + </row> + + <row> + <entry>DSR</entry> + <entry>6</entry> + <entry>холбогдох</entry> + <entry>20</entry> + <entry>DTR</entry> + </row> + + <row> + <entry>DCD</entry> + <entry>8</entry> + <entry>холбогдох</entry> + <entry>20</entry> + <entry>DTR</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>Одоо үед нийтлэг байдаг өөр хоёр схемийг энд үзүүлэв.</para> + + <table frame="none" pgwide="1"> + <title>DB-9-өөс DB-9 Null-Модем кабел</title> + + <tgroup cols="5"> + <thead> + <row> + <entry align="left">Дохио</entry> + <entry align="left">Зүү #</entry> + <entry></entry> + <entry align="left">Зүү #</entry> + <entry align="left">Дохио</entry> + </row> + </thead> + + <tbody> + <row> + <entry>RD</entry> + <entry>2</entry> + <entry>холбогдох</entry> + <entry>3</entry> + <entry>TD</entry> + </row> + + <row> + <entry>TD</entry> + <entry>3</entry> + <entry>холбогдох</entry> + <entry>2</entry> + <entry>RD</entry> + </row> + + <row> + <entry>DTR</entry> + <entry>4</entry> + <entry>холбогдох</entry> + <entry>6</entry> + <entry>DSR</entry> + </row> + + <row> + <entry>DTR</entry> + <entry>4</entry> + <entry>холбогдох</entry> + <entry>1</entry> + <entry>DCD</entry> + </row> + + <row> + <entry>SG</entry> + <entry>5</entry> + <entry>холбогдох</entry> + <entry>5</entry> + <entry>SG</entry> + </row> + + <row> + <entry>DSR</entry> + <entry>6</entry> + <entry>холбогдох</entry> + <entry>4</entry> + <entry>DTR</entry> + </row> + + <row> + <entry>DCD</entry> + <entry>1</entry> + <entry>холбогдох</entry> + <entry>4</entry> + <entry>DTR</entry> + </row> + + <row> + <entry>RTS</entry> + <entry>7</entry> + <entry>холбогдох</entry> + <entry>8</entry> + <entry>CTS</entry> + </row> + + <row> + <entry>CTS</entry> + <entry>8</entry> + <entry>холбогдох</entry> + <entry>7</entry> + <entry>RTS</entry> + </row> + </tbody> + </tgroup> + </table> + + <table frame="none" pgwide="1"> + <title>DB-9-өөс DB-25 Null-Модем кабел</title> + + <tgroup cols="5"> + <thead> + <row> + <entry align="left">Дохио</entry> + <entry align="left">Зүү #</entry> + <entry></entry> + <entry align="left">Зүү #</entry> + <entry align="left">Дохио</entry> + </row> + </thead> + + <tbody> + <row> + <entry>RD</entry> + <entry>2</entry> + <entry>холбогдох</entry> + <entry>2</entry> + <entry>TD</entry> + </row> + + <row> + <entry>TD</entry> + <entry>3</entry> + <entry>холбогдох</entry> + <entry>3</entry> + <entry>RD</entry> + </row> + + <row> + <entry>DTR</entry> + <entry>4</entry> + <entry>холбогдох</entry> + <entry>6</entry> + <entry>DSR</entry> + </row> + + <row> + <entry>DTR</entry> + <entry>4</entry> + <entry>холбогдох</entry> + <entry>8</entry> + <entry>DCD</entry> + </row> + + <row> + <entry>SG</entry> + <entry>5</entry> + <entry>холбогдох</entry> + <entry>7</entry> + <entry>SG</entry> + </row> + + <row> + <entry>DSR</entry> + <entry>6</entry> + <entry>холбогдох</entry> + <entry>20</entry> + <entry>DTR</entry> + </row> + + <row> + <entry>DCD</entry> + <entry>1</entry> + <entry>холбогдох</entry> + <entry>20</entry> + <entry>DTR</entry> + </row> + + <row> + <entry>RTS</entry> + <entry>7</entry> + <entry>холбогдох</entry> + <entry>5</entry> + <entry>CTS</entry> + </row> + + <row> + <entry>CTS</entry> + <entry>8</entry> + <entry>холбогдох</entry> + <entry>4</entry> + <entry>RTS</entry> + </row> + </tbody> + </tgroup> + </table> + + <note> + <para>Нэг талд байгаа нэг зүү нь нөгөө талын хос зүү уруу холбогдох + бол тэдгээрийн холбогч дээр хос зүүний хооронд нэг богино утсаар + болон урт утсаар нөгөө ганц зүү уруу холбон ихэвчлэн шийдсэн + байдаг.</para> + </note> + + <para>Дээрх дизайнууд нь хамгийн нийтлэг юм шиг санагддаг. Өөр хувилбарууд + дээр (<emphasis>RS-232 Made Easy</emphasis> номонд тайлбарласнаар) + SG нь SG уруу, TD нь RD уруу, RTS болон CTS нь DCD уруу, DTR нь + DSR уруу болон эсрэгээр холбогддог.</para> + </sect4> + + <sect4 id="term-cables-std"> + <title>Стандарт RS-232C кабелиуд</title> + <indexterm><primary>RS-232C кабелиуд</primary></indexterm> + + <para>Стандарт цуваа кабел нь RS-232C дохионуудыг бүгдийг нь шууд + нэвтрүүлдэг. Өөрөөр хэлбэл кабелийн нэг талын <quote>Transmitted Data</quote> буюу + Дамжигдсан Өгөгдөл зүү нь нөгөө талын <quote>Transmitted Data</quote> буюу + Дамжигдсан Өгөгдөл зүү уруу ордог. Энэ нь модемийг таны FreeBSD систем уруу болон + зарим нэг тохирох терминалиуд уруу холбоход хэрэглэгдэх кабелийн + төрөл юм.</para> + </sect4> + </sect3> + + <sect3 id="term-ports"> + <title>Портууд</title> + + <para>Цуваа портууд нь өгөгдлийг FreeBSD хост компьютер болон терминалийн хооронд + дамжуулах төхөөрөмжүүд юм. Энэ хэсэг нь ямар төрлийн портууд байдаг болон + FreeBSD дээр тэдгээрт хэрхэн ханддагийг тайлбарлах болно.</para> + + <sect4 id="term-portkinds"> + <title>Портуудын төрлүүд</title> + + <para>Хэд хэдэн төрлийн портууд байдаг. Та кабелийг худалдаж авах юм уу эсвэл + хийхээсээ өмнө энэ нь таны терминал болон FreeBSD систем дээрх портуудад + таарах эсэхийг шалгах хэрэгтэй.</para> + + <para>Ихэнх терминалууд DB-25 портуудтай байдаг. FreeBSD ажиллаж байгаа PC-үүд зэрэг + персонал компьютерууд нь DB-25 эсвэл DB-9 портуудтай байдаг. Хэрэв та + PC дээрээ олон порттой цуваа карттай бол танд RJ-12 эсвэл RJ-45 портууд + байж болох юм.</para> + + <para>Тоног төхөөрөмжтэй цуг ирсэн баримтаас ашиглах портын төрлийн тодорхойлолтыг + үзнэ үү. Портыг нүдээрээ харж шалгах нь бас үр дүнгээ өгдөг.</para> + </sect4> + + <sect4 id="term-portnames"> + <title>Портын нэрс</title> + + <para>FreeBSD дээр цуваа порт бүрт <filename>/dev</filename> сан дахь + оруулгаар та ханддаг. Хоёр өөр төрлийн оруулга байдаг:</para> + + <itemizedlist> + <listitem> + <para>Call-in буюу дуудагдах портууд нь + <filename>/dev/ttyd<replaceable>N</replaceable></filename> + гэгддэг бөгөөд <replaceable>N</replaceable> нь тэгээс эхлэх портын + дугаар юм. Ерөнхийдөө дуудагдах портыг терминалуудад зориулж + ашигладаг. Data carrier detect (DCD) буюу өгөгдлийн зөөгч илрүүлэх + дохиог зөв ажиллахыг цуваа шугам батлахыг дуудагдах портууд нь шаарддаг.</para> + </listitem> + + <listitem> + <para>Call-out буюу дуудах портууд нь + <filename>/dev/cuad<replaceable>N</replaceable></filename> + гэгддэг. Дуудах портуудыг терминалуудад зориулж ихэвчлэн ашигладаггүй, + зөвхөн модемуудад зориулж ашигладаг. Цуваа кабел эсвэл терминал нь + зөөгчийг илрүүлэх дохиог дэмждэггүй бол та дуудах портуудыг ашиглаж + болох юм.</para> + + <note><para>Дуудах портууд нь &os; 5.X болон түүнээс хуучин дээр + <filename>/dev/cuaa<replaceable>N</replaceable></filename> + гэж нэрлэгддэг.</para></note> + </listitem> + </itemizedlist> + + <para>Хэрэв та терминалийг эхний цуваа порт уруу (&ms-dos; дээр <devicename>COM1</devicename>) + холбосон бол терминалд хандахдаа <filename>/dev/ttyd0</filename> гэж + ашиглах болно. Хэрэв терминал нь хоёр дахь цуваа порт дээр байгаа бол + (бас <devicename>COM2</devicename> гэгддэг) <filename>/dev/ttyd1</filename> + гэх мэтээр ашиглах ёстой.</para> + + </sect4> + </sect3> + </sect2> + + <sect2> + <title>Цөмийн тохиргоо</title> + + <para>FreeBSD нь анхдагчаар дөрвөн цуваа портыг дэмждэг. &ms-dos;-ийн + ертөнцөд эдгээр нь <devicename>COM1</devicename>, + <devicename>COM2</devicename>, + <devicename>COM3</devicename>, болон + <devicename>COM4</devicename> гэгддэг. FreeBSD нь одоогоор + BocaBoard 1008 болон 2016 зэрэг <quote>дүлий</quote> олон порттой цуваа + интерфэйс картууд болон Digiboard болон Stallion Technologies-ийн хийдэг + илүү ухаалаг олон порттой картуудыг дэмждэг. Гэхдээ анхдагч цөм нь зөвхөн + стандарт COM портуудыг хайдаг.</para> + + <para>Таны цуваа портуудыг таны цөм таньж байгаа эсэхийг харахын тулд + цөмийг ачаалж байх үед мэдэгдлүүдийг үзэх хэрэгтэй эсвэл цөмийн ачаалалтын + мэдэгдлүүдийг дахин харуулах <command>/sbin/dmesg</command> + тушаалыг ашиглах хэрэгтэй. Ялангуяа <literal>sio</literal> + тэмдэгтүүдээр эхэлсэн мэдэгдлүүдийг хайгаарай.</para> + + <tip><para><literal>sio</literal> орсон мэдэгдлүүдийг + харахын тулд дараах тушаалыг ашиглана:</para> + + <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen> + </tip> + + <para>Жишээ нь дөрвөн цуваа порттой систем дээр эдгээр нь цуваа порттой холбоотой + цөмийн ачаалалтын мэдэгдлүүд юм:</para> + + <screen>sio0 at 0x3f8-0x3ff irq 4 on isa +sio0: type 16550A +sio1 at 0x2f8-0x2ff irq 3 on isa +sio1: type 16550A +sio2 at 0x3e8-0x3ef irq 5 on isa +sio2: type 16550A +sio3 at 0x2e8-0x2ef irq 9 on isa +sio3: type 16550A</screen> + + <para>Хэрэв таны цөм бүх цуваа портуудыг чинь танихгүй байгаа бол + та өөрийн цөмийг <filename>/boot/device.hints</filename> файлд + тохируулах хэрэгтэй байж болох юм. Та өөртөө байхгүй төхөөрөмжүүдийн + хувьд тэдгээр мөрүүдийг тайлбар болгох эсвэл бүрмөсөн арилгаж + болох юм.</para> + + <para>Цуваа портууд болон олон порттой хавтангийн тохиргооны талаар дэлгэрэнгүй мэдээллийг + &man.sio.4; гарын авлагын хуудаснаас лавлана уу. + Өөр хувилбарын FreeBSD дээр урьд нь ашиглаж байсан тохиргооны файл та ашиглаж байгаа + бол болгоомжтой байгаарай, учир нь төхөөрөмжийн тугууд болон синтакс хувилбарууд + хооронд өөрчлөгдсөн байдаг.</para> + + <note> + <para><literal>IO_COM1 порт</literal> нь <literal>0x3f8</literal> хаяг дээрх + портод зориулагдсан орлуулалт юм, <literal>IO_COM2</literal> нь <literal>0x2f8</literal>-ийн + <literal>IO_COM3</literal> нь <literal>0x3e8</literal>-ийн + <literal>IO_COM4</literal> нь <literal>0x2e8</literal>-ийн орлуулалт юм. + Эдгээр хаягууд нь цуваа портуудын нэлээн түгээмэл портын хаягууд бөгөөд 4,3, 5 болон 9 + тасалдалууд нь нэлээн түгээмэл тасалдал хүсэх шугамнууд юм. Ердийн цуваа портууд нь + ISA-bus бүхий PC-үүд дээр тасалдалуудыг хуваалцаж <emphasis>чаддаггүйг</emphasis> + бас санаарай (олон порттой хавтангууд нь өөр дээрээ хавтан дээр бүх 16550A-уудад нэг эсвэл хоёр тасалдал + хүсэх шугамуудыг хуваалцахыг зөвшөөрдөг бичил схемүүдтэй байдаг).</para> + </note> + + </sect2> + + <sect2> + <title>Төхөөрөмжийн Тусгай файлууд</title> + + <para>Цөм дэх ихэнх төхөөрөмжүүдэд <quote>төхөөрөмжийн тусгай файлууд</quote>ын + тусламжтайгаар ханддаг бөгөөд эдгээр файлууд нь <filename>/dev</filename> + санд байдаг. <devicename>sio</devicename> төхөөрөмжид + <filename>/dev/ttyd<replaceable>N</replaceable></filename> + (dial-in буюу гаднаас залгах) болон <filename>/dev/cuad<replaceable>N</replaceable></filename> + (call-out буюу дуудах) төхөөрөмжүүдийн тусламжтай ханддаг. FreeBSD нь + бас эхлүүлэх төхөөрөмжүүд + (&os; 6.X дээр <filename>/dev/ttyd<replaceable>N</replaceable>.init</filename> болон + <filename>/dev/cuad<replaceable>N</replaceable>.init</filename>, + &os; 5.X дээр <filename>/dev/ttyid<replaceable>N</replaceable></filename> болон + <filename>/dev/cuaia<replaceable>N</replaceable></filename>) + болон түгжих төхөөрөмжүүдтэй + (&os; 6.X дээр <filename>/dev/ttyd<replaceable>N</replaceable>.lock</filename> болон + <filename>/dev/cuad<replaceable>N</replaceable>.lock</filename>, + &os; 5.X дээр <filename>/dev/ttyld<replaceable>N</replaceable></filename> болон + <filename>/dev/cuala<replaceable>N</replaceable></filename>) + байдаг. Эхлүүлэх төхөөрөмжүүд нь + урсгалын хяналтдаа <literal>RTS/CTS</literal> + дохиоллыг ашигладаг модемийн <literal>crtscts</literal> зэрэг + холбооны портын параметрүүдийг порт нээгдэх бүрт + эхлүүлж тохируулахад хэрэглэгддэг. Түгжих төхөөрөмжүүд нь + хэрэглэгчид болон програмуудын зарим нэг параметрүүдийг өөрчлөхөөс сэргийлэхийн тулд + портууд дээр тугуудыг түгжихэд хэрэглэгддэг. Терминалийн тохиргоонууд, түгжих болон + эхлүүлэх төхөөрөмжүүд болон терминалын тохируулгуудыг тохируулах талаар + дэлгэрэнгүй мэдээллийг &man.termios.4;, &man.sio.4;, болон &man.stty.1; + гарын авлагын хуудаснуудаас үзнэ үү.</para> + </sect2> + + + <sect2 id="serial-hw-config"> + <title>Цуваа портын тохиргоо</title> + + <indexterm><primary><devicename>ttyd</devicename></primary></indexterm> + <indexterm><primary><devicename>cuad</devicename></primary></indexterm> + + <para><devicename>ttyd<replaceable>N</replaceable></devicename> (эсвэл + <devicename>cuad<replaceable>N</replaceable></devicename>) төхөөрөмж нь + таны өөрийн програмууддаа зориулж нээхийг хүсэх ердийн төхөөрөмж юм. Процесс + төхөөрөмжийг онгойлгоход энэ нь терминалийн I/O тохиргоонуудын анхдагч олонлогтой + байх болно. Та эдгээр тохиргоонуудыг дараах тушаалаар үзэж болно</para> + + <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen> + + <para>Энэ төхөөрөмжид тохиргоонуудыг өөрчлөхөд төхөөрөмжийг хаах хүртэл тохиргоонууд нь + идэвхтэй байдаг. Дахин онгойлгоход энэ нь анхдагч тохиргоо уруугаа буцдаг. + Анхдагч олонлогт өөрчлөлтүүдийг хийхийн тулд та онгойлгоод + <quote>эхний төлөвт</quote> төхөөрөмжийн тохиргоонуудыг тааруулж + болно. Жишээ нь <devicename>ttyd5</devicename>-ийн хувьд анхдагчаар + <option>CLOCAL</option> горим, 8 бит холбоо, болон <option>XON/XOFF</option> + урсгалын хяналтыг идэвхжүүлэхийн тулд дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>stty -f /dev/ttyd5.init clocal cs8 ixon ixoff</userinput></screen> + + <indexterm> + <primary>rc файлууд</primary> + <secondary><filename>rc.serial</filename></secondary> + </indexterm> + + <para>Цуваа төхөөрөмжүүдийн системийн дагуух эхлүүлэлт нь + <filename>/etc/rc.d/serial</filename> файлаар хянагддаг. Энэ файл нь + цуваа төхөрөмжүүдийн анхдагч тохиргоонуудад нөлөөлдөг.</para> + + <para>Програм зарим тохиргоонуудыг өөрчлөхөөс сэргийлэхийн тулд + <quote>түгжих төлөвт</quote> төхөөрөмжид тохиргоо хийнэ. Жишээ нь + <devicename>ttyd5</devicename>-ийн хурдыг 57600 bps + болгож түгжихийн тулд дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>stty -f /dev/ttyd5.lock 57600</userinput></screen> + + <para>Одоо програм <devicename>ttyd5</devicename>-ийг онгойлгож портын хурдыг + өөрчлөхийг оролдоход хурд нь 57600 bps-с хөдлөхгүй + байх болно.</para> + + <para>Мэдээж та эхний төлөвт болон түгжих төлөвт төхөөрөмжүүдийг зөвхөн + <username>root</username> бүртгэл бичдэгээр болгох хэрэгтэй.</para> + </sect2> + </sect1> + + <sect1 id="term"> + <sect1info> + <authorgroup> + <author> + <firstname>Шон</firstname> + <surname>Келли</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + <!-- 28 July 1996 --> + </authorgroup> + </sect1info> + <title>Терминалууд</title> + + <indexterm><primary>терминалууд</primary></indexterm> + + <para>Терминалууд нь таныг компьютерийнхээ консол дээр байхгүй үед эсвэл сүлжээнд + холбогдоогүй байхад амархан, үнэ хямд аргаар FreeBSD систем уруу хандах + боломжийг олгодог. Энэ хэсэг нь терминалуудыг FreeBSD-тэй хэрхэн ашиглах + талаар тайлбарлана.</para> + + <sect2 id="term-uses"> + <title>Терминалуудын хэрэглээ болон төрлүүд</title> + + <para>Анхдагч &unix; системүүдэд консол байгаагүй юм. Харин компьютерийн цуваа + портуудад холбогдсон терминалуудаар хүмүүс нэвтрэн ороод програмууд ажиллуулдаг + байсан байна. Энэ нь зөвхөн текст орчны ажил хийхийн тулд модем болон терминал + програм хангамж ашиглан алсын системд залган орохтой бараг төстэй юм.</para> + + <para>Одоогийн PC-үүд нь өндөр чанарын графикуудыг үзүүлж чадах консолиудтай + боловч цуваа порт дээр нэвтрэх сесс үүсгэх чадвар өнөөгийн бараг бүх + &unix; загварын үйлдлийн системд байдаг бөгөөд FreeBSD ч бас үүний нэгэн + адил юм. Ашиглагдаагүй байгаа цуваа портод холбогдсон терминалийг ашиглан + та нэвтрэн орж дурын текст програмыг консол эсвэл X цонхны систем дээр + <command>xterm</command> цонхонд ажиллуулдаг байсан шигээр ажиллуулж + болох юм.</para> + + <para>Бизнесийн хэрэглэгчийн хувьд та FreeBSD системд олон терминалуудыг + холбож тэдгээрийг өөрийн ажилтнуудынхаа ширээний компьютерууд дээр байрлуулж + болох юм. Гэрийн хэрэглэгчийн хувьд хуучин IBM PC эсвэл &macintosh; зэрэг + нөөц компьютер нь FreeBSD ажиллуулж байгаа илүү хүчтэй компьютерт холбогдсон + терминал болж болох юм. Та ганц хэрэглэгчийн байсан компьютерийг хүчирхэг олон + хэрэглэгчийн систем болгон хувиргаж болох юм.</para> + + <para>FreeBSD-ийн хувьд гурван төрлийн терминал байдаг:</para> + + <itemizedlist> + <listitem> + <para><link linkend="term-dumb">Дүлий терминалууд</link></para> + </listitem> + + <listitem> + <para><link linkend="term-pcs">Терминал маягаар ажиллаж байгаа PC-үүд</link></para> + </listitem> + + <listitem> + <para><link linkend="term-x">X терминалууд</link></para> + </listitem> + </itemizedlist> + + <para>Дараах дэд хэсгүүд нь дээрх төрлүүдийг тайлбарлах болно.</para> + + <sect3 id="term-dumb"> + <title>Дүлий терминалууд</title> + + <para>Дүлий терминалууд нь таныг компьютерууд уруу цуваа шугамуудаар холбогдохыг + зөвшөөрөх тусгайлсан тоног төхөөрөмж юм. Тэдгээрийг <quote>дүлий</quote> гэдэг + бөгөөд тэдгээр нь зөвхөн текст харуулах, илгээх, болон хүлээж авах хангалттай + тооцооллын хүчин чадалтай учраас тэр юм. Та тэдгээр дээр ямар ч програм + ажиллуулж чадахгүй. Текст засварлагчууд, эмхэтгэгчид, цахим захидал, тоглоомууд + гэх зэргүүдийг ажиллуулах хүчин чадал бүхий таны компьютерт тэдгээрийг + холбодог.</para> + + <para>Digital Equipment Corporation-ий VT-100 болон Wyse-ийн WY-75 + зэрэг олон үйлдвэрлэгчдийн хийсэн дүлий терминалуудын хэдэн зуун төрөл байдаг. + Бараг бүх төрөл FreeBSD-тэй цуг ажиллана. Зарим нэг өндөр чанартай терминалууд + график үзүүлж чаддаг боловч эдгээр дэвшилтэт боломжуудыг зөвхөн цөөн хэдэн + програм хангамжийн багцууд ашиглаж чаддаг.</para> + + <para>Ажилтнууд нь X цонхны системийн зэрэг график програмуудад хандах шаардлагагүй + ажлын орчинд дүлий терминалууд нь түгээмэл байдаг.</para> + </sect3> + + <sect3 id="term-pcs"> + <title>Терминал маягаар ажиллаж байгаа PC-үүд</title> + + <para>Хэрэв <link linkend="term-dumb">дүлий терминал</link> нь текст + харуулах, илгээж хүлээн авах чадвартай байдаг бол ямар ч нөөц персонал компьютер + дүлий терминал болж чадна. Танд зөв кабел болон компьютер дээр ажиллах зарим нэг + <emphasis>терминал эмуляц хийх</emphasis> програм хангамж хоёр л хэрэгтэй + болох юм.</para> + + <para>Ийм тохиргоо гэрт их нийтлэг байдаг. Жишээ нь хэрэв таны гэр бүлийн хүн FreeBSD + системийн чинь консол дээр завгүй ажиллаж байвал та FreeBSD систем уруу терминал + маягаар холбосон арай хүчин чадал багатай персонал компьютер дээрээс + зарим нэг текст орчны ажил зэрэг хийж байж болох юм.</para> + + <para>&os;-ийн үндсэн системд цуваа холболтоор ажиллахад хэрэглэж болох + хамгийн багаар бодоход хоёр хэрэгсэл байдаг: энэ нь &man.cu.1; болон &man.tip.1; + юм.</para> + + <para>&os; ажиллаж байгаа клиент систем дээрээс өөр системийн цуваа холболт уруу + холбогдохын тулд та дараах тушаалыг ашиглаж болно:</para> + + <screen>&prompt.root; <userinput>cu -l <replaceable>serial-port-device</replaceable></userinput></screen> + + <para>Энд байгаа <quote>serial-port-device</quote> нь таны системийн + цуваа портод зориулагдсан тусгай төхөөрөмжийн файлын нэр юм. Эдгээр төхөөрөмжийн + файлууд нь 6.0 хувилбараас хуучин &os;-ийн хувьд + <devicename>/dev/cuaa<replaceable>N</replaceable></devicename> + гэгддэг бөгөөд 6.0 болон сүүлийн хувилбаруудад + <devicename>/dev/cuad<replaceable>N</replaceable></devicename> + гэж нэрлэгддэг.</para> + + <para>Төхөөрөмжийн <quote>N</quote>-хэсэг нь цуваа портын дугаарыг + илэрхийлнэ.</para> + + <note> + <para>&os; дээр төхөөрөмжийн дугаарууд нь нэгээс биш тэгээс эхэлдэг + (жишээ нь &ms-dos;-оос үүдэлтэй системүүд дээр байдаг шиг + биш). Энэ нь юу гэсэн үг вэ гэхээр &ms-dos; дээр тулгуурласан + системүүдийн <quote>COM1</quote> гэж нэрлэдэг порт + &os; дээр ихэвчлэн <filename>/dev/cuad0</filename> + гэгддэг.</para> + </note> + + <note> + <para>Зарим хүмүүс портын цуглуулгад байдаг өөр програмууд ашиглахыг + илүүд үздэг. Портуудад &man.cu.1; болон &man.tip.1;-тэй + төстэй ажилладаг <filename role="package">comms/minicom</filename> зэрэг + цөөнгүй хэдэн хэрэгслүүд байдаг.</para> + </note> + </sect3> + + <sect3 id="term-x"> + <title>X терминалууд</title> + + <para>X терминалууд нь хамгийн төвөгтэй терминалуудын нэг юм. Цуваа порт уруу + холбогдохын оронд тэдгээр нь ихэвчлэн Ethernet зэрэг сүлжээнд холбогддог. + Зөвхөн текст орчны програмуудад зориулагдсан биш тэдгээр нь харин X програм үзүүлж + чаддаг.</para> + + <para>Энэ сэдвийг гүйцэд хамарч бүрэн бүтэн байлгах үүднээс бид X терминалуудыг + танилцуулж байна. Гэхдээ энэ бүлэг X терминалуудыг суулгах, тохируулах болон + тэдгээрийн хэрэглээг <emphasis>тайлбарлахгүй</emphasis>.</para> + </sect3> + </sect2> + + <sect2 id="term-config"> + <title>Тохиргоо</title> + + <para>Энэ хэсэг нь терминал дээр нэвтрэх сесс идэвхжүүлэхийн тулд өөрийн FreeBSD систем + дээр таныг юу тохируулах хэрэгтэйг тайлбарлах болно. Энэ нь цуваа + порт дэмжихээр өөрийн цөмийг таныг аль хэдийн тохируулсан байгаа гэж үздэг. Цуваа + порт уруу терминал холбогдсон бөгөөд таныг тэр терминал уруу холбогдсон байгаа + гэж тооцдог.</para> + + <para><command>init</command> процесс нь бүх процессийн хяналт болон + системийн эхлүүлэх үе дэх эхний тохиргоог хариуцдагийг <xref linkend="boot">-с + санах хэрэгтэй. <command>init</command>-ийн хийдэг үйлдлүүдийн нэг нь + <filename>/etc/ttys</filename> файлыг уншиж байгаа терминалууд + дээр <command>getty</command> процессийг эхлүүлэх явдал юм. + <command>getty</command> процесс нь нэвтрэх нэрийг уншиж + <command>login</command> програмыг ажиллуулахыг хариуцдаг.</para> + + <para>Тиймээс өөрийн FreeBSD системийн хувьд терминалуудыг тохируулахын + тулд <username>root</username> хэрэглэгчээр дараах алхмуудыг гүйцэтгэх + хэрэгтэй:</para> + + <procedure> + <step> + <para><filename>/dev</filename> сан дахь оруулгад зориулж + <filename>/etc/ttys</filename> файлд хэрэв байхгүй бол + цуваа портын мөрийг нэмнэ.</para> + </step> + + <step> + <para><command>/usr/libexec/getty</command> нь порт дээр + ажиллахыг зааж <filename>/etc/gettytab</filename> файлаас + тохирох <replaceable>getty</replaceable> төрлийг + тохируулах хэрэгтэй.</para> + </step> + + <step> + <para>Анхдагч терминалийн төрлийг заана.</para> + </step> + + <step> + <para>Портыг <quote>on</quote> болгоно.</para> + </step> + + <step> + <para>Порт <quote>secure</quote> байх ёстой эсэхийг заана.</para> + </step> + + <step> + <para><command>init</command> тушаалаар + <filename>/etc/ttys</filename> файлыг дахин уншуулна.</para> + </step> + </procedure> + + <para>Нэмэлт алхам болгож хоёрдугаар алхам дээр та өөр <replaceable>getty</replaceable> + төрлийг хэрэглээнд зориулан <filename>/etc/gettytab</filename>-д + оруулан үүсгэж болох юм. Энэ бүлэг нь үүнийг хэрхэн хийхийг тайлбарлахгүй бөгөөд + дэлгэрэнгүй мэдээллийг &man.gettytab.5; болон &man.getty.8; гарын + авлагын хуудаснуудаас үзэхийг зөвлөж байна.</para> + + <sect3 id="term-etcttys"> + <title><filename>/etc/ttys</filename> уруу оруулгууд нэмэх нь</title> + + <para><filename>/etc/ttys</filename> файл нь нэвтрэлтүүдийг зөвшөөрөхийг хүссэн + таны FreeBSD систем дээрх бүх портуудыг жагсаадаг. Жишээ нь эхний виртуал консол + <filename>ttyv0</filename> нь энэ файлд өөрийн оруулгатай байна. Та энэ оруулгыг + ашиглан консол дээр нэвтрэн орж чадна. Энэ файл нь бас бусад виртуал консолиуд, цуваа портууд, + болон псевдо tty-уудын оруулгуудыг бас агуулдаг. Хатуугаар холбогдсон терминалийн хувьд + цуваа портын <filename>/dev</filename> оруулгыг <filename>/dev</filename> + хэсэггүйгээр (жишээ нь <filename>/dev/ttyv0</filename> нь <devicename>ttyv0</devicename> + гэж жагсаагдах болно) жагсаадаг.</para> + + <para>Анхдагч FreeBSD суулгац нь <filename>/etc/ttys</filename> файлыг + эхний дөрвөн цуваа портын дэмжлэгтэйгээр агуулдаг: <filename>ttyd0</filename>-ээс + <filename>ttyd3</filename> хооронд байна. Хэрэв та терминалыг эдгээр + портуудын аль нэгэнд холбож байгаа бол өөр оруулга нэмэх шаардлагагүй юм.</para> + + <example id="ex-etc-ttys"> + <title><filename>/etc/ttys</filename> уруу терминалын оруулгууд нэмэх нь</title> + + <para>Бид системд хоёр терминал холбохыг хүслээ гэж бодъё: Wyse-50 + болон VT-100 терминалийг эмуляц хийх <application>Procomm</application> + терминал програм хангамжийг ажиллуулж байгаа хуучин 286 IBM PC-г + терминал маягаар ашиглая. Бид Wyse-ийг хоёр дахь цуваа порт уруу + холбож 286-г зургаа дахь цуваа порт уруу холбоё (олон порттой цуваа картын + порт). <filename>/etc/ttys</filename> файл дахь харгалзах + оруулгууд нь иймэрхүү байна:</para> + + <programlisting>ttyd1<co + id="co-ttys-line1col1"> "/usr/libexec/getty std.38400"<co + id="co-ttys-line1col2"> wy50<co + id="co-ttys-line1col3"> on<co + id="co-ttys-line1col4"> insecure<co + id="co-ttys-line1col5"> +ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure + </programlisting> + + <calloutlist> + <callout arearefs="co-ttys-line1col1"> + <para>Эхний талбар нь ихэвчлэн <filename>/dev</filename>-д байгаа + терминалийн тусгай файлын нэрийг заадаг.</para> + </callout> + <callout arearefs="co-ttys-line1col2"> + + <para>Хоёр дахь талбар нь энэ мөрийн хувьд ажиллах тушаал бөгөөд + ихэвчлэн &man.getty.8; байдаг. <command>getty</command> нь + эхлүүлж шугамыг нээн хурдыг тохируулан хэрэглэгчийн нэрийг асууж + &man.login.1; програмыг ажиллуулдаг.</para> + + <para><command>getty</command> програм нь нэг (нэмэлт) параметр + <replaceable>getty</replaceable> төрлийг өөрийн тушаалын мөрөнд + хүлээн авдаг. <replaceable>getty</replaceable> төрөл нь + терминалийн шугам дахь bps хурд болон parity зэрэг шинжүүдийг + тохируулдаг. <command>getty</command> програм нь + эдгээр шинжүүдийг <filename>/etc/gettytab</filename> файлаас + уншдаг.</para> + + <para><filename>/etc/gettytab</filename> файл нь хуучин болон + шинэ терминалийн шугамнуудад зориулсан олон мөрүүдийг агуулдаг. + Бараг бүх тохиолдолд <literal>std</literal> текстээр эхэлсэн + оруулгууд нь hardwired буюу хатуугаар холбогдсон терминалуудын + хувьд ажилладаг. Эдгээр оруулгууд нь parity-г орхидог. + 110-аас 115200 хүртэл bps хурд болгоны хувьд <literal>std</literal> + оруулга байдаг. Мэдээж та өөрийнхөө оруулгыг энэ файлд нэмж болно. + &man.gettytab.5; гарын авлагын хуудас илүү дэлгэрэнгүй мэдээллийг + өгөх болно.</para> + + <para><replaceable>getty</replaceable> төрлийг + <filename>/etc/ttys</filename> файлд тохируулахдаа + терминал дахь холбооны тохируулгууд таарч байгаа эсэхийг + шалгаарай.</para> + + <para>Бидний жишээн дээр Wyse-50 нь parity ашиглахгүй бөгөөд + 38400 bps хурдаар холбогдоно. 286 PC нь parity + ашиглахгүй бөгөөд 19200 bps хурдаар холбогдоно.</para> + + </callout> + + <callout arearefs="co-ttys-line1col3"> + + <para>Гурав дахь талбар нь тэр tty шугам уруу ихэвчлэн холбогдсон байдаг + терминалийн төрөл юм. Хэрэглэгч нь бараг л дурын терминалийн төрөл эсвэл + програм хангамжаар утасдан холбогдож болох учир dial-up портуудын хувьд + <literal>unknown</literal> эсвэл <literal>dialup</literal> + төрөл энэ талбарт ихэвчлэн ашиглагддаг. Хатуугаар холбогдсон терминалуудын + хувьд терминалийн төрөл өөрчлөгдөхгүй учраас та энэ талбарт + &man.termcap.5; мэдээллийн баазаас жинхэнэ терминалийн төрлийг + тавьж болно.</para> + + <para>Бидний жишээн дээр Wyse-50 нь жинхэнэ терминалийн төрлийг ашиглах + бол <application>Procomm</application> ажиллуулж байгаа + 286 PC нь VT-100-г эмуляц хийхээр тохируулагдах болно.</para> + + </callout> + + <callout arearefs="co-ttys-line1col4"> + <para>Дөрөв дэх талбар нь порт идэвхтэй байх ёстой эсэхийг заадаг. + Энд <literal>on</literal> гэж тавихад <command>init</command> + процесс хоёр дахь талбар дахь програм <command>getty</command>-г + ажиллуулах болно. Хэрэв та энэ талбарт <literal>off</literal> гэж + тавьбал <command>getty</command> үгүй болж порт дээр + нэвтрэлт байхгүй болно.</para> + </callout> + + <callout arearefs="co-ttys-line1col5"> + <para>Сүүлийн талбар нь порт аюулгүй эсэхийг заахад хэрэглэгддэг. + Портыг secure буюу аюулгүй болгох нь <username>root</username> + бүртгэлийг (эсвэл хэрэглэгчийн ID 0 бүхий дурын бүртгэлийг) тэр портоос + нэвтрэхийг зөвшөөрч хангалттай итгэнэ гэсэн үг юм. Insecure буюу + аюулгүй биш портууд нь <username>root</username> нэвтрэлтүүдийг + зөвшөөрдөггүй. Insecure буюу аюулгүй биш порт дээр хэрэглэгчид нь + эрхгүй бүртгэлүүдээс нэвтрэн орж супер хэрэглэгчийн эрхүүдийг + авахын тулд &man.su.1; эсвэл өөр төстэй арга замыг ашиглах + ёстой юм.</para> + + <para>Түгжээтэй хаалганы цаана байгаа терминалийн хувьд ч гэсэн + <quote>insecure</quote> тохируулгыг ашиглах нь хамгийн зөв зүйтэй + юм. Хэрэв танд супер хэрэглэгчийн зөвшөөрлүүд хэрэгтэй бол + нэвтрэн ороод <command>su</command> тушаалыг ашиглах нь + их амархан байдаг.</para> + </callout> + </calloutlist> + </example> + </sect3> + + <sect3 id="term-hup"> + <title><filename>/etc/ttys</filename>-г <command>init</command> тушаалаар + дахин уншуулах</title> + + <para><filename>/etc/ttys</filename> файлд шаардлагатай өөрчлөлтүүдийг + хийсний дараа <command>init</command> процесс уруу өөрийн тохиргооных нь файлыг + дахин уншуулахын тулд SIGHUP (hangup) дохиог илгээх хэрэгтэй. Жишээ нь:</para> + + <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> + + <note> + <para><command>init</command> нь үргэлж систем дээр ажиллаж байгаа эхний + процесс байдаг учир энэ нь үргэлж PID 1-тэй байна.</para> + </note> + + <para>Хэрэв бүгд зөв тохируулагдаж бүх кабелиуд нь байх ёстой газраа байж + терминалууд нь ассан байгаа бол терминал бүр дээр <command>getty</command> + процесс ажиллаж байх ёстой бөгөөд та энэ үед өөрийн терминалууд + дээр нэвтрэлт хүлээх мөрүүдийг харах ёстой.</para> + </sect3> + </sect2> + + <sect2 id="term-debug"> + <title>Өөрийн холболтод гарсан алдааг олж засварлах нь</title> + + <para>Нягт нямбай анхаарал хандуулсан байлаа ч гэсэн терминалийг тохируулж + байх явцад алдаа гарч буруутаж болох юм. Энд шинж тэмдгүүдийн жагсаалт + болон зарим нэг санал болгосон засваруудыг үзүүлэв.</para> + + <sect3> + <title>Нэвтрэлт хүлээх мөр гарч ирэхгүй байх</title> + + <para>Терминал холбогдсон бөгөөд ассан байгаа эсэхийг шалгана. Энэ нь хэрэв + терминал маягаар ажиллаж байгаа персонал компьютер бол зөв цуваа порт дээр + терминал эмуляц хийх програм хангамж ажиллуулж байгаа эсэхийг + шалгаарай.</para> + + <para>Кабел терминал болон FreeBSD компьютерт сайн холбогдсон эсэхийг + шалгах хэрэгтэй. Энэ нь зөв төрлийн кабел болохыг баталгаажуулж үзээрэй.</para> + + <para>Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр + тохирч байгаа эсэхийг шалгаарай. Хэрэв та видео дэлгэцийн терминалтай бол + хар цагаан болон тод байдлын хяналтууд таарсан эсэхийг үзээрэй. Хэрэв энэ нь + хэвлэх терминал бол цаас болон бэх сайн эсэхийг шалгаарай.</para> + + <para><command>getty</command> процесс ажиллаж терминалд үйлчилж + байгаа эсэхийг үзнэ. Жишээ нь ажиллаж байгаа <command>getty</command> + процессуудын жагсаалтыг <command>ps</command> тушаалаар авахын тулд + дараахийг бичнэ:</para> + + <screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen> + + <para>Та терминалын хувьд түүний оруулгыг харах ёстой. Жишээ нь + дараах дэлгэц нь <command>getty</command> нь хоёр дахь + цуваа порт <literal>ttyd1</literal> дээр ажиллаж + <filename>/etc/gettytab</filename> файлд + <literal>std.38400</literal> гэсэн оруулгыг ашиглаж + байгааг харуулж байна:</para> + + <screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1</screen> + + <para>Хэрэв ямар ч <command>getty</command> процесс ажиллахгүй + байгаа бол <filename>/etc/ttys</filename> файлд та портыг + идэвхжүүлсэн эсэхээ шалгаарай. Мөн <filename>ttys</filename> + файлыг өөрчилсөнийхөө дараа <command>kill -HUP 1</command> + тушаалыг ажиллуухаа мартуузай.</para> + + <para>Хэрэв <command>getty</command> процесс ажиллаж байгаа боловч + терминал нь нэвтрэлт хүлээх мөрийг харуулахгүй байгаа, эсвэл энэ нь + хүлээх мөрийг үзүүлж байгаа боловч танд бичихийг зөвшөөрөхгүй байгаа бол + таны терминал эсвэл кабел тоног төхөөрөмжийн handshaking буюу + харилцан зохицож холбогдох горимыг дэмжихгүй байна гэсэн үг юм. + <filename>/etc/ttys</filename> файл дахь оруулгыг + <literal>std.38400</literal>-с <literal>3wire.38400</literal> + уруу болгож үзээрэй (<filename>/etc/ttys</filename> файлыг өөрчилснийхөө + дараа <command>kill -HUP 1</command> тушаалыг ажиллуулахаа + мартуузай). <literal>3wire</literal> оруулга нь <literal>std</literal>-тэй + төстэй боловч тоног төхөөрөмжийн handshaking хийдэггүй. + Магадгүй та хурдыг багасгаж эсвэл <literal>3wire</literal>-г + ашиглаж байхдаа буффер дүүрэхээс сэргийлж + програм хангамжийн урсгалын хяналтыг идэвхжүүлэх + хэрэгтэй байж болох юм.</para> + + </sect3> + + <sect3> + <title>Нэвтрэлт хүлээх мөрийн оронд хог гарч ирвэл</title> + + <para>Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр тохирч + байгаа эсэхийг шалгана. Зөв <replaceable>getty</replaceable> төрлийг + ашиглаж байгаа эсэхийг баталгаажуулж <command>getty</command> + процессуудыг шалгах хэрэгтэй. Хэрэв үгүй бол <filename>/etc/ttys</filename>-г + засварлаж <command>kill -HUP 1</command> тушаалыг ажиллуулна.</para> + + </sect3> + + <sect3> + <title>Тэмдэгтүүд хоёр удаа гарах; бичих үед нууц үг гарах</title> + + <para>Терминалийг (эсвэл терминал эмуляц хийх програм хангамжийг) + <quote>half duplex</quote> эсвэл <quote>local echo</quote> + горимоос <quote>full duplex</quote> уруу шилжүүлнэ.</para> + + </sect3> + </sect2> + </sect1> + + <sect1 id="dialup"> + <sect1info> + <authorgroup> + <author> + <firstname>Гай</firstname> + <surname>Хелмер</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Шон</firstname> + <surname>Келли</surname> + <contrib>Нэмсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>Dial-in буюу гаднаас залгах үйлчилгээ</title> + <indexterm><primary>dial-in үйлчилгээ</primary></indexterm> + + <para>Өөрийн FreeBSD системийг dial-in буюу гаднаас залгах үйлчилгээнд + зориулж тохируулах нь терминалууд холбохтой маш төстэй бөгөөд ялгаатай + тал нь та терминалуудын оронд модемуудтай ажиллах юм.</para> + + <sect2> + <title>Гадаад, Дотоод модемууд</title> + + <para>Гадаад модемууд нь dial-up буюу гадагш залгахад илүү тохиромжтой + байдаг, учир нь гадаад модемууд нь хувирдаггүй RAM-д хадгалагдах параметрүүдээр + хагас тогтмолоор ихэвчлэн тохируулагдсан байж болдог бөгөөд тэдгээр нь ихэвчлэн + чухал RS-232 дохионуудын төлөвийг үзүүлдэг гэрлийн заагчтай байдаг. + Анивчих гэрлүүд нь гийчдийн сэтгэлийг татахаас гадна гэрлүүд нь бас модем зөв ажиллаж + байгаа эсэхийг харахад их ашигтай байдаг.</para> + + <para>Дотоод модемуудад ихэвчлэн хувирдаггүй RAM байдаггүй болохоор тэдгээрийн + тохиргоо зөвхөн DIP шилжүүлэгчдийг тохируулснаар хязгаарлагдаж болох юм. + Хэрэв таны дотоод модем ямар нэг дохио заагч гэрэлтэй бол системийн гадар + байгаа нөхцөлд харахад хүнд байх байсан болов уу.</para> + + <sect3> + <title>Модемууд болон Кабелууд</title> + <indexterm><primary>модем</primary></indexterm> + + <para>Хэрэв та гадаад модем ашиглаж байгаа бол танд мэдээж зөв кабел + хэрэгтэй болно. Хэвийн бүх дохионууд холбогдсон байхад стандарт RS-232C цуваа + кабел хангалттай байх ёстой:</para> + + <table frame="none" pgwide="1" id="serialcomms-signal-names"> + <title>Дохионы нэрс</title> + + <tgroup cols="2"> + <thead> + <row> + <entry align="left">Товчлолууд</entry> + <entry align="left">Нэрс</entry> + </row> + </thead> + + <tbody> + <row> + <entry><acronym>RD</acronym></entry> + <entry>Received Data буюу Хүлээн авсан өгөгдөл</entry> + </row> + + <row> + <entry><acronym>TD</acronym></entry> + <entry>Transmitted Data буюу Дамжуулсан өгөгдөл</entry> + </row> + + <row> + <entry><acronym>DTR</acronym></entry> + <entry>Data Terminal Ready буюу Өгөгдлийн терминал бэлэн</entry> + </row> + + <row> + <entry><acronym>DSR</acronym></entry> + <entry>Data Set Ready буюу Өгөгдлийн олонлог бэлэн</entry> + </row> + + <row> + <entry><acronym>DCD</acronym></entry> + <entry>Data Carrier Detect буюу Өгөгдлийн зөөгч илрүүлэх (RS-232-ийн Хүлээн авсан Шугамын Дохио Илрүүлэгч)</entry> + </row> + + <row> + <entry><acronym>SG</acronym></entry> + <entry>Signal Ground буюу Дохио газар</entry> + </row> + + <row> + <entry><acronym>RTS</acronym></entry> + <entry>Request to Send буюу Илгээх хүсэлт</entry> + </row> + + <row> + <entry><acronym>CTS</acronym></entry> + <entry>Clear to Send буюу Илгээхэд цэвэр</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>2400 bps хурдаас дээш урсгалын хяналтад + <acronym>RTS</acronym> болон <acronym>CTS</acronym> дохионууд + FreeBSD-д хэрэгтэй байдаг. Мөн хэзээ дуудлага хүлээн авсан эсвэл шугам таслагдсаныг мэдэх + <acronym>CD</acronym> дохио болон сесс бүрэн гүйцэд болсоны дараа модемийг + дахин тохируулах <acronym>DTR</acronym> дохионууд хэрэгтэй байдаг. + Зарим кабелууд нь бүх хэрэгцээтэй дохионуудгүйгээр холбогдсон байдаг болохоор + шугам таслагдах үед нэвтрэх сесс байхгүй болохгүй байх зэрэг асуудлууд хэрэв танд байгаа бол + таны кабел асуудалтай байж болох юм.</para> + + <para>Бусад &unix; төст үйлдлийн системүүдийн адил FreeBSD нь + хэзээ дуудлагыг хүлээн авсан эсвэл шугам хэзээ таслагдсан болон дуудлагын дараа + модемийг тасалж дахин тохируулахыг мэдэх тоног төхөөрөмжийн дохионуудыг + ашигладаг. FreeBSD нь модем уруу тушаалуудыг илгээх эсвэл модемоос + төлөвийн тайлангуудыг харахаас зайлсхийдэг. Хэрэв та модемуудыг + PC дээр тулгуурласан мэдээ тавих системүүд уруу холбохыг мэддэг бол + энэ нь болхи санагдаж магадгүй юм.</para> + </sect3> + </sect2> + + <sect2> + <title>Цуваа интерфэйсийн эргэцүүллүүд</title> + + <para>FreeBSD нь NS8250-, NS16450-, NS16550-, болон NS16550A-дээр + тулгуурласан EIA RS-232C (CCITT V.24) холбооны интерфэйсүүдийг дэмждэг. + 8250 болон 16450 интерфэйсүүд нь ганц тэмдэгтийн буффертай байдаг. 16550 + төхөөрөмж нь системийн ажиллагааг илүү сайн болгох 16 тэмдэгтийн буффертай + байдаг. (Цэвэр 16550 дахь алдаанууд нь 16 тэмдэгтийн буфферийн хэрэглээнээс + зайлсхийдэг, тиймээс хэрэв боломжтой бол 16550A-г ашиглаарай). Ганц тэмдэгтийн + буффер бүхий төхөөрөмжүүд нь 16 тэмдэгтийн буффер бүхий төхөөрөмжүүдээс илүү + ажил үйлдлийн системээс шаарддаг учраас 16550A-дээр тулгуурласан цуваа + интерфэйс картуудыг эрхэмлэх нь зүйтэй юм. Хэрэв систем олон идэвхтэй + цуваа портуудтай бол эсвэл их ачаалалтай бол 16550A-дээр тулгуурласан картууд + нь бага алдааны түвшин бүхий холбоонуудад илүү зохицдог.</para> + </sect2> + + <sect2> + <title>Түргэн дүгнэлт</title> + + <indexterm><primary>getty</primary></indexterm> + <para>Терминалуудтай адил <command>init</command> нь + гаднаас залгах холболтуудын хувьд тохируулсан цуваа порт бүрийн хувьд + <command>getty</command> процессийг ажиллуулдаг. Жишээ нь + хэрэв модем <filename>/dev/ttyd0</filename> уруу + залгагдсан бол <command>ps ax</command> тушаал ингэж + харуулж болох юм:</para> + + <screen> 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0</screen> + + <para>Хэрэглэгч модемийн шугам залгаад модем холбогдох үед + <acronym>CD</acronym> (Carrier Detect буюу Зөөгч Илрүүлэгч) шугамыг + модем гаргаж харуулна. Цөм зөөгч илрүүлэгдсэнийг мэдэж <command>getty</command>-ийн + порт нээхийг гүйцээнэ. <command>getty</command> нь <prompt>login:</prompt> + хүлээх мөрийг заагдсан эхний шугамын хурдаар илгээдэг. <command>getty</command> нь + зөвшөөрөгдсөн тэмдэгтүүд хүлээн авагдсан эсэхийг мэдэхийн тулд харж байдаг + бөгөөд ердийн тохиргоонд хэрэв энэ нь хог олох юм бол (модемийн холболтын хурд + <command>getty</command>-ийн хурднаас өөр байгаагаас магадгүй болоод) + <command>getty</command> нь боломжийн тэмдэгтүүд хүлээж автлаа + шугамын хурдуудыг тааруулахыг оролдох болно.</para> + + <indexterm> + <primary><command>/usr/bin/login</command></primary> + </indexterm> + <para>Хэрэглэгч өөрийн нэвтрэх нэрийг оруулсны дараа <command>getty</command> + тушаал хэрэглэгчийн нууц үгийг асууж нэвтрэлтийг гүйцээн хэрэглэгчийн бүрхүүлийг + эхлүүлдэг <filename>/usr/bin/login</filename> тушаалыг + ажиллуулдаг.</para> + </sect2> + + + <sect2> + <title>Тохиргооны файлууд</title> + + <para><filename>/etc</filename> санд гурван системийн тохиргооны + файл байдаг бөгөөд өөрийн FreeBSD системд dial-up буюу гадагш + залгах боломжийг олгохын тулд та магадгүй засварлах хэрэгтэй болно. + Эхний <filename>/etc/gettytab</filename> нь + <filename>/usr/libexec/getty</filename> демоны тохиргооны + мэдээллийг агуулдаг. + Хоёр дахь <filename>/etc/ttys</filename> + нь <command>getty</command> процессуудын ажиллах <filename>tty</filename> + төхөөрөмжүүдэд юу байх ёстойг <filename>/sbin/init</filename> тушаалд хэлж өгөх + мэдээллийг агуулдаг. + Сүүлд нь порт эхлүүлэх тушаалуудыг та <filename>/etc/rc.d/serial</filename> + скриптэд байрлуулж болно.</para> + + <para>&unix; дээр dial-up модемуудын талаар санаа бодлын хоёр сургууль байдаг. + Нэг бүлэг нь алсын хэрэглэгч ямар ч хурдаар залгасан байсан гэсэн локал компьютерээс + модемд холбогдсон RS-232 интерфэйс түгжигдсэн хурдаар ажиллахаар өөрсдийн + модемууд болон системүүдийг тохируулах дуртай байдаг. Энэ тохиргооны ашигтай + тал нь алсын хэрэглэгч системийн нэвтрэлт хүлээх мөрийг үргэлж нэн даруй хардаг + явдал юм. Сул тал нь систем хэрэглэгчийн өгөгдлийн жинхэнэ хурдыг мэддэггүй + явдал бөгөөд Emacs зэрэг бүрэн дэлгэцийн програмууд нь + удаан холболтуудын хувьд хариултыг сайжруулахын тулд өөрийн дэлгэц будах аргуудаа + тааруулахгүй байх болно.</para> + + <para>Нөгөө нэг сургууль нь өөрсдийн модемуудынхаа RS-232 интерфэйсийн хурдыг + алсын компьютерийн холболтын хурд дээр тулгуурлан өөрчилдгөөр тохируулдаг. + Жишээ нь модем уруу хийгдэх V.32bis (14.4 Kbps) холболтууд нь + модемийг өөрийн RS-232 интерфэйсийг 19.2 Kbps хурдаар ажиллуулах + бол 2400 bps холболтууд нь модемийн RS-232 интерфэйсийг 2400 bps + хурд дээр ажиллуулдаг. <command>getty</command> нь тухайн ямар нэг + модемийн холболтын хурдны тайлагналтыг ойлгодоггүй учраас <command>getty</command> + тушаал нь <prompt>login:</prompt> мэдэгдлийг эхний хурдан дээр + өгдөг бөгөөд хариултаас ирэх тэмдэгтүүдийг харж байдаг. Хэрэв хэрэглэгч хог + харвал тэдгээр нь танигдах хүлээх мөрийг хартлаа <keycode>Enter</keycode> + товчлуурыг дарах ёстой гэдгээ мэдэж байгаа гэж тооцдог. Хэрэв өгөгдлийн хурд + таарахгүй бол <command>getty</command> нь хэрэглэгчийн бичсэн болгоныг + <quote>хог</quote> гэж харах бөгөөд дараагийн хурдыг оролдож + <prompt>login:</prompt> хүлээх мөрийг дахин өгдөг. Энэ процедур + дотор муухайрах түвшинд хүртэл үргэлжилж болох боловч хэрэглэгч зөв хүлээх мөрийг харах + хүртэл ихэвчлэн ганц хоёр товчлуур даруулдаг. Мэдээж энэ нэвтрэлтийн дараалал нь + түрүүчийн <quote>locked-speed буюу түгжигдсэн хурд</quote>тай адил + цэвэр байдаггүй боловч бага хурдтай холболтон дээр байх хэрэглэгчийн хувьд бүрэн дэлгэцийн + програмуудаас илүү сайн интерактив хариултыг хүлээн авах ёстой юм.</para> + + <para>Энэ хэсэг нь тэнцвэртэй тохиргооны мэдээллийг өгөхийг оролдох боловч + модемийн өгөгдлийн хурд холболтын хурдыг дагах тал уруу илүү хазайсан байгаа + болно.</para> + + <sect3> + <title><filename>/etc/gettytab</filename></title> + + <indexterm> + <primary><filename>/etc/gettytab</filename></primary> + </indexterm> + <para><filename>/etc/gettytab</filename> нь &man.getty.8;-ийн + тохиргооны мэдээллийн &man.termcap.5; загварын файл юм. Файлын + хэлбэр болон боломжуудын жагсаалтын талаарх бүрэн мэдээллийг &man.gettytab.5; + гарын авлагын хуудаснаас үзнэ үү.</para> + + <sect4> + <title>Locked-speed буюу түгжигдсэн хурд тохиргоо</title> + + <para>Хэрэв та өөрийн модемийн өгөгдлийн холбоонуудын хурдыг тухайн нэг + хурдан дээр түгжиж байгаа бол магадгүй <filename>/etc/gettytab</filename> файлд + ямар нэг өөрчлөлт хийх шаардлагагүй юм.</para> + </sect4> + + <sect4> + <title>Matching-speed буюу таарах хурд тохиргоо</title> + + <para>Өөрийн модемд зориулж ашиглахыг хүссэн хурдны талаар <command>getty</command>-д + мэдээлэл өгөхийн тулд <filename>/etc/gettytab</filename> файлд та + оруулга тохируулах хэрэгтэй болно. Хэрэв та 2400 bps модемтой бол + байгаа <literal>D2400</literal> оруулгыг магадгүй ашиглаж болох + юм.</para> + + <programlisting># +# 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:</programlisting> + + <para>Хэрэв та илүү хурдтай модемтой бол <filename>/etc/gettytab</filename> + файлд магадгүй оруулга нэмэх хэрэгтэй болж болох юм; энд + интерфэйсийн дээд хурд нь 19.2 Kbps бүхий 14.4 Kbps модемд + зориулан таны ашиглах оруулга байна:</para> + + <programlisting># +# 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: +uq|V19200|High Speed Modem at 19200,8-bit:\ + :nx=V9600:tc=std.19200:</programlisting> + + <para>Энэ нь 8 бит, parity байхгүй холболтуудад хүргэнэ.</para> + + <para>Дээрх жишээ нь холболтын хурдаа 19.2 Kbps + (V.32bis холболтын хувьд) гэж эхлүүлж дараа нь 9600 bps (V.32-ийн хувьд), + 2400 bps, 1200 bps, 300 bps, гэж оролдоод + 19.2 Kbps хурд уруу буцах болно. Холбооны хурдны тойролт нь + <literal>nx=</literal> (<quote>next table</quote> буюу дараагийн + хүснэгт) боломжтой цуг хийгдсэн байдаг. Мөр бүр нь өгөгдлийн тухайн хурдны + хувьд <quote>стандарт</quote> тохиргоонуудын үлдсэнийг авахын тулд + <literal>tc=</literal> (<quote>table continuation</quote> буюу + хүснэгтийн үргэлжлэл) оруулгыг ашигладаг.</para> + + <para>Хэрэв та 28.8 Kbps модемтой ба/эсвэл та 14.4 Kbps модем + дээр шахалтын давуу талыг авахыг хүсвэл 19.2 Kbps-ээс илүү холбооны + хурдыг ашиглах хэрэгтэй юм. Энд 57.6 Kbps-ээс эхлэх + <filename>gettytab</filename> оруулгын жишээ байна:</para> + + <programlisting># +# 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:</programlisting> + + <para>Хэрэв та удаан CPU-тэй эсвэл ачаалал ихтэй системтэй бөгөөд + 16550A дээр тулгуурласан цуваа портуудтай бол 57.6 Kbps хурд + дээр та <errorname>sio</errorname> <quote>silo</quote> + гэсэн алдаанууд хүлээн авч болох юм.</para> + </sect4> + </sect3> + + <sect3 id="dialup-ttys"> + <title><filename>/etc/ttys</filename></title> + <indexterm> + <primary><filename>/etc/ttys</filename></primary> + </indexterm> + + <para><filename>/etc/ttys</filename> файлын тохиргоо + <xref linkend="ex-etc-ttys"> хэсэгт яригдсан байгаа. + Модемуудын тохиргоо төстэй боловч бид өөр терминалын төрлийг заахын тулд + <command>getty</command> уруу өөр нэмэлт өгөгдлүүдийг дамжуулах ёстой. + Түгжигдсэн хурдтай болон таарах хурдтай тохиргоонуудын ерөнхий хэлбэр нь + иймэрхүү байна:</para> + + <programlisting>ttyd0 "/usr/libexec/getty <replaceable>xxx</replaceable>" dialup on</programlisting> + + <para>Дээрх мөрний эхнийх нь энэ оруулгад зориулсан төхөөрөмжийн тусгай + файл юм — <literal>ttyd0</literal> нь <filename>/dev/ttyd0</filename> + гэсэн үг бөгөөд үүнийг <command>getty</command> харж байдаг. + Хоёр дахь <literal>"/usr/libexec/getty + <replaceable>xxx</replaceable>"</literal> + (<replaceable>xxx</replaceable> нь эхний + <filename>gettytab</filename> боломжоор солигдоно) нь энэ төхөөрөмж дээр + <command>init</command>-ийн ажиллуулах процесс юм. Гурав дахь + <literal>dialup</literal> гэдэг нь терминалийн анхдагч төрөл юм. + Дөрөв дэх параметр <literal>on</literal> гэдэг нь <command>init</command>-д + шугам ажиллагаатай гэдгийг заана. Тав дахь параметр <literal>secure</literal> + байж болох боловч энэ нь зөвхөн физикийн хувьд аюулгүй терминалуудад (системийн + консолд) ашиглагдах ёстой юм.</para> + + <para>Анхдагч терминалийн төрөл нь (дээрх жишээний <literal>dialup</literal>) + локал тохируулгуудаас хамаарна. <literal>dialup</literal> нь dial-up шугамууд + дээрх уламжлалт терминалын анхдагч төрөл бөгөөд хэрэглэгчид нь өөрсдийн нэвтрэх + скриптүүдийг терминал <literal>dialup</literal> байгаа үед мэдэхээр өөрчилж өөрсдийн + терминалийн төрлийг автоматаар тааруулж болох юм. Гэхдээ зохиогч өөрийн сайт дээр + анхдагч терминалийн төрлөө <literal>vt102</literal> гэх нь хялбар болохыг + олсон бөгөөд хэрэглэгчид өөрсдийн алсын системүүд дээрээ ердөө л VT102 эмуляцийг + ашигладаг болохоор тэр юм.</para> + + <para>Та <filename>/etc/ttys</filename> файлд өөрчлөлтүүд хийснийхээ + дараа <command>init</command> процессд файлыг дахин уншуулахын тулд + <acronym>HUP</acronym> дохиог илгээж болох юм. Та дараах тушаалыг + ашиглаж + + <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> + + дохио илгээж болно. Хэрэв та анх удаагаа системийг тохируулж байгаа бол + өөрийн модем(үүд)ийг зөв тохируулж <command>init</command> + уруу дохиолохоос өмнө холбогдох хүртэл хүлээхийг хүсэж болох юм. + </para> + + <sect4> + <title>Locked-speed буюу түгжигдсэн хурд тохиргоо</title> + + <para>Түгжигдсэн хурд тохиргооны хувьд таны <filename>ttys</filename> + оруулга <command>getty</command> уруу өгөгдөх тогтмол хурд бүхий + оруулгатай байх хэрэгтэй. Портын хурд нь 19.2 Kbps + гэж түгжигдсэн модемийн хувьд <filename>ttys</filename> оруулга нь + иймэрхүү харагдаж болох юм:</para> + + <programlisting>ttyd0 "/usr/libexec/getty std.19200" dialup on</programlisting> + + <para>Хэрэв таны модем өөр хурдан дээр түгжигдсэн бол + <literal>std.19200</literal>-ийн оронд + <literal>std.<replaceable>speed</replaceable></literal>-ийн + хувьд тохирох утгыг тавьж солиорой. Та <filename>/etc/gettytab</filename>-д + жагсаагдсан зөв төрлийг ашигласан эсэхээ шалгаарай.</para> + </sect4> + + <sect4> + <title>Matching-speed буюу таарах хурд тохиргоо</title> + + <para>Таарах хурд тохиргоон дээр таны <filename>ttys</filename> + оруулга нь <filename>/etc/gettytab</filename> дахь + тохирох зөв <quote>auto-baud</quote> (sic) оруулгаас + авах хэрэгтэй болдог. Жишээ нь хэрэв та дээрх санал + болгосон оруулгыг 19.2 Kbps-ээс (<literal>V19200</literal> эхлэх + цэгийг агуулах <filename>gettytab</filename> оруулга) эхлэх таарах хурд + бүхий модемийн хувьд нэмсэн бол таны <filename>ttys</filename> + оруулга иймэрхүү харагдах болно:</para> + + <programlisting>ttyd0 "/usr/libexec/getty V19200" dialup on</programlisting> + </sect4> + </sect3> + + <sect3> + <title><filename>/etc/rc.d/serial</filename></title> + <indexterm> + <primary>rc files</primary> + <secondary><filename>rc.serial</filename></secondary> + </indexterm> + + <para>V.32, V.32bis, болон V.34 зэрэг өндөр хурдтай модемууд + тоног төхөөрөмжийн (<literal>RTS/CTS</literal>) урсгал хяналтыг + ашиглах хэрэгтэй. Та модемийн портуудын хувьд FreeBSD цөмд + тоног төхөөрөмжийн урсгалын хяналтын тугийг тохируулахын тулд + <command>stty</command> тушаалуудыг <filename>/etc/rc.d/serial</filename> + файлд нэмж болно.</para> + + <para>Жишээ нь гаднаас залгах болон гадагш залгах эхний төхөөрөмжүүдийн + хувьд цуваа порт #1 дээр <varname>crtscts</varname> гэсэн + <literal>termios</literal>-ийн тугийг тохируулахын тулд + дараах мөрүүдийг <filename>/etc/rc.d/serial</filename> + файлд нэмж болох юм:</para> + <programlisting># Serial port initial configuration +stty -f /dev/ttyd1.init crtscts +stty -f /dev/cuad1.init crtscts</programlisting> + + </sect3> + </sect2> + + <sect2> + <title>Модемийн тохиргоонууд</title> + + <para>Хэрэв та хувирдаггүй RAM-д параметрүүд нь тогтмолоор тохируулагдсан байж болох + модемтой бол параметрүүдийг тохируулахын тулд та терминал програм (&ms-dos; дээр + Telix эсвэл FreeBSD дээр <command>tip</command> гэх мэт) ашиглах + хэрэгтэй болно. Эхний хурдтай адил холболтын хурдыг ашиглан модем уруу холбогдохын + тулд <command>getty</command> нь доор дурдсан шаардлагуудтай таарахын тулд + модемийн хувирдаггүй RAM-ийг хэрэглэж тохируулах болно:</para> + + <itemizedlist> + <listitem> + <para>Холбогдох үед <acronym>CD</acronym> шалгагдана</para> + </listitem> + + <listitem> + <para>Үйлдлийн хувьд <acronym>DTR</acronym> шалгагдана; DTR-ийг + хаях нь шугамыг салгаж модемийг дахин тохируулахад хүргэнэ</para> + </listitem> + + <listitem> + <para><acronym>CTS</acronym> нь өгөгдлийн урсгалын хяналтыг дамжуулсан</para> + </listitem> + + <listitem> + <para><acronym>XON/XOFF</acronym> урсгалын хяналтыг хаана</para> + </listitem> + + <listitem> + <para><acronym>RTS</acronym> нь өгөгдлийн урсгалын хяналтыг хүлээн авсан</para> + </listitem> + + <listitem> + <para>Чимээгүй горим (үр дүнгийн кодууд байхгүй)</para> + </listitem> + + <listitem> + <para>Тушаалын цуурай байхгүй</para> + </listitem> + </itemizedlist> + + <para>Аль тушаалууд ба/эсвэл DIP шилжүүлэгчийн тохиргоонуудыг та өгөх ёстой + болохыг олохын тулд өөрийн модемийн баримтыг уншина уу.</para> + + <para>Жишээ нь &usrobotics; &sportster; 14,400 хурдтай гадаад модем + дээр дээрх параметрүүдийг тохируулахын тулд эдгээр тушаалуудыг модемд өгч + болох юм:</para> + + <programlisting>ATZ +AT&C1&D2&H1&I0&R2&W</programlisting> + + <para>V.42bis ба/эсвэл MNP5 шахалтыг ашиглах зэрэг модемийн бусад тохиргоонуудыг + тааруулахын тулд та бас энэ боломжийг ашиглахыг хүсэж болох юм.</para> + + <para>&usrobotics; &sportster; 14,400 хурдтай гадаад модем нь тохируулах хэрэгтэй + DIP шилжүүлэгчүүдтэй бас байдаг; бусад модемуудын хувьд та эдгээр тохируулгуудыг + жишээ болгон ашиглаж болох юм:</para> + + <itemizedlist> + <listitem> + <para>Шилжүүлэгч 1: ДЭЭШ — DTR Хэвийн</para> + </listitem> + + <listitem> + <para>Шилжүүлэгч 2: N/A буюу Байхгүй (Үр дүнгийн үгэн кодууд/Үр дүнгийн тоон кодууд)</para> + </listitem> + + <listitem> + <para>Шилжүүлэгч 3: ДЭЭШ — Үр дүнгийн дарах/хориглох кодууд</para> + </listitem> + + <listitem> + <para>Шилжүүлэгч 4: ДООШ — Цуурай байхгүй, холбогдоогүй үеийн тушаалууд</para> + </listitem> + + <listitem> + <para>Шилжүүлэгч 5: ДЭЭШ — Автомат хариулна</para> + </listitem> + + <listitem> + <para>Шилжүүлэгч 6: ДЭЭШ — Зөөгч илрүүлэлт хэвийн</para> + </listitem> + + <listitem> + <para>Шилжүүлэгч 7: ДЭЭШ — NVRAM анхдагчуудыг ачаалах</para> + </listitem> + + <listitem> + <para>Шилжүүлэгч 8: N/A буюу Байхгүй (Ухаалаг Горим/Дүлий Горим)</para> + </listitem> + </itemizedlist> + + <para>Хэрэв <command>getty</command> тушаал нь + <prompt>login:</prompt> хүлээх мөрийг тушаалын горимд байгаа модем уруу + андуурч өгсөн бөгөөд модем нь тушаалыг цуурайтуулан буцааж эсвэл үр дүнгийн + кодыг буцаахад үүсч болох асуудлуудаас сэргийлэхийн тулд үр дүнгийн кодууд нь + dial-up модемуудын хувьд хаагдсан/дарагдсан байх ёстой. Энэ дараалал нь + <command>getty</command> болон модемийн хооронд сунасан, тэнэг + ярианд хүргэж болох юм.</para> + + <sect3> + <title>Locked-speed буюу түгжигдсэн хурд тохиргоо</title> + + <para>Түгжигдсэн хурд тохиргооны хувьд та модемийг холболтын хурдаас хамааралгүйгээр + модемоос компьютер хүртэлх өгөгдлийн хурдыг тогтмолоор байлгахаар тохируурах + хэрэгтэй. &usrobotics; &sportster; 14,400 хурдтай гадаад модем дээр + эдгээр тушаалууд нь модемоос компьютер хүртэлх өгөгдлийн хурдыг тушаалуудыг + ажиллуулах хурд дээр түгжих болно:</para> + + <programlisting>ATZ +AT&B1&W</programlisting> + </sect3> + + <sect3> + <title>Matching-speed буюу таарах хурд тохиргоо</title> + + <para>Хувьсах хурд тохиргооны хувьд ирж байгаа дуудлагын хурдтай ижил байлгаж + өөрийн цуваа портын өгөгдлийн хурдыг тааруулахын тулд та өөрийн модемийг + тохируулах хэрэгтэй болно. &usrobotics; &sportster; 14,400 хурдтай + гадаад модем дээр эдгээр тушаалууд нь модемийн алдаа засварлах өгөгдлийн хурдыг + тушаалуудыг ажиллуулах хурд дээр түгжих боловч цуваа портын хурдыг + алдаа засварлахүй холболтуудын хувьд хувьсах байхаар зөвшөөрөх болно:</para> + + <programlisting>ATZ +AT&B2&W</programlisting> + </sect3> + + <sect3> + <title>Модемийн тохиргоог шалгах нь</title> + + <para>Ихэнх өндөр хурдтай модемууд нь модемийн тухайн үеийн үйлдлийн параметрүүдийг + хүн уншиж болохоор үзүүлэх тушаалуудтай байдаг. &usrobotics; &sportster; 14,400 хурдтай + гадаад модемууд дээр <command>ATI5</command> тушаал хувирдаггүй RAM-д хадгалагдаж + байгаа тохиргоонуудыг харуулдаг. Модемийн үйлдлийн жинхэнэ параметрүүдийг харахын + тулд (модемийн DIP шилжүүлэгчийн тохиргоонууд нөлөөлсөн) <command>ATZ</command> болон + дараа нь <command>ATI4</command> тушаалуудыг ашиглана.</para> + + <para>Хэрэв та өөр загварын модемтой бол өөрийн модемийн тохиргооны + параметрүүдийг хэрхэн давхар шалгах талаар өөрийн модемийн гарын авлагаас + шалгаарай.</para> + </sect3> + </sect2> + + <sect2> + <title>Алдааг олж засварлах нь</title> + + <para>Өөрийн систем дээр dial-up модемийг шалгахын тулд таны дагах цөөн хэдэн алхмууд + энд байна.</para> + + <sect3> + <title>FreeBSD системийг шалгах</title> + + <para>Өөрийн модемийг өөрийн FreeBSD системд залгаад системээ ачаалах бөгөөд + хэрэв таны модем төлөв заах гэрлүүдтэй бол системийн консол дээр <prompt>login:</prompt> + хүлээх мөр гарч ирэх үед модемийн <acronym>DTR</acronym> заагч асаж байгаа эсэхийг + шалгах хэрэгтэй — хэрэв асаж байгаа бол FreeBSD нь тохирох холболтуудын + порт дээр <command>getty</command>-г эхлүүлж модемийг дуудлага хүлээж авахыг + хүлээж байна гэсэн үг юм.</para> + + <para>Хэрэв <acronym>DTR</acronym> заагч асахгүй бол FreeBSD систем уруу + консолиор нэвтрээд FreeBSD нь зөв порт дээр <command>getty</command> процессийг + ажиллуулахаар оролдож байгаа эсэхийг харахын тулд <command>ps ax</command> + тушаалыг ажиллуулна. Та эдгээртэй төстэй мөрүүдийг процессуудын хамтаар + харах ёстой:</para> + + <screen> 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0 + 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1</screen> + + <para>Хэрэв та үүнтэй адил өөр:</para> + + <screen> 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0</screen> + + <para>мөрийг харсан бөгөөд модем нь дуудлага хүлээж авч амжаагүй байгаа бол + <command>getty</command> нь холболтуудын порт дээр өөрийн онгойлголтыг + бүрэн хийж гүйцсэн гэсэн үг юм. Энэ нь кабелийн асуудал эсвэл буруу тохируулсан модемтой + холбоотой асуудлыг зааж болох юм. Яагаад гэвэл <command>getty</command> + нь <acronym>CD</acronym>-г (carrier detect буюу зөөгч илрүүлэх) модемоор + шалгагдтал холболтуудын портуудыг онгойлгож чадахгүй байх ёстой юм.</para> + + <para>Хэрэв та хүссэн <filename>ttyd<replaceable>N</replaceable></filename> + портыг онгойлгохыг хүлээж байгаа ямар нэг <command>getty</command> процессуудыг + харахгүй байгаа бол <filename>/etc/ttys</filename> файл дахь өөрийн оруулгуудад + алдаа байгаа эсэхийг давхар шалгаарай. Мөн <command>init</command> эсвэл + <command>getty</command> тушаалаас гарсан бүртгэлийн ямар нэг мэдэгдлүүд + асуудлууд байгаа эсэхийг мэдээлсэн эсэхийг харахын тулд бүртгэлийн файл + <filename>/var/log/messages</filename>-г бас шалгаарай. Хэрэв ямар нэг + мэдэгдлүүд байгаа бол <filename>/etc/ttys</filename> болон + <filename>/etc/gettytab</filename> тохиргооны файлуудыг гурав дахин + шалгаарай. Мөн <filename>/dev/ttydN</filename> зэрэг тохирох төхөөрөмжийн + тусгай файлуудад алдаанууд, оруулгууд дутагдаж байгаа эсэх, эсвэл төхөөрөмжийн + тусгай файлууд дутагдаж байгаа эсэхийг бас шалгаарай.</para> + </sect3> + + <sect3> + <title>Гаднаас залгаж үзэх</title> + + <para>Систем уруу гаднаас залгаж үзээрэй; 8 битийг parity байхгүйгээр болон + алсын систем дээр 1 зогсох битийг ашигласан эсэхээ шалгаарай. + Хэрэв та хүлээх мөрийг тэр дор нь хүлээж авахгүй бол эсвэл хог хүлээн авсан бол + секунд тутам нэг <keycode>Enter</keycode> дараад оролдоод үзээрэй. + Тэгсэн ч гэсэн та <prompt>login:</prompt> хүлээх мөрийг хэсэг хугацаа + өнгөрсөн ч гэсэн харахгүй байгаа бол <command>BREAK</command> илгээж + оролдоод үзээрэй. Та залгахдаа өндөр хурдтай модем ашиглаж байгаа бол + модемийн интерфэйсийн хурдыг (жишээ нь &usrobotics; &sportster; + модем дээр <command>AT&B1</command> тушаал ашиглан) түгжсэнийхээ дараа + дахин залгаад оролдоод үзээрэй.</para> + + <para>Хэрэв та тэгсэн ч гэсэн <prompt>login:</prompt> хүлээх мөрийг + хүлээн авахгүй байгаа бол <filename>/etc/gettytab</filename> файлыг + дахин шалгаад доорхийг давхар шалгаарай</para> + + <itemizedlist> + <listitem> + <para>Шугамын хувьд <filename>/etc/ttys</filename> файлд заагдсан + боломжийн эхний нэр <filename>/etc/gettytab</filename> дахь + боломжийн нэртэй таарч байгаа эсэх</para> + </listitem> + + <listitem> + <para><literal>nx=</literal> оруулга бүр <filename>gettytab</filename> + боломжийн өөр нэртэй таарч байгаа эсэх</para> + </listitem> + + <listitem> + <para><literal>tc=</literal> оруулга бүр <filename>gettytab</filename> + боломжийн өөр нэртэй таарч байгаа эсэх</para> + </listitem> + </itemizedlist> + + <para>Хэрэв таныг залгахад FreeBSD систем дээрх модем хариулахгүй байгаа бол + <acronym>DTR</acronym> шалгагдах үед модем нь утсанд хариулахаар тохируулагдсан + эсэхийг шалгаарай. Хэрэв модем зөв тохируулагдсан юм шиг байвал + <acronym>DTR</acronym> шугам шалгагдсан эсэхийг модемийн заагч гэрлүүдийг (гэрлүүдтэй бол) + шалган нягтлаарай.</para> + + <para>Хэрэв та бүгдийг хэд хэдэн удаа шалгасан бөгөөд ажиллахгүй хэвээр байгаа бол + завсарлага аваад дараа нь үзээрэй. Хэрэв тэгсэн ч гэсэн ажиллахгүй байгаа бол + та &a.questions; уруу өөрийн модем болон асуудлынхаа талаар цахим захидал + илгээж болох бөгөөд жагсаалтан дахь сайн хүмүүс танд туслахыг оролдох болно.</para> + </sect3> + </sect2> + + </sect1> + + <sect1 id="dialout"> + <title>Dial-out буюу гадагш залгах үйлчилгээ</title> + <indexterm><primary>dial-out үйлчилгээ</primary></indexterm> + + <para>Дараах нь таны хостыг модемоор өөр компьютер уруу холбох зааврууд юм. + Энэ нь алсын хосттой терминал сесс үүсгэхэд тохирох юм.</para> + + <para>Энэ нь BBS уруу нэвтрэн ороход ашигтай байдаг.</para> + + <para>Хэрэв та PPP дээр асуудалтай байгаа бол Интернет дэх файлыг авахад энэ төрлийн + холболт нь туйлын ашигтай байж болох юм. Хэрэв та ямар нэг зүйл FTP хийх хэрэгтэй + бөгөөд PPP эвдэрсэн бол терминал сесс ашиглан FTP хийж болно. Дараа нь + түүнийг өөрийн машин уруу дамжуулахын тулд zmodem ашиглана.</para> + + <sect2> + <title>Миний Hayes модем дэмжигдээгүй байна, би юу хийх вэ?</title> + + <para>Жинхэнэдээ бол <command>tip</command>-д зориулсан гарын авлагын + хуудас хуучирсан байгаа. Энгийн Hayes залгагч аль хэдийн цуг бүтээгдсэн байгаа + болно. Өөрийн <filename>/etc/remote</filename> файлд ердөө л + <literal>at=hayes</literal>-г ашиглаарай.</para> + + <para>Hayes драйвер нь шинэ модемуудын дэвшилтэт боломжуудын заримыг + таних хэмжээний ухаалаг байдаггүй бөгөөд <literal>BUSY</literal>, <literal>NO DIALTONE</literal>, + эсвэл <literal>CONNECT 115200</literal> зэрэг мэдэгдлүүд нь + түүнийг самууруулах болно. Та <command>tip</command>-ийг хэрэглэхдээ тэдгээр мэдэгдлүүдийг + (<command>ATX0&W</command>-г ашиглаж) хаах хэрэгтэй.</para> + + <para>Бас <command>tip</command>-ийн хувьд залгах хугацаа нь 60 секунд байдаг. + Таны модем нь үүнээс багыг ашиглах ёстой бөгөөд тэгэхгүй бол tip холбоонд асуудал + байна гэж үзэх болно. <command>ATS7=45&W</command> гэж үзээрэй.</para> + + <note> + <para><command>tip</command> нь Hayes модемуудыг бүрэн гүйцэд + дэмждэггүй. Үүний шийдэл нь <filename>/usr/src/usr.bin/tip/tip</filename> + сан дахь <filename>tipconf.h</filename> файлыг засварлах явдал + юм. Танд мэдээж үүнийг хийхийн тулд эх түгээлт байх шаардлагатай.</para> + + <para><literal>#define HAYES 0</literal> мөрийг + <literal>#define HAYES 1</literal> болгон засварлана. Дараа нь + <command>make</command> хийгээд <command>make install</command> хийнэ. + Түүний дараа бүгд сайхан ажиллах болно.</para> + </note> + </sect2> + + <sect2 id="direct-at"> + <title>Эдгээр AT тушаалуудыг би хэрхэн оруулах ёстой вэ?</title> + + <indexterm> + <primary><filename>/etc/remote</filename></primary> + </indexterm> + <para>Өөрийн <filename>/etc/remote</filename> файлдаа <quote>шууд</quote> + гэгддэг оруулгыг хийх хэрэгтэй. Жишээ нь хэрэв таны модем эхний цуваа порт <filename>/dev/cuad0</filename>-д + холбогдсон бол дараах мөрийг тавина:</para> + + <programlisting>cuad0:dv=/dev/cuad0:br#19200:pa=none</programlisting> + + <para>br боломжид таны модемийн дэмждэг хамгийн их bps хурдыг ашиглаарай. Дараа нь + <command>tip cuad0</command> гэж бичихэд та өөрийн модемд холбогдох + болно.</para> + + <para><username>root</username> хэрэглэгчээр <command>cu</command>-г + дараах маягаар ашиглаарай:</para> + + <screen>&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput></screen> + + <para><replaceable>line</replaceable> нь цуваа порт (өөрөөр хэлбэл + <filename>/dev/cuad0</filename>) бөгөөд + <replaceable>speed</replaceable> нь хурд (өөрөөр хэлбэл + <literal>57600</literal>) юм. Та AT тушаалуудыг оруулж дуусаад + гарахын тулд <keycap>~.</keycap> дарна.</para> + </sect2> + + <sect2> + <title>pn боломжийн <literal>@</literal> тэмдэг ажиллахгүй байна!</title> + + <para>Утасны дугаарын боломжийн <literal>@</literal> тэмдэг нь tip-ийг + <filename>/etc/phones</filename> файлаас утасны дугаар хайхыг заадаг. + Гэхдээ <literal>@</literal> тэмдэг нь бас <filename>/etc/remote</filename> + зэрэг боломжийн файлуудын тусгай тэмдэгт юм. Үүнийг урагш ташуу зураас ашиглан + оруулж болно:</para> + + <programlisting>pn=\@</programlisting> + </sect2> + + <sect2> + <title>Тушаалын мөрөн дээр би утасны дугаар уруу хэрхэн залгах вэ?</title> + + <para>Өөрийн <filename>/etc/remote</filename> файлд + <quote>ердийн</quote> гэгддэг оруулгыг оруулна. Жишээ нь:</para> + + <programlisting>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:</programlisting> + + <para>Дараа нь та иймэрхүү зүйлс хийж болно:</para> + + <screen>&prompt.root; <userinput>tip -115200 5551234</userinput></screen> + + <para>Хэрэв та <command>cu</command>-г <command>tip</command>-ээс + илүүд үздэг бол ердийн <literal>cu</literal> оруулгыг ашиглаж:</para> + + <programlisting>cu115200|Use cu to dial any number at 115200bps:\ + :dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:</programlisting> + + <para>дараа нь ингэж бичнэ:</para> + + <screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen> + </sect2> + + <sect2> + <title>Би түүнийг хийх болгондоо bps хурдыг бичих хэрэгтэй юу?</title> + + <para><literal>tip1200</literal> эсвэл <literal>cu1200</literal>-ийн + хувьд оруулгыг хийнэ, гэхдээ br боломжтой тохирох ямар ч bps хурдыг ашиглаж болно. + <command>tip</command> нь боломжийн анхдагч утга бол 1200 bps гэж үздэг. + <literal>tip1200</literal> оруулгыг хайдгийн учир нь ийм юм. + Гэхдээ та заавал 1200 bps хурдыг ашиглах шаардлагагүй юм.</para> + </sect2> + + <sect2> + <title>Би терминал серверээр хэд хэдэн хостууд уруу ханддаг</title> + + <para>Та холбогдох хүртлээ хүлээж <command>CONNECT <host></command> гэж + тухай бүрт бичиж байхын оронд tip-ийн <literal>cm</literal> боломжийг + ашиглаж болно. Жишээ нь <filename>/etc/remote</filename> файл + дахь эдгээр оруулгууд нь:</para> + + <programlisting>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:</programlisting> + + <para>pain эсвэл muffin хостууд уруу + холбогдохын тулд танд <command>tip pain</command> эсвэл <command>tip + muffin</command> гэж бичих боломжийг олгохоос гадна терминал сервер уруу + орохын тулд <command>tip deep13</command> гэж бичих боломжийг бас олгоно.</para> + </sect2> + + <sect2> + <title>Сайт болгоны хувьд нэгээс их мөрийг tip оролдож чадах уу?</title> + + <para>Энэ нь их сургууль хэд хэдэн модемийн шугамуудтай бөгөөд хэдэн мянган оюутнууд + тэдгээрийг ашиглахыг оролдох үед ихэвчлэн гардаг асуудал юм.</para> + + <para>Өөрийн их сургуулийн оруулгыг <filename>/etc/remote</filename> файлд + хийгээд <literal>pn</literal> боломжийн хувьд <literal>@</literal>-ийг + ашиглаарай:</para> + + <programlisting>big-university:\ + :pn=\@:tc=dialout +dialout:\ + :dv=/dev/cuad3:br#9600:at=courier:du:pa=none:</programlisting> + + <para>Дараа нь их сургуулиудын хувьд утасны дугааруудыг + <filename>/etc/phones</filename> файлд жагсаана:</para> + + <programlisting>big-university 5551111 +big-university 5551112 +big-university 5551113 +big-university 5551114</programlisting> + + <para><command>tip</command> нь жагсаагдсан дарааллаар утас болгоныг + оролдож дараа нь зогсоно. Та оролдлогоо үргэлжлүүлсээр байхын тулд + <command>tip</command>-ийг while давталтад ажиллуулах + хэрэгтэй.</para> + </sect2> + + <sect2> + <title> + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>P</keycap> + </keycombo> + хослолыг нэг удаа илгээхийн тулд + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>P</keycap> + </keycombo> + хослолыг яагаад хоёр удаа дарах хэрэгтэй гэж?</title> + + <para><keycombo action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> нь + анхдагч <quote>force буюу хүчлэх</quote> тэмдэгт бөгөөд <command>tip</command> + тушаалд дараагийн тэмдэгт нь үсгэн өгөгдөл гэдгийг хэлэхэд хэрэглэгддэг. + Та хүчлэх тэмдэгтийг дурын тэмдэгт болгон <command>~s</command> тушаалаар + зааж өгч болно. <command>~s</command> тушаал нь <quote>хувьсагчийг + тохируулах</quote> гэсэн үг юм.</para> + + <para><command>~sforce=<replaceable>single-char</replaceable></command> + гэж бичээд шинэ мөр авах хэрэгтэй. <replaceable>single-char</replaceable> нь + дурын ганц тэмдэгт юм. Хэрэв та <replaceable>single-char</replaceable>-г + орхих юм бол хүчлэх тэмдэгт нь хоосон тэмдэгт болох бөгөөд та үүнийг + <keycombo action="simul"> + <keycap>Ctrl</keycap><keycap>2</keycap> + </keycombo> + эсвэл + <keycombo action="simul"> + <keycap>Ctrl</keycap><keycap>Space</keycap> + </keycombo> + гэж бичин авч болно. + <replaceable>single-char</replaceable>-ийн хувьд боломжийн утга + <keycombo action="simul"> + <keycap>Shift</keycap> + <keycap>Ctrl</keycap> + <keycap>6</keycap> + </keycombo> + байж болох бөгөөд энэ нь зөвхөн зарим нэг терминал серверүүдийн хувьд + ашиглагддаг.</para> + + <para>Та хүчлэх тэмдэгтийг өөрийн хүссэнээр + <filename>$HOME/.tiprc</filename> файлд дараахийг + зааж тохируулж болно:</para> + + <programlisting>force=<single-char></programlisting> + </sect2> + + <sect2> + <title>Гэнэт миний бичсэн болгон том үсгээр гараад байна??</title> + + <para>Та + эвдэгдсэн caps-lock товчлуур бүхий хэрэглэгчдэд тусгайлан зориулагдсан + <command>tip</command>-ийн <quote>өсгөх тэмдэгт</quote> болох + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>A</keycap> + </keycombo> + хослолыг дарсан байна. Дээрхийн адил <command>~s</command> + тушаалыг ашиглан <literal>raisechar</literal> хувьсагчийг + боломжийн утгаар тохируулах хэрэгтэй. Та үүнийг хүчлэх тэмдэгттэй + адилаар тохируулж болох юм. Өөрөөр хэлбэл хэрэв та эдгээр боломжуудын + аль нэгийг ашиглах бол ингэж болох юм.</para> + + <para><keycombo action="simul"> + <keycap>Ctrl</keycap><keycap>2</keycap> + </keycombo> + болон + <keycombo action="simul"> + <keycap>Ctrl</keycap><keycap>A</keycap> + </keycombo> + хослолуудыг байнга бичих хэрэгтэй болдог + <application>Emacs</application> хэрэглэгчдэд + яг зориулагдсан жишээ .tiprc файл энд байна:</para> + + <programlisting>force=^^ +raisechar=^^</programlisting> + + <para>^^ нь + <keycombo action="simul"> + <keycap>Shift</keycap><keycap>Ctrl</keycap><keycap>6</keycap> + </keycombo> юм.</para> + + </sect2> + + <sect2> + <title><command>tip</command>-ээр би яаж файл дамжуулалтуудыг хийх вэ?</title> + + <para>Хэрэв та өөр &unix; системтэй харьцаж байвал та <command>~p</command> (put буюу тавих) болон + <command>~t</command> (take буюу авах) тушаалуудыг ашиглан файлуудыг илгээж хүлээн + авч болно. Эдгээр тушаалууд нь файлуудыг хүлээн авч илгээхийн тулд алсын систем дээр + <command>cat</command> болон <command>echo</command> + тушаалуудыг ажиллуулдаг. Синтакс нь ийм байна:</para> + + <cmdsynopsis> + <command>~p</command> + <arg choice="plain">local-file</arg> + <arg choice="opt">remote-file</arg> + </cmdsynopsis> + + <cmdsynopsis> + <command>~t</command> + <arg choice="plain">remote-file</arg> + <arg choice="opt">local-file</arg> + </cmdsynopsis> + + <para>Алдаа шалгалт байдаггүй учраас магадгүй та zmodem-той адил өөр протокол + ашиглах хэрэгтэй юм.</para> + </sect2> + + <sect2> + <title><command>tip</command>-тэй би zmodem-ийг хэрхэн ажиллуулах вэ?</title> + + <para>Файлуудыг хүлээн авахын тулд алсын машин дээр програмыг илгээж эхэлнэ. + Дараа нь тэдгээрийг локалиар хүлээн авч эхлэхийн тулд <command>~C rz</command> + гэж бичнэ.</para> + + <para>Файлуудыг илгээхийн тулд алсын машин дээр програмыг хүлээн авч эхэлнэ. Дараа нь тэдгээрийг + алсын систем уруу илгээхийн тулд <command>~C sz <replaceable>files</replaceable></command> + гэж бичнэ.</para> + </sect2> + </sect1> + + <sect1 id="serialconsole-setup"> + <sect1info> + <authorgroup> + <author> + <firstname>Казутака</firstname> + <surname>ЁОКОТА</surname> + <contrib>Хойно дурдсан хүнии бичсэн баримт дээр тулгуурлан хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Билл</firstname> + <surname>Пол</surname> + <contrib>Бичиг баримтыг бичсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>Цуваа консолийг тохируулах нь</title> + <indexterm><primary>цуваа консол</primary></indexterm> + + <sect2 id="serialconsole-intro"> + <title>Танилцуулга</title> + + <para>FreeBSD нь зөвхөн цуваа порт дээр консол маягаар ашиглах дүлий терминал бүхий + систем дээр ачаалах чадвартай байдаг. Ийм тохиргоо нь хоёр ангилалын хүмүүст + ашигтай байх ёстой бөгөөд эдгээр нь гар эсвэл монитор байхгүй машинууд дээр FreeBSD суулгахыг + хүссэн системийн администраторууд болон цөм эсвэл төхөөрөмжийн драйверуудыг + дибаг хийхийг хүссэн хөгжүүлэгчид юм.</para> + + <para><xref linkend="boot">-т тайлбарласнаар FreeBSD нь гурван шаттай эхлүүлэгчийг + хэрэглэдэг. Эхний хоёр шат нь ачаалах диск дээрх FreeBSD-ийн зүсмэлийн эхлэл дээр + хадгалагддаг ачаалах блокийн кодод байдаг. Ачаалах блок нь ачаалагч дуудагчийг + (<filename>/boot/loader</filename>) гурав дахь шатны код болгон дуудаж + ажиллуулдаг.</para> + + <para>Цуваа консолийг тохируулахын тулд та ачаалах блокийн код, ачаалагч дуудах код болон + цөмөө тохируулах ёстой болно.</para> + + </sect2> + + <sect2 id="serialconsole-howto-fast"> + <title>Цуваа консолийн тохиргоо, Товч хувилбар</title> + + <para>Энэ хэсэг нь таныг анхдагч тохируулга ашиглаж байгаа бөгөөд цуваа консолийг + тохируулах хурдан тоймыг авахыг хүсэж байгаа гэж үздэг.</para> + + <procedure> + + <step> + <para>Цуваа кабелийг COM1 болон хянаж байгаа терминал уруу + холбоно.</para> + </step> + + <step> + <para>Цуваа консол дээр бүх ачаалалтын мэдэгдлүүдийг харахын тулд + супер хэрэглэгчээр нэвтэрснийхээ дараа дараах тушаалыг ажиллуулна:</para> + <screen>&prompt.root; echo 'console="comconsole"' >> /boot/loader.conf</screen> + </step> + + <step> + <para><filename>/etc/ttys</filename>-г засварлаж <literal>ttyd0</literal> + оруулгын хувьд <literal>off</literal> гэснийг + <literal>on</literal>, <literal>dialup</literal> + гэснийг <literal>vt100</literal> болгоно. Ингэхгүй бол + цуваа консолиор холбогдоход нууц үг шаардахгүй бөгөөд + боломжит аюулгүй байдлын цоорхой үүсгэх юм.</para> + </step> + + <step> + <para>Өөрчлөлтүүд идэвхтэй болсон эсэхийг харахын тулд системийг дахин ачаална.</para> + </step> + + </procedure> + + <para>Хэрэв өөр тохиргоо шаардлагатай бол <xref linkend="serialconsole-howto"> + хэсэгт илүү гүнзгий тохиргооны тайлбар байгаа болно.</para> + </sect2> + + <sect2 id="serialconsole-howto"> + <title>Цуваа консолийн тохиргоо</title> + + <procedure> + <step> + <para>Цуваа кабел бэлдэнэ.</para> + + <indexterm><primary>null-модем кабел</primary></indexterm> + <para>Танд null-модем кабел эсвэл стандарт цуваа кабел болон null-модем + хувиргагч хэрэгтэй болно. Цуваа кабелуудын талаарх хэлэлцүүлгийг + <xref linkend="serial-cables-ports"> хэсгээс үзнэ үү.</para> + </step> + + <step> + <para>Гарыг салгана.</para> + + <para>Ихэнх PC системүүд нь Power-On Self-Test (POST) буюу асаах үеийн + тестийн үеэр гарыг байгаа эсэхийг шалгадаг бөгөөд гар олдохгүй бол + алдаа үүсгэдэг. Зарим машинууд нь гар байхгүйг чангаар мэдээлж + залгагдтал нь цааш ачаалдаггүй.</para> + + <para>Хэрэв таны компьютер алдааг мэдээлсэн боловч цааш ачаалах юм бол + та ямар нэг тусгай зүйл хийх шаардлагагүй юм. (Phoenix BIOS суулгагдсан + зарим машинууд нь ердөө л <errorname>Keyboard failed</errorname> + гэж мэдээлээд хэвийнээр цааш ачаалах болно.)</para> + + <para>Хэрэв таны компьютер гар залгалгүйгээр ачаалахаас татгалзвал энэ алдааг + авч үзэлгүйгээр орхихоор болгож та BIOS-оо тохируулах хэрэгтэй болно + (хэрэв болдог бол). Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг өөрийн эх хавтангийн + гарын авлагаас лавлана уу.</para> + + <tip> + <para>BIOS-ийн тохиргоон дээр гараа <quote>Not installed</quote> буюу + суулгагдаагүй гэж тохируулна. Тэгсэн ч гэсэн та өөрийн гарыг ашиглаж чадах + болно. Үүний хийж байгаа зүйл нь BIOS-д асах үед гарыг шалгахгүй + гэж хэлж өгч байгаа юм. Таны BIOS гар байхгүй үед гомдоллохгүй байх + ёстой. Та энэ тугийг <quote>Not installed</quote> гэж тохируулсан байлаа + ч гэсэн гараа залгаатай хэвээр орхиж болох бөгөөд гар ажилласан хэвээр + байх болно.</para> + </tip> + + <note> + <para>Хэрэв таны систем &ps2; хулганатай бол та бас өөрийн гарны адил + хулганаа бас салгах шаардлагатай байж болох юм. Учир нь юу вэ гэвэл + &ps2; хулгана нь гартай цуг зарим тоног төхөөрөмжийг хуваалцдаг бөгөөд + хулганаа залгаатай орхих нь гар шалгагчийг гар байсаар байгаа гэж + бодоход хүргэн хуурч болох юм. AMI BIOS бүхий + Gateway 2000 Pentium 90 MHz систем ингэдэг гэж + яригддаг. Ерөнхийдөө хулгана нь гаргүйгээр олигтой ажиллахгүй + болохоор энэ нь асуудал биш юм.</para> + </note> + </step> + + <step> + <para>Дүлий терминалийг <devicename>COM1</devicename> уруу залгана + (<devicename>sio0</devicename>).</para> + + <para>Хэрэв танд дүлий терминал байхгүй бол та хуучин PC/XT-г модемийн + програмтай цуг, эсвэл өөр &unix; хайрцаг дээр цуваа портыг ашиглаж болох юм. + Хэрэв танд <devicename>COM1</devicename> (<devicename>sio0</devicename>) + байхгүй бол түүнтэй болох хэрэгтэй. Одоогоор ачаалах блокуудыг дахин + эмхэтгэлгүйгээр ачаалах блокуудын хувьд <devicename>COM1</devicename>-с + өөр портыг сонгох арга байхгүй. Хэрэв та <devicename>COM1</devicename>-г + өөр төхөөрөмжид ашиглаж байгаа бол та тэр төхөөрөмжөө түр зуур салгаад + FreeBSD эхлүүлж ажиллуулсныхаа дараа шинэ ачаалах блок болон цөмийг + суулгах хэрэгтэй болно. (<devicename>COM1</devicename> нь + файл/тооцоолох/терминал сервер дээр байдаг гэж үздэг; хэрэв танд + <devicename>COM1</devicename> нь үнэхээр өөр зүйлд хэрэгтэй байгаа + (бөгөөд та тэр өөр зүйлээ <devicename>COM2</devicename> + (<devicename>sio1</devicename>) уруу шилжүүлж чадахгүй байгаа)) + бол та магадгүй эхлээд энэ бүх зүйл дээр бүр санаа зовох шаардлагагүй + байж болох юм.)</para> + </step> + + <step> + <para>Таны цөмийн тохиргооны файлд <devicename>COM1</devicename>-ийн + (<devicename>sio0</devicename>) хувьд тохирох тугууд тохируулагдсан + эсэхийг шалгаарай.</para> + + <para>Холбоотой тугууд нь:</para> + + <variablelist> + <varlistentry> + <term><literal>0x10</literal></term> + + <listitem> + <para>Энэ нэгжид зориулан консолийн дэмжлэгийг идэвхжүүлнэ. Энэ туг + тохируулагдаагүй бол бусад тугууд нь орхигддог. Одоогоор хамгийн ихдээ + нэг нэгж консолийн дэмжлэгтэй байж болдог; Энэ туг тохируулагдсан + эхнийхийг (тохиргооны файлын дарааллаар) эрхэмлэдэг. Энэ тохируулга + нь ганцаараа цуваа портыг консол болгодоггүй. Дараах тугийг тохируулах + юм уу эсвэл энэ тугтай цуг доор тайлбарласан <option>-h</option> тохируулгыг + ашиглана.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>0x20</literal></term> + + <listitem> + <para>Доор тайлбарласан <option>-h</option> тохируулга байгаа + эсэхээс үл хамаарч энэ нэгжийг консол болгоно (өөр илүү эрхтэй консол байхгүй + тохиолдолд). <literal>0x20</literal> туг нь + <option>0x10</option> тугтай цуг ашиглагдах ёстой.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>0x40</literal></term> + + <listitem> + <para>Энэ нэгжийг (<literal>0x10</literal>-тай цуг) + нөөцөлж хэвийн хандалтад энэ нэгжийг байхгүй + болгоно. Та энэ тугийг цуваа консол маягаар ашиглахыг хүсэж + байгаа цуваа портын нэгждээ тохируулах ёсгүй юм. Энэ тугны + цорын ганц хэрэглээ нь алсаас цөмийг дибаг хийхэд нэгжийг + зориулах явдал юм. Алсаас дибаг хийх талаар илүү мэдээллийг + <ulink url="&url.books.developers-handbook;/index.html"> + Хөгжүүлэгчийн Гарын Авлага</ulink>ас үзнэ үү.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Жишээ:</para> + + <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting> + + <para>Илүү дэлгэрэнгүйг &man.sio.4; гарын авлагын хуудаснаас үзнэ үү.</para> + + <para>Хэрэв тугнууд тохируулагдаагүй бол UserConfig-г (өөр консол дээр) + ажиллуулах юм уу эсвэл цөмийг дахин эмхэтгэх хэрэгтэй.</para> + </step> + + <step> + <para>Ачаалах төхөөрөмж дээр <literal>a</literal> хуваалтын + root санд <filename>boot.config</filename> файлыг үүсгэнэ.</para> + + <para>Энэ файл нь системийг та хэрхэн ачаалахыг хүсэж байгааг ачаалах блокийн кодод + зааварлах болно. Цуваа консолийг идэвхжүүлэхийн тулд танд дараах + нэг буюу хэд хэдэн тохируулгууд хэрэгтэй болно—хэрэв та олон тохируулгуудыг + хүсэж байгаа бол бүгдийг нэг мөрт оруулах хэрэгтэй:</para> + + <variablelist> + <varlistentry> + <term><option>-h</option></term> + + <listitem> + <para>Дотоод болон цуваа консолиудыг харилцан сольно. Та үүнийг ашиглан + консол төхөөрөмжүүдийг сольж шилжүүлж болно. Жишээ нь хэрэв та + дотоод (видео) консолиос ачаалах бол ачаалагч дуудагч болон + цөмд өөрийн консолийн төхөөрөмждөө цуваа портыг ашиглуулахаар чиглүүлэх + <option>-h</option> тохируулгыг ашиглаж болох юм. Мөн өөрөөр + хэрэв та цуваа портоос ачаалах бол ачаалагч дуудагч болон + цөмд видео дэлгэцийг консол маягаар харин хэрэглүүлэхийн тулд + <option>-h</option> тохируулгыг ашиглаж болох юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-D</option></term> + + <listitem> + <para>Ганц болон хоёр консолийн тохиргоонуудыг сольно. Ганц тохиргоон дээр + дээрх <option>-h</option> тохиргооны төлөвөөс хамаарч консол нь + дотоод консол (видео дэлгэц) байх юм уу эсвэл цуваа порт байх болно. + Хоёр консолийн тохиргоон дээр видео дэлгэц болон цуваа порт нь хоюулаа + <option>-h</option> тохиргооны төлөвөөс үл хамааран консол болох + юм. Гэхдээ хоёр консолийн тохиргоо нь зөвхөн ачаалах блок ажиллаж байх + үед идэвхтэй байхыг санаарай. Ачаалагч дуудагч хяналтыг авсны дараа + <option>-h</option> тохируулгаар заагдсан консол нь цорын ганц + консол болох юм.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-P</option></term> + + <listitem> + <para>Ачаалах блокоор гарыг шалгуулна. Хэрэв гар олдоогүй бол + <option>-D</option> болон <option>-h</option> тохируулгууд + автоматаар тохируулагдана.</para> + + <note> + <para>Зайны шаардлагаас болоод ачаалах блокуудын одоогийн + хувилбарт <option>-P</option> тохируулга нь зөвхөн + өргөтгөсөн гарнуудыг олох чадвартай байдаг. 101 товчлуураас + бага товчлууруудтай (ба F11 болон F12 товчлууруудгүй) гарнууд нь + олдохгүй байж болох юм. Зарим нэг зөөврийн компьютерууд + дээрх гарнууд нь энэ хязгаарлалтаас болоод зөвөөр олдохгүй байж + болох юм. Хэрэв та ийм системтэй бол <option>-P</option> + тохируулга ашиглахаа болих хэрэгтэй юм. Харамсалтай нь + энэ асуудлыг тойрон гарах арга зам байдаггүй.</para> + </note> + </listitem> + </varlistentry> + </variablelist> + + <para>Консолио автоматаар сонгохын тулд <option>-P</option> тохируулгыг + ашиглах юм уу эсвэл цуваа консолийг идэвхжүүлэхийн тулд + <option>-h</option> тохируулгыг ашиглана.</para> + + <para>Та &man.boot.8;-д тайлбарласны адил бас бусад тохируулгуудыг + оруулж болох юм.</para> + + <para><option>-P</option>-с бусад тохируулгууд нь ачаалагч дуудагчид + (<filename>/boot/loader</filename>) дамжуулагддаг. Ачаалагч + дуудагч нь зөвхөн <option>-h</option> тохируулгын төлөвийг шалгаж + дотоод видео эсвэл цуваа портын аль нь консол болох ёстойг тодорхойлох + болно. Энэ нь хэрэв та <filename>/boot.config</filename> файлд + <option>-D</option> тохируулгыг тохируулаад гэхдээ + <option>-h</option> тохируулгыг тохируулаагүй бол та цуваа портыг + зөвхөн ачаалах блокийн үед консол болгон ашиглаж болно гэсэн үг юм; + ачаалагч дуудагч нь дотоод видео дэлгэцийг консол маягаар ашиглах болно.</para> + </step> + + <step> + <para>Машиныг ачаална.</para> + + <para>Та өөрийн FreeBSD хайрцгийг эхлүүлэх үед ачаалах блокууд нь + <filename>/boot.config</filename> файлын агуулгуудыг консол + уруу гаргаж харуулах болно. Жишээ нь:</para> + + <screen>/boot.config: -P +Keyboard: no</screen> + + <para>Хоёр дахь мөр нь <filename>/boot.config</filename> файлд + <option>-P</option> тохируулгыг зөвхөн тавьсан тохиолдолд + гарах бөгөөд гар байгаа/байхгүйг заадаг. Эдгээр мэдэгдлүүд нь + <filename>/boot.config</filename> файл дахь тохируулгаас + хамаараад цуваа эсвэл дотоод консол уруу, эсвэл хоюулан уруу гардаг.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry align="left">Тохируулгууд</entry> + <entry align="left">Мэдэгдлүүд гарах газар</entry> + </row> + </thead> + + <tbody> + <row> + <entry>байхгүй</entry> + <entry>дотоод консол</entry> + </row> + + <row> + <entry><option>-h</option></entry> + <entry>цуваа консол</entry> + </row> + + <row> + <entry><option>-D</option></entry> + <entry>цуваа болон дотоод консолиуд</entry> + </row> + + <row> + <entry><option>-Dh</option></entry> + <entry>цуваа болон дотоод консолиуд</entry> + </row> + + <row> + <entry><option>-P</option>, гар байна</entry> + <entry>дотоод консол</entry> + </row> + + <row> + <entry><option>-P</option>, гар байхгүй</entry> + <entry>цуваа консол</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Дээрх мэдэгдлүүдийн дараа ачаалах блокууд нь ачаалагч дуудагчийг дуудахаас + өмнө болон бусад дараа дараагийн мэдэгдлүүд консол дээр хэвлэгдэхээс өмнө + бага хэмжээний завсарлага (пауз) авах болно. Хэвийн нөхцөлд танд ачаалах + блокуудыг тасалдуулах хэрэггүй боловч та бүх зүйлс зөв тохируулагдсаныг + баталгаажуулахын тулд ингэхийг хүсэж болох юм.</para> + + <para>Ачаалах процессийг тасалдуулахын тулд консол дээр <keycode>Enter</keycode>-с + өөр дурын товчлуурыг дарах хэрэгтэй. Ачаалах блокууд нь дараа нь танаас дараачийн + чинь үйлдлийг асуух болно. Та одоо иймэрхүү мэдэгдэл харах ёстой:</para> + + <screen>>> FreeBSD/i386 BOOT +Default: 0:ad(0,a)/boot/loader +boot:</screen> + + <para>Дээрх мэдэгдэл цуваа эсвэл дотоод консол дээр эсвэл хоюулан дээр + гарч байгаа эсэхийг <filename>/boot.config</filename> файлд + хийсэн тохируулгуудынхаа дагуу шалгаарай. Хэрэв мэдэгдэл зөв + консол дээр гарч байвал ачаалах процессийг үргэлжлүүлэхийн тулд + <keycode>Enter</keycode> дараарай.</para> + + <para>Хэрэв та цуваа консолийг хүсэж байгаа боловч цуваа терминал дээр + хүлээх мөрийг харахгүй байгаа бол таны тохиргоонд ямар нэг зүйл буруу + байна. Тэр хооронд та ачаалах блокд (ба дараа нь ачаалагч дуудагч болон + цөмд) цуваа портыг консолд зориулан сонгуулахыг хэлэхийн тулд + <option>-h</option> гэж бичээд Enter/Return (боломжтой бол) + дараарай. Систем ачаалсны дараа юу буруу болсныг буцаж шалгаарай.</para> + </step> + </procedure> + + <para>Ачаалагч дуудагч дуудагдсаны дараа та ачаалах процессийн гурав дахь + шатанд байгаа бол ачаалагч дуудагчид зохих орчны хувьсагчуудыг тохируулж + дотоод консол болон цуваа консолийн хооронд та шилжиж чадсан хэвээр байх + болно. <xref linkend="serialconsole-loader">-г үзнэ үү.</para> + </sect2> + + <sect2 id="serialconsole-summary"> + <title>Дүгнэлт</title> + + <para>Энэ хэсэгт хэлэлцсэн төрөл бүрийн тохиргоонуудын дүгнэлт болон + эцсийн дүнд консол сонгогдсон талаарх мэдээлэл энд байна.</para> + + <sect3> + <title>Тохиолдол 1: Та <devicename>sio0</devicename>-д зориулж тугуудыг 0x10 + болгож тохируулна</title> + + <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry align="left">/boot.config дахь тохируулгууд</entry> + <entry align="left">Ачаалах блокуудын үеийн консол</entry> + <entry align="left">Ачаалагч дуудагчийн үеийн консол</entry> + <entry align="left">Цөм дэх консол</entry> + </row> + </thead> + + <tbody> + <row> + <entry>юу ч байхгүй</entry> + <entry>дотоод</entry> + <entry>дотоод</entry> + <entry>дотоод</entry> + </row> + + <row> + <entry><option>-h</option></entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + </row> + + <row> + <entry><option>-D</option></entry> + <entry>цуваа болон дотоод</entry> + <entry>дотоод</entry> + <entry>дотоод</entry> + </row> + + <row> + <entry><option>-Dh</option></entry> + <entry>цуваа болон дотоод</entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + </row> + + <row> + <entry><option>-P</option>, гар байна</entry> + <entry>дотоод</entry> + <entry>дотоод</entry> + <entry>дотоод</entry> + </row> + + <row> + <entry><option>-P</option>, гар байхгүй</entry> + <entry>цуваа болон дотоод</entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect3> + + <sect3> + <title>Тохиолдол 2: Та <devicename>sio0</devicename>-д зориулж тугуудыг 0x30 + болгож тохируулна</title> + + <programlisting>device sio0 at isa? port IO_COM1 flags 0x30 irq 4</programlisting> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry align="left">/boot.config дахь тохируулгууд</entry> + <entry align="left">Ачаалах блокуудын үеийн консол</entry> + <entry align="left">Ачаалагч дуудагчийн үеийн консол</entry> + <entry align="left">Цөм дэх консол</entry> + </row> + </thead> + + <tbody> + <row> + <entry>юу ч байхгүй</entry> + <entry>дотоод</entry> + <entry>дотоод</entry> + <entry>цуваа</entry> + </row> + + <row> + <entry><option>-h</option></entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + </row> + + <row> + <entry><option>-D</option></entry> + <entry>цуваа болон дотоод</entry> + <entry>дотоод</entry> + <entry>цуваа</entry> + </row> + + <row> + <entry><option>-Dh</option></entry> + <entry>цуваа болон дотоод</entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + </row> + + <row> + <entry><option>-P</option>, гар байна</entry> + <entry>дотоод</entry> + <entry>дотоод</entry> + <entry>цуваа</entry> + </row> + + <row> + <entry><option>-P</option>, гар байхгүй</entry> + <entry>цуваа болон дотоод</entry> + <entry>цуваа</entry> + <entry>цуваа</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </sect3> + </sect2> + + <sect2 id="serialconsole-tips"> + <title>Цуваа консолд зориулсан зааврууд</title> + + <sect3> + <title>Цуваа портын хурдыг илүү хурдан болгох</title> + + <para>Анхдагчаар цуваа портын тохируулгууд нь 9600 baud, 8 + бит, parity байхгүй, ба 1 зогсох бит бүхий байна. Хэрэв та анхдагч консолийн + хурдыг өөрчлөхийг хүсвэл танд дараах сонголтууд байна:</para> + + <itemizedlist> + <listitem> + <para>Ачаалах блокуудыг консолийн шинэ хурд заагдсан + <makevar>BOOT_COMCONSOLE_SPEED</makevar> хувьсагчтай цуг + дахин эмхэтгэнэ. Шинэ ачаалах блокуудыг бүтээж суулгах талаар + дэлгэрэнгүй заавруудыг <xref linkend="serialconsole-com2">-с + үзнэ үү.</para> + + <para>Хэрэв цуваа консол нь <option>-h</option> тохируулгатайгаар + ачаалахаас өөр аргаар тохируулагдсан бол эсвэл цөмийн ашиглаж байгаа + цуваа консол нь ачаалах блокуудын ашиглаж байгаагаас өөр бол + та дараах тохируулгыг цөмийн тохиргооны файлдаа бас нэмж шинэ цөмөө + эмхэтгэх ёстой юм:</para> + + <programlisting>options CONSPEED=19200</programlisting> + </listitem> + + <listitem> + <para>Цөмийн <option>-S</option> ачаалах тохируулгыг ашиглана. + <option>-S</option> тушаалын мөрийн тохируулга нь + <filename>/boot.config</filename> файлд нэмэгдэж болно. + <filename>/boot.config</filename> файлд хэрхэн тохируулгууд + нэмэх талаарх тайлбар болон дэмжигдсэн тохируулгуудын талаар + &man.boot.8; гарын авлагын хуудаснаас үзнэ үү.</para> + </listitem> + + <listitem> + <para>Өөрийн <filename>/boot/loader.conf</filename> файлд + <varname>comconsole_speed</varname> тохируулгыг + идэвхжүүлнэ.</para> + + <para>Энэ тохируулга нь <filename>/boot/loader.conf</filename> + файлд бас <varname>console</varname>, + <varname>boot_serial</varname>, болон + <varname>boot_multicons</varname> тохируулагдсан эсэхээс + хамаардаг. Цуваа консолийн хурдыг өөрчлөх + <varname>comconsole_speed</varname> тохируулгын хэрэглээний + жишээ энд байна:</para> + + <programlisting>boot_multicons="YES" +boot_serial="YES" +comconsole_speed="115200" +console="comconsole,vidconsole"</programlisting> + </listitem> + </itemizedlist> + + <note> + <para>6.1-RELEASE-с өмнөх &os; хувилбарууд нь + <filename>/boot/loader.conf</filename> файлд + <option>-S</option> эсвэл <varname>comconsole_speed</varname> + тохируулгыг дэмждэггүй учраас хэрэв та ийм хувилбарын &os; ашиглаж байгаа + бол ачаалах блокуудыг дахин эмхэтгэх хэрэгтэй болох юм.</para> + </note> + </sect3> + + <sect3 id="serialconsole-com2"> + <title>Консолд зориулж <devicename>sio0</devicename>-с өөр цуваа портыг + ашиглах</title> + + <para><devicename>sio0</devicename>-с өөр портыг консолд ашиглах нь + зарим нэг дахин эмхэтгэлтийг шаарддаг. Та ямар ч шалтгаанаар байлаа гэсэн + өөр цуваа портыг ашиглахыг хүсвэл доор дурдсан шигээр ачаалах блокууд, + ачаалагч дуудагч болон цөмийг дахин эмхэтгэх хэрэгтэй.</para> + + <procedure> + <step> + <para>Цөмийн эхийг авна. (<xref linkend="cutting-edge"> бүлгийг үзнэ үү)</para> + </step> + + <step> + <para><filename>/etc/make.conf</filename> файлыг засварлаж + <literal>BOOT_COMCONSOLE_PORT</literal> хувьсагчийг + ашиглахыг хүсэж байгаа портынхоо хаягаар (0x3F8, 0x2F8, 0x3E8 эсвэл + 0x2E8) тохируулна. Зөвхөн <devicename>sio0</devicename>-с + <devicename>sio3</devicename> (<devicename>COM1</devicename>-с + <devicename>COM4</devicename>) хүртэлх портууд ашиглагдаж болно; + олон порттой цуваа картууд ажиллахгүй. Тасалдлын тохируулга + шаардлагагүй.</para> + </step> + + <step> + <para>Тусгайлсан цөмийн тохиргооны файл үүсгээд ашиглахыг хүсэж байгаа + портынхоо хувьд тохирох тугуудыг нэмээрэй. Жишээ нь хэрэв та + <devicename>sio1</devicename> (<devicename>COM2</devicename>) + портыг консол болгохыг хүсэж байгаа бол:</para> + + <programlisting>device sio1 at isa? port IO_COM2 flags 0x10 irq 3</programlisting> + + <para>эсвэл</para> + + <programlisting>device sio1 at isa? port IO_COM2 flags 0x30 irq 3</programlisting> + + <para>Бусад цуваа портуудын хувьд консолийн тугууд тохируулагдах ёсгүй.</para> + </step> + + <step> + <para>Ачаалах блокууд болон ачаалагч дуудагчийг дахин эмхэтгээд суулгана:</para> + + <screen>&prompt.root; <userinput>cd /sys/boot</userinput> +&prompt.root; <userinput>make clean</userinput> +&prompt.root; <userinput>make</userinput> +&prompt.root; <userinput>make install</userinput></screen> + </step> + + <step> + <para>Цөмийг дахин бүтээж суулгана.</para> + </step> + + <step> + <para>Ачаалах блокуудыг ачаалах диск уруу &man.bsdlabel.8;-ийн + тусламжтай бичээд шинэ цөмөөс ачаална.</para> + </step> + </procedure> + </sect3> + + <sect3 id="serialconsole-ddb"> + <title>Цуваа шугамаас DDB дибаг хийгч уруу орох</title> + + <para>Хэрэв та цуваа консолиос цөмийг дибаг хийгч уруу орохыг хүсвэл + (алсаас хийх шинжилгээнд ашиг тустай байдаг боловч хэрэв та цуваа порт дээр + алдаатай BREAK үүсгэсэн бол энэ нь аюултай байдаг!) та өөрийн цөмийг дараах + тохируулгуудтай эмхэтгэх шаардлагатай:</para> + + <programlisting>options BREAK_TO_DEBUGGER +options DDB</programlisting> + </sect3> + + <sect3> + <title>Цуваа консол дээр нэвтрэлт хүлээх мөр гаргаж авах</title> + + <para>Энэ нь шаардлагатай биш боловч та одоо цуваа шугамаар ачаалалтын мэдэгдлүүдийг + харж цөмийн дибаг хийх сесс уруу орж чадаж байгаа юм чинь та цуваа шугамаар + <emphasis>нэвтрэлт</emphasis> хүлээх мөрийг авахыг хүсэж болох юм. + Энд хэрхэн үүнийг хийх талаар байна.</para> + + <para><filename>/etc/ttys</filename> файлыг засварлагчаар + онгойлгоод дараах мөрүүдийг олно:</para> + + <programlisting>ttyd0 "/usr/libexec/getty std.9600" unknown off secure +ttyd1 "/usr/libexec/getty std.9600" unknown off secure +ttyd2 "/usr/libexec/getty std.9600" unknown off secure +ttyd3 "/usr/libexec/getty std.9600" unknown off secure</programlisting> + + <para><literal>ttyd0</literal>-с <literal>ttyd3</literal> хүртэлх + нь <devicename>COM1</devicename>-с <devicename>COM4</devicename> + хүртэлхтэй тохирно. Хүссэн порт дээрээ <literal>off</literal> гэснийг + <literal>on</literal> болгож өөрчлөнө. Хэрэв та цуваа портын хурдыг өөрчилсөн + бол тухайн үеийн тохиргоотой тааруулахын тулд <literal>std.9600</literal>-г + өөрчлөх хэрэгтэй болно, өөрөөр хэлбэл <literal>std.19200</literal> гэх + мэт.</para> + + <para>Та бас терминалийн төрлийг <literal>unknown</literal> гэдгээс + өөрийн цуваа терминалийн жинхэнэ төрлөөр солихыг хүсэж болох юм.</para> + + <para>Файлыг засварласны дараа та энэ өөрчлөлтийг идэвхжүүлэхийн тулд + <command>kill -HUP 1</command> хийх ёстой.</para> + </sect3> + </sect2> + + <sect2 id="serialconsole-loader"> + <title>Ачаалагч дуудагчаас консолийг өөрчлөх</title> + + <para>Өмнөх хэсгүүд нь ачаалах блокуудыг тохируулан цуваа консолийг хэрхэн тохируулах + талаар тайлбарлалаа. Энэ хэсэг нь ачаалагч дуудагч дээр зарим нэг тушаалууд болон + орчны хувьсагчуудыг оруулж консолийг тохируулах талаар үзүүлэх болно. + Ачаалах блокийн дараа ачаалах процессийн гурав дахь шатан дээр ачаалагч дуудагч + ажиллах үед ачаалагч дуудагч дахь тохиргоонууд нь ачаалах блок дахь тохиргоонуудыг + дарж ажиллах болно.</para> + + <sect3> + <title>Цуваа консол тохируулах</title> + + <para>Та ачаалагч дуудагч болон цөмд цуваа консолийг ашиглуулахын тулд + <filename>/boot/loader.rc</filename> файлд зөвхөн нэг мөр бичээд + амархан зааж өгч болно:</para> + + <programlisting>set console="comconsole"</programlisting> + + <para>Энэ нь өмнөх хэсэгт хэлэлцсэн ачаалах блок дахь тохиргоонуудаас + үл хамааран идэвхжих болно.</para> + + <para>Та цуваа консол дээр ачаалалтын мэдэгдлүүдийг аль болох эрт харахын тулд + дээрх мөрийг <filename>/boot/loader.rc</filename> файлынхаа + хамгийн эхний мөр болгон оруулах нь зүйтэй юм.</para> + + <para>Үүнтэй адилаар та дотоод консолио ингэж зааж өгч болно:</para> + + <programlisting>set console="vidconsole"</programlisting> + + <para>Хэрэв та ачаалагч дуудагчийн орчны хувьсагч <envar>console</envar>-г + тохируулахгүй бол ачаалагч болон дараа нь цөм ачаалах блок дахь + <option>-h</option> тохируулгаар заагдсан тэр консолийг ашиглах + болно.</para> + + <para>3.2 болон түүнээс хойшхи хувилбаруудад та консолийг + <filename>/boot/loader.rc</filename> файлд биш харин + <filename>/boot/loader.conf.local</filename> юм уу + эсвэл <filename>/boot/loader.conf</filename> файлд + зааж өгнө. Энэ аргаар бол таны <filename>/boot/loader.rc</filename> + файл иймэрхүү харагдана:</para> + + <programlisting>include /boot/loader.4th +start</programlisting> + + <para>Дараа нь <filename>/boot/loader.conf.local</filename> + файлыг үүсгээд дараах мөрийг оруулна.</para> + + <programlisting>console=comconsole</programlisting> + + <para>эсвэл</para> + + <programlisting>console=vidconsole</programlisting> + + <para>Дэлгэрэнгүй мэдээллийг &man.loader.conf.5;-с үзнэ үү.</para> + + <note> + <para>Одоогоор ачаалагч дуудагчид ачаалах блок дахь + <option>-P</option> тохируулгатай адил тохируулга байдаггүй + бөгөөд гар байгаа эсэхээс хамаарч дотоод консол ба цуваа консолийг + автоматаар сонгох бэлтгэл байдаггүй юм.</para> + </note> + </sect3> + + <sect3> + <title>Консолд зориулж <devicename>sio0</devicename>-с өөр цуваа портыг + ашиглах</title> + + <para>Та цуваа консолд зориулж <devicename>sio0</devicename>-с өөр + цуваа портыг ашиглахын тулд ачаалагч дуудагчийг дахин эмхэтгэх хэрэгтэй. + <xref linkend="serialconsole-com2"> хэсэгт тайлбарласан процедурыг + дагаарай.</para> + </sect3> + </sect2> + + <sect2 id="serialconsole-caveats"> + <title>Анхаарах зүйлс</title> + + <para>Гол санаа нь график тоног төхөөрөмж эсвэл гар залгагдсан байхыг шаарддаггүй + тийм зориулагдсан серверүүдийг тохируулах боломжийг хүмүүст зөвшөөрөх явдал юм. + Ихэнх системүүд нь гаргүйгээр ачаалах боломжийг танд олгох боловч харамсалтай нь + график хувиргагчгүйгээр танд ачаалахыг зөвшөөрдөггүй нэлээн хэдэн системүүд байдаг. + AMI BIOS-уудтай машинуудыг график хувиргагч суулгалгүйгээр ачаалдаг болгож + тохируулж болдог. Ингэхийн тулд ердөө л CMOS тохиргоон дахь <quote>graphics adapter</quote> + тохируулгыг <quote>Not installed</quote> болгож өөрчилнө.</para> + + <para>Гэхдээ олон машинууд энэ тохируулгыг дэмждэггүй бөгөөд та систем дээрээ + ямар ч дэлгэцийн тоног төхөөрөмж байхгүй бол машин ачаалахаас татгалзах болно. + Ийм машинуудад та ямар нэг төрлийн график карт (хогийн хар цагаан хавтан байсан ч + гэсэн болно) залгаж орхих хэрэгтэй болох боловч заавал дэлгэц залгах шаардлагагүй юм. + Та бас AMI BIOS суулгахыг оролдож болох юм.</para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> + diff --git a/mn_MN.UTF-8/books/handbook/txtfiles.ent b/mn_MN.UTF-8/books/handbook/txtfiles.ent new file mode 100644 index 0000000000..b26eb9446f --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/txtfiles.ent @@ -0,0 +1,78 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.2 + + $FreeBSD$ +--> + +<!-- + Creates entities for each .txt screenshot that is included in the + Handbook. + + Each entity is named txt.dir.foo, where dir is the directory in + which it is stored, and foo is its filename, without the '.txt' + extension. + + Entities should be listed in alphabetical order. + +--> + +<!ENTITY txt.install.adduser1 SYSTEM "install/adduser1.txt"> +<!ENTITY txt.install.adduser2 SYSTEM "install/adduser2.txt"> +<!ENTITY txt.install.adduser3 SYSTEM "install/adduser3.txt"> +<!ENTITY txt.install.boot-mgr SYSTEM "install/boot-mgr.txt"> +<!ENTITY txt.install.console-saver1 SYSTEM "install/console-saver1.txt"> +<!ENTITY txt.install.console-saver2 SYSTEM "install/console-saver2.txt"> +<!ENTITY txt.install.console-saver3 SYSTEM "install/console-saver3.txt"> +<!ENTITY txt.install.console-saver4 SYSTEM "install/console-saver4.txt"> +<!ENTITY txt.install.desktop SYSTEM "install/desktop.txt"> +<!ENTITY txt.install.disklabel-auto SYSTEM "install/disklabel-auto.txt"> +<!ENTITY txt.install.disklabel-ed1 SYSTEM "install/disklabel-ed1.txt"> +<!ENTITY txt.install.disklabel-ed2 SYSTEM "install/disklabel-ed2.txt"> +<!ENTITY txt.install.disklabel-fs SYSTEM "install/disklabel-fs.txt"> +<!ENTITY txt.install.disklabel-root1 SYSTEM "install/disklabel-root1.txt"> +<!ENTITY txt.install.disklabel-root2 SYSTEM "install/disklabel-root2.txt"> +<!ENTITY txt.install.disklabel-root3 SYSTEM "install/disklabel-root3.txt"> +<!ENTITY txt.install.dist-set SYSTEM "install/dist-set.txt"> +<!ENTITY txt.install.dist-set2 SYSTEM "install/dist-set2.txt"> +<!ENTITY txt.install.docmenu1 SYSTEM "install/docmenu1.txt"> +<!ENTITY txt.install.ed0-conf SYSTEM "install/ed0-conf.txt"> +<!ENTITY txt.install.ed0-conf2 SYSTEM "install/ed0-conf2.txt"> +<!ENTITY txt.install.edit-inetd-conf SYSTEM "install/edit-inetd-conf.txt"> +<!ENTITY txt.install.fdisk-drive1 SYSTEM "install/fdisk-drive1.txt"> +<!ENTITY txt.install.fdisk-drive2 SYSTEM "install/fdisk-drive2.txt"> +<!ENTITY txt.install.fdisk-edit1 SYSTEM "install/fdisk-edit1.txt"> +<!ENTITY txt.install.fdisk-edit2 SYSTEM "install/fdisk-edit2.txt"> +<!ENTITY txt.install.ftp-anon1 SYSTEM "install/ftp-anon1.txt"> +<!ENTITY txt.install.ftp-anon2 SYSTEM "install/ftp-anon2.txt"> +<!ENTITY txt.install.hdwrconf SYSTEM "install/hdwrconf.txt"> +<!ENTITY txt.install.keymap SYSTEM "install/keymap.txt"> +<!ENTITY txt.install.main-doc SYSTEM "install/main-doc.txt"> +<!ENTITY txt.install.main-keymap SYSTEM "install/main-keymap.txt"> +<!ENTITY txt.install.main-options SYSTEM "install/main-options.txt"> +<!ENTITY txt.install.main-std SYSTEM "install/main-std.txt"> +<!ENTITY txt.install.main1 SYSTEM "install/main1.txt"> +<!ENTITY txt.install.mainexit SYSTEM "install/mainexit.txt"> +<!ENTITY txt.install.media SYSTEM "install/media.txt"> +<!ENTITY txt.install.mouse1 SYSTEM "install/mouse1.txt"> +<!ENTITY txt.install.mouse2 SYSTEM "install/mouse2.txt"> +<!ENTITY txt.install.mouse3 SYSTEM "install/mouse3.txt"> +<!ENTITY txt.install.mouse4 SYSTEM "install/mouse4.txt"> +<!ENTITY txt.install.mouse5 SYSTEM "install/mouse5.txt"> +<!ENTITY txt.install.mouse6 SYSTEM "install/mouse6.txt"> +<!ENTITY txt.install.nfs-server-edit SYSTEM "install/nfs-server-edit.txt"> +<!ENTITY txt.install.options SYSTEM "install/options.txt"> +<!ENTITY txt.install.pkg-cat SYSTEM "install/pkg-cat.txt"> +<!ENTITY txt.install.pkg-confirm SYSTEM "install/pkg-confirm.txt"> +<!ENTITY txt.install.pkg-install SYSTEM "install/pkg-install.txt"> +<!ENTITY txt.install.pkg-sel SYSTEM "install/pkg-sel.txt"> +<!ENTITY txt.install.probstart SYSTEM "install/probstart.txt"> +<!ENTITY txt.install.security SYSTEM "install/security.txt"> +<!ENTITY txt.install.sysinstall-exit SYSTEM "install/sysinstall-exit.txt"> +<!ENTITY txt.install.timezone1 SYSTEM "install/timezone1.txt"> +<!ENTITY txt.install.timezone2 SYSTEM "install/timezone2.txt"> +<!ENTITY txt.install.timezone3 SYSTEM "install/timezone3.txt"> +<!ENTITY txt.install.userconfig SYSTEM "../../../share/images/books/handbook/install/userconfig.txt"> +<!ENTITY txt.install.userconfig2 SYSTEM "../../../share/images/books/handbook/install/userconfig2.txt"> +<!ENTITY txt.install.xf86setup SYSTEM "install/xf86setup.txt"> diff --git a/mn_MN.UTF-8/books/handbook/users/Makefile b/mn_MN.UTF-8/books/handbook/users/Makefile new file mode 100644 index 0000000000..6225f24702 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/users/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= users/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/users/chapter.sgml b/mn_MN.UTF-8/books/handbook/users/chapter.sgml new file mode 100644 index 0000000000..d75bae11ed --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/users/chapter.sgml @@ -0,0 +1,1012 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.57 + + $FreeBSD$ +--> + +<chapter id="users"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Нэйл</firstname> + <surname>Блэки-Милнер</surname> + <contrib>Бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Шагдарын</firstname> + <surname>Нацагдорж</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + <!-- Feb 2000 --> + </chapterinfo> + + <title>Хэрэглэгчид ба үндсэн бүртгэл зохицуулалт</title> + + <sect1 id="users-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>FreeBSD суусан компьютерийг нэг зэрэг олон хэрэглэгч хэрэглэж болдог. + Мэдээж, тодорхой мөчид дэлгэцийн урд гар ашиглаж зөвхөн нэг хэрэглэгч суудаг ч + <footnote> + <para> <xref linkend="serialcomms"> + бүлэгт гарсаны дагуу олон терминал нээгээгүй л бол.</para> +</footnote>, олон хэрэглэгчид сүлжээгээр холбогдож өөрсдийнхөө ажлыг гүйцэтгэж чадна. + Системийг хэрэглэхийг хүссэн хэрэглэгч нь бүртгэлтэй байх ёстой.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>FreeBSD систем дэх хэрэглэгчдийн төрөл бүрийн бүртгэлийн ялгаа.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн бүртгэл хэрхэн нэмэх.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн бүртгэлийг хэрхэн устгах.</para> + </listitem> + + <listitem> + <para>Хэрэглэгчийн бүтэн нэр, эсвэл эрхэмлэдэг shell зэрэг бүртгэл мэдээллийг хэрхэн өөрчлөх.</para> + </listitem> + + <listitem> + <para>Бүртгэлүүдийн бүлэг ба хэрэглэгч бүрд зарцуулагдах Процессор, мөн санах ойн хэмжээг + хэрэглэх эрх зэрэгт хэрхэн хязгаарлалт хийх.</para> + </listitem> + + <listitem> + <para>Бүртгэлийн зохицуулалтыг хялбар болгохын тулд бүлгийг хэрхэн хэрэглэх.</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншиж эхлэхээсээ өмнө та дараах зүйлсийг мэдсэн байх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>&unix; болон FreeBSD-н үндсэн ойлголт(<xref + linkend="basics">).</para> + </listitem> + </itemizedlist> + </sect1> + + <sect1 id="users-introduction"> + <title>Танилцуулга</title> + + <para> + Систем рүү хандах бүх хандалт, мөн хэрэглэгчээс гүйцэтгэгдэж байгаа + үйлдлүүд нь бүгд бүртгэлээр зохицуулагдана. Тийм болохоор FreeBSD дээр + бүртгэлийн зохицуулалт тун чухал.</para> + + <para>FreeBSD системийн бүртгэл нь уг бүртгэлээ тодорхойлсон мэдээлэл + агуулж байдаг.</para> + + <variablelist> + <varlistentry> + <term>Хэрэглэгчийн нэр</term> + + <listitem> + <para>Энэ хэрэглэгчийн нэр нь <prompt>login:</prompt> хэсэгт нэвтрэхдээ бичдэг нэр. + Хэрэглэгчийн нэр нь энэ компьютерт ийм нэрээр цорын ганц байх ёстой. Хоёр хэрэглэгч + нэг ижил нэртэй байж болохгүй. &man.passwd.5;;-д заасны дагуу зөв хэрэглэгчийн + нэр үүсгэх маш олон дүрэм бий. Ерөнхийдөө, та найман тэмдэгтээс хэтрэлгүй, цөөхөн + байж болно, бүгд бага үсгээр бичигдэх нэр хэрэглэнэ.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Нууц үг</term> + + <listitem> + <para>Бүх бүртгэл нь харгалзах нууц үгтэй. Нууц үг нь хоосон байж болох бөгөөд + энэ тохиолдолд систем танаас нууц үг шаардахгүй. Энэ нь ердийн үед тийм сайн + санаа биш бөгөөд бүх бүртгэл өөрийн нууц үгтэй байх хэрэгтэй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Хэрэглэгчийн ID (UID)</term> + + <listitem> + <para>UID бол ихэнхдээ 0 ээс 65535 хүртэлх тоо байдаг ба<footnote id="users-largeuidgid"> + <para>UID/GID дугааруудыг 4294967295 гэж их тоогоор сонгож болох боловч, + ийм дугаарууд нь хэрэглэгчийн дугаартай тооцон боддог програмуудад хүндрэл + учруулах магадлалтай.</para> + </footnote>, системд хэрэглэгчийг уг ганц гоц тоогоор танихад хэрэглэгддэг. + Дотоод ажиллагаандаа, FreeBSD нь UID дугаарыг хэрэглэж хэрэглэгчийг + таниж—FreeBSD-н хэрэглэгчийн нэр ашигладаг бүх тушаалууд нь уг хэрэглэгчтэй + ажиллахаасаа өмнө эхлээд энэ дугаар руу нь хувиргадаг. + Тэгэхээр, хэд хэдэн бүртгэл нь янз бүрийн нэртэй мөртлөө нэг UID дугаартай байж болно + гэсэн үг. Хэрэв тийм бол FreeBSD тэд нарыг нэг хэрэглэгч гэж тооцно. Мэдээж танд ингэж хийх + шаардлага байхгүй.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Бүлгийн ID (GID)</term> + + <listitem> + <para> + GID бол ихэнхдээ 0 ээс 65535 хүртэлх тоо байдаг ба<footnoteref linkend="users-largeuidgid"> + , + хэрэглэгчдийг бүлэглэсэн бүлгийг гоцлож танихад хэрэглэгддэг. Бүлэг нь хэрэглэгчдийн + UID болгон руу хандалгүйгээр бүлэглэгдсэн хэсэг хэрэглэгчдийг бүлгийн дугаараар нь + хандаж зохицуулахад хэрэглэдэг зарчим. Энэ нь зарим тохируулагч файлуудад маш + их зай хэмнэхэд тус болдог. Нэг хэрэглэгч нь нэгээс илүү олон бүлэгт байж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Нэвтрэх төрөл</term> + + <listitem> + <para>Нэвтрэх төрөл нь бүлэглэх зарчмын нэмэгдэл бөгөөд + систем дэх хэрэглэгчдийг ангилахад илүү дөхөм үзүүлдэг.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Нууц үг өөрчлөх давтамж</term> + + <listitem> + <para>Анхны горимоороо FreeBSD нь хэрэглэгчдийг тодорхой давтамжтай + нууц үгээ солихыг шаарддаггүй. Энэ шаардлагыг нэгж хэрэглэгчид + хэрэгжүүлэхгүй байх, эсвэл хэсэг буюу бүх хэрэглэгчдийг тодорхой + хугацаа өнгөрсөний дараа нууц үгээ солих ёстойгоор хэрэгжүүлж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Бүртгэлийн хүчинтэй огноо</term> + + <listitem> + <para>Анхны горимоороо FreeBSD нь бүртгэлд хязгаар тавьдаггүй. Хэрэв + та бүртгэл үүсгэх үед уг бүртгэл нь тодорхой хугацаанд хүчинтэй байх + ёстой гэдгийг мэдэж байвал, жишээлбэл, сургуульд оюутнуудад хэрэглэгч + нээхдээ хэзээ дуусахыг нь мэдэж байх зэрэг ийм тохиолдолд бүртгэлд + та хүчинтэй байх огноог нь зааж өгч болдог. Хүчинтэй огноо хэтрэх үед + хэрэглэгч системд нэвтэрч чадахгүй бөгөөд харин уг бүртгэлд хамаарч + байсан файл болон сангууд хэвээрээ байна.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Хэрэглэгчийн бүтэн нэр</term> + + <listitem> + <para>Хэрэглэгчийн нэр нь FreeBSD дээр цор ганц гоц байх ёстой + бөгөөд энэ нь заавал хэрэглэгчийн жинхэнэ нэр байх алба үгүй. + Тийм учраас энэ нэр нь уг бүртгэлд тохирсон нэмэлт мэдээлэл байж + болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Гэрийн сан</term> + + <listitem> + <para>Гэрийн сан гэдэг нь систем дээр буй бүхлээр нь бичсэн сангийн + байршил бөгөөд хэрэглэгч системд нэвтэрч оронгуут энэ санд эхэлж ордог. + Энгийн тогтсон журманд, бүх хэрэглэгчийн гэрийн сангууд нь + <filename>/home/<replaceable>хэрэглэгчийн-нэр</replaceable></filename> + эсвэл <filename>/usr/home/<replaceable>хэрэглэгчийн-нэр</replaceable></filename> + -д байрлуулсан байдаг. + Хэрэглэгч нь гэрийн сан дотроо хувийн файлуудаа хадгалах бөгөөд мөн тэр дотроо + дурын сан үүсгэх боломжтой.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>Хэрэглэгчийн бүрхүүл</term> + + <listitem> + <para>Бүрхүүл нь хэрэглэгчийг системтэй харьцахад хэрэглэгдэх + анхны орчны бүрдлээр хангаж өгдөг. Маш олон төрлийн бүрхүүлүүд + байдаг бөгөөд туршлагатай хэрэглэгчид өөрсдийнхөө бүртгэлийн + тохиргоог өөрчилж эрхэмлэдэг бүрхүүлээ сонгож авдаг.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Бүртгэлийн гол гурван төрөл бий: <link + linkend="users-superuser">Супер хэрэглэгч</link>, <link + linkend="users-system">систем хэрэглэгч</link>, тэгээд <link + linkend="users-user">хэрэглэгчийн бүртгэл</link>. Супер хэрэглэгчийн + бүртгэлийг голдуу <username>root</username> гэж нэрлэдэг бөгөөд, + ямар ч эрхийн хязгаарлалтгүйгээр системийг зохицуулж чаддаг. + Систем хэрэглэгчид нь үйлчилгээнүүдийг ажиллуулах эрхтэй. + Эцэст нь, хэрэглэгчийн бүртгэл нь болохоор жирийн хүмүүсд + хэрэглэгддэг бөгөөд нэвтэрч орох, захиагаа шалгах зэрэг үйлдэлд + ашиглагддаг.</para> + </sect1> + + <sect1 id="users-superuser"> + <title>Супер хэрэглэгчийн бүртгэл</title> + + <indexterm> + <primary>accounts</primary> + <secondary>супер хэрэглэгч (root)</secondary> + </indexterm> + <para>Голдуу <username>root</username> гэж нэрлэгдэх + супер хэрэглэгчийн бүртгэл нь системийг зохицуулах зорилгоор + урьдчилан тохируулагдаж ирдэг бөгөөд захиа шалгах, програм + ажиллуулах, системийн зарим үйлдлийг турших зэрэг үйлдэлд + хэрэглэх хэрэггүй.</para> + + <para>Жирийн хэрэглэгчээс ялгаатай нь, супер хэрэглэгч нь ямар ч + хязгаарлалтгүйгээр системд үйлдэл хийж чаддаг болохоор, + болгоомжгүй хийсэн үйлдэл тань маш том алдаанд хүргэж болзошгүй юм. + Энгийн хэрэглэгчийн бүртгэлээр алдаатай үйлдэл хийсэн ч системийг + эвдэх чадваргүй учраас онцгой шаардлага гарахгүй л бол энгийн + хэрэглэгчийн бүртгэлийг байнга хэрэглэх нь сайн.</para> + + <para>Та супер хэрэглэгч байх үедээ гүйцэтгэх гэж буй тушаалаа үргэлж давхар + удаа эсвэл гурван удаа шалгаж байхгүй бол, нэмэлт зай авалт эсвэл + тэмдэг дутсанаас болж нөхөж баршгүй өгөдлийн гарз гарч болзошгүй билээ.</para> + + <para>Ийм болохоор, энэ бүлгийг уншсаны дараа таны хийх хэрэгтэй хамгийн + эхний зүйл тань, хэрэв үүсгээгүй бол ердийн хэрэглээндээ зориулж + онцгой эрхгүй хэрэглэгчийн бүртгэл өөртөө нээх юм. + Энэ арга нь олон хэрэглэгчтэй эсвэл ганц хэрэглэгчтэй машины аль алинд нь + хэрэгжигдэх хэрэгтэй. + Энэ бүлгийн сүүл хэсэгт нэмэлт бүртгэл үүсгээд, жирийн хэрэглэгч болон супер + хэрэглэгчийн хооронд хэрхэн сольж болох талаар зааварлах болно.</para> + </sect1> + + <sect1 id="users-system"> + <title>Систем бүртгэл</title> + + <indexterm> + <primary>accounts</primary> + <secondary>систем</secondary> + </indexterm> + <para>Систем хэрэглэгчид нь DNS, захиа, вэб сервер гэх мэтчилэн үйлчилгээнүүдийг + ажиллуулах эрхтэй байдаг. Гол шалтгаан нь аюулгүй байдал; хэрэв бүх + үйлчилгээнүүд супер хэрэглэгч эрхээр ажиллавал хязгааргүй үйлдэл хийх эрхтэй + болох аюултай.</para> + + <indexterm> + <primary>accounts</primary> + <secondary><username>далд чөтгөр, демон</username></secondary> + </indexterm> + <indexterm> + <primary>accounts</primary> + <secondary><username>оператор</username></secondary> + </indexterm> + <para>Систем хэрэглэгчдийн нэг жишээ бол <username>дэмон буюу далд чөтгөр</username>, + <username>оператор</username>, <username>бинд буюу холбогч</username> (Домэйн нэрний үйлчилгээнд зориулсан), <username>мэдээ</username>, мөн + <username>www</username> нар юм.</para> + + <indexterm> + <primary>accounts</primary> + <secondary><username>nobody</username></secondary> + </indexterm> + <para><username>nobody</username> бол системийн ердийн + онцгой эрхгүй систем хэрэглэгч. Гэхдээ, хэрэв та хэдий чинээ файл болон үйлдлүүдэд хамаатай үйлчилгээнүүдийг энэ <username>nobody</username> хэрэглэгчээр ашиглана, төдий хэмжээний эрхтэй байна гэсэн үг.</para> + </sect1> + + <sect1 id="users-user"> + <title>Энгийн хэрэглэгчийн бүртгэл</title> + + <indexterm> + <primary>accounts</primary> + <secondary>user</secondary> + </indexterm> + <para>Хэрэглэгчдийн энэ бүртгэл нь бодит хүмүүсийг систем рүү + нэвтрэхэд хэрэглэгдэж, тухайн хэрэглэгч болон орчныг тусгаарлан, + энгийн хэрэглэгчийг систем эвдэхээс сэргийлэх, мөн хэрэглэгчид + өөрсдийнхөө орчныг бусдад нөлөөлөхгүйгээр өөрчилж болох зэрэгт + зориулагдсан.</para> + + <para>Таны систем рүү орж байгаа бүх хүн өөрийн гэсэн бүртгэлтэй байх + хэрэгтэй. Ингэсэнээр та хэн юу хийж байгааг мэдэж болохоос гадна, + хүн болгоны тохируулга бусдын тохируулгатай холилдох, эсвэл нэг нэгнийхээ + захиаг унших зэрэг нөхцлүүдээс сэргийлж чадна.</para> + + <para>Хэрэглэгч болгон өөрийнхөө эрхэмлэдэг бүрхүүл, засварлагч, + гарын товчлуур, мөн хэл зэрэг тохируулгыг өөртөө зориулж системд + тохируулж болно.</para> + </sect1> + + <sect1 id="users-modifying"> + <title>Бүртгэлд өөрчлөлт хийх</title> + + <indexterm> + <primary>accounts</primary> + <secondary>modifying</secondary> + </indexterm> + + <para>&unix; орчинд хэрэглэгчийн бүртгэлийг өөрчилж болох маш + олон тушаалууд байдаг. Доорхи хэсэгт хамгийн түгээмэл хэрэглэгддэг + тушаалуудыг хэрэглэх жишээтэй нь хамт нэгтгэж харууллаа.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <colspec colwidth="1*"> + <colspec colwidth="2*"> + + <thead> + <row> + <entry>Тушаал</entry> + <entry>Тайлбар</entry> + </row> + </thead> + <tbody> + <row> + <entry>&man.adduser.8;</entry> + <entry>Шинэ хэрэглэгч нэмэхэд хэрэглэгддэг, санал болгогдсон, + бичиж гүйцэтгэгддэг тушаал програм.</entry> + </row> + <row> + <entry>&man.rmuser.8;</entry> + <entry>Хэрэглэгчийг устгахад хэрэглэгддэг, санал болгогдсон, + бичиж гүйцэтгэгддэг тушаал програм.</entry> + </row> + <row> + <entry>&man.chpass.1;</entry> + <entry>Хэрэглэгчийн өгөгдлийн мэдээллийг өөрчилдөг нийцтэй багаж.</entry> + </row> + <row> + <entry>&man.passwd.1;</entry> + <entry>Хэрэглэгчийн нууц үгийг сольдог, энгийн бичиж гүйцэтгэгддэг тушаах багаж.</entry> + </row> + <row> + <entry>&man.pw.8;</entry> + <entry>Хэрэглэгчийн бүх мэдээллийг өөрчилж чаддаг, хүчирхэг + нийцтэй багаж.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <sect2 id="users-adduser"> + <title><command>adduser</command></title> + + <indexterm> + <primary>accounts</primary> + <secondary>adding</secondary> + </indexterm> + <indexterm> + <primary><command>adduser</command></primary> + </indexterm> + <indexterm> + <primary><filename class="directory">/usr/share/skel</filename></primary> + </indexterm> + <indexterm><primary>skeleton directory</primary></indexterm> + <para>&man.adduser.8; нь шинэ хэрэглэгч нэмдэг энгийн програм. + Энэ нь системийн <filename>passwd</filename> болон <filename>group</filename> + файлуудад оруулга нэмдэг. Мөн энэ програм нь шинэ хэрэглэгчид зориулж гэрийн сан + үүсгэж, анхдагч тохируулгын файлуудыг (<quote>цэгтэй файлууд</quote>) + <filename>/usr/share/skel</filename> сангаас хуулан, хэрэв нэмэлт + сонголт хийсэн бол шинэ хэрэглэгч рүү мэндчилгээний захиа илгээдэг.</para> + +<!-- old version + <note> + <para>Анхдагч утгуудаар нь хэрэглэгч нэмье гэсэн + үедээ та &man.adduser.8; програмыг нэмэлт өгөгдөлгүй хэрэглэх хэрэгтэй. + Хэрэв програм танаас анхны утгыг өөрчлөхийг асуувал, програмаас гараад, + дахиад <option>-s</option> гэсэн сонголттой хамт оролдох хэрэгтэй.</para> + </note> +--> + <example> + <title>&os; дээр хэрэглэгч нэмэх нь</title> + + <screen>&prompt.root; <userinput>adduser</userinput> +Username: <userinput>jru</userinput> +Full name: <userinput>J. Random User</userinput> +Uid (Leave empty for default): +Login group [jru]: +Login group is jru. Invite jru into other groups? []: <userinput>wheel</userinput> +Login class [default]: +Shell (sh csh tcsh zsh nologin) [sh]: <userinput>zsh</userinput> +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 +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): <userinput>yes</userinput> +adduser: INFO: Successfully added (jru) to the user database. +Add another user? (yes/no): <userinput>no</userinput> +Goodbye! +&prompt.root;</screen> + </example> + + <note> + <para>Оруулсан нууц үг тань танд харуулагдахгүй бас одоор ч дүрсэлж + харуулагддаггүй. Тийм болохоор нууц үгээ хянаж зөв оруулах хэрэгтэй. + </para> + </note> + </sect2> + + <sect2 id="users-rmuser"> + <title><command>rmuser</command></title> + + <indexterm><primary><command>rmuser</command></primary></indexterm> + <indexterm> + <primary>accounts</primary> + <secondary>removing</secondary> + </indexterm> + + <para>Та &man.rmuser.8;-г хэрэглэн системээс хэрэглэгчийг + нэг мөсөн устгаж болно. + &man.rmuser.8; нь дараах алхамуудыг гүйцэтгэдэг:</para> + + <procedure> + <step> + <para>Хэрэглэгчийн &man.crontab.1; оруулгуудыг устгана (хэрэв + байвал).</para> + </step> + <step> + <para>Хэрэглэгчид хамаарах &man.at.1; ажлуудыг устгана.</para> + </step> + <step> + <para>Хэрэглэгчийн эзэмшдэг бүх процессуудыг устгана.</para> + </step> + <step> + <para>Системийн дотоод нууц үгийн файлаас хэрэглэгчийг устгана.</para> + </step> + <step> + <para>Хэрэглэгчийн гэрийн санг устгана (хэрэв хэрэглэгч эзэмшдэг бол).</para> + </step> + <step> + <para><filename>/var/mail</filename> доторхи уг хэрэглэгчид + ирсэн захиануудыг устгана.</para> + </step> + <step> + <para>Хэрэглэгчийн эзэмшиж байсан файлуудыг <filename>/tmp</filename> гэх мэтийн түр хадгалагч сангаас устгана.</para> + </step> + <step> + <para>Эцэст нь <filename>/etc/group</filename> дотор буй хэрэглэгчийн хамрагддаг бүх бүлгүүдээс уг хэрэглэгчийг устгана.</para> + <note> + <para>Хэрэв бүлгийн нэр нь уг хэрэглэгчийн нэртэй ижил бөгөөд + уг бүлэг нь хоосорч байвал уг бүлэг нь &man.adduser.8; + програмаар зөвхөн уг хэрэглэгчид гоцолж үүсгэгдсэн болохоор бас + устгагдана.</para> + </note> + </step> + </procedure> + + <para>Супер хэрэглэгчийн бүртгэлийг устгавал маш олон устгалга хийгдэх + болохоор &man.rmuser.8; програм хэрэглэгдэж чадахгүй.</para> + + <para>Анхны горим нь, таныг юу хийж байгаад итгэлтэй байхын тулд + лавлаж харилцах горим хэрэглэгддэг.</para> + + <example> + <title><command>rmuser</command> Лавлаж харилцан бүртгэл устгах</title> + + <screen>&prompt.root; <userinput>rmuser jru</userinput> +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? <userinput>y</userinput> +Remove user's home directory (/home/jru)? <userinput>y</userinput> +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. +&prompt.root;</screen> + </example> + </sect2> + + <sect2 id="users-chpass"> + <title><command>chpass</command></title> + + <indexterm><primary><command>chpass</command></primary></indexterm> + <para>&man.chpass.1; нь хэрэглэгчийн өгөгдлийн бааз болох + нууц үг, бүрхүүл, мөн хувийн мэдээлэл зэргүүдийг өөрчилдөг.</para> + + <para>Зөвхөн систем зохицуулагчид нь супер хэрэглэгч болж + &man.chpass.1;-г хэрэглэн бусдын мэдээллийг өөрчлөх эрхтэй.</para> + + <para>Хэрэглэгчийн нэрийг нэмэлт сонголт болгож өгөхөөс бусад үед, ямар нэгэн + сонголт өгөөгүй тохиолдолд &man.chpass.1; нь хэрэглэгчийн + мэдээллийг агуулсан засварлагч нээж харуулдаг. Хэрэглэгч уг + засварлагчаас гарах үед хэрэглэгчийн мэдээлэл шинэ мэдээллээр + шинэчлэгддэг.</para> + + <note> + <para>Засварлагчаас гарах үед хэрэв та супер хэрэглэгч биш бол + нууц үгээ оруулахыг асуух болно.</para> + </note> + + <example> + <title>Супер хэрэглэгчийн лавлаж асуух <command>chpass</command> хэрэглээ</title> + + <screen>#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:</screen> + </example> + + <para>Энгийн хэрэглэгч нь өөрийнхөө энэ мэдээллийн зөвхөн жаахан + хэсгийг л өөрчилж чадна.</para> + + <example> + <title>Энгийн хэрэглэгчийн лавлаж асуух <command>chpass</command> + хэрэглээ</title> + + <screen>#Changing user database information for jru. +Shell: /usr/local/bin/zsh +Full Name: J. Random User +Office Location: +Office Phone: +Home Phone: +Other information:</screen> + </example> + + <note> + <para>&man.chfn.1; ба &man.chsh.1; нар нь зөвхөн + &man.chpass.1;-н холбоосууд юм. Нэг ёсондоо &man.ypchpass.1;, + &man.ypchfn.1;, болон &man.ypchsh.1; нартай ижилхэн холбоос. + NIS дэмжлэг автоматаар хийгдсэн байгаа. Тийм болохоор тушаалын + урд нь <literal>yp</literal> угтвар залгах шаардлагаггүй. + Хэрэв энэ таныг эргэлзүүлж гайхуулах байдалд хүргэж байвал санаа + зовсоны хэрэггүй. NIS нь <xref linkend="network-servers"> + хэсэгт тайлбарлагдах болно.</para> + </note> + </sect2> + <sect2 id="users-passwd"> + <title><command>passwd</command></title> + + <indexterm><primary><command>passwd</command></primary></indexterm> + <indexterm> + <primary>accounts</primary> + <secondary>changing password</secondary> + </indexterm> + <para>&man.passwd.1; нь энгийн хэрэглэгч үедээ эсвэл бусдын нууц үгийг + солихоор бол супер хэрэглэгч болж нууц үг сольдог энгийн арга.</para> + + <note> + <para>Болчимгүй алдаа эсвэл зөвшөөрөөгүй өөрчлөлт оруулахаас + сэргийлж, шинэ нууц үгийг суулгахаас өмнө анхны нууц үгийг асуудаг.</para> + </note> + + <example> + <title>Өөрийнхөө нууц үгийг солих нь</title> + + <screen>&prompt.user; <userinput>passwd</userinput> +Changing local password for jru. +Old password: +New password: +Retype new password: +passwd: updating the database... +passwd: done</screen> + </example> + + <example> + <title>Супер хэрэглэгч бол бусдын нууц үгийг солих нь</title> + + <screen>&prompt.root; <userinput>passwd jru</userinput> +Changing local password for jru. +New password: +Retype new password: +passwd: updating the database... +passwd: done</screen> + </example> + + <note> + <para>&man.chpass.1;, + &man.yppasswd.1; зэрэг нь ердөө &man.passwd.1;-н + холбоосууд юм. Тийм болохоор NIS дээр эдгээрхи нь бүгд + ажилладаг.</para> + </note> + </sect2> + + + <sect2 id="users-pw"> + <title><command>pw</command></title> + <indexterm><primary><command>pw</command></primary></indexterm> + + <para>&man.pw.8; нь хэрэглэгч нэмэх, + устгах, өөрчлөх, мөн хэрэглэгч ба бүлгийг харуулдаг тушаалын мөрийн багаж юм. + Системийн хэрэглэгч ба бүлгийн файлд хамгийн түрүүнд ханддаг багаж. + &man.pw.8; нь маш олон хүчтэй тушаалын сонголтуудтай байдаг болохоор + бүрхүүлийн орчны скриптэд хэрэглэхэд тохиромжтой. Гэхдээ + шинэ хэрэглэгчдэд энэ програм нь өмнө үзүүлсэн тушаалуудыг бодвол + илүү хэцүү хүндрэлтэй гэж тооцогдож магадгүй.</para> + </sect2> + + + </sect1> + + <sect1 id="users-limiting"> + <title>Хэрэглэгчдэд хязгаарлалт хийх</title> + + <indexterm><primary>хэрэглэгчдийг хязгаарлах</primary></indexterm> + <indexterm> + <primary>бүртгэл</primary> + <secondary>хязгаарлалт</secondary> + </indexterm> + <para>Хэрэв та олон хэрэглэгчтэй бол, тэдгээрийн систем хэрэглэх + боломжийг нь хязгаарлах санаа төрж магадгүй. Нэгж + хэрэглэгчид зориулж системийн хэрэглээг удирдах хэд хэдэн + аргыг FreeBSD хангаж өгдөг. Эдгээр хязгаарлалт нь хоёр хэсэгт + хуваагддаг: дискийн хуваарилалт, тэгээд бусад нөөцийн хязгаарлалтууд.</para> + + <indexterm><primary>хуваарилалт</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>хуваарилалт</secondary> + </indexterm> + <indexterm><primary>дискийн хуваарилалт</primary></indexterm> + <para>Дискийн хуваарилалт нь хэрэглэгчийн диск хэрэглэх хэмжээг + зааглаж өгдөг бөгөөд тухай бүрд уг хэмжээг тооцож бодолгүй + шуурхай шалгах боломж өгдөг. Хуваарилалт нь <xref + linkend="quotas"> бүлэгт авч хэлэлцэгдсэн.</para> + + <para>Бусад нөөцийн хязгаарлалтуудад Процессор, + санах ойн хэмжээ болон бусад хэрэглэгчийн хэрэглэх нөөцүүд + ордог. Эдгээр нь нэвтрэх ангилал ашиглаж заагдаж өгдөг бөгөөд + энд одоо ярих болно.</para> + + <indexterm> + <primary><filename>/etc/login.conf</filename></primary> + </indexterm> + <para>Нэвтрэх ангилал нь <filename>/etc/login.conf</filename>-д + заагдсан байгаа. Нарийвчилсан ойлголт энэ бүлэгт ороогүй, + гэхдээ &man.login.conf.5; гарын авлагад тодорхой бичигдсэн + байгаа. Хэрэглэгч бүрд нэвтрэх ангилал заагдсан байдаг гэж + хэлэхэд хангалттай (анхдагч утга нь <literal>default</literal>), + бөгөөд нэвтрэх ангилал бүр өөртөө тодорхой нэвтрэх чанаруудыг агуулсан байдаг. Нэвтрэх чанар гэдэг нь + <literal><replaceable>нэр</replaceable>=<replaceable>утга</replaceable></literal> гэсэн хослол бөгөөд үүний <replaceable>нэр</replaceable> нь бидний мэдэх хэрэглэгчийн нэр ба <replaceable>утга</replaceable> нь нэртэй хамаатай боловсруулагдсан мөр байдаг. + Нэвтрэх ангилал ба чанарыг тохируулах нь харьцангуй + амархан бөгөөд мөн &man.login.conf.5; дотор тодорхой + бичигдсэн.</para> + + <note> + <para>Систем ердийн үед шууд + <filename>/etc/login.conf</filename> файлыг уншдаггүй, харин + түргэн хайж харахад илүүгээр нь <filename>/etc/login.conf.db</filename> + өгөгдлийн бааз файлыг уншдаг. + <filename>/etc/login.conf</filename> файлаас <filename>/etc/login.conf.db</filename> файлыг үүсгэхийн тулд дараах тушаалыг + гүйцэтгэх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen> + </note> + + <para>Нөөцийн хязгаарлалт нь энгийн нэвтрэх чанараас хоёр замаар ялгардаг. Эхнийх нь, хязгаарлалт бүр зөөлөн (одоогийн) ба хатуу + хязгаарлалт гэж байдаг. Зөөлөн хязгаарлалт нь хэрэглэгчээр юмуу + програмаар тохируулагдаж болдог бөгөөд хатуу хязгаарлалтаас + дээгүүр биш. Харин хатуу хязгаарлалт нь хэрэглэгчээр доошоо + тохируулагдаж болох боловч хэзээ ч дээшлэгдэж чадахгүй. Хоёр + дахь нь, ихэнх нөөцийн хязгаарлалт нь тусгай хэрэглэгчдийн + процес дээр хэрэгжигдэх бөгөөд харин хэрэглэгч дээр бүхлээрээ + хэрэгжигдэхгүй. + Тэмдэглэж хэлэхэд, хэдийгээр эдгээр ялгаанууд нь онцгой + хязгаарлалт хийх үед голлох боловч нэвтрэх чанарын + үндсэн хүрээнд хэрэгжигдэхгүй. (өөрөөр хэлбэл, эдгээр нь + <emphasis>үнэхээр</emphasis> онцгой нэвтрэх чанарын тохиолдол биш).</para> + + <para>Тэгэхээр, элдвийг нуршилгүйгээр, энгийн байнга хэрэглэгддэг + нөөцийн хязгаарлалтуудыг доор жагсаав (үлдсэн хязгаарлалтуудыг + мөн тэдгээрийн нэвтрэх чанаруудыг нь &man.login.conf.5;-с харна уу).</para> + + <variablelist> + <varlistentry> + <term><literal>coredumpsize</literal></term> + + <listitem> + <indexterm><primary>coredumpsize</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>coredumpsize</secondary> + </indexterm> + <para>Програмаар үүсгэгдсэн үндсэн файлын хэмжээний хязгаар нь + мэдээж дискийн хэрэглэх хязгаарт багтана. (<literal>файлын хэмжээ</literal>, эсвэл диск хуваарилалт г.м). + Тэгсэн хэдий ч, энэ нь дискийн хэрэглэх хэмжээг хянахад + хэрэглэгддэг нэг их чухал биш тохируулга: үндсэн файлыг + хэрэглэгчид өөрсдөө үүсгэдэггүй бөгөөд тэдгээрийг дандаа + устгаад байдаггүй учир үүгээр тохируулсан үед том програмаар + хэрэглэгдэх дискийн хэрэглээ хэтэрсний улмаас програм + эвдэрч ( жишээ нь, <application>emacs</application>) зогсохоос + сэргийлж болох юм. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>cputime</literal></term> + + <listitem> + <indexterm><primary>процессор давтамж</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>процессор давтамж</secondary> + </indexterm> + <para>Энэ нь хэрэглэгчийн процес хэрэглэж болох хамгийн + их процессорын давтамж юм. Хэтрүүлж хэрэглэсэн процес цөмөөс устгагддаг. + + <note> + <para>Энэ нь процессорын <emphasis>давтамж</emphasis> + дээр тавигдсан хэрэглээний хязгаар бөгөөд &man.top.1; ба &man.ps.1;-н зарим талбарт харагддаг процессорын хувийг заасан заалт биш. + Хувиараар хязгаарлана гэдэг нь энэ гарын авлагыг бичиж + байх үед боломжгүй байсан ба боломжтой байсан ч хэрэглэх + шаардлага байхгүй: хөрвүүлэгч—зарим ноцтой + үйлдлүүд — заримдаа процессорын давтамжийг 100% хувь + хэрэглэж чаддаг.</para> + </note> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>filesize</literal></term> + + <listitem> + <indexterm><primary>файлын хэмжээ</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>файлын хэмжээ</secondary> + </indexterm> + <para>Энэ хэмжээ нь хэрэглэгчийн хэрэглэж болох хамгийн + их файлын хэмжээ. + <link linkend="quotas">диск хуваарилалтаас</link> ялгаатай + нь, энэ хязгаарлалт нь файл бүрд тавигддаг бөгөөд + хэрэглэгчийн эзэмшдэг бүх файлд биш.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>maxproc</literal></term> + + <listitem> + <indexterm><primary>maxproc</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>maxproc</secondary> + </indexterm> + <para>Энэ нь хэрэглэгчийн ажиллуулж болох хамгийн их + процесийн тоо юм. Үүнд нүүрэн талын болон ар талын + процесууд багтана. Мэдээж, энэ нь <varname>kern.maxproc</varname>-д заагдсан &man.sysctl.8; системийн хязгаараас хэтэрч болохгүй. + Мөн тэмдэглэж хэлэхэд, үүнийг хэтэрхий багаар тохируулбал + хэрэглэгчийн олон дахин нэвтэрч орох, дамжуулах хоолой ашиглах зэрэг бүтээмжид нөлөөлөх болно. Том програмыг хөрвүүлэх + гэх мэт зарим гүйцэтгэл нь мөн олон процесс шаарддаг + (жишээ нь, &man.make.1;, &man.cc.1;, ба бусад дундын хөрвүүлэлтэнд хэрэглэгддэг процессорууд).</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>memorylocked</literal></term> + + <listitem> + <indexterm><primary>memorylocked</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>memorylocked</secondary> + </indexterm> + <para>Энэ нь ямар нэг процес санах ойд түгжсэн санамж шаардах үед + хязгаарлах хамгийн их санах ойн хэмжээ. (жишээ нь, + &man.mlock.2;-г харна уу). Зарим &man.amd.8; гэх мэт системийн ноцтой програмууд нь үндсэн санах ойг түгждэг + бөгөөд түр шилжүүлэг хийх шаардлага гарах үед системийн зохицуулалтанд тусалдаггүй. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>memoryuse</literal></term> + + <listitem> + <indexterm><primary>memoryuse</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>memoryuse</secondary> + </indexterm> + <para>Энэ нь ямар нэг процес ямар ч үед хэрэглэж болох хамгийн их + санах ойн хэмжээ. Энэ нь үндсэн санах ой болон сэлгэх зайг хоёуланд хамаатай. Санах ойн хязгаарлалтын бүгдийг нь хийдэггүй ч эндээс эхлэх нь зөв эхлэлд тооцогдоно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>openfiles</literal></term> + + <listitem> + <indexterm><primary>openfiles</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>openfiles</secondary> + </indexterm> + <para>Энэ нь процесийн нээж болох файлуудын хамгийн их + хэмжээ. FreeBSD дээр сокет, мөн IPC сувгууд нь файл + хэлбэрээр хэрэглэгддэг болохоор үүнийг маш багаар тохируулахаа тун болгоомжлох хэрэгтэй. Систем даяар хязгаарлахын тулд + <varname>kern.maxfiles</varname>-д зааж өгнө &man.sysctl.8;.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>sbsize</literal></term> + + <listitem> + <indexterm><primary>sbsize</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>sbsize</secondary> + </indexterm> + <para>Энэ нь сүлжээнд хэрэглэгдэх санах ойн хязгаар. Тийм болохоор + хэрэглэгчийн хэрэглэж болох mbufs юм. Энэ нь хуучин ДоС халдлагаас олон сокет + нээх дайралтын эсрэг үүсгэсэн гаралтай бөгөөд сүлжээний + холболтыг хязгаарлахад ерөнхийдөө хэрэглэгдэж болно.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>stacksize</literal></term> + + <listitem> + <indexterm><primary>stacksize</primary></indexterm> + <indexterm> + <primary>хэрэглэгчийн хязгаарлалт</primary> + <secondary>stacksize</secondary> + </indexterm> + <para>Энэ нь процесийн хэрэглэх стэк санах ойн ихсэж + болох хамгийн их хэмжээ. Энэ нь програмын хэрэглэж болох санах + ойн хэмжээг хязгаарлахад хангалттай биш. Голдуу бусад + хязгаарлалтуудтай хамтарч хэрэглэгдэх хэрэгтэй.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Нөөцийн хязгаарлалтыг тохируулж байхдаа бусад зарим зүйлсийг + санаж байх хэрэг байдаг. Зарим энгийн зөвлөгөө, санал мөн + төрөл бүрийн тайлбаруудыг доор жагсаав.</para> + + <itemizedlist> + <listitem> + <para>Систем эхлэх үед <filename>/etc/rc</filename>-с + ажилладаг процесууд нь + <literal>дэмон</literal> нэвтрэх төрөлд багтдаг.</para> + </listitem> + + <listitem> + <para>Хэдийгээр ихэнх хязгаарлалтуудыг агуулсан <filename>/etc/login.conf</filename> файл системтэй цуг ирдэг ч гэсэн зөвхөн систем + удирдагч та л таны системд ямар нь хамаатайг мэднэ. Тохируулгыг + хэт их болговол системээ буруу хэрэглэгчдэд нээж өгөх бөгөөд хэрэв + хэт багаар тохируулбал бүтээмжид хэт нарийдна. </para> + </listitem> + + <listitem> + <para>X цонхны системийн (X11) хэрэглэгчид бусад хэрэглэгчдийг + бодвол илүү их нөөцөөр хангагдах хэрэгтэй. X11 нь өөрөө + маш их нөөц авдаг бөгөөд бас хэрэглэгчдэд олон програмыг зэрэг + ажиллуулах боломж өгдөг.</para> + </listitem> + + <listitem> + <para>Маш олон хязгаарлалт нь хэрэглэгч дээр бүхэлд нь биш харин нэгж процессууд дээр тавигддаг гэдгийг санах хэрэгтэй. Жишээлбэл, + <varname>openfiles</varname> тохируулгыг 50 гэвэл, энэ нь + хэрэглэгчийн ажиллуулж буй процес болгон 50 файл нээж болно + гэсэн үг. Тийм болохоор, хэрэглэгчийн нээж болох файлуудын + нийт хэмжээ нь <literal>openfiles</literal>-н утгыг <literal>maxproc</literal>-н утгаар үржүүлж гарна. Энэ нь мөн санах + ойн хэрэглээнд бас хэрэгжинэ.</para> + </listitem> + </itemizedlist> + + <para>Нөөцийн хязгаарлалт ба нэвтрэх ангилал, мөн ерөнхий нэтрэх чанаруудын тухай нэмэлт мэдээллийг харгалзах гарын авлага: + &man.cap.mkdb.1;, &man.getrlimit.2;, &man.login.conf.5; нараас харна уу.</para> + </sect1> + + <sect1 id="users-groups"> + <title>Бүлэг</title> + + <indexterm><primary>бүлэг</primary></indexterm> + <indexterm> + <primary><filename>/etc/groups</filename></primary> + </indexterm> + <indexterm> + <primary>бүртгэл</primary> + <secondary>бүлэг</secondary> + </indexterm> + <para>Бүлэг гэдэг нь хэрэглэгчдийн бүлэглэж жагсаасан жагсаалт юм. Бүлгүүд нь + бүлгийн нэр ба GID (бүлгийн ID)-аар танигддаг. FreeBSD (мөн ихэнх бусад &unix; + төрлийн систем) дээр, цөмөөс хэрэглэгчийн процесийг юм хийхэд нь зөвшөөрөл + өгөхдөө хоёр зүйлийг хэрэглэж шийддэгээс нэг нь хэрэглэгчийн ID, нөгөө нь + тэр хэрэглэгчийн хамаардаг бүлэг байдаг. Хэрэглэгчийн ID аас ялгарах нь, + процесд холбогдсон бүлгийн жагсаалт бас байдаг. Та магадгүй хэрэглэгчийн эсвэл + процесийн <quote>бүлгийн ID</quote> гэж байнга сонсох байх. Ихэнхдээ энэ нь + хэрэглэгчийн бүлгийг ярьж байдаг.</para> + + <para>Бүлгийн нэрийг бүлгийн ID-д харгалзуулсан бичлэг + <filename>/etc/group</filename> файлд бий. Энэ нь энгийн + текст файл бөгөөд тодорхойлох хоёр цэгээр таслагдсан дөрвөн + талбар байдаг. Эхний талбар нь бүлгийн нэр, хоёр дахь нь нууцлалын + хөрвүүлэлт хийгдсэн нууц үг, гурав дахь нь бүлгийн ID, тэгээд сүүлийнх + нь таслалаар тусгаарлагдсан гишүүдийн жагсаалт. Энэ нь гараар засварлагдаж + болох бөгөөд (мэдээж та засварлах үедээ бичиглэлийн алдаа гаргахгүй байх + шаардлагатай!). Бичиглэлийн дэлгэрэнгүй мэдээллийг + &man.group.5; хуудаснаас харна уу.</para> + + <para>Хэрэв та <filename>/etc/group</filename> файлыг гараар засварлахыг + хүсэхгүй бол, та &man.pw.8; тушаалыг бүлэг нэмэх болон засварлахад + хэрэглэж болно. + Жишээлбэл, дараах жишээ нь <groupname>teamtwo</groupname> нэртэй бүлгийг + нэмж байна:</para> + + <example> + <title> &man.pw.8; хэрэглэж бүлэг нэмэх</title> + + <screen>&prompt.root; <userinput>pw groupadd teamtwo</userinput> +&prompt.root; <userinput>pw groupshow teamtwo</userinput> +teamtwo:*:1100:</screen> + </example> + + <para>Дээрхи <literal>1100</literal> гэсэн дугаар нь + <groupname>teamtwo</groupname> нэртэй бүлгийн ID. Одоохондоо + <groupname>teamtwo</groupname> бүлэгт гишүүд байхгүй байгаа болохоор + хэрэгцээгүй байна гэсэн үг. Тийм болохоор <username>jru</username> нөхрийг + <groupname>teamtwo</groupname> бүлэгт урьж оруулцгаая.</para> + + <example> + <title>&man.pw.8; ашиглаж хэн нэгнийг бүлэгт нэмэх</title> + + <screen>&prompt.root; <userinput>pw groupmod teamtwo -M jru</userinput> +&prompt.root; <userinput>pw groupshow teamtwo</userinput> +teamtwo:*:1100:jru</screen> + </example> + + <para><option>-M</option> аргументад өгөх утга нь бүлэгт нэмэгдэх + таслалаар тусгаарлагдсан хэрэглэгчдийн жагсаалт байж болно. Өмнөх + хэсэгт үзсэнээр, нууц үг хадгалдаг файлд хэрэглэгч бүрд бүлэг заагдсан + байдгийг бид мэднэ. Систем сүүлд нь бичигдэх хэрэглэгчдийг автоматаар + бүлгийн жагсаалтад нэмж өгдөг. &man.pw.8; тушаалыг + <option>groupshow</option> гэсэн сонголтоор ажиллуулахад хэрэглэгчид + харуулагддагүй бөгөөд, харин мэдээллүүд нь &man.id.1; юмуу өөр ижил төрлийн + тушаалаар харуулагддаг. Өөрөөр хэлбэл, &man.pw.8; нь зөвхөн + <filename>/etc/group</filename> файлыг өөрчилдөг болохоос нэмэлт мэдээллийг + <filename>/etc/passwd</filename> файлаас уншдаггүй.</para> + + <example> + <title>&man.id.1; хэрэглэж уг гишүүний бүлгийн мэдээллийг мэдэх нь</title> + + <screen>&prompt.user; <userinput>id jru</userinput> +uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen> + </example> + + <para>Энд харуулсанаар, <username>jru</username> гэдэг гишүүн + <groupname>jru</groupname> болон + <groupname>teamtwo</groupname> бүлгийн гишүүн байна.</para> + + <para> &man.pw.8;-н талаар дэлгэрэнгүй мэдээллийг өөрийнх нь гарын авлагаас, мөн + <filename>/etc/group</filename> файлын хэлбэршилтийн мэдээллийг &man.group.5; гарын + авлагаас харна уу.</para> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/vinum/Makefile b/mn_MN.UTF-8/books/handbook/vinum/Makefile new file mode 100644 index 0000000000..218a106b7e --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/vinum/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= vinum/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml b/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml new file mode 100644 index 0000000000..be5efcbcdb --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml @@ -0,0 +1,1374 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.44 + + $FreeBSD$ +--> + +<chapter id="vinum-vinum"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Грег</firstname> + <surname>Лихей</surname> + <contrib>Анхлан бичсэн </contrib> + </author> + </authorgroup> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + <!-- Jan 2007 --> + </author> + </authorgroup> + </chapterinfo> + + <title>Vinum Эзлэхүүн Менежер</title> + + <sect1 id="vinum-synopsis"> + <title>Ерөнхий агуулга</title> + + + <para>Та ямар ч дискүүдтэй байсан гэсэн үргэлж ямар нэгэн болзошгүй асуудлууд байсаар байдаг:</para> + <itemizedlist> + <listitem> + <para>Тэдгээр дискүүд нь хэтэрхий жижиг байж болох юм.</para> + </listitem> + + <listitem> + <para>Тэдгээр дискүүд нь хэтэрхий удаан байж болох юм.</para> + </listitem> + + <listitem> + <para>Тэдгээр дискүүд нь хэтэрхий найдваргүй байж болох юм.</para> + </listitem> + </itemizedlist> + + <para>Эдгээр асуудлуудыг шийдэх төрөл бүрийн шийдлүүд санал болгогдсон бөгөөд + хийж гүйцэтгэгдсэн болно. Иймэрхүү асуудлууд гаргахгүйгээр зарим хэрэглэгчдийн өөрсдийгээ хамгаалах нэг + арга нь олон болон нөөц дискүүдийг заримдаа ашиглах явдал юм. + Үндсэн FreeBSD систем нь тоног төхөөрөмжөөр дэмжигдсэн RAID системүүдэд зориулсан + төрөл бүрийн картууд болон хянагчуудыг дэмжихээс гадна виртуал диск хөтөчүүдийг хийдэг блок + төхөөрөмжийн драйвер Vinum Эзлэхүүн Менежерийг агуулдаг. + <emphasis>Vinum</emphasis> нь эдгээр гурван асуудлыг шийддэг + <emphasis>Эзлэхүүн Менежер</emphasis> гэж нэрлэгддэг виртуал + дискийн драйвер юм. Vinum нь уян хатан чанар, ажиллагаа болон найдвартай байдлыг уламжлалт + диск хадгалалтаас илүүтэй хангадаг бөгөөд RAID-0, RAID-1 болон RAID-5 загваруудыг + дангаар нь болон хослолынх нь хувьд шийддэг.</para> + + <para>Энэ бүлэг нь уламжлалт диск хадгалалтын болзошгүй асуудлуудыг тоймлон өгүүлэх бөгөөд + Vinum Эзлэхүүн Менежерийн талаар танилцуулах болно.</para> + + <note> + <para>FreeBSD 5-аас эхлэн Vinum-ийг GEOM архитектурт (<xref linkend="GEOM">) + тааруулан оруулахын тулд анхдагч санаанууд, нэр томъёо болон + диск дээрх мета өгөгдлийг нь хадгалан дахин бичсэн юм. Энэхүү дахин бичилт нь + <emphasis>gvinum</emphasis> (<emphasis>GEOM vinum</emphasis>-д зориулсан) + гэгддэг. Дараах баримт нь шийдлийн хувилбаруудаас үл хамааран + <emphasis>Vinum</emphasis>-ийг хийсвэр нэр маягаар ихэвчлэн хэрэглэх + болно. Ямар ч тушаалыг одоо ажиллуулахдаа <command>gvinum</command> + тушаалыг ашиглах ёстой бөгөөд цөмийн модулийн нэр нь <filename>vinum.ko</filename> + <filename>geom_vinum.ko</filename> болж өөрчлөгдсөнөөс гадна + төхөөрөмжийн бүх цэгүүд <filename>/dev/vinum</filename> дотор биш + <filename>/dev/gvinum</filename> дотор байрласан байгаа. FreeBSD 6-аас + эхлэн хуучин Vinum шийдэл нь үндсэн кодод байхаа аль хэдийн больсон + байна. + </para> + </note> + + </sect1> + + <sect1 id="vinum-intro"> + <title>Дискүүд хэтэрхий жижиг</title> + + <indexterm><primary>Vinum</primary></indexterm> + <indexterm><primary>RAID</primary> + <secondary>програм хангамж</secondary></indexterm> + + <para>Дискүүд нь хэмжээний хувьд улам томорсоор байгаагийн адил бас + өгөгдлийн хадгалалтын шаардлагууд ч бас тийм болсоор байна. Ихэнх тохиолдолд + танд өөрт чинь байгаа дискүүдээс илүү том файлын систем хэрэгтэй болж магадгүй юм. + Энэ асуудал нь арван жилийн өмнөх шиг тийм хурц асуудал биш болсон боловч + одоо болтол байгааг нь хүлээн зөвшөөрөхөөс өөр аргагүй юм. Зарим системүүд нь үүнийг + өөрийнхөө өгөгдлийг хэд хэдэн дискүүд дээр хадгалах хийсвэр төхөөрөмж үүсгэн шийддэг + байна.</para> + </sect1> + + <sect1 id="vinum-access-bottlenecks"> + <title>Хандалтын тагларалтууд</title> + + <para>Орчин үеийн системүүдэд маш өндөр зэрэгцээ хандлагаар өгөгдөлд хандах + хэрэгцээ байнга гардаг. Жишээ нь том FTP эсвэл HTTP серверүүд нь + олон мянган зэрэгцээ сессүүдтэй ажиллаж чаддаг ба ихэнх дискүүдийн тогтвортой дамжуулах + түвшингээс хавьгүй илүү гарсан гадагшаа ертөнц уруу холбогдсон олон 100 Mbit/s-ийн + холболтуудтай байдаг.</para> + + <para>Одоогийн диск хөтөчүүд өгөгдлийг цуваагаар 70 MB/s хүртэл дамжуулж + чаддаг боловч энэ утга нь бие биенээсээ хамааралгүй олон чөлөөтэй процессууд + хөтөчид ханддаг тийм орчинд тийм ч чухал биш юм. Тийм орчинд процессууд нь + тэдгээр утгуудын зөвхөн бутархайгаар хэмжигдэх тооны хурдад хүрч магадгүй юм. + Ийм тохиолдлуудад асуудлыг дискийн дэд системийн үүднээс харвал илүү сонирхолтой + байх болно: энд чухал параметр нь дэд системд үзүүлж байгаа дамжуулалтын ачаалал бөгөөд + өөрөөр хэлбэл дамжуулалтад оролцож байгаа хөтөчүүдийг эзэлж байгаа дамжуулалтын + тэр хугацаа юм.</para> + + <para>Аль ч дискийн дамжуулалтын үед хөтөч нь толгойнуудаа эхлээд байрлуулж + унших толгойн доор эхний сектор шалгагдан өнгөрөхийг хүлээж дараа нь + дамжуулалтыг гүйцэтгэх ёстой. Эдгээр үйлдлүүд нь atomic буюу хуваагдашгүй, + салгагдашгүй үйлдлүүд гэж ойлгогддог: тэдгээрийг тасалдуулах нь ямар ч утгагүй + юм.</para> + + <para><anchor id="vinum-latency"> Ердийн 10 kB-ийн дамжуулалтыг + авч үзье: өндөр ажиллагаатай одоо үеийн дискүүд нь толгойнуудаа дунджаар + 3.5 ms-д байрлуулж чаддаг. Хамгийн хурдан хөтөчүүд 15,000 rpm + хурдаар эргэдэг, тийм болохоор дундаж эргэх хожимдол нь (хувьсгалын хагас) + 2 ms болох юм. 70 MB/s үед дамжуулалт нь өөрөө + 150 μs болох бөгөөд байрлуулах хугацаатай харьцуулахад бараг + юу ч биш юм. Ийм тохиолдолд үр дүнтэй дамжуулах түвшин нь 1 MB/s-с + бага зэрэг илүү түвшин уруу буурах бөгөөд мэдээж энэ нь дамжуулах хэмжээнээс + ихээхэн хамааралтай байна.</para> + + <para>Энэ асуудлын уламжлалт, мэдээжийн шийдэл нь <quote>илүү ээрүүлүүд</quote> + юм: нэг том диск ашиглахын оронд энэ нь нийт хадгалалтын хэмжээ нь адилхан + хэд хэдэн арай жижиг дискүүдийг ашиглах явдал юм. Диск бүр нь тус тусдаа + байрлуулах болон дамжуулах үйлдлийг хийж чадах бөгөөд ингэснээр үр дүнтэй + дамжуулах чанар нь ашигласан дискийн тоотой ойролцоо хүчин зүйлээр нэмэгдэх + болно. + </para> + + <para>Дамжуулалтын чанарын яг тодорхой сайжруулалт нь мэдээж оролцсон дискүүдийн + тооноос бага байна: хөтөч бүр нь зэрэгцээ дамжуулж чадах боловч хүсэлтүүд нь + хөтөчүүдийн дагуу тэнцүү түгээгдэхийг батлах аргагүй юм. Нэг хөтөч дээрх + ачаалал нь нөгөө дээрхээс илүү өндөр байх нь зайлшгүй юм.</para> + + <indexterm> + <primary>диск нийлүүлэлт</primary> + </indexterm> + <indexterm> + <primary>Vinum</primary> + <secondary>нийлүүлэлт</secondary> + </indexterm> + + <para>Дискүүд дээрх ачааллын тэнцүү байдал нь хөтөчүүдийн дагуу өгөгдлүүд + хуваалцдаг арга замаас маш ихээр хамаардаг. Дараах хэлэлцүүлэг дээр + дискийн хадгалалтыг номны хуудас шигээр дугаараар нь хандаж болох + маш олон тооны өгөгдлийн секторууд гэж ойлгох нь тохиромжтой юм. + Хамгийн мэдээжийн арга бол том номыг аваад жижиг хэсгүүд болгон урахын + оронд виртуал дискийг физик дискүүдийн хэмжээтэйгээр дараалсан + секторуудын бүлгүүд болгон хувааж энэ маягаар тэдгээрийг хадгалах + явдал юм. Энэ аргыг <emphasis>concatenation буюу нийлүүлэлт</emphasis> + гэж нэрлэдэг бөгөөд дискүүд нь ямар нэгэн тусгайлсан хэмжээний харилцаанууд + шаарддаггүйгээрээ давуу талтай юм. Виртуал диск дэх хандалт өөрийн хаягийн + талбараар тэнцүү тархсан үед энэ нь сайн ажилладаг. Хандалт нь жижиг талбарт + төвлөрсөн үед сайжруулалт тийм ч сайн мэдэгддэггүй. + <xref linkend="vinum-concat"> нь хадгалалтын нэгжүүд нийлүүлэгдсэн + зохион байгуулалтад хуваарилагдаж байгаа дарааллыг үзүүлж байна.</para> + + <para> + <figure id="vinum-concat"> + <title>Нийлүүлэгдсэн зохион байгуулалт</title> + <graphic fileref="vinum/vinum-concat"> + </figure> + </para> + + <indexterm> + <primary>диск судал үүсгэх</primary> + </indexterm> + <indexterm> + <primary>Vinum</primary> + <secondary>судал үүсгэх</secondary> + </indexterm> + <indexterm> + <primary>RAID</primary> + </indexterm> + + <para>Өөр нэг тааруулалт нь хаягийн талбарыг арай жижиг, тэнцүү хэмжээтэй + бүрэлдэхүүн хэсэгт хувааж тэдгээрийг цуваагаар өөр төхөөрөмжүүд дээр + хадгалах явдал юм. Жишээ нь эхний 256 сектор эхний диск дээр, + дараагийн 256 сектор нь дараагийн диск дээр гэх мэтчилэн байх юм. + Сүүлийн дискэнд хүрсний дараа процесс дискүүдийг дүүртэл давтагдана. + Энэ тааруулалтыг <emphasis>striping буюу судал үүсгэх</emphasis> + эсвэл <acronym>RAID-0</acronym> гэж нэрлэдэг. + + <footnote> + <para><acronym>RAID</acronym> нь <emphasis>Redundant + Array of Inexpensive Disks буюу Хямд дискүүдийн Нөөц Массив </emphasis> + бөгөөд гэмтэл даах чадварын төрөл бүрийн хэлбэрүүдийг санал болгодог бөгөөд + гэхдээ сүүлийн ойлголт нь зарим талаараа төөрөгдүүлмээр юм: энэ нь ямар ч нөөцийн + боломжийг хангадаггүй.</para> </footnote>. + + Судал үүсгэх нь зарим талаараа өгөгдлийг олохын тулд илүү чармайлт шаарддаг бөгөөд + олон дискүүдийн дагуу тархсан дамжуулалтад нэмэлт I/O ачаалал үүсгэж болох боловч + энэ нь бас тогтмол ачааллыг илүүтэйгээр дискүүдийн дагуу хангаж өгдөг. + <xref linkend="vinum-striped"> нь хадгалалтын нэгжүүд судалчлагдсан + зохион байгуулалтад хуваарилагдаж байгаа дарааллыг үзүүлж байна.</para> + + <para> + <figure id="vinum-striped"> + <title>Судалчлагдсан зохион байгуулалт</title> + <graphic fileref="vinum/vinum-striped"> + </figure> + </para> + </sect1> + + <sect1 id="vinum-data-integrity"> + <title>Өгөгдлийн бүрэн бүтэн байдал</title> + + <para>Одоогийн дискүүд дэх сүүлийн асуудал нь найдваргүй байдал юм. + Диск хөтөчүүдийн найдвартай байдал сүүлийн хэдэн жилийн дотор асар ихээр + нэмэгдсэн боловч тэдгээр нь сервер унах гол шалтгааны нэг бүрэлдэхүүн хэсэг + хэвээр байсаар байна. Ингэсэн тохиолдолд гарах үр дүн нь сүйрлийн + байж болох юм: ажиллагаагүй болсон дискийн хөтчийг сольж шинэ диск уруугаа + өгөгдлийг сэргээх нь хэдэн өдөр болж болох юм.</para> + + <indexterm> + <primary>диск толин тусгал үүсгэх</primary> + </indexterm> + <indexterm> + <primary>Vinum</primary> + <secondary>толин тусгал үүсгэх</secondary> + </indexterm> + <indexterm> + <primary>RAID-1</primary> + </indexterm> + + <para>Уламжлалт замаар энэ асуудлыг <emphasis>толин тусгал үүсгэх</emphasis> + аргаар өгөгдлийн хоёр хуулбарыг өөр физик тоног төхөөрөмж дээр хадгалж шийддэг. + <acronym>RAID</acronym> түвшингүүд бий болсноор энэ техник нь бас + <acronym>RAID түвшин 1</acronym> буюу <acronym>RAID-1</acronym> + гэж нэрлэгддэг. Эзлэхүүн уруу хийгдэх бичилт хоёр байрлал уруу хийгддэг; уншилт нь + алинаас нь ч хийгдсэн болдог, хэрэв нэг хөтөч нь ажиллахгүй болбол өгөгдөл нөгөө + хөтөч дээр бас байж байх юм.</para> + + <para>Толин тусгал үүсгэх нь хоёр асуудалтай байдаг:</para> + + <itemizedlist> + <listitem> + <para>Үнэ. Энэ нь нөөцгүй шийдлийн нэгэн адил хоёр дахин их дискийн + хадгалалт шаарддаг.</para> + </listitem> + + <listitem> + <para>Ажиллагааны нөлөөлөл. Бичилтүүд нь хоёр хөтөчүүдэд хоюуланд нь + хийгддэг, тиймээс тэдгээр нь толин тусгал хийгдээгүй эзлэхүүний + зурвасын өргөнөөс хоёр дахин ихийг эзэлдэг. Уншилтууд нь харин + ажиллагааны хувьд асуудалгүй байдаг: тэд илүү хурдан юм шиг + харагддаг.</para> + </listitem> + </itemizedlist> + + <para><indexterm><primary>RAID-5</primary></indexterm> + Өөр нэг шийдэл нь <acronym>RAID</acronym> түвшингүүд 2, 3, 4 болон + 5-д хийгдсэн <emphasis>parity</emphasis> юм. + Эдгээрээс <acronym>RAID-5</acronym> нь хамгийн сонирхолтой байдаг. + Энэ нь Vinum-д хийгдсэн бөгөөд судал бүрийн нэг блокийг өөр блокуудын parity-д + зориулдаг судалчлагдсан зохион байгуулалтын нэг хувилбар юм. + <acronym>RAID-5</acronym> plex нь Vinum-д хийгдсэн бөгөөд + судалчлагдсан plex-ийн нэгэн адил боловч энэ нь судал бүр дэх parity блокуудыг + оруулан <acronym>RAID-5</acronym>-г шийдвэрлэдэг. + <acronym>RAID-5</acronym>-ийн шаарддагаар энэ parity блокийн + байрлал нь нэг судлаас дараагийнх уруу өөрчлөгддөг. Өгөгдлийн блокууд дахь + тоонууд нь блокийн харьцангуй дугааруудыг илэрхийлдэг.</para> + + <para> + <figure id="vinum-raid5-org"> + <title>RAID-5 зохион байгуулалт</title> + <graphic fileref="vinum/vinum-raid5-org"> + </figure> + </para> + + <para>Толин тусгал үүсгэхтэй харьцуулахад <acronym>RAID-5</acronym> нь + хамаагүй бага хадгалалтын зай шаарддагаараа давуу талтай юм. Унших хандалт нь + судалчлагдсан зохион байгуулалтуудын адил байдаг боловч бичих хандалт нь + хамаагүй удаан ойролцоогоор унших хурдны 25% байдаг. Хэрэв нэг хөтөч ажиллагаагүй + болбол массив нь доройтсон горимд үргэлжлэн ажиллах болно: үлдсэн хандаж болох + хөтөчүүдийн аль нэгнээс уншилт хэвийн үргэлжлэх боловч ажиллагаагүй болсон + хөтчөөс хийгдэх уншилт бүх үлдсэн хөтөчүүдийн харгалзах блокоос дахин тооцоологдох + болно. + </para> + </sect1> + + <sect1 id="vinum-objects"> + <title>Vinum обьектууд</title> + <para>Эдгээр асуудлуудыг шийдэхийн тулд Vinum нь обьектийн дөрвөн түвшний + шатлалыг шийддэг:</para> + + <itemizedlist> + <listitem> + <para>Хамгийн харагддаг обьект нь <emphasis>volume буюу эзлэхүүн</emphasis> + гэгддэг виртуал диск юм. Эзлэхүүнүүд нь гол нь &unix; диск хөтөчүүдийн + нэгэн адил өмчүүдтэй боловч зарим нэг жижиг ялгаанууд байдаг. + Тэдэнд хэмжээний хязгаарлалтууд байхгүй.</para> + </listitem> + + <listitem> + <para>Эзлэхүүнүүд нь тус бүр нь эзлэхүүний нийт хаягийн талбарыг илэрхийлдэг + <emphasis>plex-үүд</emphasis>ээс бүрддэг. Тиймээс шатлал дахь + энэ түвшин нь нөөцийг хангадаг. Plex-үүдийг толин тусгал хийгдсэн + массив дахь тус бүртээ ижил өгөгдлийг агуулсан дискүүд гэж бодох + хэрэгтэй.</para> + </listitem> + + <listitem> + <para>Vinum нь &unix; диск хадгалалтын тогтолцоонд оршдог болохоор + &unix; хуваалтуудыг олон диск бүхий plex-үүдийн хувьд бүтээх блок + болгон ашиглах боломжтой, гэхдээ жинхэнэдээ энэ нь хэтэрхий уян хатан + биш болж болох юм: &unix; дискүүд нь зөвхөн хязгаармагдмал тооны + хуваалтуудтай байдаг. Ингэхийн оронд харин Vinum нь ганц &unix; + хуваалтыг (<emphasis>хөтөч</emphasis>) <emphasis>subdisks + буюу дэд дискүүд</emphasis> гэгддэг үргэлжлэн нийлсэн талбаруудад + хуваадаг бөгөөд эдгээр дэд дискүүдийг plex-үүдэд зориулж бүтээх + блок болгон ашигладаг.</para> + </listitem> + + <listitem> + <para>Дэд дискүүд нь Vinum <emphasis>хөтөчүүд</emphasis> дээр, + одоогоор &unix; хуваалтууд дээр оршдог. Vinum хөтөчүүд нь + дурын тооны дэд дискүүдийг агуулж болно. Хөтөчийн эхлэл дэх + тохиргоо болон төлвийн мэдээллийг хадгалах зориулалттай жижиг + талбараас бусад хөтөчийн бүх хэсэг өгөгдлийн хадгалалтанд + зориулагдана.</para> + </listitem> + </itemizedlist> + + <para>Дараах хэсгүүд нь эдгээр обектуудын Vinum-ийн шаарддаг ажиллагааг хангах + аргыг тайлбарлах болно.</para> + + <sect2> + <title>Эзлэхүүний хэмжээний саналууд</title> + + <para>Plex-үүд нь Vinum тохиргоонд бүх хөтөчүүд дээгүүр тархсан олон дэд + дискүүдийг агуулж болно. Үүний үр дүнд хөтөч бүрийн хэмжээ нь plex-ийн + хэмжээг хязгаарлахгүй, тиймээс эзлэхүүний хэмжээг бас хязгаарлахгүй + юм.</para> + </sect2> + + <sect2> + <title>Өгөгдлийн нөөц хадгалалт</title> + <para>Vinum нь олон plex-үүдийг эзлэхүүнд хавсран толин тусгал үүсгэлтийг + хийж гүйцэтгэдэг. Plex бүр эзлэхүүн дэх өгөгдлийн дүрслэл юм. Эзлэхүүн нь + нэгээс найман plex-ийг агуулж болно.</para> + + <para>Plex нь эзлэхүүний бүх өгөгдлийг илэрхийлдэг боловч илэрхийллүүдийн + хэсгүүд нь хийгдсэн аргаасаа (plex-ийн хэсгүүдийн хувьд дэд дискүүдийг + тодорхойлоогүйгээс) болоод эсвэл тохиолдлоор (хөтөч ажиллагаагүй болсноос + болоод) бодитоор байхгүй байх боломжтой юм. Эзлэхүүний хаягийн бүрэн талбарын + хүрээний хувьд хамгийн багаар бодоход нэг plex өгөгдлийг хангаж чаддаг байхад + эзлэхүүн нь бүрэн ажиллагаатай байх юм.</para> + </sect2> + + <sect2> + <title>Ажиллагааны асуудлууд</title> + + <para>Vinum нь нийлүүлэлт болон судалчлалыг plex түвшинд хийж + гүйцэтгэдэг:</para> + + <itemizedlist> + <listitem> + <para><emphasis>Нийлүүлэгдсэн plex</emphasis> нь харин + дэд диск бүрийн хаягийн талбарыг ашигладаг.</para> + </listitem> + + <listitem> + <para><emphasis>Судалчлагдсан plex</emphasis> нь дэд диск + бүрийн дагуу өгөгдлийг судалчилдаг. Дэд диск бүр бүгд адил + хэмжээтэй байх ёстой бөгөөд нийлүүлэгдсэн plex-ээс ялгахын + тулд хамгийн багаар бодоход хоёр дэд диск байх шаардлагатай.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Аль Plex зохион байгуулалт вэ?</title> + <para>FreeBSD &rel.current;-тэй цуг ирдэг Vinum-ийн хувилбар нь хоёр төрлийн + plex-ийг хийж гүйцэтгэдэг:</para> + + <itemizedlist> + <listitem> + <para>Нийлүүлэгдсэн plex-үүд нь хамгийн уян хатан байдаг: тэдгээр нь ямар ч + тооны дэд дискүүдийг агуулж болох бөгөөд дэд дискүүд нь өөр өөр урттай + байж болно. Plex-ийг нэмэлт дэд дискүүд нэмж өргөтгөж болох юм. + Тэдгээр нь судалчлагдсан plex-үүдээс <acronym>CPU</acronym>-ийн + хугацааны хувьд багыг шаарддаг, гэхдээ <acronym>CPU</acronym> + дээрх нэмэлт ачааллын ялгаа нь хэмжигдэхээр тийм их биш юм. Нөгөө + талаас авч үзэх юм бол тэдгээр нь ганц диск их идэвхитэй бөгөөд бусад нь + сул зогсож байдаг халуун цэгүүдэд хамгийн мэдрэмтгий байдаг.</para> + </listitem> + + <listitem> + <para>Судалчлагдсан (<acronym>RAID-0</acronym>) plex-үүдийн + хамгийн агуу давуу тал нь тэдгээр plex-үүд нь халуун цэгүүдийг багасгадаг + явдал юм: хамгийн тохиромжтой (256 kB орчим) хэмжээтэйгээр + судлыг сонгосноор та бүрэлдэхүүний хөтөчүүд дээрх ачааллыг тэнцүүлж + болох юм. Энэ хандлагын сул талууд нь (бутархайгаар хэмжигдэх) + илүү төвөгтэй код болон дэд дискүүд дээрх хязгаарлалтууд юм: тэдгээр нь + бүгд ижил хэмжээтэй байх ёстой бөгөөд шинэ дэд дискүүд нэмж plex-ийг өргөтгөх + нь асар хэцүү учир Vinum нь үүнийг одоогоор хийж гүйцэтгэдэггүй юм. + Vinum нь нэмэлт, амархан хязгаарлалтыг тохоож өгдөг: судалчлагдсан + plex нь хамгийн багаар бодоход хоёр дэд дисктэй байх ёстой, тэгэхгүй + бол үүнийг нийлүүлэгдсэн plex-ээс ялгах боломжгүй юм.</para> + </listitem> + </itemizedlist> + + <para><xref linkend="vinum-comparison"> нь plex зохион байгуулалт бүрийн + давуу болон сул талуудыг дүгнэн харуулж байна.</para> + + <table id="vinum-comparison" frame="none"> + <title>Vinum Plex зохион байгуулалтууд</title> + <tgroup cols="5"> + <thead> + <row> + <entry>Plex төрөл</entry> + <entry>Хамгийн бага дэд дискүүд</entry> + <entry>Дэд дискүүд нэмж болох эсэх</entry> + <entry>Адил хэмжээтэй байх ёстой</entry> + <entry>Хэрэглээ</entry> + </row> + </thead> + + <tbody> + <row> + <entry>нийлүүлэгдсэн</entry> + <entry>1</entry> + <entry>тийм</entry> + <entry>үгүй</entry> + <entry>Байрлуулах хамгийн их уян хатан чанар ба боломжийн ажиллагаатай + их хэмжээний өгөгдлийн хадгалалт</entry> + </row> + + <row> + <entry>судалчлагдсан</entry> + <entry>2</entry> + <entry>үгүй</entry> + <entry>тийм</entry> + <entry>Маш өндөр зэрэгцээ хандалттай цуг өндөр хурдтай ажиллагаа</entry> + </row> + </tbody> + </tgroup> + </table> + </sect2> + </sect1> + + <sect1 id="vinum-examples"> + <title>Зарим жишээнүүд</title> + + <para>Vinum нь хувь системүүдэд мэдэгддэг обьектуудыг тайлбарладаг + <emphasis>тохиргооны мэдээллийн бааз</emphasis>ын ажиллагааг + хангаж байдаг. Эхлээд хэрэглэгч нэг буюу эсвэл хэд хэдэн тохиргооны + файлуудаас тохиргооны мэдээллийн баазыг &man.gvinum.8; хэрэгсэл + програмын тусламжтайгаар үүсгэдэг. Vinum нь өөрийн тохиргооны + мэдээллийн баазын хуулбарыг диск зүсмэл (Vinum үүнийг + <emphasis>төхөөрөмж</emphasis> гэдэг) бүр дээр өөрийн + хяналтын доор хадгалдаг. Дахин эхлүүлэлт нь зөвөөр Vinum обьект + бүрийн төлвийг сэргээдэг байлгахын тулд төлөв өөрчлөгдөх болгонд + энэхүү мэдээллийн бааз нь шинэчлэгддэг.</para> + + <sect2> + <title>Тохиргооны файл</title> + <para>Тохиргооны файл нь Vinum обьектуудыг тайлбарладаг. Энгийн эзлэхүүний + тодорхойлолт ийм байж болох юм:</para> + + <programlisting> + drive a device /dev/da3h + volume myvol + plex org concat + sd length 512m drive a</programlisting> + + <para>Энэ файл нь дөрвөн Vinum обьектийг тайлбарладаг:</para> + + <itemizedlist> + <listitem> + <para><emphasis>drive</emphasis> мөр нь дискийн хуваалтыг + (<emphasis>хөтөч</emphasis>) тайлбарлах бөгөөд үүний + байрлал нь түүн доор орших тоног төхөөрөмжтэй харьцангуй + байна. Үүнд <emphasis>a</emphasis> гэж симбол нэр + өгсөн байгаа. Ингэж симбол нэрсийг төхөөрөмжийн нэрсээс + тусад нь салгах нь дискүүдийг нэг байрлалаас нөгөө уруу + эргэлзээгүйгээр шилжүүлэх боломжийг олгодог.</para> + </listitem> + + <listitem> + <para><emphasis>volume</emphasis> мөр нь эзлэхүүнийг тайлбарлана. + Цорын ганц шаардлагатай шинж чанар нь нэр бөгөөд энэ тохиолдолд + <emphasis>myvol</emphasis> байна.</para> + </listitem> + + <listitem> + <para><emphasis>plex</emphasis> мөр нь plex-ийг тодорхойлдог. + Цорын ганц шаардлагатай параметр нь зохион байгуулалт бөгөөд + энэ тохиолдолд <emphasis>concat</emphasis> болно. + Ямар ч нэр хэрэггүй: систем автоматаар эзлэхүүний нэрэн + дээр <emphasis>.p</emphasis><emphasis>x</emphasis> + дагавар залгаж үүсгэдэг бөгөөд <emphasis>x</emphasis> нь + эзлэхүүн дэх plex-ийн дугаар юм. Тиймээс энэ plex нь + <emphasis>myvol.p0</emphasis> гэж нэрлэгдэнэ.</para> + </listitem> + + <listitem> + <para><emphasis>sd</emphasis> мөр нь дэд дискийг тайлбарлана. + Хамгийн бага тодорхойлолтууд нь үүнийг хадгалах хөтөчийн нэр болон + дэд дискийн урт юм. Plex-үүдтэй адил нэр хэрэггүй: + систем автоматаар plex-ийн нэрэн + дээр <emphasis>.s</emphasis><emphasis>x</emphasis> + дагавар залгаж үүсгэдэг бөгөөд <emphasis>x</emphasis> нь + plex дэх дэд дискийн дугаар юм. Тиймээс Vinum нь энэ дэд + дискэнд <emphasis>myvol.p0.s0</emphasis> гэж нэр + өгдөг.</para> + </listitem> + </itemizedlist> + + <para>Энэ файлыг процесс хийсний дараа &man.gvinum.8; дараах үр дүнг + гаргана:</para> + + <programlisting width="97"> + &prompt.root; gvinum -> <userinput>create config1</userinput> + Configuration summary + Drives: 1 (4 configured) + Volumes: 1 (4 configured) + Plexes: 1 (8 configured) + Subdisks: 1 (16 configured) + + D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%) + + V myvol State: up Plexes: 1 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB</programlisting> + + <para>Энэ гаралт нь &man.gvinum.8;-ийн хэлбэршүүлэлтийн товч жагсаалтыг харуулж байна. + Энэ нь графикаар <xref linkend="vinum-simple-vol"> зурагт дүрслэгдсэн байна.</para> + + <para> + <figure id="vinum-simple-vol"> + <title>Энгийн Vinum эзлэхүүн</title> + <graphic fileref="vinum/vinum-simple-vol"> + </figure> + </para> + + <para>Энэ зураг болон дараагийн зураг нь дэд дискүүд агуулсан plex-үүдийг + агуулсан эзлэхүүнийг харуулж байна. Энэ хялбар жишээн дээр эзлэхүүн нь + нэг plex-ийг агуулах бөгөөд plex нь нэг дэд дискийг агуулж байна.</para> + + <para>Энэхүү эзлэхүүн нь хэвшмэл дискийн хуваалттай харьцуулахад ямар нэг + тухайлсан давуу чанаргүй юм. Энэ нь ганц plex-ийг агуулах учраас нөөц биш + юм. Plex нь ганц дэд дискээс тогтох учраас хэвшмэл дискийн хуваалттай + харьцуулахад хадгалалт хуваарилалтын хувьд ямар ч ялгаагүй юм. + Дараах хэсгүүд нь төрөл бүрийн илүү сонирхолтой тохиргооны аргуудыг + харуулах болно.</para> + </sect2> + + <sect2> + <title>Нэмэгдсэн уян хатан чанар: Толин тусгал үүсгэх</title> + + <para>Эзлэхүүний уян хатан чанарыг толин тусгал үүсгэж ихэсгэж болно. + Толин тусгал хийсэн эзлэхүүнийг байрлуулахдаа хөтөчийн сүйрэл plex бүрийг унагахгүй + байлгахын тулд plex бүр дэх дэд дискүүд нь өөр өөр хөтөчүүд дээр байгаа эсэхийг + шалгах нь чухал юм. Дараах тохиргоо нь эзлэхүүнийг толин тусгал хийж + байна:</para> + + <programlisting> + drive b device /dev/da4h + volume mirror + plex org concat + sd length 512m drive a + plex org concat + sd length 512m drive b</programlisting> + + <para>Vinum нь өөрийн тохиргооны мэдээллийн бааз дахь бүх обьектуудыг + хянаж байдаг болохоор <emphasis>a</emphasis> хөтчийн тодорхойлолтыг + энэ жишээн дээр дахин зааж өгөх шаардлагагүй юм. Энэ тодорхойлолтыг процесс + хийсний дараа тохиргоо иймэрхүү харагдана:</para> + + + <programlisting width="97"> + Drives: 2 (4 configured) + Volumes: 2 (4 configured) + Plexes: 3 (8 configured) + Subdisks: 3 (16 configured) + + D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%) + D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%) + + V myvol State: up Plexes: 1 Size: 512 MB + V mirror State: up Plexes: 2 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB + + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB</programlisting> + + <para><xref linkend="vinum-mirrored-vol"> зураг нь бүтцийг графикаар + харуулж байна.</para> + + <para> + <figure id="vinum-mirrored-vol"> + <title>Толин тусгал хийгдсэн Vinum эзлэхүүн</title> + <graphic fileref="vinum/vinum-mirrored-vol"> + </figure> + </para> + + <para>Энэ жишээн дээр plex бүр бүрэн 512 MB хаягийн талбарыг + агуулж байна. Өмнөх жишээн дээрх шиг plex бүр зөвхөн ганц дэд дискийг + агуулна.</para> + </sect2> + + <sect2> + <title>Ажиллагааг оновчтой болгох</title> + + <para>Өмнөх жишээн дээрх толин тусгал хийгдсэн эзлэхүүн нь толин тусгал + хийгдээгүй эзлэхүүнээс илүү сүйрэлд тэсвэртэй боловч ажиллагааны хувьд дутмаг + байдаг: эзлэхүүн уруу хийгдэх бичилт бүр нь нийт дискийн зурвасын өргөнөөс илүүтэйгээр + ашиглан хоёр хөтөч хоюулан уруу нь бичилт хийхийг шаарддаг. Ажиллагааны + тооцоонууд нь өөр хандлагыг шаарддаг: толин тусгал үүсгэхийн оронд өгөгдөл нь + аль болох олон диск хөтөчүүдийн дагуу судалчлагддаг. Дараах тохиргоо нь + дөрвөн дискийн хөтөчүүдийн дагуу судалчлагдсан plex бүхий эзлэхүүнийг + харуулж байна:</para> + + <programlisting> + drive c device /dev/da5h + drive d device /dev/da6h + volume stripe + plex org striped 512k + sd length 128m drive a + sd length 128m drive b + sd length 128m drive c + sd length 128m drive d</programlisting> + + <para>Өмнөхийн адил Vinum-д мэдэгдэж байгаа хөтөчүүдийг тодорхойлох хэрэггүй + юм. Энэ тодорхойлолтыг процесс хийсний дараа тохиргоо иймэрхүү + байна:</para> + + <programlisting width="92"> + Drives: 4 (4 configured) + Volumes: 3 (4 configured) + Plexes: 4 (8 configured) + Subdisks: 7 (16 configured) + + D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%) + D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%) + D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%) + D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%) + + V myvol State: up Plexes: 1 Size: 512 MB + V mirror State: up Plexes: 2 Size: 512 MB + V striped State: up Plexes: 1 Size: 512 MB + + P myvol.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p0 C State: up Subdisks: 1 Size: 512 MB + P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB + P striped.p1 State: up Subdisks: 1 Size: 512 MB + + S myvol.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p0.s0 State: up PO: 0 B Size: 512 MB + S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB + S striped.p0.s0 State: up PO: 0 B Size: 128 MB + S striped.p0.s1 State: up PO: 512 kB Size: 128 MB + S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB + S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB</programlisting> + + <para> + <figure id="vinum-striped-vol"> + <title>Судалчлагдсан Vinum эзлэхүүн</title> + <graphic fileref="vinum/vinum-striped-vol"> + </figure> + </para> + + <para>Энэ эзлэхүүн нь <xref linkend="vinum-striped-vol"> зурагт + үзүүлэгдсэн байгаа. Судлуудын харанхуй байдал plex-ийн хаягийн талбар дахь + байрлалыг илэрхийлнэ: хамгийн цайвар судлууд нь эхлээд байх бөгөөд хамгийн + харанхуйнууд нь сүүлд байна.</para> + </sect2> + + <sect2> + <title>Уян хатан чанар ба ажиллагаа</title> + + <para><anchor id="vinum-resilience">Хангалттай тоног төхөөрөмжийн + тусламжтайгаар стандарт &unix; хуваалтуудтай харьцуулах юм бол нэмэгдсэн + уян хатан чанар болон нэмэгдсэн ажиллагаа аль алиныг нь үзүүлдэг эзлэхүүнүүдийг + бүтээх боломжтой юм. Нийтлэг тохиргооны файл иймэрхүү байж болох + юм:</para> + + <programlisting> + volume raid10 + plex org striped 512k + sd length 102480k drive a + sd length 102480k drive b + sd length 102480k drive c + sd length 102480k drive d + sd length 102480k drive e + plex org striped 512k + sd length 102480k drive c + sd length 102480k drive d + sd length 102480k drive e + sd length 102480k drive a + sd length 102480k drive b</programlisting> + + <para>Хоёр дахь plex-ийн дэд дискүүд нь эхний plex дэхээс хоёр хөтөчөөр + ялгаатай: дамжуулалт хоёр хөтөчөөр дамжин хийгдсэн ч гэсэн бичилтүүд адил + дэд дискүүд уруугаа хийгдэхгүй байхыг энэ нь баталгаажуулж өгдөг.</para> + + <para><xref linkend="vinum-raid10-vol"> нь энэ эзлэхүүний бүтцийг илэрхийлж + байна.</para> + + <para> + <figure id="vinum-raid10-vol"> + <title>Толин тусгал хийгдсэн, судалчлагдсан Vinum эзлэхүүн</title> + <graphic fileref="vinum/vinum-raid10-vol"> + </figure> + </para> + </sect2> + </sect1> + + <sect1 id="vinum-object-naming"> + <title>Обьектийн нэрлэлт</title> + + <para>Дээд дурдсаны дагуу Vinum нь анхдагч нэрсийг plex-үүд болон дэд дискүүдэд + өгдөг боловч тэдгээр нь дарагдан өөрчлөгдөж болох юм. Анхдагч нэрсийг + дарж өөрчлөхийг зөвлөдөггүй: обьектуудыг дурын нэрээр солихыг зөвшөөрдөг + VERITAS эзлэхүүн менежерээс харах юм бол энэ уян хатан чанар нь мэдэгдэхүйц + давуу талыг авч ирдэггүй бөгөөд эндүүрэл үүсгэж болох юм.</para> + + <para>Нэрс нь дурын хоосон биш тэмдэгтийг агуулж болох бөгөөд тэмдэгтүүдийг + үсэг, тоо болон доогуур зураас байлгаж хязгаарлахыг зөвлөдөг. + Эзлэхүүнүүд, plex-үүд болон дэд дискүүд нь 64 тэмдэгт хүртэл урттай + байж болох бөгөөд хөтөчүүдийн нэрс 32 тэмдэгт хүртэл урттай байж + болно.</para> + + <para>Vinum обьектууд нь <filename>/dev/gvinum</filename> шатлалд + төхөөрөмжийн цэгүүдийг өгдөг. Дээр үзүүлсэн тохиргоо нь Vinum-ийг + дараах төхөөрөмжийн цэгүүдийг үүсгэхэд хүргэнэ:</para> + + <itemizedlist> + <listitem> + <note><para>Энэ нь зөвхөн уламжлалт Vinum шийдэлд хамаатай.</para></note> + + <para>&man.gvinum.8; болон Vinum демоны ашигладаг + харгалзах <filename>/dev/vinum/control</filename> болон + <filename>/dev/vinum/controld</filename> хяналтын төхөөрөмжүүд.</para> + </listitem> + + <listitem> + <para>Эзлэхүүн бүрийн төхөөрөмжийн оруулгууд. Эдгээр нь Vinum-ийн ашигладаг + гол төхөөрөмжүүд юм. Тэгэхээр дээрх тохиргоо нь + <filename>/dev/gvinum/myvol</filename>, + <filename>/dev/gvinum/mirror</filename>, + <filename>/dev/gvinum/striped</filename>, + <filename>/dev/gvinum/raid5</filename> болон + <filename>/dev/gvinum/raid10</filename> төхөөрөмжүүдийг + агуулах болно.</para> + </listitem> + + <listitem> + <note><para>Энэ нь зөвхөн уламжлалт Vinum шийдэлд хамаатай.</para></note> + + <para>Хөтөч бүрийн оруулгатай <filename>/dev/vinum/drive</filename> + сан. Эдгээр оруулгууд нь жинхэнэдээ харгалзах дискийн цэгүүд уруу заасан + симболын холбоосууд юм.</para> + </listitem> + + <listitem> + <para>Бүх эзлэхүүнүүд нь <filename>/dev/gvinum/</filename> дотор + шууд оруулгуудыг авна.</para> + </listitem> + + <listitem> + <para>Plex болон дэд диск бүрийн төхөөрөмжийн цэгүүдийг агуулдаг + харгалзах <filename>/dev/gvinum/plex</filename> болон + <filename>/dev/gvinum/sd</filename> сангууд.</para> + </listitem> + </itemizedlist> + + <para>Жишээ нь дараах тохиргооны файл байлаа гэж үзье:</para> + <programlisting> + 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</programlisting> + + <para>Энэ файлыг процесс хийсний дараа &man.gvinum.8; нь <filename>/dev/gvinum</filename> + файлд дараах бүтцийг үүсгэдэг:</para> + + <programlisting> + drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex + crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64 + drwxr-xr-x 2 root wheel 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 wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0 + crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1 + crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2 + crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3</programlisting> + + <para>Plex-үүд болон дэд дискүүд нь тусгайлсан нэрсийг хуваарилах ёсгүй гэж + зөвлөдөг боловч Vinum хөтөчүүд нь нэрлэгдсэн байх ёстой. Энэ нь хөтөчийг + өөр байрлал уруу зөөж автоматаар таньсан хэвээр байх боломжийг + бүрдүүлдэг. Хөтөчийн нэрс 32 тэмдэгт хүртэл урттай байж болно.</para> + + <sect2> + <title>Файлын системүүд үүсгэх нь</title> + + <para>Эзлэхүүнүүд нь нэг зүйлээс бусдаараа дискүүдэд ижил юм шиг + системд харагддаг. &unix; хөтөчүүдээс ялгаатай нь Vinum эзлэхүүнүүдийг + хуваадаггүй, тиймээс хуваалтын хүснэгтийг агуулдаггүй. Энэ нь зарим нэг + дискийн хэрэгслүүдэд ялангуяа &man.newfs.8;-д өөрчлөлт хийхийг шаарддаг. + Урьд нь &man.newfs.8; Vinum-ийн эзлэхүүний нэрийн сүүлийн үсгийг + хуваалт таниулагч гэж тайлбарлахыг оролддог байсан байна. Жишээ нь + дискийн хөтөч <filename>/dev/ad0a</filename> эсвэл + <filename>/dev/da2h</filename> гэсэн нэртэй байж болох юм. + Эдгээр нэрс нь эхний (0) IDE диск дээрх эхний хуваалт (<devicename>a</devicename>) + болон гурав дахь (3) SCSI диск дэх найм дахь хуваалтыг + (<devicename>h</devicename>) илэрхийлдэг. Ялгаатай тал нь + Vinum эзлэхүүн нь хуваалтын нэртэй ямар ч холбоогүй нэрээр магадгүй + <filename>/dev/gvinum/concat</filename> гэж нэрлэгдэж болох + юм.</para> + + <para>&man.newfs.8; нь дискийн нэрийг тайлбарлах бөгөөд хэрэв ойлгож + чадахгүй бол мэдээлэл үзүүлдэг. Жишээ нь:</para> + + <screen>&prompt.root; <userinput>newfs /dev/gvinum/concat</userinput> +newfs: /dev/gvinum/concat: can't figure out file system partition</screen> + + <para>Энэ эзлэхүүн дээр файлын систем үүсгэхийн тулд + &man.newfs.8;-г ашиглана:</para> + + <screen>&prompt.root; <userinput>newfs /dev/gvinum/concat</userinput></screen> + + <note><para>5.0-с өмнөх &os; хувилбаруудад &man.newfs.8; нь + нэмэлт -v туг болон хуучин төхөөрөмж нэрлэлтийн схемийг + шаарддаг:</para></note> + + <screen>&prompt.root; <userinput>newfs -v /dev/vinum/concat</userinput></screen> + + </sect2> + </sect1> + + <sect1 id="vinum-config"> + <title>Vinum тохируулах нь</title> + + <para><filename>GENERIC</filename> цөм Vinum-ийг агуулдаггүй. Vinum оруулсан + тусгай цөм бүтээх боломжтой боловч ингэхийг зөвлөдөггүй. Vinum-ийг эхлүүлэх + стандарт арга нь цөмийн модул (<acronym>kld</acronym>) юм. Та бүр + Vinum-д зориулж &man.kldload.8;-г ч ашиглах хэрэггүй: &man.gvinum.8;-г + эхлүүлэхэд энэ нь модул ачаалагдсан эсэхийг шалгаад хэрэв үгүй бол түүнийг + автоматаар ачаалдаг.</para> + + + <sect2> + <title>Эхлүүлэлт</title> + + <para>Vinum нь тохиргооны мэдээллийг гол нь тохиргооны файлуудад байдаг яг тэр + хэлбэрээр дискийн зүсмэлүүд дээр хадгалдаг. Тохиргооны мэдээллийн баазаас унших + үед Vinum тохиргооны файлуудад зөвшөөрөгдөөгүй хэд хэдэн түлхүүр үгнүүдийг + таньдаг. Жишээ нь дискийн тохиргоо дараах текстийг агуулж болох юм:</para> + + <programlisting width="119">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 0b +sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b +sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b +sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b +sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b</programlisting> + + <para>Эндэх мэдээжийн ялгаанууд нь байрлалын тодорхой мэдээлэл болон нэрлэлт + (тэдгээрийн хоюул бас зөвшөөрөгдсөн боловч хэрэглэгчид ашиглахыг хориглосон) + болон түвшингүүд дэх мэдээлэл (хэрэглэгчид байдаггүй) байгаа явдал юм. + Vinum нь тохиргооны мэдээлэл дэх хөтөчүүдийн талаарх мэдээллийг хадгалдаггүй: + энэ нь Vinum шошготой хуваалтуудын хувьд тохируулагдсан дискийн хөтөчүүдийг скан хийн + хөтөчүүдийг олдог. Энэ нь тэдгээр хөтөчүүдэд өөр төрлийн &unix; хөтөчийн ID өгсөн байсан ч + Vinum-д хөтөчүүдийг зөвөөр таних боломжийг олгодог.</para> + + <sect3 id="vinum-rc-startup"> + <title>Автомат эхлүүлэлт</title> + + <note><para>Энэ мэдээлэл нь зөвхөн уламжлалт Vinum шийдэлд хамаатай. + <emphasis>Gvinum</emphasis> нь цөмийн модул ачаалагдсаны дараа + автоматаар эхлүүлдэг боломжийг үргэлж агуулсан байна.</para></note> + + <para>Системийг ачаалахад Vinum-ийг автоматаар эхлүүлэхийн тулд + өөрийн <filename>/etc/rc.conf</filename> файлд дараах мөр + байгаа эсэхийг шалгаарай:</para> + + <programlisting>start_vinum="YES" # set to YES to start vinum</programlisting> + + <para>Хэрэв танд <filename>/etc/rc.conf</filename> файл байхгүй бол + ийм агуулгатай нэгийг үүсгээрэй. Энэ нь системийг эхлэхдээ Vinum + <acronym>kld</acronym>-г ачаалуулж тохиргоонд дурдагдсан + обьект бүрийг эхлүүлэхэд хүргэдэг. Энэ нь файлын системүүдийг + холбохоос өмнө хийгддэг учир автоматаар Vinum эзлэхүүнүүд дээр &man.fsck.8; + хийх болон файлын системүүдийг холбох боломжтой юм.</para> + + <para><command>vinum start</command> тушаалаар Vinum-ийг + эхлүүлэхэд Vinum нь аль нэг Vinum хөтөчөөс тохиргооны мэдээллийн баазыг + уншдаг. Ердийн тохиолдолд хөтөч бүр тохиргооны мэдээллийн баазын адил хуулбарыг + агуулдаг учир аль хөтөч уншигдах нь хамаагүй юм. Гэхдээ сүйрлийн дараа + Vinum нь аль хөтөч хамгийн сүүлд шинэчлэгдсэнийг тодорхойлж тэр хөтөчөөс + тохиргоог унших ёстой. Дараа нь тэр хэрэв шаардлагатай бол хуучин хөтөчүүдээс + тохиргоог шинэчилдэг.</para> + + </sect3> + </sect2> + </sect1> + + <sect1 id="vinum-root"> + <title>Root файлын системийн хувьд Vinum-ийг ашиглах нь</title> + + <para>Vinum ашиглан бүрэн толин тусгал хийгдсэн файлын системүүд бүхий + машины хувьд root файлын системийг бас толин тусгал хийх нь зүйтэй. + Ингэж тохируулах нь дурын файлын системийг толин тусгал хийхээс + амаргүй юм, учир нь:</para> + + <itemizedlist> + <listitem> + <para>root фөйлын систем нь ачаалах процессийн нэлээн эхэн үед бэлэн + байж байх шаардлагатай учраас Vinum дэд бүтэц нь энэ үед аль хэдийн бэлэн + болсон байх шаардлагатай.</para> + </listitem> + <listitem> + <para>root файлын системийг агуулсан эзлэхүүн нь бас системийг эхлүүлэх код + болон цөмийг агуулдаг бөгөөд цөм нь хост системийн эх хэрэгслүүд (өөрөөр хэлбэл + PC ангилалын машинууд дээр BIOS) ашиглан уншигдах ёстой. Эдгээр хост системийн + эх хэрэгслүүдэд Vinum-ийн талаар дэлгэрэнгүйг мэдүүлэх ихэвчлэн боломжгүй + байдаг.</para> + </listitem> + </itemizedlist> + + <para>Дараах хэсгүүдэд <quote>root эзлэхүүн</quote> гэсэн ойлголт + root файлын системийг агуулдаг Vinum эзлэхүүнийг тайлбарлахад голчлон + ашиглагдана. Энэ эзлэхүүний хувьд <literal>"root"</literal> + гэсэн нэрийг ашиглах нь зүйтэй санаа боловч энэ нь аль ч талаараа заавал + шаардлагатай биш юм. Дараах хэсгүүд дэх бүх тушаалын жишээнүүд нь + энэ нэрийг ашиглах болно.</para> + + <sect2> + <title>root файлын системийн хувьд Vinum-ийг аль болох эрт эхлүүлэх нь</title> + + <para>Ингэхийн тулд хэд хэдэн арга хэмжээнүүдийг авах хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>Vinum нь ачаалах үед цөмд бэлэн байх ёстой. Тиймээс + <xref linkend="vinum-rc-startup">-д тайлбарласан + Vinum-ийг автоматаар эхлүүлэх арга нь энэ асуудлыг шийдэхэд + хэрэглэх боломжгүй бөгөөд <literal>start_vinum</literal> + параметрийг дараах тохиргоог зохион байгуулсан тохиолдолд тохируулах + ёсгүй. Эхний тохируулга нь Vinum-ийг статикаар цөмд эмхэтгэх + тохируулга байх юм. Тэгэхээр энэ боломж нь үргэлж бэлэн байх боловч + ихэнх тохиолдолд хүсмээр зүйл биш байдаг. <filename>/boot/loader</filename> + (<xref linkend="boot-loader">)-аар цөмийг эхлэхээс өмнө + vinum цөмийн модулийг эрт ачаалахаар тохируулах өөр бас нэг + тохируулга байдаг. Ингэхийн тулд дараах мөрийг:</para> + + <programlisting>geom_vinum_load="YES"</programlisting> + + <para><filename>/boot/loader.conf</filename> файл уруу оруулж хийж болно.</para> + </listitem> + + <listitem> + <note><para><emphasis>Gvinum</emphasis>-ийн хувьд бүх + эхлүүлэлт нь цөмийн модул ачаалагдсаны дараа + автоматаар хийгддэг учраас дээр тайлбарласан процедур + байхад л хангалттай. Дараах текст нь хуучин тохиргоонуудын + тусын тулд уламжлалт Vinum системийн ажиллагааг баримтжуулж + байна.</para></note> + + <para>Vinum нь root файлын системд эзлэхүүнийг хангах хэрэгтэй байдаг + учир эрт эхлүүлэгдэх ёстой байдаг. Анхдагчаар цөмийн Vinum хэсэг нь + администратор (эсвэл эхлүүлэх скриптүүдийн аль нэг нь) + <command>vinum start</command> тушаал ажиллуулах хүртэл + Vinum эзлэхүүний мэдээллийг агуулсан байж болох хөтөчүүдийг + хайдаггүй.</para> + + <note><para>FreeBSD 5.X болон түүнээс дээшхи хувилбаруудад хэрэгтэй + алхмуудыг дараах хэсэг тайлбарлах болно. FreeBSD 4.X-д + шаардлагатай тохируулга нь өөр байх бөгөөд доор <xref + linkend="vinum-root-4x">-д тайлбарласан байгаа.</para></note> + + <para>Дараах мөрийг:</para> + + <programlisting>vinum.autostart="YES"</programlisting> + + <para>гэж <filename>/boot/loader.conf</filename> файлд нэмж + Vinum-ийг цөмийн эхлүүлэлтийн хэсэг болон Vinum мэдээллийн хувьд + бүх хөтөчүүдийг автоматаар скан хийхийг зааж өгдөг.</para> + + <para>Цөмд root файлын системийг хайхыг заах заавал шаардлагагүйг + тэмдэглэе. <filename>/boot/loader</filename> нь + root төхөөрөмжийн нэрийг <filename>/etc/fstab</filename> + файлаас хайх бөгөөд энэ мэдээллийг цөмд дамжуулдаг. root файлын + системийг холбох үед өгөгдсөн төхөөрөмжийн нэрээс аль драйвераас + үүнийг дотоод төхөөрөмжийн ID (major/minor дугаар) болгон + хөрвүүлэхийг асуухаа мэддэг.</para> + </listitem> + </itemizedlist> + </sect2> + + <sect2> + <title>Vinum дээр тулгуурласан root эзлэхүүнийг эхлүүлэх кодод хандах + боломжтой болгох нь</title> + + <para>Одоогийн FreeBSD эхлүүлэгч нь зөвхөн 7.5KB код байдаг бөгөөд энэ нь + UFS файлын системээс файлуудыг (<filename>/boot/loader</filename> + зэрэг) уншдагаар хийгдсэн байдаг болохоор Vinum-ийн тохиргооны мэдээллийг + боловсруулж эхлэх эзлэхүүний өөрийнх нь элементүүдийг таньж Vinum-ийн + дотоод бүтцүүдийг түүнд мэдүүлэх нь илт боломжгүй юм. Тиймээс + root файлын системийг агуулдаг стандарт <literal>"a"</literal> + хуваалтын хуурамч үзэгдлээр эхлүүлэгч кодыг хангах зарим нэгэн + заль мэх шаардлагатай байдаг.</para> + + <para>Ингэхийн тулд root эзлэхүүний хувьд дараах шаардлагуудыг хангасан + байх ёстой:</para> + + <itemizedlist> + <listitem> + <para>root эзлэхүүн нь судал хийгдээгүй эсвэл RAID-5 хийгдээгүй байх ёстой.</para> + </listitem> + + <listitem> + <para>root эзлэхүүн нь нэг plex-ийн хувьд нэгээс илүү нийлүүлэгдсэн дэд + дисктэй байх ёсгүй.</para> + </listitem> + </itemizedlist> + + <para>Тус бүрдээ root файлын системийн нэг хуулбарыг агуулсан олон plex + байлгах боломжтой бөгөөд ингэх сонирхолтой байдгийг санаарай. + Гэхдээ эхлүүлэгч процесс нь эдгээр хуулбаруудын зөвхөн нэгийг эхлүүлэгч болон + бүх файлуудыг олохын тулд цөм root файлын системийг өөрийг нь холбох хүртэл + хэрэглэдэг. Дараа нь харгалзах төхөөрөмжийг эхлүүлэх боломжтой болгохын тулд + эдгээр plex-үүдийн доторх ганц дэд диск бүрт өөрсдийн <literal>"a"</literal> + хуваалтын хуурамч үзэгдэл хэрэгтэй болдог. Эдгээр хуурсан <literal>"a"</literal> + хуваалт бүр өөрийн төхөөрөмжийн дотор адил офсетэд байрлах нь root эзлэхүүний + plex-үүдийг агуулдаг бусад төхөөрөмжүүдтэй харьцуулах юм бол заавал хэрэгтэй + байдаггүй. Гэхдээ Vinum эзлэхүүнүүдийг толин тусгал хийгдсэн төхөөрөмжүүд нь + тэгш хэмт байхаар эндүүрлээс хамгаалж үүсгэх нь магадгүй зүйтэй санаа байх юм.</para> + + <para>Эдгээр <literal>"a"</literal> хуваалтуудыг root эзлэхүүний хэсгийг + агуулсан төхөөрөмж бүрийн хувьд тохируулахын тулд дараахийг хийх хэрэгтэй:</para> + + <procedure> + <step> + <para>Энэ төхөөрөмжийн root эзлэхүүний хэсэг болох дэд дискийн байрлал + (төхөөрөмжийн эхэн хэсгээс тодорхой офсетэд) болон хэмжээг + дараах тушаалыг ашиглаж шалгах хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>gvinum l -rv root</userinput></screen> + + <para>Vinum офсетүүд болон хэмжээнүүд нь байтаар хэмжигддэг болохыг + санаарай. <command>bsdlabel</command> тушаалд + хэрэглэгддэг блок дугааруудыг олж авахын тулд тэдгээр нь 512-т + хуваагдах ёстой.</para> + </step> + + <step> + <para>Дараах тушаалыг:</para> + + <screen>&prompt.root; <userinput>bsdlabel -e <replaceable>devname</replaceable></userinput></screen> + + <para>гэж root эзлэхүүнд оролцож байгаа төхөөрөмж бүрийн хувьд ажиллуулна. + <replaceable>devname</replaceable> нь зүсмэлийн хүснэгтгүй + дискүүдийн дискийн нэр (<devicename>da0</devicename> гэх зэрэг) + эсвэл зүсмэлийн нэр (<devicename>ad0s1</devicename> гэх зэрэг) + байх ёстой.</para> + + <para>Хэрэв төхөөрөмж дээр <literal>"a"</literal> хуваалт + (Vinum-ийн өмнөх root файлын системийг агуулсан) байх юм бол + энэ нь хандахад боломжтой хэвээр (зөвхөн энэ тохиолдолд) байхын + тулд өөр нэрээр нэрлэгдэх шаардлагатай. Гэхдээ анхдагчаар системийг + эхлүүлэхэд хэрэглэгдэхээ болих юм. Идэвхтэй хуваалтуудын + (одоогоор холбогдсон root файлын систем зэрэг) нэрийг өөрчилж + болохгүй, тийм болохоор үүнийг <quote>Fixit</quote> зөөвөрлөгчөөс + эхлүүлэх үед эсвэл (толин тусгал хийгдсэн нөхцөлд) ачаалаагүй байгаа + дискийг эхлээд удирдах хоёр алхамтай процессийн үед ажиллуулах ёстойг + санаарай.</para> + + <para>Дараа нь энэ төхөөрөмж дээрх Vinum хуваалын офсет нь энэ + төхөөрөмжийн харгалзах root эзлэхүүний дэд дискийн офсетэд + нэмэгдэх ёстой. Үр дүнд нь гарах утга нь шинэ <literal>"a"</literal> + хуваалтын хувьд <literal>"offset" буюу офсет</literal> + утга болно. Энэ хуваалтын хувьд <literal>"size" буюу хэмжээ</literal> + утгыг дээрх тооцооллоос үгчлэн авч болно. <literal>"fstype"</literal> + нь <literal>4.2BSD</literal> байх ёстой. + <literal>"fsize"</literal>, <literal>"bsize"</literal>, + болон <literal>"cpg"</literal> утгууд нь байгаа файлын системтэй + таарахаар сонгогдсон байх хэрэгтэй, гэхдээ тэдгээр нь энэ сэдэвт + бараг л чухал биш юм.</para> + + <para>Ийм замаар шинэ <literal>"a"</literal> хуваалт нь + энэ төхөөрөмж дээрх Vinum хуваалтыг дарж байгуулагдана. + Хэрэв Vinum хуваалт нь <literal>"vinum"</literal> + fstype-г ашиглан зөвөөр тэмдэглэгдсэн бол + <command>bsdlabel</command> тушаал нь зөвхөн энэ даралтыг + зөвшөөрөх болно.</para> + </step> + + <step> + <para>Ингээд боллоо! root эзлэхүүний нэг хуулбартай төхөөрөмж бүр дээр + хуурсан <literal>"a"</literal> хуваалт одоо бий боллоо. + Үр дүнг дараах тушаалтай төстэй тушаал ашиглан дахин шалгахыг + зөвлөдөг:</para> + + <screen>&prompt.root; <userinput>fsck -n /dev/<replaceable>devname</replaceable>a</userinput></screen> + </step> + </procedure> + + <para>Шинэ Vinum root эзлэхүүнийг тохируулах үед идэвхтэй байгаа + root файлын системтэй таардаггүй учир хяналтын мэдээлэл агуулсан бүх + файлууд нь Vinum эзлэхүүн дэх root файлын системд харьцангуй байх ёстойг + санах хэрэгтэй. Тэгэхээр ялангуяа <filename>/etc/fstab</filename> + болон <filename>/boot/loader.conf</filename> файлуудыг + бодолцох хэрэгтэй юм.</para> + + <para>Дараагийн дахин ачаалалтын дараа эхлүүлэгч нь шинэ Vinum дээр тулгуурласан + root файлын системээс тохирох хяналтын мэдээллийг олж түүний дагуу ажиллах + ёстой. Цөмийн эхлүүлэх процессийн төгсгөлд бүх төхөөрөмжүүд зарлагдсаны + дараа энэ тохиргоог амжилттай болсныг харуулсан алдартай мэдэгдэл иймэрхүү + байдлаар харуулагдана:</para> + + <screen>Mounting root from ufs:/dev/gvinum/root</screen> + </sect2> + + <sect2> + <title>Vinum дээр тулгуурласан root тохиргооны жишээ</title> + + <para>Vinum root эзлэхүүн тохируулагдсаны дараа + <command>gvinum l -rv root</command> тушаалын үр дүн иймэрхүү + харагдана:</para> + + <screen> +... +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) + </screen> + + <para>Тэмдэглэх ёстой утгууд нь офсетийн (<filename>/dev/da0h</filename> + хуваалтын хувьд харьцангуй байна) хувьд <literal>135680</literal> + байна. Энэ нь <command>bsdlabel</command>-ийн ойлголтод + 265 ширхэг 512 байт диск блок уруу хөрвүүлнэ. Үүнтэй адилаар энэ root + эзлэхүүний хэмжээ нь 245760 512 байт блок юм. Энэ root эзлэхүүний + хоёр дахь хуулбарыг агуулсан <filename>/dev/da1h</filename> нь + тэгш хэмтэй тохиргоотой байна.</para> + + <para>Эдгээр төхөөрөмжийн хувьд bsdlabel нь иймэрхүү харагдана:</para> + + <screen> +... +8 partitions: +# size offset fstype [fsize bsize bps/cpg] + a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*) + c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*) + h: 71771672 16 vinum # (Cyl. 0*- 4467*) + </screen> + + <para>Хуурсан <literal>"a"</literal> хуваалтын + <literal>"size"</literal> параметр нь дээр харуулсан утгатай + таардаг бол харин <literal>"offset"</literal> параметр нь + Vinum хуваалт <literal>"h"</literal> доторх офсет + болон төхөөрөмж (эсвэл зүсмэл) дэх энэ хуваалтын офсетийн нийлбэр болохыг + эндээс харж болно. Энэ нь <xref linkend="vinum-root-panic">-д + тайлбарласан асуудлыг тойрон гарахад шаардлагатай ердийн тохиргоо юм. + Мөн бүхэл <literal>"a"</literal> хуваалт нь энэ төхөөрөмжийн хувьд + бүх л Vinum өгөгдлийг агуулан бүтнээрээ <literal>"h"</literal> дотор + байхыг эндээс бас харж болно.</para> + + <para>Дээрх жишээн дээр бүхэл төхөөрөмж нь Vinum-д зориулагдсан бөгөөд + зөвхөн Vinum тохиргооны хэсэг болохоор зориулагдсан дискийн шинэ тохиргоо + учраас Vinum-аас өмнөх root хуваалтын үлдэгдэл байхгүй болохыг санах + хэрэгтэй.</para> + </sect2> + + <sect2> + <title>Алдааг олж засварлах нь</title> + + <para>Хэрэв ямар нэгэн зүйл болохоо байвал энэ тохиолдолд сэргээх арга хэрэгтэй. + Дараах жагсаалт нь тохиолддог цөөн хэдэн асуудлууд болон шийдлүүдийг + харуулж байна.</para> + + <sect3> + <title>Системийн эхлүүлэгч ачаалах боловч систем эхлэхгүй байх</title> + + <para>Ямар нэг шалтгаанаар систем нь ачаалахгүй бол эхлүүлэгчийг + 10 секундын анхааруулга дээр <keycap>space</keycap> товчлуур дарж + тасалдуулж болно. Дуудагчийн хувьсагчуудыг (<literal>vinum.autostart</literal> зэрэг) + <command>show</command> тушаал ашиглан шалгаж болох бөгөөд + <command>set</command> эсвэл <command>unset</command> тушаалуудыг + ашиглан тохируулж болно.</para> + + <para>Хэрэв цөмийн Vinum модул нь автоматаар дуудагддаг модулиудын + жагсаалтанд орж амжаагүй байх юм бол ердийн <command>load geom_vinum</command> + тушаал туслана.</para> + + <para>Бэлэн болсныхоо дараа ачаалах процессийг <command>boot -as</command> + тушаалаар үргэлжлүүлж болно. <option>-as</option> тохируулгууд нь + root файлын системийг холбохыг (<option>-a</option>) асуудаг + бөгөөд ачаалах процессийг root файлын системийг зөвхөн унших эрхээр холбосон + ганц-хэрэглэгчийн горимд (<option>-s</option>) зогсоохыг + цөмөөс хүсдэг. Ийм замаар олон-plex эзлэхүүний зөвхөн нэг plex холбогдсон + байхад plex-үүд хоорондын өгөгдлийн бүрэн бүтэн бус байдлын эрсдэл + гардаггүй.</para> + + <para>root файлын системийг холбохыг асуух мөрөн дээр зөв root файлын + системтэй дурын төхөөрөмжийг оруулж болно. Хэрэв + <filename>/etc/fstab</filename> зөв тохируулагдсан бол анхдагч нь + <literal>ufs:/dev/gvinum/root</literal> мөртэй төсөөтэй + байх ёстой. Ердийн өөр нэг сонголт нь <literal>ufs:da0d</literal> + зэрэг Vinum-аас өмнөх root файлын системийг агуулдаг таамаглал хуваалт + байж болох юм. Энд жинхэнэдээ толин тусгал үүсгэгдсэн тохируулгаас болоод + Vinum root төхөөрөмжийн дэд дискүүд уруу заасан аль нэг хуулбар + <literal>"a"</literal> хуваалтыг оруулсан бол болгоомжтой байх хэрэгтэй + бөгөөд энэ нь толин тусгал хийгдсэн root төхөөрөмжийн зөвхөн нэгийг + холбох болно. Хэрэв энэ файлын систем нь дараа нь унших бичих эрхтэйгээр + холбогдох бол Vinum root эзлэхүүний бусад plex-(үүд)ийг арилгах + шаардлагатай. Учир нь эдгээр plex-үүд нь бүрэн бүтэн бус өгөгдлийг + зөөвөрлөх болно.</para> + </sect3> + + <sect3> + <title>Зөвхөн анхдагч эхлүүлэгч дуудах</title> + + <para>Хэрэв <filename>/boot/loader</filename> дуудагдахгүй байгаа + боловч анхдагч эхлүүлэгч дуудагдаж байвал (ачаалах процесс эхэлсний дараа + дэлгэцийн зүүн багана дээр ганц зураас харагддаг) энэ үед анхдагч + эхлүүлэгчийг тасалдуулах оролдлогыг <keycap>space</keycap> товчлуур + ашиглан хийж болно. Энэ нь эхлүүлэгчийг хоёрдугаар алхам дээр зогсоох + бөгөөд <xref linkend="boot-boot1">-с үзнэ үү. Энд + <literal>"a"</literal>-с дээр шилжүүлэгдсэн өмнөх root файлын + системийг агуулсан өөр хуваалтаас ачаалах оролдлого хийж болох + юм.</para> + </sect3> + + <sect3 id="vinum-root-panic"> + <title>Юу ч ачаалахгүй болж эхлүүлэгч сүйрэх</title> + + <para>Энэ тохиолдол нь хэрэв эхлүүлэгчийг Vinum суулгацаар устгасан + бол тохиолддог. Харамсалтай нь одоогоор Vinum нь санамсаргүйгээр + зөвхөн 4 KB хэмжээг чөлөөтэйгээр өөрийн хуваалтын эхэнд өөрийн Vinum + толгойн мэдээллийг бичиж эхлэхээсээ өмнө үлдээдэг. Гэхдээ нэгдүгээр алхам + ба хоёрдугаар эхлүүлэгчид, тэдгээрийн хооронд суулгагдсан bsdlabel нь + одоогоор 8 KB-г шаарддаг. Хэрэв Vinum хуваалт нь ачаалагдах боломжтой + гэгдэж байгаа зүсмэл эсвэл диск дотор 0 офсетэд эхэлсэн бол Vinum нь + эхлүүлэгчийг устгана.</para> + + <para>Үүнтэй адилаар хэрэв дээрх тохиолдол сэргээгдсэн бол, + жишээ нь <quote>Fixit</quote> зөөвөрлөгчөөс ачаалагдаж + эхлүүлэгч нь <xref linkend="boot-boot1">-д тайлбарласны дагуу + дахин суулгагдсан бол эхлүүлэгч нь Vinum толгойг устгах бөгөөд + Vinum нь өөрийн диск(үүд)ийг дахиж олохгүй байх болно. Яг жинхэнэдээ + Vinum-ийн тохиргооны өгөгдөл эсвэл Vinum-ийн эзлэхүүнүүд дэх + өгөгдөл нь энэ үед устгагддаггүй бөгөөд бүх өгөгдлийг яг адилхан + Vinum тохиргооны өгөгдлийг дахин оруулснаар сэрээх боломжтой боловч + ийм тохиолдлыг засварлах нь их хэцүү байдаг. Vinum толгой болон системийн + эхлүүлэгчийг давхцуулахгүй байлгахын тулд бүхэл Vinum хуваалтыг + хамгийн багаар бодоход 4 KB-аар шилжүүлэх хэрэгтэй болно.</para> + </sect3> + </sect2> + + <sect2 id="vinum-root-4x"> + <title>FreeBSD 4.X-ийн ялгаанууд</title> + + <para>FreeBSD 4.X дээр Vinum-ийг автоматаар бүх дискүүдийг скан хийлгэх + зарим дотоод функцууд байдаггүй бөгөөд root төхөөрөмжийн дотоод ID-г танидаг + код нь <filename>/dev/vinum/root</filename> зэрэг нэртэй автоматаар + ажиллаж чадахаар ухаалаг байдаггүй. Тийм болохоор энд арай өөр байна.</para> + + <para>Аль дискүүдийг скан хийхийг <filename>/boot/loader.conf</filename> + файл дахь дараахитай төстэй мөрийг ашиглан Vinum-д зааж өгөх + ёстой:</para> + + <programlisting>vinum.drives="/dev/<replaceable>da0</replaceable> /dev/<replaceable>da1</replaceable>"</programlisting> + + <para>Дурдагдсан бүх хөтөчүүд Vinum өгөгдлийг агуулах боломжтой байдаг нь + чухал юм. Vinum нь хүчинтэй Vinum толгойнуудын хувьд нэрлэгдсэн хөтөчүүдийн + бүх хуваалтууд болон зүсмэлүүдийг скан хийдэг учир <emphasis>илүү олон</emphasis> + хөтөчүүд жагсаагдсан ч гэсэн тэр нь хор хөнөөлтэй биш бөгөөд зүсмэл ба/эсвэл хуваалтыг + заавал тодорхой заах хэрэггүй юм.</para> + + <para>root файлын системийн нэрийг боловсруулахад хэрэглэгддэг дэг журмууд болон + төхөөрөмжийн ID-н (major/minor дугаар) үүсэл нь зөвхөн + <filename>/dev/ad0s1a</filename> зэрэг <quote>классик</quote> + төхөөрөмжийн нэртэй ажиллаж чаддагаар бэлтгэгдсэн байдаг учир тэдгээр нь + <filename>/dev/vinum/root</filename> зэрэг root эзлэхүүний нэртэй + ухаалгаар ажиллаж чаддаггүй. Ийм шалтгаанаар өөрийн эхлүүлэлтийн үед root + төхөөрөмжийн ID-г авдаг цөмийн дотоод параметрийг Vinum нь өөрөө урьдчилан + тохируулах хэрэгтэй байдаг. <literal>vinum.root</literal> + дуудагчийн хувьсагчид root эзлэхүүний нэрийг дамжуулж үүнийг хүсэж + болдог. Үүнийг хийдэг <filename>/boot/loader.conf</filename> дахь + оруулга нь иймэрхүү харагдана:</para> + + <programlisting>vinum.root="root"</programlisting> + + <para>Цөмийн эхлүүлэлт нь root төхөөрөмжийг холбохоор хайхыг оролдох үедээ + цөмийн зарим модулиуд үүнд зориулж цөмийн параметрийг аль хэдийн урьдчилан + эхлүүлсэн эсэхийг хардаг. Хэрэв тийм <emphasis>бөгөөд</emphasis> + root төхөөрөмж гэгдэж байгаа төхөөрөмж нь драйверийн major дугаартай + дамжуулсан мөрний (<literal>"vinum"</literal> бидний тохиолдолд) + root төхөөрөмжийн нэрээс мэдэгдэн таарч байвал энэ нь өөрөө мэдэхийг + оролдохын оронд урьдчилан хуваарилагдсан төхөөрөмжийн ID-г ашиглах + болно. Ийм замаар ердийн автомат эхлүүлэлтийн үед энэ нь Vinum root + эзлэхүүнийг root файлын системд зориулж үргэлжлэн холбож + чадах юм.</para> + + <para>Гэхдээ <command>boot -a</command> тушаал нь + root төхөөрөмжийн нэрийг гараар оруулахыг асуун хүсэж байх үед + энэ журам нь тэрхүү оруулсан Vinum эзлэхүүнд ханддаг нэрийг жинхэнэдээ + боловсруулан гаргаж чадахгүй хэвээр байдгийг тэмдэглэх ёстой. + Vinum төхөөрөмж уруу хандаагүй дурын төхөөрөмжийн нэрийг оруулсан бол + урьдчилан хуваарилагдсан root параметрийн major дугаар болон + өгөгдсөн нэрнээс мэдэгдсэн драйверийн хоорондох таарахгүй байдал нь + энэ журмыг ердийн боловсруулагч уруу оруулах бөгөөд + <literal>ufs:da0d</literal> гэх зэргээр оруулахад хүссэнээр ажиллах + болно. Хэрэв энэ нь амжилтгүй болбол боловсруулагдаж чадахгүй болохоор + <literal>ufs:vinum/root</literal> гэх мэтээр дахин оруулах + боломжгүй болох юм. Үүнээс гарах арга нь дахин ачаалж дараа нь эхнээс нь + дахин эхлэх явдал юм. (<quote>askroot</quote> тушаал хүлээх мөрөнд + эхний <filename>/dev/</filename>-г үргэлж орхигдуулж болно.)</para> + </sect2> + </sect1> +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/virtualization/Makefile b/mn_MN.UTF-8/books/handbook/virtualization/Makefile new file mode 100644 index 0000000000..8dda046dd6 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/virtualization/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= virtualization/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/virtualization/chapter.sgml b/mn_MN.UTF-8/books/handbook/virtualization/chapter.sgml new file mode 100644 index 0000000000..26a3109397 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/virtualization/chapter.sgml @@ -0,0 +1,507 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.8 + + $FreeBSD$ +--> + +<chapter id="virtualization"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Мюррей</firstname> + <surname>Стөүкли</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- Mar 2007 --> + <authorgroup> + <author> + <firstname>Цагаанхүүгийн</firstname> + <surname>Ганболд</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Виртуалчлал</title> + + <sect1 id="virtualization-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>Виртуалчлалын програм хангамж нь олон үйлдлийн системийг нэг компьютер дээр + ажиллуулах боломжийг олгодог. PC-үүдэд зориулсан тийм програм хангамжууд + нь виртуалчлалын програм хангамжийг ажиллуулж зочин үйлдлийн систем хэд л + бол хэдийг дэмжих эх үйлдлийн систем байдаг.</para> + + <para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>Хост буюу эх үйлдлийн систем болон зочин үйлдлийн системийн + ялгаа.</para> + </listitem> + + <listitem> + <para>FreeBSD-г Линукс дээр <application>&xen;</application> ашиглан хэрхэн суулгах талаар.</para> + </listitem> + + <listitem> + <para>FreeBSD-г &intel; дээр суурилсан &apple; &macintosh; компьютер дээр + хэрхэн суулгах талаар.</para> + </listitem> + + <listitem> + <para>Виртуалчлалын доор FreeBSD системийг хамгийн сайн ажиллагаатайгаар + хэрхэн тааруулах талаар.</para> + </listitem> + + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + + <itemizedlist> + <listitem> + <para>&unix; болон FreeBSD-ийн үндсүүдийг ойлгох (<xref + linkend="basics">).</para> + </listitem> + + <listitem><para>FreeBSD-г хэрхэн суулгах талаар мэдэх (<xref + linkend="install">).</para></listitem> + + <listitem><para>Өөрийн сүлжээний холболтоо хэрхэн тохируулах талаар мэдэх (<xref + linkend="advanced-networking">).</para></listitem> + + <listitem><para>Нэмэлт гуравдагч програм хангамжуудыг хэрхэн суулгах талаар + мэдэх (<xref linkend="ports">).</para></listitem> + </itemizedlist> + + </sect1> + + + + <sect1 id="virtualization-guest"> + <title>FreeBSD-г зочин OS маягаар ашиглах</title> + + <sect2 id="virtualization-guest-parallels"> + <title>MacOS дээрх Parallels</title> + + <para>&mac;-д зориулсан <application>Parallels Desktop</application> нь &macos; + 10.4.6 буюу түүнээс дээш хувилбарыг ашиглаж байгаа &intel; дээр суурилсан + &apple; &mac; компьютеруудад зориулагдсан арилжааны програм хангамжийн + бүтээгдэхүүн юм. FreeBSD нь бүрэн дэмжигдсэн зочин үйлдлийн систем + юм. &macos; X дээр <application>Parallels</application> суулгагдсаны дараа хэрэглэгч + виртуал машинаа тохируулж дараа нь хүсэж байгаа зочин үйлдлийн + системээ суулгах ёстой.</para> + + <sect3 id="virtualization-guest-parallels-install"> + <title>Parallels/&macos; X дээр FreeBSD-г суулгах</title> + + <para>FreeBSD-г &macos; X/<application>Parallels</application> дээр суулгах эхний алхам нь + FreeBSD-г суулгахад зориулж шинэ виртуал машиныг үүсгэх + явдал юм. <guimenu>Guest OS Type</guimenu> буюу Зочин OS-ийн төрөл гэж асуухад нь + <guimenuitem>FreeBSD</guimenuitem> гэж сонгоод өөрийн энэ FreeBSD-д зориулсан төлөвлөгөөнийхөө + дагуу боломжийн хэмжээний диск болон санах ойг сонгох хэрэгтэй. + <application>Parallels</application> дээр FreeBSD-г ашиглах ихэнх хэрэглээний хувьд + 4GB ба 512MB хэмжээний RAM сайн ажилладаг.</para> + + <para>Таны FreeBSD виртуал машин үүсгэгдсэний дараа та FreeBSD-г түүн + дээр суулгах хэрэгтэй болно. Албан ёсны FreeBSD CDROM эсвэл + албан ёсны FTP сайтаас татан авсан ISO дүрс ашиглан + суулгах нь зүйтэй юм. Та өөрийн локал &mac; файлын систем дээрээ + тохирох ISO дүрстэй болонгуутаа эсвэл өөрийн &mac;-ийн CD хөтөч дээр + CDROM-той болонгуутаа өөрийн FreeBSD <application>Parallels</application> цонхны баруун + доод талд байгаа дискийн дүрсэн дээр дарах хэрэгтэй. Энэ нь + таны виртуал машин дахь CDROM хөтөчийг диск дээрх ISO файл + эсвэл таны жинхэнэ CDROM хөтөчтэй холбох боломжийг олгох + цонхыг харуулах болно.</para> + + <para>Өөрийн CDROM эхтэй энэ холболтыг хийснийхээ дараа дахин ачаалах + дүрсийг дарж өөрийн FreeBSD машиныг хэвийн үед дахин ачаалдаг шигээ + дахин ачаална. <application>Parallels</application> нь хэвийн BIOS-ийн хийдэг шиг + танд CDROM байгаа эсэхийг шалгах тусгай BIOS-оор эхлэх болно. + Энэ тохиолдолд энэ нь FreeBSD-ийн суулгах зөөвөрлөгчийг олж + <xref linkend="install">-т тайлбарлагдсаны адилаар + ердийн <application>sysinstall</application> дээр суурилсан суулгалтыг эхлүүлэх болно. + Та X11 системийг суулгаж болох боловч энэ удаад + тохируулахыг битгий оролдоорой. Суулгалтыг дууссаныхаа дараа + та өөрийн шинэ суулгасан FreeBSD виртуал машин руугаа дахин + ачаалж ороорой.</para> + + </sect3> + + <sect3 id="virtualization-guest-parallels-configure"> + <title>FreeBSD-г &macos; X/Parallels дээр тохируулах</title> + + <para>FreeBSD-г <application>Parallels</application>-ийн тусламжтай &macos; X дээр амжилттайгаар + суулгасны дараа виртуалчлагдсан ажиллагаанд зориулж системийг + оновчтой болгохын тулд хэд хэдэн тохиргооны алхмуудыг хийх ёстой.</para> + + <procedure> + <step> + <title>Ачаалагч дуудагчийн хувьсагчуудыг тохируулна</title> + + <para>Хамгийн чухал алхам бол <application>Parallels</application>-ийн орчинд FreeBSD-ийн + CPU-н хэрэглээг багасгахын тулд <option>kern.hz</option>-г + багасгах явдал юм. Дараах мөрийг + <filename>/boot/loader.conf</filename> файлд + нэмэн үүнийг хийж болно:</para> + + <programlisting>kern.hz=100</programlisting> + + <para>Энэ тохиргоогүйгээр, сул зогсож байгаа FreeBSD <application>Parallels</application> + зочин OS нэг процессор бүхий &imac;-ийн CPU-ийн 15%-г ойролцоогоор + ашиглах болно. Энэ өөрчлөлтийн дараа хэрэглээ нь 5% руу ойртох + болно.</para> + </step> + + <step> + <title>Шинэ цөмийн тохиргооны файлыг үүсгэнэ</title> + + <para>Та бүх SCSI, FireWire, болон USB төхөөрөмжийн драйверуудыг + арилгаж болно. <application>Parallels</application> нь <option>ed</option> драйверийн + ашигладаг виртуал сүлжээний адаптерийн боломжтой байдаг, тэгэхээр + &man.ed.4; болон &man.miibus.4;-д + зориулснаас бусад бүх сүлжээний төхөөрөмжүүдийг цөмөөс арилгаж + болно.</para> + </step> + + <step> + <title>Сүлжээг тохируулна</title> + + <para>Хамгийн хялбар сүлжээний тохиргоо бол таны хост &mac; шигээр + ижил локал сүлжээнд өөрийн виртуал машиныг холбохын тулд DHCP-г + ашиглах явдал юм. Үүнийг <filename>/etc/rc.conf</filename> + файлд <literal>ifconfig_ed0="DHCP"</literal> гэж + нэмэн хийж болно. Сүлжээний илүү нарийн тохиргоонууд <xref + linkend="advanced-networking">-д тайлбарлагдсан + байгаа.</para> + </step> + </procedure> + + </sect3> + + </sect2> + + <sect2 id="virtualization-guest-xen"> + <sect2info> + <authorgroup> + <author> + <firstname>Фуканг</firstname> + <surname>Чен (Loader)</surname> + <contrib>Хувь нэмэр болгон оруулсан </contrib> + </author> + </authorgroup> + <!-- Mar/Apr 2007 --> + </sect2info> + + <title>Линукс дээр ажиллах &xen; FreeBSD</title> + + <para><application>&xen;</application> хэт бүрхүүл нь нээлттэй эх виртуалчлалын бүтээгдэхүүн бөгөөд + түүнийг одоогооор арилжааны XenSource компани дэмждэг. Зочин + үйлдлийн системүүд нь domU домен гэгддэг бөгөөд хост буюу эх үйлдлийн + систем нь dom0 гэгддэг. FreeBSD-ийн виртуал хувилбарыг Линукс дээр + ажиллуулах эхний алхам нь Линукс dom0-д зориулж <application>&xen;</application>-ийг суулгах явдал юм. + Хост буюу эх үйлдлийн систем нь Slackware Линукс тархац байна.</para> + + <sect3 id="xen-slackware-dom0"> + <title>&xen; 3-г Линукс dom0 дээр суулгаж тохируулах</title> + + <procedure> + <step> + <title>&xen; 3.0-г XenSource-с татаж авах</title> + + <para><ulink + url="http://bits.xensource.com/oss-xen/release/3.0.4-1/src.tgz/xen-3.0.4_1-src.tgz">xen-3.0.4_1-src.tgz</ulink>-г + <ulink url="http://www.xensource.com/"></ulink>-с татаж авах хэрэгтэй.</para> + + </step> + + <step> + <title>tar хийгдсэн бөмбөгийг задлах хэрэгтэй</title> + + <screen>&prompt.root; <userinput>cd xen-3.0.4_1-src</userinput> +&prompt.root; <userinput>KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world</userinput> +&prompt.root; <userinput>make install</userinput></screen> + + <note> + <para>dom0-д зориулж цөмийг дахин эмхэтгэхийн тулд:</para> + + <screen>&prompt.root; <userinput>cd xen-3.0.4_1-src/linux-2.6.16.33-xen0</userinput> +&prompt.root; <userinput>make menuconfig</userinput> +&prompt.root; <userinput>make</userinput> +&prompt.root; <userinput>make install</userinput></screen> + + <para><application>&xen;</application>-ий хуучин хувилбаруудад <command>make ARCH=xen menuconfig</command> + тушаалыг зааж өгөх хэрэгтэй байж болох юм</para> + </note> + </step> + + <step> + <title>Grub menu.lst-д цэс оруулга нэмэх хэрэгтэй</title> + + <para><filename>/boot/grub/menu.lst</filename>-г засварлаж + дараах мөрүүдийг нэмэх хэрэгтэй:</para> + + <programlisting>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</programlisting> + </step> + + <step> + <title>Өөрийн компьютераа &xen; руу дахин ачаална</title> + + <para>Эхлээд + <filename>/etc/xen/xend-config.sxp</filename>-г засварлаад + дараах мөрийг нэмнэ:</para> + + <programlisting>(network-script 'network-bridge netdev=eth0')</programlisting> + + <para>Дараа нь бид + <application>&xen;</application>-г ажиллуулж болно:</para> + + <screen>&prompt.root; <userinput>/etc/init.d/xend start</userinput> +&prompt.root; <userinput>/etc/init.d/xendomains start</userinput></screen> + + <para>Бидний dom0 ажиллаж байна:</para> + + <screen>&prompt.root; <userinput>xm list</userinput> +Name ID Mem VCPUs State Time(s) +Domain-0 0 256 1 r----- 54452.9</screen> + </step> + </procedure> + </sect3> + + <sect3> + <title>FreeBSD 7-CURRENT domU</title> + + <para><application>&xen; 3.0</application>-д зориулсан FreeBSD domU цөм болон дискийн дүрсийг <ulink + url="http://www.fsmware.com/">http://www.fsmware.com/</ulink> + татаж авах хэрэгтэй.</para> + + <itemizedlist> + <listitem> + <para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/kernel-current">kernel-current</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/mdroot-7.0.bz2">mdroot-7.0.bz2</ulink></para> + </listitem> + + <listitem> + <para><ulink url="http://www.fsmware.com/xenofreebsd/7.0/download/config/xmexample1.bsd">xmexample1.bsd</ulink></para> + </listitem> + </itemizedlist> + + <para><filename>xmexample1.bsd</filename> тохиргооны файлыг + <filename>/etc/xen/</filename> санд хийж цөм болон диск дүрсийн + хадгалагдсан хэсэгтэй холбоотой оруулгуудыг засварлана. + Энэ нь иймэрхүү харагдах ёстой:</para> + + <programlisting>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"</programlisting> + + <para><filename>mdroot-7.0.bz2</filename> файл шахагдаагүй байх ёстой.</para> + + <para>Дараа нь <filename>kernel-current</filename> дахь __xen_guest + хэсгийг <application>&xen; 3.0.3</application>-ийн шаарддаг VIRT_BASE-г нэмж өөрчлөх хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>objcopy kernel-current -R __xen_guest</userinput> +&prompt.root; <userinput>perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp</userinput> +&prompt.root; <userinput>objcopy kernel-current --add-section __xen_guest=tmp</userinput></screen> + + <screen>&prompt.root; <userinput>objdump -j __xen_guest -s kernel-current</userinput> + +kernel-current: file format elf32-i386 + +Contents of section __xen_guest: + 0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G + 0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd, + 0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE + 0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS + 0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA + 0050 53453d30 78433030 30303030 3000 SE=0xC0000000. </screen> + + <para>Одоо бид өөрсдийн domU-г үүсгэж ажиллуулахад бэлэн боллоо:</para> + + <screen>&prompt.root; <userinput>xm create /etc/xen/xmexample1.bsd -c</userinput> +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 + kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF +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<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH, + DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> + Features2=0x4400<CNTX-ID,<b14>> +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<UP,LOOPBACK,RUNNING,MULTICAST> 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:. +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: </screen> + + <para>domU нь &os; 7.0-CURRENT + цөмийг ажиллуулах ёстой:</para> + + <screen>&prompt.root; <userinput>uname -a</userinput> +FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 +kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386</screen> + + <para>Сүлжээг одоо domU дээр тохируулж болно. &os; domU нь <devicename>xn0</devicename> + гэж нэрлэгдэх тусгай интерфэйсийг ашиглах болно:</para> + + <screen>&prompt.root; <userinput>ifconfig xn0 10.10.10.200 netmask 255.0.0.0</userinput> +&prompt.root; <userinput>ifconfig</userinput> +xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500 + inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255 + ether 00:16:3e:6b:de:3a +lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 + inet6 ::1 prefixlen 128 + inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 + inet 127.0.0.1 netmask 0xff000000 </screen> + + <para>dom0 Slackware дээр <application>&xen;</application>-ээс + хамаарах зарим сүлжээний интерфэйсүүд харагдах ёстой:</para> + + <screen>&prompt.root; <userinput>ifconfig</userinput> +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) + +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)</screen> + + <screen>&prompt.root; <userinput>brctl show</userinput> +bridge name bridge id STP enabled interfaces +xenbr1 8000.feffffffffff no vif0.1 + peth0 + vif1.0</screen> + </sect3> + + </sect2> + + <sect2 id="virtualization-guest-vmware"> + <title>&windows;/&mac;/&linux; дээрх VMware</title> + + <para>Энэ хэсэг бичигдэж амжаагүй байна.</para> + + </sect2> + + </sect1> + + <sect1 id="virtualization-host"> + <title>FreeBSD-г хост буюу эх OS маягаар ашиглах</title> + + <para>FreeBSD нь хост буюу эх үйлдлийн систем маягаар ашиглагдахаар + аль ч виртуалчлалын багцад одоогоор албан ёсоор дэмжигдээгүй байгаа боловч + олон хүмүүс <application>VMware</application>-ийн хуучин хувилбаруудыг энэ зорилгоор ашигладаг. + FreeBSD дээр <application>&xen;</application>-ийг хост буюу эх орчин маягаар ажиллуулах тал дээр ажиллаж + байгаа болно.</para> + + </sect1> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/books/handbook/x11/Makefile b/mn_MN.UTF-8/books/handbook/x11/Makefile new file mode 100644 index 0000000000..6eb7840782 --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/x11/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# +# Build the Handbook with just the content from this chapter. +# + +CHAPTERS= x11/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/mn_MN.UTF-8/books/handbook/x11/chapter.sgml b/mn_MN.UTF-8/books/handbook/x11/chapter.sgml new file mode 100644 index 0000000000..67464d271a --- /dev/null +++ b/mn_MN.UTF-8/books/handbook/x11/chapter.sgml @@ -0,0 +1,1682 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.179 + + $FreeBSD$ +--> + +<chapter id="x11"> + <chapterinfo> + <authorgroup> + <author> + <firstname>Ken</firstname> + <surname>Tom</surname> + <contrib>X.Org-н X11 серверт зориулж шинэчлэсэн </contrib> + </author> + <author> + <firstname>Marc</firstname> + <surname>Fonvieille</surname> + </author> + </authorgroup> +<authorgroup> + <author> + <firstname>Шагдарын</firstname> + <surname>Нацагдорж</surname> + <contrib>Орчуулсан </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>X Цонхот систем</title> + + <sect1 id="x11-synopsis"> + <title>Ерөнхий агуулга</title> + + <para>FreeBSD хэрэглэгчдэд зориулж график горимоор хангахын тулд + X11-г ашигладаг. X11 бол Х Цонхот системийн нээлттэй эх + хэлбэрийн гүйцэтгэл бөгөөд ийм системд + <application>&xorg;</application> болон + <application>&xfree86;</application> хоёр хоёулаа багтдаг. &os;-н + &os; 5.2.1-RELEASE хувилбарыг оролцуулаад түүнээс өмнөх хувилбаруудад + анхдагч суудаг цонхот системийн сервер нь &xfree86; төслөөс гаргасан + <application>&xfree86;</application> байдаг. Харин &os; 5.3-RELEASE + хувилбараас эхлээд анхдагч суудаг X11 сервер нь X.Org сангаас гаргасан + <application>&xorg;</application> болж өөрчлөгдсөн бөгөөд түүний + лиценз нь &os;-ийнхтэй ижил төсөөтэй билээ. Мөн &os;-д зориулсан + худалдаж авч болохоор Х серверүүд байдаг.</para> + + <para>Энэ бүлэгт Х11-г хэрхэн суулгаж тохируулах талаар + <application>&xorg;</application>-н хүрээнд ярих болно. + <application>&xfree86;</application>-г суулгаж тохируулах тухай + (<application>&xfree86;</application> нь анхдагч Х11 сервер байх үеийн + &os;-н хуучин хувилбарууд гэх мэт) мэдээллийг &os;-н хуучин гарын авлагуудаас <ulink + url="http://docs.FreeBSD.org/doc/"></ulink> хэсэгт олж уншиж болно.</para> + + <para>X11-н дэмждэг дэлгэцтэй холбоотой төхөөрөмжийн талаар + <ulink + url="http://www.x.org/">&xorg;</ulink> вэб хуудаснаас хараарай.</para> + + <para>Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно:</para> + + <itemizedlist> + <listitem> + <para>X Цонхот системийн төрөл бүрийн бүрдлүүд болон тэд хэрхэн хоорондоо + хамтарч ажилладаг тухай.</para> + </listitem> + + <listitem> + <para>X11-г хэрхэн суулгаж тохируулах.</para> + </listitem> + + <listitem> + <para>Төрөл бүрийн цонхот орчныг хэрэглэх.</para> + </listitem> + + <listitem> + <para>&truetype; төрлийн үсгийн маягийг X11 дээр хэрхэн хэрэглэх.</para> + </listitem> + + <listitem> + <para>Өөрийнхөө системийг график горимд хэрхэн нэвтрэлт хийлгэх тухай + (<application>XDM</application>).</para> + </listitem> + </itemizedlist> + + <para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para> + + <itemizedlist> + <listitem><para>Гуравдагчдын бүтээсэн програмыг хэрхэн суулгах тухай мэддэг байх + хэрэгтэй (<xref linkend="ports">).</para></listitem> + </itemizedlist> + </sect1> + + <sect1 id="x-understanding"> + <title>X-г таньж мэдэх</title> + + <para>µsoft.windows; болон + &macos; зэрэг график горимыг урьд нь хэрэглэдэг байсан зарим хүмүүс анх удаагаа + X-г хэрэглэх үед нэгэн төрлийн цочролд автаж магадгүй юм. </para> + + <para>Х-н төрөл бүрийн бүрдлүүд хоорондоо хэрхэн хамтарч ажилладаг талаар + бүрэн мэдэх шаардлаггүй ч гэсэн түүний тухай үндсэн ойлголт авсан үед + X-н хүчин чадлыг зөв ашиглаж болох юм.</para> + + <sect2> + <title>Яагаад X гэж?</title> + + <para>X нь &unix;-д зориулж бүтээсэн цонхот системийн анхдагч нь + биш ч хамгийн их түгсэн нь мөн билээ. X-н анхны хөгжүүлэгчид нь + Х-г бичихээсээ өмнө өөр цонхот систем дээр ажиллацгааж байсан юм. + Тэр системийг нь <quote>W</quote> (<quote>Window</quote> гэсэн үг) + гэж нэрлэдэг байжээ. X нь ердөө л Ром үсгийн дараагийн үсэг байв.</para> + + <para>X нь заримдаа <quote>X</quote>, <quote>X Window System буюу Х цонхот + систем</quote>, + <quote>X11</quote> гэх мэтчилэн янз бүрээр нэрлэгддэг. Магадгүй Х11-г + <quote>X Цонх</quote> гэж нэрлэсэн хүмүүс их байгааг анзаарч магадгүй юм. + Дэлгэрэнгүй мэдээлэл &man.X.7; дээр буй.</para> + </sect2> + + <sect2> + <title>X үйлчлүүлэгч/сервер загвар</title> + + <para>X нь анхнаасаа сүлжээтэй ажиллана гэж тооцож зохиогдсон + бөгөөд <quote>үйлчлүүлэгч-сервер</quote> загвар хэрэглэдэг.</para> + + <para>X загварт + <quote>X сервер</quote> нь хулгана, гар, дэлгэцтэй ажилладаг. Энэ үед + серверийн үүрэг бол гар болон хулганаас оруулсан мэдээллийг + хүлээж аван зохицуулах зэрэг дэлгэц дээрх үйлдлүүдийг хариуцаж + ажиллаж байдаг. X програм болгон (<application>XTerm</application> + эсвэл <application>&netscape;</application> гэх мэт) уг серверийн + <quote>үйлчлүүлэгч</quote> нь юм. Үйлчлүүлэгч нь сервер уруу жишээлбэл + <quote>энэ байрлалд цонх зурна уу</quote> гэх мэтийн хүсэлт + илгээж болдог байхад серверээс үйлчлүүлэгч рүү жишээлбэл + <quote>Хэрэглэгч OK товч дээр дарсан шүү</quote> гэх мэтийн + мэдэгдэл буцааж илгээж байдаг.</para> + + <para>Гэртээ юмуу эсвэл жижигхэн албан байгууллагын орчинд + X сервер болон X үйлчлүүлэгч нь нэг компьютер дээр ажиллаж + байдаг. Гэхдээ X серверийг багахан чадалтай компьютер дээр + ажиллуулаад харин Х програмуудыг арай хүчтэй компьютер + (үйлчлүүлэгч) дээр ажиллуулбал хамгийн тохирсон албаны хэрэглээ + байж болох билээ. Ийм нөхцөлд Х сервер болон үйлчлүүлэгчийн + хоорондох холболт сүлжээгээр хийгдэнэ.</para> + + <para>Ийм хэрэглээ нь Х-г өөрөөр хэрэглэнэ + гэж бодож байсан зарим хүмүүсийг гайхшруулж магадгүй юм. + Тийм хүмүүс <quote>X серверийг</quote> маш хүчтэй мундаг + эд байх ёстой ба бага чадалтай нь <quote>X үйлчлүүлэгчийн</quote> + үүрэг гүйцэтгэж ширээн дээр байх ёстой гэж бодсон байдаг.</para> + + <para>Х сервер нь дэлгэц болон гар залгагдсан компьютер нь бөгөөд + Х үйлчлүүлэгч нь дэлгэц дээр цонх дүрсэлдэг програмууд шүү + гэдгийг санах нь тун чухал.</para> + + <para>Сервер болон үйлчлүүлэгч хоёрыг нэг төрлийн компьютер юмуу + эсвэл нэг төрлийн үйлдлийн систем дээр ажиллах ёстой гэсэн ямар + ч албадсан заавар байдаггүй. Х серверийг µsoft.windows; + эсвэл Apple-н &macos; дээр ажиллуулж болдог бөгөөд + иймэрхүү үйлдлийг гүйцэтгэж байдаг маш олон үнэгүй юм уу + худалдааны програмууд байдаг.</para> + </sect2> + + <sect2> + <title>Цонх зохицуулагч</title> + + <para>X-н загварын зарчим нь &unix;-н + <quote>хэрэгсэл болохоос бодлого биш</quote> гэсэн зарчимтай тун + ижил байдаг. + Энэ нь юу гэсэн үг вэ гэхээр, Х нь үйлдлүүд хэрхэн биелэгдэх + ёстой талаарх ямар ч бичлэг хийдэггүй. Харин түүний оронд хэрэглэгчдэд + зориулсан хэрэгслүүдээр хангагдсан байдаг бөгөөд тэдгээрийг + яаж хэрэглэх нь хэрэглэгчийн үүрэг юм.</para> + + <para>Энэ зарчмын дагуу Х нь цонхнуудыг хэрхэн харагдах, хулгана + хэрхэн хөдлөх, ямар товч хэрэглэж цонхнуудын хооронд дамжих + (µsoft.windows; дээрх + <keycombo action="simul"> + <keycap>Alt</keycap> + <keycap>Tab</keycap> + </keycombo> товчлуурын хослол шиг), цонх болгоны дээрх + гарчгийн самбар яаж харагдах, цонх болгонд хаах товч байх ёстой юу + үгүй гэх зэргийн бүртгэл болон заавруудыг агуулж байдаггүй.</para> + + <para>Харин түүний оронд иймэрхүү хариуцлагыг X нь + <quote>Цонх зохицуулагч</quote> гэж нэрлэгдэх програм руу дамжуулдаг. + Х-д зориулсан маш олон тооны цонх зохицуулагчид байдаг нь: + <application>AfterStep</application>, + <application>Blackbox</application>, <application>ctwm</application>, + <application>Enlightenment</application>, + <application>fvwm</application>, <application>Sawfish</application>, + <application>twm</application>, + <application>Window Maker</application> зэрэг бөгөөд өөр олныг дурдаж болно. + Эдгээр цонх зохицуулагч болгон тус тусдаа өөрсдийн өөрийн гэсэн + төрөл бүрийн харуулах загвартай байдаг ба зарим нь өөртөө + <quote>virtual desktops буюу хийсвэр компьютерийн дэлгэцийг</quote> + дэмждэг бөгөөд тэд нарын зарим нь тийм хийсвэр дэлгэцэндээ + сэлгэх товчлуурууд агуулж байхад зарим нь <quote>Start буюу + Эхлэх</quote> товч юмуу түүнтэй ижил төхөөрөмж агуулж байдаг. + Мөн зарим нь <quote>themeable буюу дэлгэцийн дурын өөрчлөлт</quote> + хийж харагдах загваруудын бүрдлийг агуулан сэлгэж хэрэглэх зэргээр + хэрэглэгдэж байдаг билээ. Эдгээр цонх зохицуулагчид болон мөн бусад + зохицуулагчдыг портын цуглуулга доторх + <filename>x11-wm</filename> төрөлд олж болно.</para> + + <para>Мөн түүнчлэн <application>KДЭ</application> болон + <application>ГНОМ</application> дэлгэцийн орчнууд нь өөрсдийн гэсэн + цонх зохицуулагчтай байдаг ба тэр нь дэлгэцийн орчиндоо агуулагдчихсан + ажиллаж байдаг.</para> + + <para>Цонх зохицуулагч бүр өөр өөрсдийн тохируулах аргатай байдаг. + Зарим нь тохируулгын файлыг гараараа бичих ёстой гэдэг байхад + зарим нь ихэнх тохируулгын үйлдлүүдийг + GUI буюу график орчны хэрэгслээр хийдэг; мэдэж байгаагаар, нэг цонх зохицуулагч + (<application>Sawfish</application>) Lisp програмын хэллэгээр + бичигдсэн тохиргооны файлтай байдаг.</para> + + <note> + <title>Сонгогдож идэвхжүүлэх бодлого</title> + + <para>Цонх зохицуулагчийн бас нэг үүрэг бол + <quote>сонгогдож идэвхжих бодлого </quote> билээ. Цонх болгон + ямар нэгэн байдлаар сонгогдсоноо илэрхийлж идэвхжин + гарнаас оруулсан мэдээлийг хүлээж авах бөгөөд идэвхтэй болсоноо + нүдэнд харуулагдахаар дүрсэлж харуулах хэрэгтэй байдаг.</para> + + <para>Түгээмэл болсон, сонгогдож идэвхжих бодлогыг + <quote>идэвхжүүлэхийн-тулд-дарах</quote> гэж нэрлэдэг. + Энэ загварыг µsoft.windows; хэрэглэдэг бөгөөд + хулгана дарах үед заагдсан цонх нь идэвхитэй болно.</para> + + <para>X ямар нэгэн сонгож идэвхжүүлэх бодлогыг дэмждэггүй. + Харин түүний оронд цонх зохицуулагч гуай тухайн үед ямар цонх + идэвхжих вэ гэдгийг хянаж байдаг. + Цонх зохицуулагч бүр өөр өөрсдийн сонгож идэвхжүүлэх арга + хэрэглэдэг. Тэд бараг бүгдээрээ дарж идэвхжүүлэх + бодлого баримталж байхад тун цөөхөн нь өөр зарчим баримталсан + байдаг. </para> + + <para>Хамгийн түгээмэл сонгож идэвхжүүлэх бодлогууд бол:</para> + + <variablelist> + <varlistentry> + <term>хулганыг дагаж идэвхжүүл</term> + + <listitem> + <para>Хулганы заагч байгаа цонхыг сонгогдсон гэж авч үздэг. + Цонхыг хамгийн өмнө нь байлгах шаардлагагүй бөгөөд нэмж товч + даралгүй + хулганы байрлалыг өөрчилснөөр цонхыг идэвхжүүлж болно. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term>унтамхай-идэвхжүүлэлт</term> + + <listitem> + <para>Энэ бодлого бол хулгана-дагаж-идэвхжүүл бодлогын + өргөжүүлсэн арга юм.хулгана-дагаж-идэвхжүүл бодлого дээр хэрэв хулгана эх цонхон дээр + (эсвэл арын дэвсгэр) очвол ямар ч цонх идэвхтэй болдоггүй. + Харин унтамхай-идэвхжүүлэлт дээр хэрэв хулгана + өөрийнхөө цонхноос гараад өөр цонх уруу орсон үед + тэр цонх идэвхтэй болдог.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>идэвхжүүлэхийн-тулд-дарах</term> + + <listitem> + <para>Хулганы товч дарахад л тухайн цонх идэвхжинэ. + Уг цонх тэгээд <quote>дэлгэгдэх</quote> бөгөөд + бүх цонхны өмнө харуулагддаг. Ингээд дарагдсан + бүх товчнуудын өгөгдлүүд энэ цонх уруу илгээгдэж байдаг. </para> + </listitem> + </varlistentry> + </variablelist> + + <para>Маш олон цонх зохицуулагчид өөр бодлого дэмжих эсвэл жаахан + өөрчилсөн бодлого хэрэглэдэг. Тухайн цонх зохицуулагчийн + бичиг баримтаас нь нэмэгдэл мэдээлэл аваарай.</para> + </note> + </sect2> + + <sect2> + <title>Widgets буюу багажнууд</title> + + <para>X-н хэрэгсэл болохоос бодлого биш зарчмыг өргөтгөн + програм болгоныг төлөөлсөн багаж дэлгэц дээр харуулагддаг.</para> + + <para><quote>Багажнууд</quote> гэдэг нь дарагдах, эсвэл ямар нэгэн аргаар + өөрчлөгдөж байдаг дэлгэц дээрх зүйлс бөгөөд товч, чагталдаг цонх, + бөөрөнхий сонгодог товч, тэмдэгт зурагнууд, жагсаалтууд зэрэг юм. + µsoft.windows; харин тэдгээрийг + <quote>controls буюу хянагчид</quote> гэж нэрлэсэн байдаг.</para> + + <para>µsoft.windows; болон Apple-н &macos; хоёр багажны маш + тогтсон загвартай билээ. Програм хөгжүүлэгчид нь өөрсдийн програмуудаа + нийтлэг харуулагдах загвараар аль болох хийх зарчмыг баримталж байдаг. X-ийн хувьд бол + тодорхой нэг график загвар, аль эсвэл багажнуудын олонлогийг заавал + баримтлах нь тийм ч ухаалаг бус санаа юм.</para> + + <para>Тийм болохоор Х програмуудыг хоорондоо адилхан харагдах + нийтлэг загвартай байдаг гэж бодох хэрэггүй. MIT-с гаргасан Athena эсвэл + <application>&motif;</application> ( + µsoft.windows; дээрх багажнуудын олонлог түүн дээр хийгдсэн, товойлгосон ирмэгүүд + болон гурван саарал сүүдэртэй), <application>OpenLook</application>, + болон бусад маш олон, түгээмэл дэлгэрсэн багажны цуглуулгууд байдаг.</para> + + <para>Өнөөгийн ихэнх шинэ Х програмууд нь <application>KДЭ</application>-н хэрэглэдэг Qt, аль эсвэл + <application>ГНОМ</application>-н хэрэглэдэг GTK+ зэрэг орчин үеийн + багажнуудын олонлог хэрэглэдэг. Энэ нь &unix;-н харагдах дэлгэцийн маягийн хувьд зарим нэг + давхцалд хүргэх бөгөөд ингэснээр мэдээж юмсыг шинэ хэрэглэгчдийн хувьд илүү хялбар болгох юм.</para> + </sect2> + </sect1> + + <sect1 id="x-install"> + <title>X11-г суулгах нь</title> + + <para><application>&xorg;</application> бол &os;-н анхдагч X11 + гүйцэтгэл юм. <application>&xorg;</application> нь X.Org сангаас + гаргасан Х цонхот системийн Х сервер. + <application>&xorg;</application> нь + <application>&xfree86 4.4RC2</application> болон X11R6.6 + хоёрын эх бичлэг дээр үндэслэгдсэн билээ. + &os;-н портын цуглуулга дотор байгаа + <application>&xorg;</application>-н хувилбар нь &xorg.version; гэж буй.</para> + + <para>Портын цуглуулгаас <application>&xorg;</application>-г суулгахын + тулд:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11/xorg</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <note> + <para><application>&xorg;</application>-г бүхлээр нь хөрвүүлэхийн тулд + хамгийн багадаа 4 ГБ хэмжээ сул байлгах хэрэгтэйг анхаараарай.</para> + </note> + + <para>X11-г багц хэлбэрээр мөн суулгаж болно. + Хоёрт хэлбэрийн файлыг нь &man.pkg.add.1; хэрэгслээр Х11-г суулгаж болдог. + Алсад байгаа серверээс нөхөж суулгадаг боломжийг &man.pkg.add.1; хэрэглэх үед + багцнаас хувилбарынх нь дугаарыг устгах хэрэгтэй. Тэгээд + &man.pkg.add.1; нь автоматаар сүүлийн хувилбарыг нь нөхөж суулгадаг.</para> + + <para><application>&xorg;</application>-н хамгийн сүүлийн хэлбэрийг нь + автоматаар нөхөж суулгахын тулд ердөө л дараах тушаалыг өгнө:</para> + + <screen>&prompt.root; <userinput>pkg_add -r xorg</userinput></screen> + + <note><para>Дээрх жишээгээр бол + X11-г сервер, үйлчлүүлэгч, үсгийн маяг зэрэгтэй нь бүхлээр нь суулгана. + Х11-н багц болон портууд нь тусдаа мөн суугдаж болдог.</para></note> + + <para>Энэ бүлгийн үлдсэн хэсэгт Х11-г суулгаж тохируулан хэрхэн эвтэйхэн + компьютерийн дэлгэц бэлдэх талаар өгүүлэх болно.</para> + </sect1> + + <sect1 id="x-config"> + <sect1info> + <authorgroup> + <author> + <firstname>Christopher</firstname> + <surname>Shumway</surname> + <contrib>Хамтран бичсэн </contrib> + <!-- July 2001 --> + </author> + </authorgroup> + </sect1info> + <title>X11-н тохируулга</title> + + + <indexterm><primary>&xorg;</primary></indexterm> + <indexterm><primary>X11</primary></indexterm> + + <sect2> + <title>Тохируулж эхлэхээс өмнө</title> + + <para>Х11-г тохируулахаасаа өмнө суулгасан системийн + дараах мэдээллүүд шаардлагатай:</para> + + <itemizedlist> + <listitem><para>Дэлгэцийн тодорхойлолтууд</para></listitem> + <listitem><para>Видео адаптерийн схемийн мэдээлэл</para></listitem> + <listitem><para>Видео адаптерийн санах ойн хэмжээ</para></listitem> + </itemizedlist> + + <indexterm><primary>Хэвтээ зуралтын давтамж</primary></indexterm> + <indexterm><primary>Босоо зуралтын давтамж</primary></indexterm> + + <para>Х11-д хэрэгтэй дэлгэцийн тодорхойлолтонд зуралтын хэмжээ болон + зуралтын давтамж нар орно. Эдгээр тодорхойлолтыг тухайн + дэлгэцийг үйлдвэрлэсэн газрын вэб хуудас юмуу эсвэл уг дэлгэцтэй + хамт ирсэн бичиг баримт дотроос харж болно. Тэр дотроос + мэдэх шаардлагатай хоёр тоо бол хэвтээ болон босоо чиглэлийн + зуралтын давтамж юм.</para> + + <para>Видео адаптерийн схемийг Х11 мэдсэнээр уг график дүрслэгчтэй + ямар драйвер буюу таниулагч програм ашиглан харилцан ажиллах + боломжтойг мэдэж авдаг. + Ихэнх схемүүд автоматаар танигддаг боловч хэрэв автомат танилт + амжилтгүй болох тохиолдолд схемийн мэдээллийг мэдсэн байх нь + хэрэгтэй билээ. </para> + + <para>График дүрслэгч дээрх санах ойн хэмжээг мэдсэнээр + зуралтын нягтшил болон өнгөний баялгийг тодорхойлоход + хэрэгтэй. Үүнийг мэдэх нь тун чухал бөгөөд системийнхээ + ажиллаж чадах хязгаарыг нь тодорхойлдог юм.</para> + </sect2> + + <sect2> + <title>X11-н тохиргоо</title> + + <para>X11-г тохируулах нь олон үе шаттай явц билээ. Хамгийн эхний + алхам бол анхдагч тохируулгын файлыг бэлдэх билээ. + Супер хэрэглэгчийн эрхээр ердөө л дараах тушаалыг өгнө:</para> + + <screen>&prompt.root; <userinput>Xorg -configure</userinput></screen> + + <para>Ингэснээр <filename>/root</filename> сан дотор + <filename>xorg.conf.new</filename> гэсэн нэртэй Х11 ийн тохиргооны + үндсэн файл үүсгэгддэг (та &man.su.1; тушаалаар юмуу эсвэл анхнаасаа + супер хэрэглэгчийн эрхээр орсон байсан ч супер хэрэглэгчийн + <envar>$HOME</envar> буюу эх сан дотор үүсгэх болно). + Х11 гуай тухайн систем дээр байгаа график төхөөрөмжийг таних + оролдлого хийж таниулах програмын мэдээллийг уг тохируулга руу + бичдэг. </para> + + <para>Дараагийн алхам бол уг тохируулга файлыг ашиглаад + график төхөөрөмжтэй <application>&xorg;</application> ажиллаж + чадаж байгааг турших юм. Үүний тулд дараах тушаалыг оруулах + хэрэгтэй:</para> + + <screen>&prompt.root; <userinput>Xorg -config xorg.conf.new</userinput></screen> + + <para>Хэрэв хар саарал дэвсгэр дээр Х хэлбэртэй хулганы заагч + харагдаж байвал амжилттай боллоо гэсэн үг. Туршилтаас гарахын тулд + <keycombo action="simul"> + <keycap>Ctrl</keycap> + <keycap>Alt</keycap> + <keycap>Backspace</keycap> + </keycombo> товчлуурын хослолыг дарна.</para> + + <note><para>Хэрэв хулгана ажиллахгүй байвал өмнөх туршилтыг дахин + хийхээсээ өмнө хулганаа тохируулах шаардлагатай. &os;-г суулгах + бүлэгт буй <xref linkend="mouse"> хэсгээс харна уу.</para></note> + + <indexterm><primary>X11-г сайжруулах</primary></indexterm> + + <para>Дараа нь <filename>xorg.conf.new</filename> файлыг өөрийнхөө + хүсэлд тохируулан сайжруулах хэрэгтэй. Уг файлыг + &man.emacs.1; эсвэл &man.ee.1; зэрэг засварлагчаар нээнэ. + Эхлээд дэлгэцийн зурах давтамжийг оруулж өгөх хэрэгтэй. + Ийм зурах давтамж нь хэвтээ болон босоо чиглэлийн зурах + давтамж гэж байдаг. Давтамжийн тоон утгуудыг + <filename>xorg.conf.new</filename> файл дотор + <literal>"Monitor"</literal> гэсэн хэсэгт оруулж өгөөрэй:</para> + + <programlisting>Section "Monitor" + Identifier "Monitor0" + VendorName "Monitor Vendor" + ModelName "Monitor Model" + HorizSync 30-107 + VertRefresh 48-120 +EndSection</programlisting> + + <para><literal>HorizSync</literal> болон + <literal>VertRefresh</literal> гэсэн хэсэг нь хоосон утгатай байж + магадгүй. Хэрэв тийм бол тэдгээрт тохирсон утгуудыг нь + оруулж өгөх ёстой. <literal>HorizSync</literal>-д + хэвтээ зуралт, <literal>VertRefresh</literal>-д босоо зуралтын + утгыг өгнө. Дээрх жишээн дээр дэлгэцийн тохирох утгуудыг нь оруулж + байна.</para> + + <para>X нь DPMS (Тэжээл хэмнэх) чадвартай дэлгэцийг дэмждэг. + &man.xset.1; програм цаг дуусах нөхцлийг шалгаад дэлгэцийг + standby, suspend, эсвэл off буюу нөөц, түр салгах, эсвэл + унтраах зэрэг горимд шилжүүлдэг. Хэрэв та дэлгэцэндээ DPMS + шинж чанарыг хэрэгжүүлнэ гэж бодож байвал дараах мөрийг + monitor хэсэгт нэмэх хэрэгтэй:</para> + + <programlisting> + Option "DPMS"</programlisting> + + <indexterm> + <primary><filename>xorg.conf</filename></primary> + </indexterm> + + <para>Та <filename>xorg.conf.new</filename> файлыг + засварлагч дээр нээсэн хэвээр байгаа болохоор дэлгэцийн + зуралтын хэмжээ болон өнгөний нягтыг оруулж өгч болно. + Эдгээр утгыг <literal>"Screen"</literal> хэсэгт оруулдаг:</para> + + <programlisting>Section "Screen" + Identifier "Screen0" + Device "Card0" + Monitor "Monitor0" + DefaultDepth 24 + SubSection "Display" + Viewport 0 0 + Depth 24 + Modes "1024x768" + EndSubSection +EndSection</programlisting> + + <para><literal>DefaultDepth</literal>-д өгсөн утга нь + анхдагч хэрэглэх өнгөний нягт юм. Хэрэв анхдагч утгыг нь + ачаалах үед дарж өөрчлөж хэрэглэнэ гэвэл &man.Xorg.1;-г + ажиллуулах тушаалд <option>-depth</option> гэсэн сонголтыг + хүссэн утгатай хамт оруулан хэрэглэж болно. + <literal>Modes</literal> гэсэн түлхүүр үг нь заасан + өнгөтэй үеийн дэлгэцийн зурах хэмжээг зааж байдаг. + Тухайн график дүрслэгчийн үйлдвэрлэгчээс зааж өгсөн + стандарт VESA горимууд л зөвшөөрөгдсөн гэдгийг анхаарна уу. + Дээрх жишээн дээр дэлгэцийн анхдагч өнгөний нягт нь нэг цэгийг + хорин дөрвөн битээр илэрхийлнэ гэж заасан байгаа бөгөөд ийм + нягтшилтай үедээ өргөөшөө 1024, өндрөөшөө 768 цэгээр + зурж харуул хэмээн зааж өгөв.</para> + + <para>Эцэст нь тохируулгын файлаа хадгалаад өмнө заасны + дагуу дахин турших хэрэгтэй.</para> + + <note> + <para>Хүндрэл гарсан үед танд хэрэгтэй нэг хэрэгсэл бол + Х11-ийн log буюу бүртгэл тэмдэглэлийн файл юм. Энэ файлд + Х11-д залгагдсан төхөөрөмжийн талаархи мэдээллүүд оршиж байдаг. + <application>&xorg;</application>-н бүртгэл тэмдэглэлийн + нэрний загвар нь <filename>/var/log/Xorg.0.log</filename> + хэлбэртэй байдаг. Энэ файлын жинхэнэ нэр нь + <filename>Xorg.0.log</filename>-оос + <filename>Xorg.8.log</filename>-н хооронд өөрчлөгдөж байдаг.</para> + </note> + + <para>Хэрэв бүх зүйл сайн болж өнгөрсөн бол + тохируулгын файлаа &man.Xorg.1;-д олдох газарт байрлуулах + хэрэгтэй. Үүнийг голдуу <filename>/etc/X11/xorg.conf</filename> эсвэл + <filename>/usr/X11R6/etc/X11/xorg.conf</filename> гэсэн байрлалд + хуулдаг.</para> + + <screen>&prompt.root; <userinput>cp xorg.conf.new /etc/X11/xorg.conf</userinput></screen> + + <para>X11-г тохируулах явц ингээд гүйцлээ. + <application>&xorg;</application>-г та одоо &man.startx.1; хэрэгслээр + эхлүүлж болно. Х11 сервер нь мөн &man.xdm.1;-р эхлүүлэгдэж болдог.</para> + + <note><para>Түүнчлэн &man.xorgcfg.1; нэртэй Х11-тэй хамт ирдэг + график дүрслэлтэй тохируулгын хэрэгсэл байдаг. Үүгээр + төхөөрөмжүүдийг график хэлбэрээр сонгон тохирох таниулах + програмуудыг нь сонгох журмаар тохиргоо хийж болдог. Уг + програмыг консолоос <command>xorgcfg -textmode</command> + гэсэн тушаалаар эхлүүлдэг. Дэлгэрэнгүй мэдээллийг + &man.xorgcfg.1;-н гарын авлагаас харна уу.</para> + + <para>Мөн &man.xorgconfig.1; нэртэй хэрэгсэл бий. + Энэ нь консол дээр ажилладаг програм бөгөөд график горимыг + бодвол ажиллахад арай төвөгтэй байж магадгүй ч зарим нөхцөлд + бусад хэрэгслийн чаддаггүйг биелүүлж чаддаг.</para></note> + + </sect2> + + <sect2> + <title>Нэмэгдэл тохиргоо</title> + + <sect3> + <title>&intel; i810 Graphics Chipsets-г тохируулах</title> + + <indexterm><primary>Intel i810 graphic chipset</primary></indexterm> + + <para>&intel; i810 integrated chipsets төрлийн график + дүрслэгчдийг тохируулахын тулд + <devicename>agpgart</devicename> + AGP програмууд X11-д хэрэгтэй байдаг. + &man.agp.4;-н драйверийн гарын авлагаас нэмэгдэл мэдээллийг + хараарай.</para> + + <para>Энэ нь мөн бусад график хавтангуудын төхөөрөмжийг + тохируулахад хэрэглэгддэг. Системийнхээ цөмд &man.agp.4; + драйверийг оруулж хөрвүүлээгүй бол &man.kldload.8; + тушаалаар драйверийг дуудсан үед ажиллахгүй гэдгийг анхаарна уу. + Уг драйвер анхнаасаа цөмд оруулж бэлтгэгдсэн байх ёстой юмуу эсвэл + ачаалах үед <filename>/boot/loader.conf</filename>-р цөмд + нэмэгдсэн байх ёстой.</para> + </sect3> + + <sect3> + <title>Өргөн дэлгэцийн горим нэмэх</title> + + <indexterm><primary>widescreen flatpanel өргөн дэлгэцийн тохиргоо</primary></indexterm> + + <para>Энэ хэсэгт таныг тохируулгын жаахан илүү мэдлэгтэй гэж үзэх болно. + Мөн энэ хэсэгт дээр өгүүлсэн ердийн тохиргоо хийхийг авч үзэхгүй. + Бүртгэл мэдээллийн файлыг ашиглаж тохиргоог ямар нэгэн аргаар + дуусгаж болно. Хамгийн багадаа текст засварлагч байхад л уг + тохируулгыг хийж болох хангалттай.</para> + + <para>16:10 болон 10:9 зэрэг харуулах харьцааг + дэмждэг одоогийн өргөн дэлцгэцүүд (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, гэх мэт) жаахан хүндрэлтэй байж болзошгүй. Зарим төрлийн 16:10 харуулах + харьцаануудыг дурдвал:</para> + + <itemizedlist> + <listitem><para>2560x1600</para></listitem> + <listitem><para>1920x1200</para></listitem> + <listitem><para>1680x1050</para></listitem> + <listitem><para>1440x900</para></listitem> + <listitem><para>1280x800</para></listitem> + </itemizedlist> + + <para>Зарим тохиолдолд <literal>Section + "Screen"</literal> хэсгийн <literal>Mode</literal> хэсэгт + эдгээр харьцаануудын нэгийг бичсэнээр тохиргоог амархан гүйцээж + болдог:</para> + + <programlisting>Section "Screen" +Identifier "Screen0" +Device "Card0" +Monitor "Monitor0" +DefaultDepth 24 +SubSection "Display" + Viewport 0 0 + Depth 24 + Modes "1680x1050" +EndSubSection +EndSection</programlisting> + + <para><application>&xorg;</application> нь тухайн өргөн дэлгэцээс + I2C/DDC мэдээллийг нь авах ухаантай болохоор уг дэлгэцийн харгалзах + зуралтын давтамжийг нь мэдэж чаддаг. </para> + + <para>Хэрэв эдгээр <literal>ModeLines</literal>-ууд нь драйвер дотор + байхгүй байвал <application>&xorg;</application> танд жаахан тусламж + өгч чаддаг. <filename>/var/log/Xorg.0.log</filename> файлаас + ажиллаж болох <literal>ModeLine</literal>-уудыг харж болно. + Дараах шиг мөрийн хэсгүүдийг харах хэрэгтэй:</para> + + <programlisting>(II) MGA(0): Supported additional Video Mode: +(II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm +(II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 +(II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 +(II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz</programlisting> + + <para>Энэ мэдээллийг EDID мэдээлэл гэдэг. Үүгээр + <literal>ModeLine</literal> мөрийг үүсгэхийн тулд ердөө л + тэдгээрийг зөв дарааллаар нь оруулж бичихэд хангалттай:</para> + + <programlisting>ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings></programlisting> + + <para>Тэгэхээр дээр жишээний дагуу <literal>Section "Monitor"</literal> + хэсэгт <literal>ModeLine</literal> мөрийг дараах маягаар оруулна:</para> + + <programlisting>Section "Monitor" +Identifier "Monitor1" +VendorName "Bigname" +ModelName "BestModel" +ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 +Option "DPMS" +EndSection</programlisting> + + <para>Ингэж энгийн засварлалт хийж дуусгаад Х-ийг өргөн дэлгэцтэй нь шинээр + ажиллуулж болно.</para> + </sect3> + </sect2> + </sect1> + + <sect1 id="x-fonts"> + <sect1info> + <authorgroup> + <author> + <firstname>Murray</firstname> + <surname>Stokely</surname> + <contrib>Хамтран бичилцсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>X11 дээр үсгийн маяг хэрэглэх нь</title> + + <sect2 id="type1"> + <title>Type1 төрлийн үсгийн маяг</title> + <para>Х11 тэй хамт ирдэг анхдагч үсгийн маягууд нь ширээний програмуудад + тийм сайн тохиромжтой байж чаддаггүй. Том үсэгнүүд нь + зарим нь арзайж харагдах, зарим + <application>&netscape;</application>-н жижиг үсэгнүүд + тийм аятайхан харагддаггүй гэх мэт онцгүй тохиолдлууд тулгардаг. + Гэхдээ Х11 дээр хэрэглэгдэх боломжтой үнэгүй өндөр чанарын + Type1 (&postscript;) төрлийн үсгийн маягууд + байдаг. Жишээ нь URW үсгийн цуглуулганд + (<filename role="package">x11-fonts/urwfonts</filename>) + өндөр чанарын type1 (<trademark class="registered">Times Roman</trademark>, + <trademark class="registered">Helvetica</trademark>, <trademark class="registered">Palatino</trademark> гэх мэтчилэн) үсгийн маягууд орсон байдаг. + Мөн Freefonts цуглуулганд + (<filename role="package">x11-fonts/freefonts</filename>) + маш олон төрлийн үсгийн маяг байдаг бөгөөд ихэнх нь графиктай ажилладаг + <application>Gimp</application> зэрэг програмд зориулагдсан болохоор + дэлгэцийн харуулах зориулалтанд хэрэглэгддэггүй. Бас Х11 дээр цөөхөн + тохиргоо хийгээд &truetype; төрлийн үсгийн маяг хэрэглэдэг болгож болдог. + &man.X.7; хуудаснаас юмуу эсвэл + <link linkend="truetype">&truetype; үсгийн маягийн хэсгээс</link> + нэмэлт мэдээллүүдийг уншина уу.</para> + + <para>Дээрх Type1 үсгийг портын цуглуулгаас суулгахын тулд + дараах тушаалыг оруулна:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11-fonts/urwfonts</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Энэ үйлдлийг бусад цуглуулган дээр мөн адил хийнэ. + X серверт эдгээр үсгээ таниулахын тулд тохируулгын файлд (<filename>/etc/X11/xorg.conf</filename>) дараах мөрийг нэмж өгдөг:</para> + + <programlisting>FontPath "/usr/X11R6/lib/X11/fonts/URW/"</programlisting> + + <para>эсвэл Х ажиллаж байх үед дараах тушаалыг өгч болно:</para> + + <screen>&prompt.user; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/URW</userinput> +&prompt.user; <userinput>xset fp rehash</userinput></screen> + + <para>Энэ тушаал нь Х хэсгийг хаагдах хүртэл хүчинтэй бөгөөд + ийм байдалд хүргэхгүй гэвэл ачаалах үед уншигддаг эхлэх файлд + нэмж өгдөг (<command>startx</command>-н эхлэх үед уншдаг файл нь + <filename>~/.xinitrc</filename>, харин <application>XDM</application> + зэргийн график нэвтрэлт хийдэг програмын эхлэн уншдаг файл нь + <filename>~/.xsession</filename> байдаг ). + Гурав дахь арга бол шинэ + <filename>/usr/X11R6/etc/fonts/local.conf</filename> файл хэрэглэх юм: + <link linkend="antialias">anti-aliasing</link> хэсгээс уншина уу. + </para> + </sect2> + + <sect2 id="truetype"> + <title>&truetype; үсгийн маяг</title> + + <indexterm><primary>TrueType үсгийн маяг</primary></indexterm> + <indexterm><primary>үсгийн маяг</primary> + <secondary>TrueType</secondary> + </indexterm> + + <para><application>&xorg;</application> нь өөртөө бас + &truetype; төрлийн үсгийн маягийг харуулах гүйцэтгэлтэй суусан байдаг. + Үүнийг гүйцэтгэх хоёр төрлийн гүйцэтгэл бий. Энэ хэсэгт freetype + модулийг харуулсан ба нөгөө үсгийн маяг харуулагчийг бодвол + илүү тогтвортой билээ. freetype модулийг идэвхжүүлэхийн тулд + дараах мөрийг <filename>/etc/X11/xorg.conf</filename> файлын + <literal>"Module"</literal> хэсэгт нэмнэ.</para> + + <programlisting>Load "freetype"</programlisting> + + <para>Одоо &truetype; үсгийн маягт зориулсан сан үүсгээд + (жишээлбэл + <filename>/usr/X11R6/lib/X11/fonts/TrueType</filename>) + бүх &truetype; үсгүүдээ тэр санд хуулна. &macintosh; машинаас + &truetype; төрлийн үсгийн маягийг шууд хуулж болохгүй гэдгийг анхаарах + хэрэгтэй. Эдгээр нь Х11 дээр хэрэглэгдэхийн тулд + &unix;/&ms-dos;/&windows; хэлбэрийнх байх ёстой. Тэр санд хуулсныхаа + дараа <application>ttmkfdir</application>-г ашиглаж + <filename>fonts.dir</filename> файл үүсгэдэг бөгөөд ингэснээр Х-н + үсэг харуулагч нь шинэ файл суугдлаа гэдгийг таньдаг. + <command>ttmkfdir</command> нь FreeBSD-н портын цуглуулганд + <filename role="package">x11-fonts/ttmkfdir</filename> гэж буй.</para> + + <screen>&prompt.root; <userinput>cd /usr/X11R6/lib/X11/fonts/TrueType</userinput> +&prompt.root; <userinput>ttmkfdir -o fonts.dir</userinput></screen> + + <para>Одоо &truetype; санг үсгийн маягийн таних замд нэмэх ёстой. + Энэ нь дээр <link + linkend="type1">Type1</link> үсгийн маягт дээр өгүүлсэнтэй ижилхэн </para> + + <screen>&prompt.user; <userinput>xset fp+ /usr/X11R6/lib/X11/fonts/TrueType</userinput> +&prompt.user; <userinput>xset fp rehash</userinput></screen> + + <para>гэж нэмэх юмуу эсвэл <filename>xorg.conf</filename> файл дотор + <literal>FontPath</literal> гэж нэмнэ.</para> + + <para>Ингээд болох нь тэр. Одоо <application>&netscape;</application>, + <application>Gimp</application>, + <application>&staroffice;</application>, гэх мэтчилэн бүх X програмууд + суугдсан &truetype; үсгийн маягуудыг таних ёстой. + Маш бага хэмжээтэй (өндөр нарийвчлалтай дэлгэц дээр үзүүлэгдэх вэбийн текстүүд) + эсвэл маш том үсэгнүүд (<application>&staroffice;</application> дээр) + арай илүү харагдана.</para> + </sect2> + + <sect2 id="antialias"> + <sect2info> + <authorgroup> + <author> + <firstname>Joe Marcus</firstname> + <surname>Clarke</surname> + <contrib>Шинэчлэсэн </contrib> + <!-- May 2003 --> + </author> + </authorgroup> + </sect2info> + <title>Anti-Aliased үсгийн маяг</title> + + <indexterm><primary>anti-aliased үсгийн маяг</primary></indexterm> + <indexterm><primary>үсгийн маяг</primary> + <secondary>anti-aliased</secondary></indexterm> + + <para>Anti-aliasing үсгийн маягууд Х11 дээр + <application>&xfree86;</application> 4.0.2-с эхлэн боломжтой болсон. + Гэхдээ <application>&xfree86;</application> 4.3.0 хүртэл үсгийн + маяг тохируулах нь төвөгтэй байв. + <application>&xfree86;</application> 4.3.0-с эхлэн Х11 дээр + <filename>/usr/X11R6/lib/X11/fonts/</filename> + ба <filename>~/.fonts/</filename> дотор байрласан бүх үсгийн маягууд + автоматаар anti-aliasing гэж Xft-нийцтэй програмд хэрэглэгдэх + боломжтой болсон. Бүх програмууд Xft-нийцтэй биш боловч ихэнх нь + Xft-г дэмжсэн байдаг. + Хft-нийцтэй програмууд бол Qt 2.3 ба түүнээс дээшхи хувилбарууд + (<application>KДЭ</application> ширээний орчинг хөгжүүлэхэд хэрэглэгддэг + багаж хэрэгслүүд), + GTK+ 2.0 ба түүнээс дээшхи хувилбарууд ( + <application>ГНОМ</application> ширээний орчинг хөгжүүлэхэд + хэрэглэгддэг багаж хэрэгслүүд), мөн + <application>Mozilla</application> 1.2 ба түүнээс дээшхи хувилбарууд юм. + </para> + + <para>Ямар үсгийн маягууд нь anti-aliased болохыг хянах эсвэл + anti-aliasing шинж чанаруудыг тохируулахын тулд + <filename>/usr/X11R6/etc/fonts/local.conf</filename> файлыг + үүсгэх (хэрэв байвал засварлах) хэрэгтэй. + Xft үсгийн маягийн системийн хэд хэдэн шинж чанарууд энэ файлаар + тохируулагддаг бөгөөд энэ хэсэгт зөвхөн энгийн хэдийг жишээ татах болно. + Дэлгэрэнгүй мэдээллийг &man.fonts-conf.5; хуудаснаас харна уу.</para> + + <indexterm><primary>XML</primary></indexterm> + + <para>Энэ файл нь XML хэлбэрийн байх ёстой. Том жижиг үсгийн + хэмжээнд нь анхааралтай хандах хэрэгтэй. Мөн нээгдсэн таглааг бас + зөв хаасан байх ёстой. Энэ файл эхлэхдээ энгийн DOCTYPE + тодорхойлолтоор эхэлдэг бөгөөд дараа нь + <literal><fontconfig></literal> таглаа араас нь залгаж явдаг:</para> + + <programlisting> + <?xml version="1.0"?> + <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> + <fontconfig> + </programlisting> + + <para>Өмнө хэлсэнчлэн + <filename>/usr/X11R6/lib/X11/fonts/</filename> болон + <filename>~/.fonts/</filename> санд байгаа үсгийн маягууд + автоматаар Xft-нийцтэй програмд танигддаг. Та үүнээс өөр санд + үсгийн маяг байрлуулсан бол + <filename>/usr/X11R6/etc/fonts/local.conf</filename> файлд + дараахтай ижил мөр оруулж өгөх хэрэгтэй:</para> + + <programlisting><dir>/үсгийн/маягийн/байгаа/сангийн</зам></programlisting> + + <para>Шинэ үсэг, ялангуяа шинэ сан нэмсний дараа үсгийн маягийн + түр хадгалагдсан орон зайг дараах тушаалаар сэргээх ёстой:</para> + + <screen>&prompt.root; <userinput>fc-cache -f</userinput></screen> + + <para>Anti-aliasing нь ирмэгийг жаахан уусгаж зөөлрүүлэн харагдуулдаг + болохоор жижиг үсгүүдийг уншихад эвтэйхэн болгодог бөгөөд + том үсгийн <quote>шаталсан ирмэгийг</quote> зөөллөж гөлийлгөдөг. + Иймэрхүү зөөллөсөн шинэ чанар нь ердийн текст дээр хэрэгжихээр + нүдэнд ядаргаатай өвтгөх нөлөө үүсгэж магадгүй юм. + Тэгэхээр 14-н хэмжээнээс доошхи үсгийн маяганд anti-aliasing + шинж чанарыг хэрэглэхгүй гэж бодвол дараах мөрийг оруулаарай:</para> + + <programlisting> <match target="font"> + <test name="size" compare="less"> + <double>14</double> + </test> + <edit name="antialias" mode="assign"> + <bool>false</bool> + </edit> + </match> + <match target="font"> + <test name="pixelsize" compare="less" qual="any"> + <double>14</double> + </test> + <edit mode="assign" name="antialias"> + <bool>false</bool> + </edit> + </match></programlisting> + + <indexterm><primary>үсгийн маяг</primary> + <secondary>зай авалт</secondary></indexterm> + + <para>Жигд зай авалттай үсгийн маяганд + anti-aliasing шинж чанар зөв хэрэгжихгүй байж магадгүй. + Энэ асуудал + <application>KДЭ</application> дээр их тулгардаг. + Үүний засах нэг арга бол тийм үсгүүдийн зай авалтыг + 100 байх ёстой гэж зааж өгдөг. Дараах мөрийг нэмж үүнийг + гүйцэтгэнэ:</para> + + <programlisting> <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>fixed</string> + </test> + <edit name="family" mode="assign"> + <string>mono</string> + </edit> + </match> + <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>console</string> + </test> + <edit name="family" mode="assign"> + <string>mono</string> + </edit> + </match></programlisting> + + <para>(энэ нь бусад ердийн ижил зай авалттай үсгийн маягуудыг + <literal>"mono"</literal> гэсэн нэрээр хандана гэж зааж өгч байна) + тэгээд дараа нь:</para> + + <programlisting> <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>mono</string> + </test> + <edit name="spacing" mode="assign"> + <int>100</int> + </edit> + </match> </programlisting> + + <para>Helvetica зэрэг зарим үсгийн маягуудад + anti-aliased хэрэглэх үед бага зэрэг хүндрэлүүд гарч болзошгүй. + Энэ загвар нь тийм үсгийн маягуудын талыг нь хасах шинж илэрдэг. + Бүр таарахгүй муудах үед <application>Mozilla</application> зэргийн + програмууд ажиллах үедээ нурдаг. Үүнээс сэргийлэхийн тулд + <filename>local.conf</filename> файлд дараах мөрийг нэмнэ:</para> + + <programlisting> <match target="pattern" name="family"> + <test qual="any" name="family"> + <string>Helvetica</string> + </test> + <edit name="family" mode="assign"> + <string>sans-serif</string> + </edit> + </match> </programlisting> + + <para> + <filename>local.conf</filename> файлыг засварлаж дуусаад + уг файлыг <literal></fontconfig></literal> таглаагаар + дууссан эсэхийг шалгаарай. Ингээгүй бол уг файлын өөрчлөлтийг + үл хэрэгсэж хэрэгжүүлдэггүй.</para> + + <para>Х11-тэй анх ирдэг үсгийн маягуудад anti-aliasing хэрэглэхэд + тийм аятайхан харагддаггүй. Арай илүү анхдагч үсгийн маягийг + <filename role="package">x11-fonts/bitstream-vera</filename> + портоос суулгаж болно. Энэ порт нь суугдах үедээ хэрэв + <filename>/usr/X11R6/etc/fonts/local.conf</filename> файл + байхгүй бол мөн суулгадаг. Хэрэв файл өмнө нь байвал + энэ порт <filename>/usr/X11R6/etc/fonts/local.conf-vera + </filename> гэсэн файл үүсгэдэг. Үүний доторхийг + <filename>/usr/X11R6/etc/fonts/local.conf</filename> файл уруу + нийлүүлбэл Bitstream үсгийн маягтууд автоматаар + X11 Serif, Sans Serif, болон Monospaced үсгийн маягтуудын оронд сууж + анхдагч үсгийн маяг нь болдог.</para> + + <para>Эцэст нь хэрэглэгчид өөрсдийн гэсэн тохируулгаа + хувийн сан дотор буй + <filename>.fonts.conf</filename> файл дотор хийж болдог. + Ингэхийн тулд хэрэглэгч бүр + <filename>~/.fonts.conf</filename> файл үүсгэх хэрэгтэй. Энэ файл нь + мөн XML хэлбэртэй байх ёстой.</para> + + <indexterm><primary>LCD дэлгэц</primary></indexterm> + <indexterm><primary>Үсгийн маяг</primary> + <secondary>LCD дэлгэц</secondary></indexterm> + + <para>Сүүлчийн үг: LCD дэлгэцтэй үед sub-pixel харуулалт + хэрэглэх хүсэлт гарч болзошгүй. Энэ нь үндсэндээ + (хэвтээ чиглэлд нь салгасан) улаан, ногоон болон цэнхэр + өнгийн бүрдлүүдийг тусад нь салгаж харуулснаар хэвтээ + чиглэлийн дүрслэх чадварыг сайжруулдаг. + Үр дүн нь мэдээж маш сайн харуулалт үүсдэг. + Ингэж зөвшөөрүүлэхийн тулд + <filename>local.conf</filename> файлд дараах мөрийг нэмнэ:</para> + + <programlisting> + <match target="font"> + <test qual="all" name="rgba"> + <const>unknown</const> + </test> + <edit name="rgba" mode="assign"> + <const>rgb</const> + </edit> + </match> + </programlisting> + + <note><para>Дэлгэцийн төрлөөс хамаарч + <literal>rgb</literal> нь <literal>bgr</literal>, + <literal>vrgb</literal> эсвэл <literal>vbgr</literal> гэж + өөрчлөгдөж болзошгүй тул янз янзаар нь туршиж аль нь илүү + тохирч байгааг олоорой.</para></note> + + <indexterm> + <primary>Mozilla</primary> + <secondary>anti-aliased үсгийн маягийг хорих</secondary> + </indexterm> + + <para>Дараагийн удаа Х-г эхлэх үед Anti-aliasing зөвшөөрөгдсөн + байх болно. Гэхдээ програмууд энэ шинж чанарын давуу талыг + ашиглах хэрэгтэй. Одоогийн байдлаар Qt хэрэгсэл үүнийг ашигладаг. + Энэ нь <application>KДЭ</application> орчны бүх үсгийн маягт + anti-aliased хэрэгжүүлдэг. Мөн + GTK+ үүнийг ашиглан + <application>ГНОМ</application> дээр + <quote>Font</quote> програмаар ( <xref + linkend="x11-wm-gnome-antialias"> дээр дэлгэрэнгүй мэдээлэл буй) + үсгийн маягтдаа anti-aliasing хэрэгжүүлдэг. + Анхныхаа тохиргоогоор + <application>Mozilla</application> 1.2 болон түүнээс дээшхи + хувилбарууд нь автоматаар anti-aliasing-г ашигладаг. + Үүнийг хорихын тулд + <application>Mozilla</application>-г + <makevar>-DWITHOUT_XFT</makevar> гэсэн сонголттой хөрвүүлж + бэлдэх хэрэгтэй.</para> + </sect2> + </sect1> + + <sect1 id="x-xdm"> + <sect1info> + <authorgroup> + <author> + <firstname>Seth</firstname> + <surname>Kingsley</surname> + <contrib>Хамтран бичилцсэн </contrib> + </author> + </authorgroup> + </sect1info> + <title>X Display Manager буюу харуулалт зохицуулагч</title> + <sect2> + <title>Ерөнхий ойлголт</title> + + <indexterm><primary>X Display Manager буюу харуулалт зохицуулагч</primary></indexterm> + <para>X Display Manager (<application>XDM</application>) буюу Х + харуулалт зохицуулагч гэдэг нь Х цонхот системд сонгогдон + хэрэглэгдэж болох бөгөөд нэвтрэх үйлдэлд хэрэглэгддэг. + Энэ нь бага хүчин чадалтай <quote>X тэрминал</quote>, ширээний + програмын орчин, мөн том сүлжээнд буй харуулалтын сервер зэрэг + төрөл бүрийн нөхцөлд хэрэглэгддэг. Нэгэнт Х цонхот систем нь + сүлжээ болон бүртгэлийн бие даасан гүйцэтгэлтэй болохоор Х + үйлчлүүлэгч болон серверүүдийн хоорондох холбоог тохируулах + маш олон арга бий. <application>XDM</application> нь + холбогдож болох серверүүдийг график горимд дүрсэлж харуулдаг + бөгөөд нэр болон нууц үг оруулах нөхцөл биелүүлж өгдөг.</para> + + <para>Та <application>XDM</application>-г хэрэглэгчид зориулж + &man.getty.8; хэрэгслийн биелүүлдэг гүйцэтгэлтэй + ( <xref linkend="term-config"> хэсгээс дэлгэрэнгүйг харна уу) + ижил гэж бодох хэрэгтэй. Тэгэхээр энэ нь + систем рүү нэвтрэх үйлдлийг гүйцэтгэдэг бөгөөд нэвтрүүлэхдээ тухайн + хэрэглэгчийн орчинг ажиллуулж (голдуу Х цонхны зохицуулагч байдаг + ) хэрэглэгчийг гарах хүртэл нь хүлээж байдаг. Мөн өөр хэрэглэгч + холбогдох үед холбогдох дэлгэцийг харуулан нэвтрэх үйлдэл + хийлгэх боломжийг + <application>XDM</application> биелүүлж байдаг.</para> + </sect2> + + <sect2> + <title>XDM-г хэрэглэх нь</title> + + <para> <application>XDM</application> далд чөтгөр гуай + <filename>/usr/X11R6/bin/xdm</filename> гэсэн байрлалд байдаг. + Энэ нь <username>root</username> эрхтэй хүнээр ямар ч үед + эхлүүлэгдэж болдог бөгөөд эхлэнгүүтээ уг машинд буй Х цонхыг + зохицуулах үүргийг гүйцэтгэж эхэлдэг. Хэрэв + <application>XDM</application>-г машиныг шинээр ачаалагдах + болгонд эхлүүлэх хүсэлтэй байгаа бол үүнийг биелүүлэх хамгийн эвтэйхэн зам бол + <filename>/etc/ttys</filename> файлд оруулга хийж өгөх билээ. + Энэ файлын зохион байгуулалтын талаар <xref + linkend="term-etcttys"> хэсэгт хараарай. + <filename>/etc/ttys</filename> файл дотор + <application>XDM</application>-г виртуал тэрминал + дээр далд чөтгөр хэлбэрээр ажиллуулна гэсэн дараах мөр байдаг:</para> + + <screen>ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</screen> + + <para>Анхдагч тохируулгаараа энэ нь хоригдсон байдаг бөгөөд + идэвхжүүлэхийг хүсвэл тав дахь үг болох <literal>off</literal> гэснийг + <literal>on</literal> болгож өөрчлөөд &man.init.8;-г + <xref linkend="term-hup"> дээр заасны дагуу шинээр ачаалах хэрэгтэй. + Эхний талбар нь уг програмын зохицуулах тэрминалын нэр бөгөөд + <literal>ttyv8</literal> гэсэн буй. Энэ нь + <application>XDM</application> есдүгээр виртуал тэрминал + дээр ажиллаж эхэлнэ гэсэн үг юм.</para> + </sect2> + + <sect2> + <title>XDM-г тохируулах нь</title> + + <para><application>XDM</application>-г тохируулах файл + <filename>/usr/X11R6/lib/X11/xdm</filename> санд байдаг. + Энэ сан дотор <application>XDM</application>-н харагдцыг + өөрчилж тохируулах хэд хэдэн файл бий. + Голдуу дараах төрлийн файлууд байдаг:</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Файл</entry> + <entry>Тодорхойлолт</entry> + </row> + </thead> + + <tbody> + <row> + <entry><filename>Xaccess</filename></entry> + <entry>Хэрэглэгчийн эрхийн дүрэм.</entry> + </row> + + <row> + <entry><filename>Xresources</filename></entry> + <entry>X-н resource буюу эх сурвалж анхдагч утгууд.</entry> + </row> + + <row> + <entry><filename>Xservers</filename></entry> + <entry>Дотоод юмуу алсад буй холбогдож болох дэлгэц зохицуулагчдын жагсаалт.</entry> + </row> + + <row> + <entry><filename>Xsession</filename></entry> + <entry>Нэвтрэх үед тухайн орчинд үйлдэгдэгддэг анхдагч скрипт.</entry> + </row> + + <row> + <entry><filename>Xsetup_</filename>*</entry> + <entry>Нэвтрэх үйлдлээс өмнө нь програмуудыг ачаалагч скрипт.</entry> + </row> + + <row> + <entry><filename>xdm-config</filename></entry> + <entry>Уг машин дээр ажиллаж байгаа бүх харуулагчдыг + ерөнхийд нь тохируулагч файл.</entry> + </row> + + <row> + <entry><filename>xdm-errors</filename></entry> + <entry>Сервер програмаас үүсгэгдсэн алдаанууд.</entry> + </row> + + <row> + <entry><filename>xdm-pid</filename></entry> + <entry>Одоогийн ажиллаж байгаа XDM-н процес ID дугаар.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Мөн энэ сан дотор <application>XDM</application>-г ажиллаж байх + үед уг график орчныг тохируулдаг скрипт болон програмууд байдаг. + Саяны жагсаасан файлуудын зориулалтыг ерөнхийд нь дор дурдав. + Уг файлуудыг хэрэглэх дэлгэрэнгүй заавар нь &man.xdm.1; хуудсанд + тодорхойлогдсон байгаа.</para> + + <para>Анхныхаа тохируулгаар бол энгийн нэгэн нэвтрэх дөрвөлжин цонх дотор + уг машины нэр харуулагдсан байдаг ба том үсгээр <quote>Login:</quote> + гэж бичээд доод хэсэгт нь + <quote>Password:</quote> гэж нууц үг оруулах талбар байдаг. + Энэ цонхноос эхлэн + <application>XDM</application>-н харагдцыг өөрчилж эхэлж болох юм.</para> + + <sect3> + <title>Xaccess</title> + + <para> + <application>XDM</application>-ээр хянагддаг харуулагчтай + холбогдох протоколыг + X Display Manager Connection Protocol (XDMCP) + гэж нэрлэдэг. + Энэ файл нь алсад буй компьютерээс XDMCP холболт ямар + дүрмээр хийгдэхийг заан хянаж байдаг. + Энэ нь алсаас холбогдох холболтыг хүлээж авах + тохиргоог <filename>xdm-config</filename> файлд хийх хүртэл + хориотой байдаг. Анхдагч тохиргоогоороо бол ямар ч хэрэглэгчийн + холболтыг зөвшөөрөхгүй гэж заагдсан байдаг.</para> + </sect3> + + <sect3> + <title>Xresources</title> + <para>Энэ нь харуулагчдыг сонгох нэвтрэх дэлгэцийн харуулалтыг + өөрчилж болох анхдагч утгууд хадгалсан файл юм. + Энэ файлаар нэвтрэх програмыг өөрчилж болно. Файлын зохион байгуулалт + нь Х11-н бичиг баримтад заасантай ижил загвартай байдаг.</para> + </sect3> + + <sect3> + <title>Xservers</title> + <para>Энэ нь сонгогдож болох харуулагчдын жагсаалт хадгалсан файл.</para> + </sect3> + + <sect3> + <title>Xsession</title> + <para>Энэ файл нь <application>XDM</application>-д зориулсан + хэрэглээг холбогдсоны дараа гүйцэтгэгдэх скрипт файл юм. + Ихэнхдээ хэрэглэгчид өөрсдийнхөө эхлэл санд буй + <filename>~/.xsession</filename> файл дотор өөрсдийн гэсэн + ажиллуулах бичлэгээ бичиж энэ файлын гүйцэтгэлийг дардаг.</para> + </sect3> + + <sect3> + <title>Xsetup_*</title> + <para>Энэ файл нь нэвтрэх цонх болон харуулагчдыг + сонгогдохоос өмнө автоматаар + ажилладаг. Харуулагч болгонд зориулсан скрипт нь + <filename>Xsetup_</filename> нэрэн дээр + харуулагчийн дугаар залгагдсан нэртэй байдаг ( + жишээ нь дотоод харуулагч + <filename>Xsetup_0</filename> гэсэн нэртэй байдаг). + Энэ файлд голдуу <command>xconsole</command> зэргийн + нэг юмуу хоёр програмыг ар талд + ажиллуулж байхаар бичсэн байдаг.</para> + </sect3> + + <sect3> + <title>xdm-config</title> + <para>Энэ файлд харуулагч болгонд хэрэглэгдэх + програмын анхдагч утга хэлбэрийн тохируулгууд байдаг.</para> + </sect3> + + <sect3> + <title>xdm-errors</title> + <para>Энэ файл дотор <application>XDM</application>-н + ажиллуулахыг оролдсон серверээс гарсан алдаануудыг + бичсэн байдаг. Хэрэв <application>XDM</application>-н + эхлүүлсэн дэлгэц ямар нэгэн замаар гацах юм бол юунаас болсон + эсэхийг нь мэдэх хамгийн зөв газар бол энэ билээ. Эдгээр алдаанууд + мөн хэрэглэгчийн тухайн орчноос хамаарч + <filename>~/.xsession-errors</filename> файл дотор + бас бичигддэг.</para> + </sect3> + </sect2> + + <sect2> + <title>Сүлжээний харуулагч серверийг ажиллуулах</title> + + <para>Бусад хэрэглэгчдийг харуулагч сервер рүү холбохын тулд + хандах эрхийн дүрмийг засварлаж холболт хүлээж авагчийг + зөвшөөрүүлэх хэрэгтэй. Анхдагч утгаараа үүнийг хорьсон байдаг. + <application>XDM</application>-г холболт хүлээж авдаг + болгохын тулд эхлээд <filename>xdm-config</filename> + файл доторхи мөрийг тайлбар мөр болгож хүчингүй болгох + хэрэгтэй:</para> + + <screen>! 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</screen> + + <para>тэгээд <application>XDM</application>-ийг шинээр + эхлүүлэх хэрэгтэй. Ийм файлд <quote>#</quote> тэмдгээр + тайлбар мэт болгож хасдаггүй харин <quote>!</quote> + тэмдэг хэрэглэх хэрэгтэй гэдгийг санах хэрэгтэй. + <filename>Xaccess</filename> файл доторхоос жишээнүүдийг + харах хэрэгтэй бөгөөд + &man.xdm.1; гарын авлагаас дэлгэрэнгүй унших нь зүйтэй.</para> + </sect2> + + <sect2> + <title>XDM-н орлуулгууд</title> + + <para> + <application>XDM</application>-г орлох хэд хэдэн програм бий. + Тэдний нэг болох + <application>kdm</application>-г ( + <application>KДЭ</application>-тэй цуг ирдэг) энэ бүлэгт + тайлбарлах болно. Харуулалт зохицуулагч + <application>kdm</application> нь маш олон төрлийн харуулах + загварыг санал болгодог бөгөөд нэвтрэх үед цонх зохицуулагчдыг + давхар сонгож болох боломж өгдөг.</para> + </sect2> + </sect1> + + <sect1 id="x11-wm"> + <sect1info> + <authorgroup> + <author> + <firstname>Valentino</firstname> + <surname>Vaschetto</surname> + <contrib>Хамтран бичсэн </contrib> + </author> + <!-- June 2001 --> + </authorgroup> + </sect1info> + + <title>Дэлгэцийн орчин</title> + + <para>Энэ хэсэгт FreeBSD-н Х-д зориулсан төрөл бүрийн дэлгэцийн + орчнуудыг тайлбарлах болно. <quote>Дэлгэцийн орчин</quote> гэдэгт + энгийн цонх зохицуулагчаас авахуулаад төрөл бүрийн ширээний + програмыг агуулсан цогц програмууд болох + <application>KДЭ</application> болон <application>ГНОМ</application> + зэрэг ордог. + </para> + + <sect2 id="x11-wm-gnome"> + <title>GNOME буюу ГНОМ</title> + + <sect3 id="x11-wm-gnome-about"> + <title>ГНОМ-н тухай</title> + + <indexterm><primary>ГНОМ</primary></indexterm> + <para><application>ГНОМ</application> гэдэг нь + компьютерээ тохируулахад тань амарчилж хөнгөвчилсөн + дэлгэцийн програмын орчин юм. <application>ГНОМ</application> + дотор самбар (програм эхлүүлэх болон төлөв байдлыг нь харуулах + зорилготой), дэлгэцийн орон зай (програмууд байрлахад зориулагдсан + ), дэлгэцийн хэрэгслүүд болон програмуудын цуглуулга, мөн програмууд + өөр хоорондоо зохицож ажиллахад зориулагдсан хэд хэдэн журам + агуулагдаж байдаг. Өөр үйлдлийн систем юм уу эсвэл өөр + орчинд ажиллаж сурсан хүмүүсд + <application>ГНОМ</application>-н санал болгож байгаа + хүчтэй бөгөөд аятайхан график орчин нь дасахад амар санагддаг. + FreeBSD дээрх <application>ГНОМ</application>-н талаарх + дэлгэрэнгүй мэдээллийг <ulink + url="http://www.FreeBSD.org/gnome">FreeBSD-н ГНОМ + Төслийн</ulink> вэб хуудаснаас харах хэрэгтэй. Уг вэб хуудсанд + <application>ГНОМ</application>-г хэрхэн суулгаж тохируулан мөн зохицуулах + талаар нэлээн өргөн хэмжээний асуулт хариултууд байдаг. </para> + </sect3> + + <sect3 id="x11-wm-gnome-install"> + <title>ГНОМ-г суулгах</title> + + <para> + <application>ГНОМ</application>-г суулгах амар арга бол FreeBSD-г + суулгах тухай + Бүлэг 2-н <xref linkend="default-desktop"> хэсэгт + тайлбарлаж байсан + <quote>Desktop Configuration</quote> цэснээс суулгах юм. + Гэхдээ порт юм уу багцаас мөн амархан суулгаж болох билээ:</para> + + <para>Сүлжээнээс <application>ГНОМ</application>-г багц хэлбэрээр + нь суулгахыг хүсвэл дараах тушаалыг өгөхөд хангалттай:</para> + + <screen>&prompt.root; <userinput>pkg_add -r gnome2</userinput></screen> + + <para> <application>ГНОМ</application>-г порт дотор эх бичлэгээс нь + хөрвүүлж суулгахыг хүсвэл дараах тушаалаар суулгана:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11/gnome2</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para><application>ГНОМ</application> суугдсаны дараа + Х серверт анхдагч цонх зохицуулагчийн оронд + <application>ГНОМ</application> эхлэхийг зааж өгөх хэрэг гардаг. + </para> + + <para> + <application>ГНОМ</application>-г эхлүүлэх амархан арга бол + ГНОМ-н харуулалтыг зохицуулагч буюу <application>GDM</application>-г + хэрэглэх билээ. + <application>GDM</application> нь + <application>ГНОМ</application>-той хамт суугддаг + (гэхдээ анхдагч тохиргоогоороо бол хоригдсон байдаг) + бөгөөд <filename>/etc/rc.conf</filename> файл дотор + <literal>gdm_enable="YES"</literal> мөрийг нэмэн оруулснаар + идэвхжүүлдэг. Шинээр ачаалагдах үед нэвтрэлт хийсний дараа + нэмэлт тохируулга хийлгүйгээр + <application>ГНОМ</application> автоматаар эхэлдэг.</para> + + <para><application>ГНОМ</application>-г мөн тушаал + бичдэг мөрнөөс + <filename>.xinitrc</filename> файлд зөв тохируулга хийснээр ажиллуулж + бас болно. Хэрэв <filename>.xinitrc</filename> файл өмнө нь + байж байвал уг файлд байгаа цонх зохицуулагч эхлэх мөрийг + арилгаад оронд нь + <application>/usr/local/bin/gnome-session</application> гэж + оруулах хэрэгтэй. + Хэрэв нэг их онц чухал мөр уг тохиргооны файл дотор байхгүй гэж + та мэдэж байгаа бол дараах тушаалыг өгч бас болно:</para> + + <screen>&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" > ~/.xinitrc</userinput></screen> + + <para>Тэгээд <command>startx</command> гэсэн тушаалыг бичихэд + <application>ГНОМ</application> дэлгэцийн орчин эхлэх болно.</para> + + <note><para>Хэрэв + <application>XDM</application> юм уу ямар нэгэн өөр + дэлгэцийн орчин хэрэглэгдэж байсан бол <filename>.xsession</filename> + гэсэн файл үүсгээд уг файл дотор өмнө ярьж байсан оруулгыг + оруулах хэрэгтэй. Ингэхийн тулд уг файлыг засварлагчаар нээгээд + дотор байгаа мөрийг + <application>/usr/local/bin/gnome-session</application> мөрөөр + дарж бичихэд болно: + </para></note> + + <screen>&prompt.user; <userinput>echo "#!/bin/sh" > ~/.xsession</userinput> +&prompt.user; <userinput>echo "/usr/local/bin/gnome-session" >> ~/.xsession</userinput> +&prompt.user; <userinput>chmod +x ~/.xsession</userinput></screen> + + <para>Өөр нэг сонголт бол цонх зохицуулагчид өөрчлөлт хийж + нэвтрэлт хийгдэх үед дэлгэцийн орчныг сонгож болдогоор + тохируулж болдог. + <link linkend="x11-wm-kde-details">КДЭ-н дэлгэрэнгүй</link> хэсэгт + <application>KДЭ</application>-н дэлгэцийн орчны + зохицуулагч <application>kdm</application> дээр хэрхэн үүнийг + хийдэг талаар тайлбарласан байгаа.</para> + </sect3> + + <sect3 id="x11-wm-gnome-antialias"> + <title>ГНОМ дээрх Anti-aliased үсгийн маягууд</title> + + <indexterm><primary>ГНОМ</primary> + <secondary>anti-aliased үсгийн маяг</secondary></indexterm> + <para>X11 нь өөрийнхөө <quote>RENDER</quote> өргөтгөлийг ашиглан + anti-aliased үсгийн маягийг харуулж байдаг. + GTK+ 2.0 болон түүнээс дээшхи хувилбар нь ( + <application>ГНОМ</application>-д хэрэглэгддэг багаж хэрэгсэл) + уг өргөтгөлийг ашиглаж чаддаг. anti-aliasing үсгийн маягийг + тохируулах талаар + <xref linkend="antialias"> хэсэгт өгүүлсэн байгаа. + Тэгэхээр програмаа шинэчлэснээр + <application>ГНОМ</application> орчинд anti-aliasing үсгийн + маяг хэрэглэгдэж болно. + <menuchoice> + <guimenu>Applications</guimenu> + <guisubmenu>Desktop Preferences</guisubmenu> + <guimenuitem>Font</guimenuitem></menuchoice> цэсийг сонгоод + түүнээс + <guibutton>Best shapes</guibutton>, + <guibutton>Best contrast</guibutton>, эсвэл + <guibutton>Subpixel smoothing (LCDs)</guibutton> гэдгийг сонгоход + л боллоо. <application>ГНОМ</application>-д харъяалагддаггүй + GTK+ програмуудад бол ажиллуулахаасаа өмнө + <varname>GDK_USE_XFT</varname> гэдэг орчны хувьсагчид + <literal>1</literal> гэсэн утга өгөөд дараа нь уг програмыг + ажиллуулбал болно.</para> + </sect3> + </sect2> + + <sect2 id="x11-wm-kde"> + <title>KДЭ</title> + + <indexterm><primary>KДЭ</primary></indexterm> + <sect3 id="x11-wm-kde-about"> + <title>KDE-н тухай</title> + + <para><application>KДЭ</application> бол хэрэглэхэд тун + амар орчин үеийн дэлгэцийн орчин юм. Хэрэглэгчид хэрэгтэй + <application>KДЭ</application>-н санал болгодог зарим зүйлс бол:</para> + + <itemizedlist> + <listitem> + <para>Орчин үеийн сайхан дэлгэцийн орчин</para> + </listitem> + + <listitem> + <para>Сүлжээгээр ажиллуулахад ямар ч хүндрэлгүй</para> + </listitem> + + <listitem> + <para><application>KДЭ</application> дэлгэцийн орчин болон + түүний програмуудад зориулж өөртөө агуулсан тусламжийн системтэй</para> + </listitem> + + <listitem> + <para> + <application>KДЭ</application>-н бүх програмууддаа тохирсон + загвар маягтай</para> + </listitem> + + <listitem> + <para>Стандартчлагдсан цэс болон багажит самбар, гарын товчлолууд, + өнгөний хүснэгт гэх мэтчилэн.</para> + </listitem> + + <listitem> + <para>Internationalization буюу олон хэлийн дэмжлэг: <application>KДЭ</application> + нь 40 гаран гадаад хэл дээр боломжтой</para> + </listitem> + + <listitem> + <para>Бүх дэлгэцийн орчны тохируулгыг төвлөрүүлсэн + цонхот загвартай тохиргоо хийх боломж</para> + </listitem> + + <listitem> + <para>Маш олон + <application>KДЭ</application> програмууд</para> + </listitem> + </itemizedlist> + + <para><application>KДЭ</application> нь + <application>Konqueror</application> нэртэй &unix; ертөнцөд + өрсөлдөөн ихтэй хөтлөгчүүдийн нэг болох вэб хөтлөгчтэй хамт ирдэг. + <application>KДЭ</application>-н талаарх дэлгэрэнгүй мэдээллийг + <ulink url="http://www.kde.org/">KDE + вэб хуудаснаас </ulink> харж болно. + <application>KДЭ</application>-тэй холбоотой эх үүсвэрүүд болон FreeBSD-тэй холбоотой тусгай мэдээллийг + <ulink url="http://freebsd.kde.org/">FreeBSD-KDE + багийн</ulink> вэб хуудаснаас лавлах хэрэгтэй.</para> + </sect3> + + <sect3 id="x11-wm-kde-install"> + <title>КДЭ-г суулгах нь</title> + + <para><application>ГНОМ</application> болон бусад дэлгэцийн орчны + програмуудыг суулгадаг шиг КДЭ-г суулгах хамгийн хялбар арга бол FreeBSD-г + суулгах тухай + Бүлэг 2-н <xref linkend="default-desktop"> хэсэгт + тайлбарлаж байсан + <quote>Desktop Configuration</quote> цэснээс суулгах явдал юм. + Ахин хэлье, уг програмыг мөн багц юм уу портын цуглуулга ашиглан + амархан суулгаж болно:</para> + + <para>Сүлжээгээр <application>KДЭ</application>-г багц хэлбэрээр + суулгана гэвэл дараах тушаалыг өгөхөд л болно:</para> + + <screen>&prompt.root; <userinput>pkg_add -r kde</userinput></screen> + + <para>&man.pkg.add.1; автоматаар уг програмын сүүлийн хувилбарыг нь + нөхөж суулгах болно.</para> + + <para><application>KДЭ</application>-г порт цуглуулганаас + эх бичлэгээс нь хөрвүүлж суулгана гэвэл:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11/kde3</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para> <application>KДЭ</application> суугдсаны дараа + Х серверт анхдагч цонх зохицуулагчийн оронд КДЭ-г + ажиллуулна гэж зааж өгөх хэрэгтэй. Үүний тулд + <filename>.xinitrc</filename> файлыг дараах аргаар + засварлаж мөн болно:</para> + + <screen>&prompt.user; <userinput>echo "exec startkde" > ~/.xinitrc</userinput></screen> + + <para>Одоо ингээд + <command>startx</command> тушаалыг ажиллуулбал + <application>KДЭ</application> дэлгэцийн орчин эхлэх болно.</para> + + <para>Хэрэв урьд нь + <application>XDM</application> зэрэг өөр дэлгэцийн + орчин хэрэглэгдэж байсан бол тохируулга арай өөр байх + болно. Тэр үед + <filename>.xsession</filename> файлыг засварлах хэрэгтэй. + Энэ бүлгийн сүүл хэсэгт + <application>kdm</application>-н талаар зааварласан байгаа.</para> + </sect3> + </sect2> + + <sect2 id="x11-wm-kde-details"> + <title> KDE-н талаар дэлгэрэнгүй</title> + + <para>Одоо <application>KДЭ</application> суугдсан байгаа + болохоор ихэнх зүйлсийг та тусламжийн системийг нь ашиглан + нээж олох юм уу эсвэл зүгээр л цэснүүд дээр дарж туршиж + болох юм. + &windows; эсвэл &mac; төрлийн хэрэглэгчдэд + бол бараг гэртээ байгаа юм шиг л сэтгэгдэл төрөх байх.</para> + + <para><application>KДЭ</application>-н хамгийн сайн заавар бичиг + баримтууд интернэт дээр бий. <application>KДЭ</application> + өөртэйгөө хамт + <application>Konqueror</application> хөтлөгч мөн маш + олон програм болон өргөжүүлсэн бичиг баримтуудтай ирдэг. Бүлгийн + үлдсэн хэсэгт санамсаргүй нээж олсон ч гэсэн сурахад хүндрэлтэй + техникийн зарим асуудлуудыг зааварчлах болно.</para> + + <sect3 id="x11-wm-kde-kdm"> + <title>KDE Display Manager буюу КДЭ-н дэлгэцийн зохицуулагч</title> + + <indexterm><primary>KДЭ</primary> + <secondary>дэлгэц зохицуулагч</secondary></indexterm> + <para>Олон хэрэглэгчтэй системийн администратор + хэрэглэгчдэд график нэвтрэх горим хэрэглэхийг хүсдэг. + Өмнө тайлбарласны дагуу + <link linkend="x-xdm">XDM</link> ийм зорилгоор бас хэрэглэгдэж + болно. Гэхдээ + <application>KДЭ</application> бас үүнтэй ижил үүрэг + гүйцэтгэж чадах <application>kdm</application> нэртэй + харагдац сайтай эвтэйхэн нэвтрэх хэсгийг санал болгодог. + Мөн хэрэглэгч бүр уг зохицуулагчийн цэснээс ямар дэлгэцийн орчинд + холбогдохоо (<application>KДЭ</application>, + <application>ГНОМ</application>, эсвэл бусад өөр) нэвтрэх үедээ + сонгож болдог.</para> + + <para><application>kdm</application>-г идэвхжүүлэхийн тулд + <filename>/etc/ttys</filename> файлд буй + <literal>ttyv8</literal> гэсэн оруулгатай хэсэг дараах маягаар + өөрчлөгдөх ёстой:</para> + + <programlisting>ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure</programlisting> + </sect3> + + </sect2> + + <sect2 id="x11-wm-xfce"> + <title>XFce</title> + <sect3 id="x11-wm-xfce-about"> + <title> XFce-н тухай</title> + + <para><application>XFce</application> нь + <application>ГНОМ</application> дээр хэрэглэгддэг + GTK+ хэрэгсэл дээр үндэслэгдсэн дэлгэцийн орчин бөгөөд хэрэглэхэд + маш хөнгөн амархан тохируулгатай билээ. Өнгөц харахад + &unix; системүүд дээр байдаг үнэтэй зарагддаг + <application>CDE</application> дэлгэцийн орчинтой + төсөөтэй. <application>XFce</application>-н зарим + шинж чанарыг дурдвал:</para> + + <itemizedlist> + <listitem> + <para>Дэлгэцийн орчинд ажиллахад тун амар хялбаршуулсан</para> + </listitem> + + <listitem> + <para>Хулганы чирж тавих үйлдэл зэрэгт бүрэн тохируулагдсан + </para> + </listitem> + + <listitem> + <para>Цэс болон програм ачаалах үндсэн самбар нь + <application>CDE</application>-тэй ижил</para> + </listitem> + + <listitem> + <para>Цонх зохицуулагч, файл зохицуулагч, дууны оролт гаралтыг + зохицуулагч, + <application>ГНОМ</application>-н дэмжлэгтэй програмуудыг + ажиллуулах тохиромж зэрэг олон зүйлсийг багтаасан</para> + </listitem> + + <listitem> + <para>Орчноо өөрчилж болдог (GTK+ дэмжлэгтэй учраас)</para> + </listitem> + + <listitem> + <para>Түргэн, хөнгөн үр бүтээлтэй болохоор санах ойн хязгаарлалтай + удаан машинуудад тун тохиромжтой.</para> + </listitem> + </itemizedlist> + + <para> <application>XFce</application>-н дэлгэрэнгүй мэдээллийг + <ulink url="http://www.xfce.org/">XFce + вэб хуудаснаас</ulink> хараарай.</para> + </sect3> + + <sect3 id="x11-wm-xfce-install"> + <title> XFce-г суулгах нь</title> + + <para><application>XFce</application>-н багц хувилбар + (үүнийг бичиж байх үед) байдаг. Суулгахын тулд ердөө л:</para> + + <screen>&prompt.root; <userinput>pkg_add -r xfce4</userinput></screen> + + <para>Мөн портын цуглуулга дотроос эх бичлэгээс нь хөрвүүлж суулгаж болно:</para> + + <screen>&prompt.root; <userinput>cd /usr/ports/x11-wm/xfce4</userinput> +&prompt.root; <userinput>make install clean</userinput></screen> + + <para>Одоо Х серверт Х орчныг эхлүүлэх үед + <application>XFce</application>-г ажиллуул гэж зааж өгөхийн тулд:</para> + + <screen>&prompt.user; <userinput>echo "/usr/local/bin/startxfce4" > ~/.xinitrc</userinput></screen> + + <para>Дараагийн удаа Х эхлэх үед + <application>XFce</application> нь дэлгэцийн орчин болсон байна. + Мөн өмнөх орчнуудтай ижил, хэрэв + <application>XDM</application> зэрэг өөр орчин урьд нь + хэрэглэгдэж байсан бол + <filename>.xsession</filename> файлыг үүсгээд + <link linkend="x11-wm-gnome">ГНОМ</link> хэсэгт тайлбарласан шиг + гэхдээ <filename>/usr/local/bin/startxfce4</filename> гэсэн утгыг + оруулах юм уу эсвэл + нэвтрэх үед сонгогдохоор болгож тохируулахыг хүсвэл + <link linkend="x11-wm-kde-kdm">kdm</link> хэсэгт тайлбарласны + дагуу хийх хэрэгтэй.</para> + </sect3> + </sect2> + </sect1> + +</chapter> + +<!-- + Local Variables: + mode: sgml + sgml-declaration: "../chapter.decl" + sgml-indent-data: t + sgml-omittag: nil + sgml-always-quote-attributes: t + sgml-parent-document: ("../book.sgml" "part" "chapter") + End: +--> diff --git a/mn_MN.UTF-8/share/mk/doc.local.mk b/mn_MN.UTF-8/share/mk/doc.local.mk new file mode 100644 index 0000000000..8b194595f9 --- /dev/null +++ b/mn_MN.UTF-8/share/mk/doc.local.mk @@ -0,0 +1,9 @@ +# $FreeBSD$ +# +# The FreeBSD Mongolian Documentation Project +# +# Original revision 1.1 +# + +SP_ENCODING?= ${LANGCODE:C,^.*\.,,} + diff --git a/mn_MN.UTF-8/share/sgml/bookinfo.ent b/mn_MN.UTF-8/share/sgml/bookinfo.ent new file mode 100644 index 0000000000..33937c6cf0 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/bookinfo.ent @@ -0,0 +1,21 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.4 + + $FreeBSD$ + + References to other files that can be included within a DocBook + BookInfo element. + + Entity names take the form "bookinfo.<element>", where <element> is + the name of the outermost element in the entity. Examples would + be "bookinfo.legalnotice", and "bookinfo.preface". + +--> + +<!ENTITY bookinfo.legalnotice SYSTEM "legalnotice.sgml"> + +<!ENTITY bookinfo.trademarks SYSTEM "trademarks.sgml"> + +<!ENTITY bookinfo.freebsd-glossary SYSTEM "glossary/freebsd-glossary.sgml"> diff --git a/mn_MN.UTF-8/share/sgml/books.ent b/mn_MN.UTF-8/share/sgml/books.ent new file mode 100644 index 0000000000..50154b512a --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/books.ent @@ -0,0 +1,30 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision: 1.2 (doc/share/sgml) + + $FreeBSD$ +--> + +<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> +%man; +<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//MN"> +%bookinfo; +<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN"> +%freebsd; +<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN"> +%authors; +<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//MN"> +%teams; +<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//MN"> +%mailing-lists; +<!ENTITY % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//MN"> +%newsgroups; +<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//MN"> +%trademarks; +<!ENTITY % l10n PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN"> +%l10n; +<!ENTITY % l10n-common PUBLIC "-//FreeBSD//ENTITIES DocBook Language Neutral Entities//EN"> +%l10n-common; +<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN"> +%urls; diff --git a/mn_MN.UTF-8/share/sgml/catalog b/mn_MN.UTF-8/share/sgml/catalog new file mode 100644 index 0000000000..b7923c876a --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/catalog @@ -0,0 +1,42 @@ + -- ...................................................................... -- + -- FreeBSD SGML Public Identifiers ...................................... -- + + -- ...................................................................... -- + -- Mongolian specific ..................................................... -- + + -- ...................................................................... -- + -- The FreeBSD Mongolian Documentation Project + -- ...................................................................... -- + -- + -- + -- ...................................................................... -- + -- Original revision: 1.5 + -- $FreeBSD$ + -- ...................................................................... -- + +PUBLIC "-//FreeBSD//DOCUMENT DocBook Stylesheet//EN" + "freebsd.dsl" + +PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Books Entity Set//EN" + "books.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//MN" + "mailing-lists.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN" + "l10n.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//MN" + "bookinfo.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//MN" + "newsgroups.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//MN" + "teams.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//MN" + "trademarks.ent" + +PUBLIC "-//FreeBSD//ENTITIES DocBook Mongolian Translators Entities//MN" + "translators.ent" diff --git a/mn_MN.UTF-8/share/sgml/freebsd.dsl b/mn_MN.UTF-8/share/sgml/freebsd.dsl new file mode 100644 index 0000000000..2191461197 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/freebsd.dsl @@ -0,0 +1,273 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.22 + + $FreeBSD$ +--> + +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ +<!ENTITY freebsd.dsl PUBLIC "-//FreeBSD//DOCUMENT DocBook Language Neutral Stylesheet//EN" CDATA DSSSL> +<!ENTITY % lang.mn.dsssl "IGNORE"> + +<!ENTITY % freebsd.l10n PUBLIC "-//FreeBSD//ENTITIES DocBook Language Specific Entities//EN"> +%freebsd.l10n; + +<!ENTITY % output.html "IGNORE"> +<!ENTITY % output.print "IGNORE"> +<!ENTITY % output.print.niceheaders "IGNORE"> +]> + +<style-sheet> + <style-specification use="docbook"> + <style-specification-body> + <!-- HTML only .................................................... --> + + <![ %output.html; [ + + <![ %lang.mn.dsssl; [ + (define %gentext-language% "mn") + ]]> + + <!-- Generate links to HTML man pages --> + (define %refentry-xref-link% #t) + + (define ($email-footer$) + (make sequence + (make element gi: "p" + attributes: (list (list "align" "center")) + (make element gi: "small" + (literal "Энэ болон бусад баримтуудыг ") + (create-link + (list (list "HREF" "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/")) + (literal "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/")) + (literal " хаягаас татаж авч болно."))) + (make element gi: "p" + attributes: (list (list "align" "center")) + (make element gi: "small" + (literal "FreeBSD-ийн талаар <") + (create-link + (list (list "HREF" "mailto:questions@FreeBSD.org")) + (literal "questions@FreeBSD.org")) + (literal "> хаягтай холбоо барихаасаа өмнө ") + (create-link + (list (list "HREF" "http://www.FreeBSD.org/docs.html")) + (literal "баримтыг")) + (literal " уншина уу.") + (make empty-element gi: "br") + (literal "Энэ бичиг баримттай холбоотой асуулт байвал <") + (create-link (list (list "HREF" "mailto:doc@FreeBSD.org")) + (literal "doc@FreeBSD.org")) + (literal "> хаягаар цахим захидал явуулна уу.") + (make empty-element gi: "br") + (literal "Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <") + (create-link (list (list "HREF" "mailto:admin@mnbsd.org")) + (literal "admin@mnbsd.org")) + (literal "> хаягаар цахим захидал явуулна уу."))))) + ]]> + + <!-- More aesthetically pleasing chapter headers for print output --> + + <![ %output.print.niceheaders; [ + + (define niceheader-rule-spacebefore (* (HSIZE 5) %head-before-factor%)) + (define niceheader-rule-spaceafter 0pt) + + (define ($component-title$) + (let* ((info (cond + ((equal? (gi) (normalize "appendix")) + (select-elements (children (current-node)) (normalize "docinfo"))) + ((equal? (gi) (normalize "article")) + (node-list-filter-by-gi (children (current-node)) + (list (normalize "artheader") + (normalize "articleinfo")))) + ((equal? (gi) (normalize "bibliography")) + (select-elements (children (current-node)) (normalize "docinfo"))) + ((equal? (gi) (normalize "chapter")) + (select-elements (children (current-node)) (normalize "docinfo"))) + ((equal? (gi) (normalize "dedication")) + (empty-node-list)) + ((equal? (gi) (normalize "glossary")) + (select-elements (children (current-node)) (normalize "docinfo"))) + ((equal? (gi) (normalize "index")) + (select-elements (children (current-node)) (normalize "docinfo"))) + ((equal? (gi) (normalize "preface")) + (select-elements (children (current-node)) (normalize "docinfo"))) + ((equal? (gi) (normalize "reference")) + (select-elements (children (current-node)) (normalize "docinfo"))) + ((equal? (gi) (normalize "setindex")) + (select-elements (children (current-node)) (normalize "docinfo"))) + (else + (empty-node-list)))) + (exp-children (if (node-list-empty? info) + (empty-node-list) + (expand-children (children info) + (list (normalize "bookbiblio") + (normalize "bibliomisc") + (normalize "biblioset"))))) + (parent-titles (select-elements (children (current-node)) (normalize "title"))) + (info-titles (select-elements exp-children (normalize "title"))) + (titles (if (node-list-empty? parent-titles) + info-titles + parent-titles)) + (subtitles (select-elements exp-children (normalize "subtitle")))) + (make sequence + (make paragraph + font-family-name: %title-font-family% + font-weight: 'bold + font-size: (HSIZE 4) + line-spacing: (* (HSIZE 4) %line-spacing-factor%) + space-before: (* (HSIZE 4) %head-before-factor%) + start-indent: 0pt + first-line-start-indent: 0pt + quadding: %component-title-quadding% + heading-level: (if %generate-heading-level% 1 0) + keep-with-next?: #t + + (if (string=? (element-label) "") + (empty-sosofo) + (literal (gentext-element-name-space (current-node)) + (element-label) + (gentext-label-title-sep (gi))))) + (make paragraph + font-family-name: %title-font-family% + font-weight: 'bold + font-posture: 'italic + font-size: (HSIZE 6) + line-spacing: (* (HSIZE 6) %line-spacing-factor%) +; space-before: (* (HSIZE 5) %head-before-factor%) + start-indent: 0pt + first-line-start-indent: 0pt + quadding: %component-title-quadding% + heading-level: (if %generate-heading-level% 1 0) + keep-with-next?: #t + + (if (node-list-empty? titles) + (element-title-sosofo) ;; get a default! + (with-mode component-title-mode + (make sequence + (process-node-list titles))))) + + (make paragraph + font-family-name: %title-font-family% + font-weight: 'bold + font-posture: 'italic + font-size: (HSIZE 3) + line-spacing: (* (HSIZE 3) %line-spacing-factor%) + space-before: (* 0.5 (* (HSIZE 3) %head-before-factor%)) + space-after: (* (HSIZE 4) %head-after-factor%) + start-indent: 0pt + first-line-start-indent: 0pt + quadding: %component-subtitle-quadding% + keep-with-next?: #t + + (with-mode component-title-mode + (make sequence + (process-node-list subtitles)))) + + (if (equal? (gi) (normalize "index")) + (empty-sosofo) + (make rule + length: %body-width% + display-alignment: 'start + space-before: niceheader-rule-spacebefore + space-after: niceheader-rule-spaceafter + line-thickness: 0.5pt))))) + + (element authorgroup + (empty-sosofo)) + + ]]> + + <!-- Print only ................................................... --> + + <![ %output.print; [ + + (define minimal-section-labels #f) + (define max-section-level-labels + (if minimal-section-labels 3 10)) + + (define ($section-title$) + (let* ((sect (current-node)) + (info (info-element)) + (exp-children (if (node-list-empty? info) + (empty-node-list) + (expand-children (children info) + (list (normalize "bookbiblio") + (normalize "bibliomisc") + (normalize "biblioset"))))) + (parent-titles (select-elements (children sect) (normalize "title"))) + (info-titles (select-elements exp-children (normalize "title"))) + (titles (if (node-list-empty? parent-titles) + info-titles + parent-titles)) + (subtitles (select-elements exp-children (normalize "subtitle"))) + (renderas (inherited-attribute-string (normalize "renderas") sect)) + (hlevel ;; the apparent section level; + (if renderas ;; if not real section level, + (string->number ;; then get the apparent level + (substring renderas 4 5)) ;; from "renderas", + (SECTLEVEL))) ;; else use the real level + (hs (HSIZE (- 4 hlevel)))) + + (make sequence + (make paragraph + font-family-name: %title-font-family% + font-weight: (if (< hlevel 5) 'bold 'medium) + font-posture: (if (< hlevel 5) 'upright 'italic) + font-size: hs + line-spacing: (* hs %line-spacing-factor%) + space-before: (* hs %head-before-factor%) + space-after: (if (node-list-empty? subtitles) + (* hs %head-after-factor%) + 0pt) + start-indent: (if (or (>= hlevel 3) + (member (gi) (list (normalize "refsynopsisdiv") + (normalize "refsect1") + (normalize "refsect2") + (normalize "refsect3")))) + %body-start-indent% + 0pt) + first-line-start-indent: 0pt + quadding: %section-title-quadding% + keep-with-next?: #t + heading-level: (if %generate-heading-level% (+ hlevel 1) 0) + ;; SimpleSects are never AUTO numbered...they aren't hierarchical + (if (> hlevel (- max-section-level-labels 1)) + (empty-sosofo) + (if (string=? (element-label (current-node)) "") + (empty-sosofo) + (literal (element-label (current-node)) + (gentext-label-title-sep (gi sect))))) + (element-title-sosofo (current-node))) + (with-mode section-title-mode + (process-node-list subtitles)) + ($section-info$ info)))) + + ]]> + + <!-- Both sets of stylesheets ..................................... --> + + (define (local-en-label-title-sep) + (list + (list (normalize "warning") ": ") + (list (normalize "caution") ": ") + (list (normalize "chapter") " ") + (list (normalize "sect1") " ") + (list (normalize "sect2") " ") + (list (normalize "sect3") " ") + (list (normalize "sect4") " ") + (list (normalize "sect5") " ") + )) + + (define (local-mn-label-title-sep) + (list + (list (normalize "warning") ": ") + (list (normalize "caution") ": ") + )) + + </style-specification-body> + </style-specification> + + <external-specification id="docbook" document="freebsd.dsl"> +</style-sheet> diff --git a/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml b/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml new file mode 100644 index 0000000000..4a5552d8b0 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml @@ -0,0 +1,1931 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.26 + + $FreeBSD$ + + FreeBSD Glossary Terms + Please keep this file sorted alphabetically/ASCIIly by glossterm. + + glossterms that are acronyms should have two entries - one for + the expanded acronym and another for the acronym itself. The + second of these should reference the entry for the expanded acronym + via a glosssee element. For example: + + <glossentry> + <glossterm>FUBAR</glossterm> + <glosssee otherterm="fubar-glossary"> + </glossentry> + + <glossentry id="fubar-glossary"> + <glossterm>Fuc... Up Beyond All Recognition</glossterm> + <acronym>FUBAR</acronym> + <glossdef> + <para>Broken.</para> + </glossdef> + </glossentry> + + Note that in this instance, the expanded acronym sorts below the + unexpanded acronym. That's OK. + + Finally, id attribute values should end in the string + "-glossary" to avoid conflicting with id attribute values in + the main text. + +--> + +<glossary status="draft" id="freebsd-glossary"> + <title>&os; Нэр томъёо</title> + <para>Энэ нэр томъёо нь &os;-ийн хүрээнийхэн болон баримтжуулалтад ашигласан + ухагдахуунууд ба товчлолуудыг агуулдаг.</para> + + <glossdiv> + <title>A</title> + + <glossentry> + <glossterm>ACL</glossterm> + <glosssee otherterm="acl-glossary"> + </glossentry> + + <glossentry> + <glossterm>ACPI</glossterm> + <glosssee otherterm="acpi-glossary"> + </glossentry> + + <glossentry> + <glossterm>AMD</glossterm> + <glosssee otherterm="amd-glossary"> + </glossentry> + + <glossentry> + <glossterm>AML</glossterm> + <glosssee otherterm="aml-glossary"> + </glossentry> + + <glossentry> + <glossterm>API</glossterm> + <glosssee otherterm="api-glossary"> + </glossentry> + + <glossentry> + <glossterm>APIC</glossterm> + <glosssee otherterm="apic-glossary"> + </glossentry> + + <glossentry> + <glossterm>APM</glossterm> + <glosssee otherterm="apm-glossary"> + </glossentry> + + <glossentry> + <glossterm>APOP</glossterm> + <glosssee otherterm="apop-glossary"> + </glossentry> + + <glossentry> + <glossterm>ASL</glossterm> + <glosssee otherterm="asl-glossary"> + </glossentry> + + <glossentry> + <glossterm>ATA</glossterm> + <glosssee otherterm="ata-glossary"> + </glossentry> + + <glossentry> + <glossterm>ATM</glossterm> + <glosssee otherterm="atm-glossary"> + </glossentry> + + <glossentry id="aml-glossary"> + <glossterm><acronym>ACPI</acronym> Machine Language</glossterm> + <acronym>AML</acronym> + <glossdef> + <para>Доор нь орших тоног төхөөрөмж болон <acronym>OS</acronym>-д + танилцуулсан баримтжуулагдсан интерфэйсийн хооронд давхаргын боломжийг + бий болгодог, <acronym>ACPI</acronym>-д нийцтэй үйлдлийн систем дэх + виртуал машинаар тайлбарлагддаг псевдокод.</para> + </glossdef> + </glossentry> + + <glossentry id="asl-glossary"> + <glossterm><acronym>ACPI</acronym> Source Language</glossterm> + <acronym>ASL</acronym> + <glossdef> + <para><acronym>AML</acronym>-ийн бичигдсэн програмчлалын хэл.</para> + </glossdef> + </glossentry> + + <glossentry id="acl-glossary"> + <glossterm>Access Control List</glossterm> + <acronym>ACL</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="acpi-glossary"> + <glossterm>Advanced Configuration and Power Interface</glossterm> + <acronym>ACPI</acronym> + <glossdef> + <para>Үйлдлийн систем нь тоног төхөөрөмжийг ашиглахын тулд түүний талаар юу ч мэдэх + шаардлагагүй болгодог, тоног төхөөрөмжийн үйлдлийн системд танилцуулах + интерфэйсийн хийсвэрлэлтийн боломжийг олгодог тодорхойлолт. + <acronym>ACPI</acronym> нь <acronym>APM</acronym>, <acronym>PNPBIOS</acronym> + болон бусад технологиудын өмнө нь хангадаг байсан ажиллагааг сайжруулж орлодог бөгөөд + тэжээлийн хэрэглээ, машины зогсоолт, төхөөрөмж идэвхжүүлэх болон болиулах гэх мэтийг + хянахад зориулсан боломжуудыг бий болгодог.</para> + </glossdef> + </glossentry> + + <glossentry id="api-glossary"> + <glossterm>Application Programming Interface</glossterm> + <acronym>API</acronym> + <glossdef> + <para>Нэг буюу хэд хэдэн програмын хэсгүүдийн зөвшөөрөгдсөн харилцан + үйлдлийг заадаг процедурууд, протоколууд болон хэрэгслүүдийн олонлог. + Хэрхэн, хэзээ тэдгээр нь цуг ажилладаг болон ямар өгөгдлийг хуваалцдаг + эсвэл ажилладаг зэрэг үйлдлийг заадаг.</para> + </glossdef> + </glossentry> + + <glossentry id="apm-glossary"> + <glossterm>Advanced Power Management</glossterm> + <acronym>APM</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="apic-glossary"> + <glossterm>Advanced Programmable Interrupt Controller</glossterm> + <acronym>APIC</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ata-glossary"> + <glossterm>Advanced Technology Attachment</glossterm> + <acronym>ATA</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="atm-glossary"> + <glossterm>Asynchronous Transfer Mode</glossterm> + <acronym>ATM</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="apop-glossary"> + <glossterm>Authenticated Post Office Protocol</glossterm> + <acronym>APOP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="amd-glossary"> + <glossterm>Automatic Mount Daemon</glossterm> + <acronym>AMD</acronym> + <glossdef> + <para>Файлын систем дэх файл эсвэл санд хандахад файлын системийг + автоматаар холбодог демон.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>B</title> + + <glossentry> + <glossterm>BAR</glossterm> + <glosssee otherterm="bar-glossary"> + </glossentry> + + <glossentry> + <glossterm>BIND</glossterm> + <glosssee otherterm="bind-glossary"> + </glossentry> + + <glossentry> + <glossterm>BIOS</glossterm> + <glosssee otherterm="bios-glossary"> + </glossentry> + + <glossentry> + <glossterm>BSD</glossterm> + <glosssee otherterm="bsd-glossary"> + </glossentry> + + <glossentry id="bar-glossary"> + <glossterm>Base Address Register</glossterm> + <acronym>BAR</acronym> + <glossdef> + <para>Аль хаягийн хүрээнд PCI төхөөрөмж хариулахыг тодорхойлдог + регистрүүд.</para> + </glossdef> + </glossentry> + + <glossentry id="bios-glossary"> + <glossterm>Basic Input/Output System</glossterm> + <acronym>BIOS</acronym> + <glossdef> + <para><acronym>BIOS</acronym>-ийн тодорхойлолт нь хам сэдвээс баг + зэрэг хамаарна. Зарим хүмүүс үүнийг програм хангамж болон тоног төхөөрөмжийн + хоорондох интерфэйсийн боломжийг үзүүлдэг, үндсэн хэв журмуудын олонлог бүхий + <acronym>ROM</acronym> бичил схем гэж үздэг. Зарим нь үүнийг + системийг эхлүүлэхэд тусалдаг бичил схемд байгаа хэв журмуудын олонлог гэж + үздэг. Зарим нь бас үүнийг эхлүүлэх процессийг тохируулахад хэрэглэгддэг + дэлгэц гэж үздэг. <acronym>BIOS</acronym> нь PC-д зөвхөн хамааралтай + боловч бусад системүүдэд үүнтэй төсөөтэй байдаг.</para> + </glossdef> + </glossentry> + + <glossentry id="bind-glossary"> + <glossterm>Berkeley Internet Name Domain</glossterm> + <acronym>BIND</acronym> + <glossdef> + <para><acronym>DNS</acronym> протоколуудын шийдэл.</para> + </glossdef> + </glossentry> + + <glossentry id="bsd-glossary"> + <glossterm>Berkeley Software Distribution</glossterm> + <acronym>BSD</acronym> + <glossdef> + <para>Энэ нь <ulink url="http://www.berkeley.edu">Беркли дэх Калифорнийн + Их Сургуулийн</ulink> Computer Systems Research Group + (CSRG) буюу Компьютер Системийн Судалгааны Бүлгийн AT&T-ийн 32V &unix;-д хийсэн + өөрсдийн сайжруулалт болон өөрчлөлтүүдэд өгсөн нэр юм. &os; нь + CSRG-ийн ажлын үр удам юм.</para> + </glossdef> + </glossentry> + + <glossentry id="bikeshed-glossary"> + <glossterm>Bikeshed Building</glossterm> + <glossdef subject="FreeBSD"> + <para>Олон хүмүүс төвөггүй хялбар сэдвээр үзэл бодлоо илэрхийлдгээс гарах гоц + үзэгдэл, тэгвэл хэцүү төвөгтэй сэдэв бага эсвэл бүр огт хэлэлцдэггүй. + Энэ ухагдахууны эхийн талаар + <ulink url="&url.books.faq;/misc.html#BIKESHED-PAINTING">FAQ</ulink> + хаягаас үзнэ үү.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>C</title> + + <glossentry> + <glossterm>CD</glossterm> + <glosssee otherterm="cd-glossary"> + </glossentry> + + <glossentry> + <glossterm>CHAP</glossterm> + <glosssee otherterm="chap-glossary"> + </glossentry> + + <glossentry> + <glossterm>CLIP</glossterm> + <glosssee otherterm="clip-glossary"> + </glossentry> + + <glossentry> + <glossterm>COFF</glossterm> + <glosssee otherterm="coff-glossary"> + </glossentry> + + <glossentry> + <glossterm>CPU</glossterm> + <glosssee otherterm="cpu-glossary"> + </glossentry> + + <glossentry> + <glossterm>CTS</glossterm> + <glosssee otherterm="cts-glossary"> + </glossentry> + + <glossentry> + <glossterm>CVS</glossterm> + <glosssee otherterm="cvs-glossary"> + </glossentry> + + <glossentry id="cd-glossary"> + <glossterm>Carrier Detect</glossterm> + <acronym>CD</acronym> + <glossdef> + <para>Зөөгч илрүүлэгдсэн гэдгийг заах RS232C дохио.</para> + </glossdef> + </glossentry> + + <glossentry id="cpu-glossary"> + <glossterm>Central Processing Unit</glossterm> + <acronym>CPU</acronym> + <glossdef> + <para>Процессор гэж бас хэлэгддэг. Энэ нь бүх тооцоолол болдог компьютерийн + тархи юм. Өөр өөр үйлдлүүдийн олонлогуудтай хэд хэдэн өөр өөр архитектурууд + байдаг. Арай илүү алдартайгаас дурдвал Intel-x86 болон түүнээс уламжлагчид, + Sun SPARC, PowerPC, болон Alpha нар юм.</para> + </glossdef> + </glossentry> + + <glossentry id="chap-glossary"> + <glossterm>Challenge Handshake Authentication Protocol</glossterm> + <acronym>CHAP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="clip-glossary"> + <glossterm>Classical <acronym>IP</acronym> over <acronym>ATM</acronym></glossterm> + <acronym>CLIP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="cts-glossary"> + <glossterm>Clear To Send</glossterm> + <acronym>CTS</acronym> + <glossdef> + <para>Алсын системд өгөгдөл илгээх зөвшөөрөл өгдөг RS232C дохио.</para> + </glossdef> + </glossentry> + + <glossentry id="coff-glossary"> + <glossterm>Common Object File Format</glossterm> + <acronym>COFF</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="cvs-glossary"> + <glossterm>Concurrent Versions System</glossterm> + <acronym>CVS</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>D</title> + + <glossentry> + <glossterm>DAC</glossterm> + <glosssee otherterm="dac-glossary"> + </glossentry> + + <glossentry> + <glossterm>DDB</glossterm> + <glosssee otherterm="ddb-glossary"> + </glossentry> + + <glossentry> + <glossterm>DES</glossterm> + <glosssee otherterm="des-glossary"> + </glossentry> + + <glossentry> + <glossterm>DHCP</glossterm> + <glosssee otherterm="dhcp-glossary"> + </glossentry> + + <glossentry> + <glossterm>DNS</glossterm> + <glosssee otherterm="dns-glossary"> + </glossentry> + + <glossentry> + <glossterm>DSDT</glossterm> + <glosssee otherterm="dsdt-glossary"> + </glossentry> + + <glossentry> + <glossterm>DSR</glossterm> + <glosssee otherterm="dsr-glossary"> + </glossentry> + + <glossentry> + <glossterm>DTR</glossterm> + <glosssee otherterm="dtr-glossary"> + </glossentry> + + <glossentry> + <glossterm>DVMRP</glossterm> + <glosssee otherterm="dvmrp-glossary"> + </glossentry> + + <glossentry id="dac-glossary"> + <glossterm>Discretionary Access Control</glossterm> + <acronym>DAC</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="des-glossary"> + <glossterm>Data Encryption Standard</glossterm> + <acronym>DES</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="dsr-glossary"> + <glossterm>Data Set Ready</glossterm> + <acronym>DSR</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="dtr-glossary"> + <glossterm>Data Terminal Ready</glossterm> + <acronym>DTR</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ddb-glossary"> + <glossterm>Debugger</glossterm> + <acronym>DDB</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="dsdt-glossary"> + <glossterm>Differentiated System Description Table</glossterm> + <acronym>DSDT</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="dvmrp-glossary"> + <glossterm>Distance-Vector Multicast Routing Protocol</glossterm> + <acronym>DVMRP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="dns-glossary"> + <glossterm>Domain Name System</glossterm> + <acronym>DNS</acronym> + <glossdef> + <para>Хүн уншиж чадах хостын нэрүүдийг (жишээ нь mail.example.net) + Интернет хаягууд уруу болон эсрэгээр хөрвүүлдэг систем.</para> + </glossdef> + </glossentry> + + <glossentry id="dhcp-glossary"> + <glossterm>Dynamic Host Configuration Protocol</glossterm> + <acronym>DHCP</acronym> + <glossdef> + <para>Компьютер серверээс IP хаяг хүсэх үед динамикаар IP хаяг олгодог + протокол. Хаягийн олголтыг <quote>lease</quote> буюу <quote>түрээслэлт</quote> + гэдэг.<para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>E</title> + + <glossentry> + <glossterm>ECOFF</glossterm> + <glosssee otherterm="ecoff-glossary"> + </glossentry> + + <glossentry> + <glossterm>ELF</glossterm> + <glosssee otherterm="elf-glossary"> + </glossentry> + + <glossentry> + <glossterm>ESP</glossterm> + <glosssee otherterm="esp-glossary"> + </glossentry> + + <glossentry id="esp-glossary"> + <glossterm>Encapsulated Security Payload</glossterm> + <acronym>ESP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="elf-glossary"> + <glossterm>Executable and Linking Format</glossterm> + <acronym>ELF</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ecoff-glossary"> + <glossterm>Extended <acronym>COFF</acronym></glossterm> + <acronym>ECOFF</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>F</title> + + <glossentry> + <glossterm>FADT</glossterm> + <glosssee otherterm="fadt-glossary"> + </glossentry> + + <glossentry> + <glossterm>FAT</glossterm> + <glosssee otherterm="fat-glossary"> + </glossentry> + + <glossentry> + <glossterm>FAT16</glossterm> + <glosssee otherterm="fat16-glossary"> + </glossentry> + + <glossentry> + <glossterm>FTP</glossterm> + <glosssee otherterm="ftp-glossary"> + </glossentry> + + <glossentry id="fat-glossary"> + <glossterm>File Allocation Table</glossterm> + <acronym>FAT</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="fat16-glossary"> + <glossterm>File Allocation Table (16-bit)</glossterm> + <acronym>FAT16</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ftp-glossary"> + <glossterm>File Transfer Protocol</glossterm> + <acronym>FTP</acronym> + <glossdef> + <para><acronym>TCP</acronym> дээр хийгдсэн өндөр түвшний протоколуудын + гэр бүлийн гишүүн. Энэ нь <acronym>TCP/IP</acronym> сүлжээгээр файлуудыг + дамжуулахад хэрэглэгддэг.</para> + </glossdef> + </glossentry> + + <glossentry id="fadt-glossary"> + <glossterm>Fixed <acronym>ACPI</acronym> Description Table</glossterm> + <acronym>FADT</acronym> + <glossdef> + <para></para> + </glossdef> + </glossdiv> + + <glossdiv> + <title>G</title> + + <glossentry> + <glossterm>GUI</glossterm> + <glosssee otherterm="gui-glossary"> + </glossentry> + + <glossentry id="giant-glossary"> + <glossterm>Giant</glossterm> + <glossdef subject="FreeBSD"> + <para>Цөмийн их хэмжээний эх үүсвэрүүдийг хамгаалдаг, харилцан гаргах + (mutual exclusion) арга замын (<literal>sleep mutex</literal> + буюу <literal>унтах mutex</literal>) нэр. Цөөн хэдэн процессуудтай, нэг + сүлжээний карттай, тэгээд мэдээж зөвхөн нэг процессортой машин байсан тэр + өдрүүдэд хялбар түгжих арга зам боломжийн байсан боловч өнөө үед + энэ нь хүлээж авч болохооргүй ажиллагааны гол асуудал юм. &os; + хөгжүүлэгчид хувь эх үүсвэрүүдийг хамгаалах түгжээнүүдээр (цоож) + үүнийг солихоор идэвхтэйгээр ажиллаж байгаа билээ. Ингэснээр + ганц процессор болон олон процессортой машинуудад илүү ихээр зэрэгцээгээр + ажиллах боломжийг олгох юм.</para> + </glossdef> + </glossentry> + + <glossentry id="gui-glossary"> + <glossterm>Graphical User Interface</glossterm> + <acronym>GUI</acronym> + <glossdef> + <para>Хэрэглэгч болон компьютер нь графикуудтай харилцдаг + систем.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>H</title> + + <glossentry> + <glossterm>HTML</glossterm> + <glosssee otherterm="html-glossary"> + </glossentry> + + <glossentry> + <glossterm>HUP</glossterm> + <glosssee otherterm="hup-glossary"> + </glossentry> + + <glossentry id="hup-glossary"> + <glossterm>HangUp</glossterm> + <acronym>HUP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="html-glossary"> + <glossterm>HyperText Markup Language</glossterm> + <acronym>HTML</acronym> + <glossdef> + <para>Вэб хуудсууд үүсгэхэд хэрэглэгддэг тэмдэглэх хэл.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>I</title> + + <glossentry> + <glossterm>I/O</glossterm> + <glosssee otherterm="io-glossary"> + </glossentry> + + <glossentry> + <glossterm>IASL</glossterm> + <glosssee otherterm="iasl-glossary"> + </glossentry> + + <glossentry> + <glossterm>IMAP</glossterm> + <glosssee otherterm="imap-glossary"> + </glossentry> + + <glossentry> + <glossterm>IP</glossterm> + <glosssee otherterm="ip-glossary"> + </glossentry> + + <glossentry> + <glossterm>IPFW</glossterm> + <glosssee otherterm="ipfw-glossary"> + </glossentry> + + <glossentry> + <glossterm>IPP</glossterm> + <glosssee otherterm="ipp-glossary"> + </glossentry> + + <glossentry> + <glossterm>IPv4</glossterm> + <glosssee otherterm="ipv4-glossary"> + </glossentry> + + <glossentry> + <glossterm>IPv6</glossterm> + <glosssee otherterm="ipv6-glossary"> + </glossentry> + + <glossentry> + <glossterm>ISP</glossterm> + <glosssee otherterm="isp-glossary"> + </glossentry> + + <glossentry id="ipfw-glossary"> + <glossterm><acronym>IP</acronym> Firewall</glossterm> + <acronym>IPFW</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ipv4-glossary"> + <glossterm><acronym>IP</acronym> Version 4</glossterm> + <acronym>IPv4</acronym> + <glossdef> + <para>Хаяглалтдаа 32 битийг ашигладаг <acronym>IP</acronym> протоколын + хувилбар 4. Энэ хувилбар нь одоо ч гэсэн өргөн хэрэглэгддэг боловч + <acronym>IPv6</acronym>-аар аажмаар солигдож байгаа.</para> + <glossseealso otherterm="ipv6-glossary"> + </glossdef> + </glossentry> + + <glossentry id="ipv6-glossary"> + <glossterm><acronym>IP</acronym> Version 6</glossterm> + <acronym>IPv6</acronym> + <glossdef> + <para>Шинэ <acronym>IP</acronym> протокол. <acronym>IPv4</acronym>-ийн + хаягийн талбар дуусаж байгаагаас болж зохион бүтээгдсэн. Хаяглалтдаа 128 + битийг ашигладаг.</para> + </glossdef> + </glossentry> + + <glossentry id="io-glossary"> + <glossterm>Input/Output</glossterm> + <acronym>I/O</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="iasl-glossary"> + <glossterm>Intel’s <acronym>ASL</acronym> compiler</glossterm> + <acronym>IASL</acronym> + <glossdef> + <para><acronym>ASL</acronym>-г <acronym>AML</acronym> руу + хүвиргах Intel’-ийн эмхэтгэгч.</para> + </glossdef> + </glossentry> + + <glossentry id="imap-glossary"> + <glossterm>Internet Message Access Protocol</glossterm> + <acronym>IMAP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ipp-glossary"> + <glossterm>Internet Printing Protocol</glossterm> + <acronym>IPP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ip-glossary"> + <glossterm>Internet Protocol</glossterm> + <acronym>IP</acronym> + <glossdef> + <para>Интернет дэх үндсэн пакет дамжуулах протокол. АНУ-ын Батлан Хамгаалахын + Хэлтэст анхлан хөгжүүлэгдсэн бөгөөд <acronym>TCP/IP + </acronym> стекийн туйлын чухал хэсэг юм. Интернет протоколгүйгээр + Интернет нь өнөөдрийнх шиг байхгүй байх байсан юм. Илүү мэдээллийг + <ulink url="ftp://ftp.rfc-editor.org/in-notes/rfc791.txt"> + RFC 791</ulink> хаягаас үзнэ үү.</para> + </glossdef> + </glossentry> + + <glossentry id="isp-glossary"> + <glossterm>Internet Service Provider</glossterm> + <acronym>ISP</acronym> + <glossdef> + <para>Интернет уруу хандах боломжийг олгодог компани.</para> + </glossdef> + </glossdiv> + + <glossdiv> + <title>K</title> + + <glossentry id="kame-glossary"> + <glossterm>KAME</glossterm> + <glossdef> + <para>Японоор <quote>яст мэлхий</quote> гэгддэг KAME ухагдахуун нь + тооцоолох хүрээнийхэнд <acronym>IPv6</acronym>-ийн шийдэл дээр + ажилладаг <ulink + url="http://www.kame.net/">KAME Төслийг</ulink> хэлэхэд + хэрэглэгддэг.</para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>KDC</glossterm> + <glosssee otherterm="kdc-glossary"> + </glossentry> + + <glossentry> + <glossterm>KLD</glossterm> + <glosssee otherterm="kld-glossary"> + </glossentry> + + <glossentry> + <glossterm>KSE</glossterm> + <glosssee otherterm="kse-glossary"> + </glossentry> + + <glossentry> + <glossterm>KVA</glossterm> + <glosssee otherterm="kva-glossary"> + </glossentry> + + <glossentry> + <glossterm>Kbps</glossterm> + <glosssee otherterm="kbps-glossary"> + </glossentry> + + <glossentry id="kld-glossary"> + <glossterm>Kernel &man.ld.1;</glossterm> + <acronym>KLD</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="kse-glossary"> + <glossterm>Kernel Scheduler Entities</glossterm> + <acronym>KSE</acronym> + <glossdef> + <para>Цөмөөр дэмжигдсэн урсгалжилтын (threading) систем. + Илүү мэдээллийг <ulink + url="http://www.FreeBSD.org/kse">төслийн гэрийн хуудас</ulink>наас + үзнэ үү.</para> + </glossdef> + </glossentry> + + <glossentry id="kva-glossary"> + <glossterm>Kernel Virtual Address</glossterm> + <acronym>KVA</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="kdc-glossary"> + <glossterm>Key Distribution Center</glossterm> + <acronym>KDC</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="kbps-glossary"> + <glossterm>Kilo Bits Per Second</glossterm> + <acronym>Kbps</acronym> + <glossdef> + <para>Урсгал (тухайн үед хичнээн хэмжээний өгөгдөл + өгөгдсөн хугацаанд дамжихыг хэлнэ) хэмжихэд хэрэглэгддэг. + Kilo-оос гадна Mega, Giga, Tera, гэх зэрэг байна.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>L</title> + + <glossentry> + <glossterm>LAN</glossterm> + <glosssee otherterm="lan-glossary"> + </glossentry> + + <glossentry> + <glossterm>LOR</glossterm> + <glosssee otherterm="lor-glossary"> + </glossentry> + + <glossentry> + <glossterm>LPD</glossterm> + <glosssee otherterm="lpd-glossary"> + </glossentry> + + <glossentry id="lpd-glossary"> + <glossterm>Line Printer Daemon</glossterm> + <acronym>LPD</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="lan-glossary"> + <glossterm>Local Area Network</glossterm> + <acronym>LAN</acronym> + <glossdef> + <para>Локал бүсэд хэрэглэгддэг сүлжээ. Локал бүсэд оффис, гэр гэх зэрэг орно. + </para> + </glossdef> + </glossentry> + + <glossentry id="lor-glossary"> + <glossterm>Lock Order Reversal</glossterm> + <acronym>LOR</acronym> + <glossdef> + <para>&os; цөм нь хэд хэдэн эх үүсвэрийн түгжээнүүдийг + тэдгээр эх үүсвэрүүдийн хувьд маргааныг шүүхийн тулд хэрэглэдэг. + &os.current; цөмүүдэд байдаг &man.witness.4; гэгддэг + ажиллах үеийн түгжээ оношлох систем (гэхдээ хувилбаруудын хувьд арилгасан) нь + түгжилт хийх алдаануудаас болж гарж болзошгүй амьгүй түгжээнүүдийг (deadlocks) + илрүүлдэг. (&man.witness.4; нь жинхэнэдээ нэлээн консерватив учраас + хуурамч алдаануудыг авах боломжтой юм.) Жинхэнэ зөв тайлан нь + <quote>хэрэв та азгүй байсан бол амьгүй түгжээ энд гарах байсан</quote> + гэдгийг заадаг.</para> + + <para>Жинхэнэ зөв LOR-уудыг ихэвчлэн хурдан засварладаг, тиймээс + захидлын жагсаалт руу илгээхээсээ өмнө &a.current.url; болон + <ulink url="http://sources.zabbadoz.net/freebsd/lor.html"> + Мэдэгдэж байгаа LOR-ууд</ulink> хуудсыг шалгана уу.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>M</title> + + <glossentry> + <glossterm>MAC</glossterm> + <glosssee otherterm="mac-glossary"> + </glossentry> + + <glossentry> + <glossterm>MADT</glossterm> + <glosssee otherterm="madt-glossary"> + </glossentry> + + <glossentry> + <glossterm>MFC</glossterm> + <glosssee otherterm="mfc-glossary"> + </glossentry> + + <glossentry> + <glossterm>MFP4</glossterm> + <glosssee otherterm="mfp4-glossary"> + </glossentry> + + <glossentry> + <glossterm>MFS</glossterm> + <glosssee otherterm="mfs-glossary"> + </glossentry> + + <glossentry> + <glossterm>MIT</glossterm> + <glosssee otherterm="mit-glossary"> + </glossentry> + + <glossentry> + <glossterm>MLS</glossterm> + <glosssee otherterm="mls-glossary"> + </glossentry> + + <glossentry> + <glossterm>MOTD</glossterm> + <glosssee otherterm="motd-glossary"> + </glossentry> + + <glossentry> + <glossterm>MTA</glossterm> + <glosssee otherterm="mta-glossary"> + </glossentry> + + <glossentry> + <glossterm>MUA</glossterm> + <glosssee otherterm="mua-glossary"> + </glossentry> + + <glossentry id="mta-glossary"> + <glossterm>Mail Transfer Agent</glossterm> + <acronym>MTA</acronym> + <glossdef> + <para>Цахим захидал дамжуулахад хэрэглэгддэг програм. <acronym>MTA</acronym> + нь уламжлалаар BSD үндсэн системийн хэсэг байсан. Өнөөдөр Sendmail нь үндсэн + системд ордог боловч postfix, qmail болон Exim зэрэг олон бусад + <acronym>MTA</acronym>-ууд байдаг.</para> + </glossdef> + </glossentry> + + <glossentry id="mua-glossary"> + <glossterm>Mail User Agent</glossterm> + <acronym>MUA</acronym> + <glossdef> + <para>Хэрэглэгчдийн цахим захидал харах болон бичихэд хэрэглэгдэг програм.</para> + </glossdef> + </glossentry> + + <glossentry id="mac-glossary"> + <glossterm>Mandatory Access Control</glossterm> + <acronym>MAC</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="mit-glossary"> + <glossterm>Massachusetts Institute of Technology</glossterm> + <acronym>MIT</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="mfc-glossary"> + <glossterm>Merge From Current</glossterm> + <acronym>MFC</acronym> + <glossdef subject="FreeBSD"> + <para>-CURRENT салбараас ажиллагаа эсвэл засварыг өөр бусад руу + ихэвчлэн -STABLE руу нийлүүлэх.</para> + </glossdef> + </glossentry> + + <glossentry id="mfp4-glossary"> + <glossterm>Merge From Perforce</glossterm> + <acronym>MFP4</acronym> + <glossdef subject="FreeBSD"> + <para>Perforce архиваас ажиллагаа эсвэл засварыг + CURRENT салбар руу нийлүүлэх.</para> + <glossseealso otherterm="perforce-glossary"> + </glossdef> + </glossentry> + + <glossentry id="mfs-glossary"> + <glossterm>Merge From Stable</glossterm> + <acronym>MFS</acronym> + <glossdef subject="FreeBSD"> + <para>FreeBSD-ийн хэвийн хөгжүүлэлтийн үеэр өөрчлөлт нь -STABLE руу + нийлүүлэгдэхээсээ өмнө тест хийх зорилгоор -CURRENT салбар руу + итгэмжлэн оруулагддаг. Ховор тохиолдолд өөрчлөлт нь эхлээд + -STABLE руу орж дараа нь -CURRENT руу нийлүүлэгддэг.</para> + + <para>Энэ ухагдахуун нь -STABLE-с засварыг аюулгүй байдлын салбар + руу нийлүүлэхэд бас хэрэглэгддэг.</para> + <glossseealso otherterm="mfc-glossary"> + </glossdef> + </glossentry> + + <glossentry id="motd-glossary"> + <glossterm>Message Of The Day</glossterm> + <acronym>MOTD</acronym> + <glossdef> + <para>Нэвтрэлт дээр ихэвчлэн үзүүлэгддэг мэдэгдэл. Системийн + хэрэглэгчдэд мэдээлэл тараахад ихэвчлэн хэрэглэгддэг.</para> + </glossdef> + </glossentry> + + <glossentry id="mls-glossary"> + <glossterm>Multi-Level Security</glossterm> + <acronym>MLS</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="madt-glossary"> + <glossterm>Multiple <acronym>APIC</acronym> Description Table</glossterm> + <acronym>MADT</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>N</title> + + <glossentry> + <glossterm>NAT</glossterm> + <glosssee otherterm="nat-glossary"> + </glossentry> + + <glossentry> + <glossterm>NDISulator</glossterm> + <glosssee otherterm="projectevil-glossary"> + </glossentry> + + <glossentry> + <glossterm>NFS</glossterm> + <glosssee otherterm="nfs-glossary"> + </glossentry> + + <glossentry> + <glossterm>NTFS</glossterm> + <glosssee otherterm="ntfs-glossary"> + </glossentry> + + <glossentry> + <glossterm>NTP</glossterm> + <glosssee otherterm="ntp-glossary"> + </glossentry> + + <glossentry id="nat-glossary"> + <glossterm>Network Address Translation</glossterm> + <acronym>NAT</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="nfs-glossary"> + <glossterm>Network File System</glossterm> + <acronym>NFS</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ntfs-glossary"> + <glossterm>New Technology File System</glossterm> + <acronym>NTFS</acronym> + <glossdef> + <para>Microsoft-ийн хөгжүүлсэн файлын систем бөгөөд + түүний &windows2k;, &windowsnt; болон &windowsxp; зэрэг + <quote>New Technology</quote> үйлдлийн системүүдэд байдаг.</para> + </glossdef> + </glossentry> + + <glossentry id="ntp-glossary"> + <glossterm>Network Time Protocol</glossterm> + <acronym>NTP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>O</title> + + <glossentry> + <glossterm>OBE</glossterm> + <glosssee otherterm="obe-glossary"> + </glossentry> + + <glossentry> + <glossterm>ODMR</glossterm> + <glosssee otherterm="odmr-glossary"> + </glossentry> + + <glossentry> + <glossterm>OS</glossterm> + <glosssee otherterm="os-glossary"> + </glossentry> + + <glossentry id="odmr-glossary"> + <glossterm>On-Demand Mail Relay</glossterm> + <acronym>ODMR</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="os-glossary"> + <glossterm>Operating System</glossterm> + <acronym>OS</acronym> + <glossdef> + <para>Компьютерийн тоног төхөөрөмжийн эх үүсвэрүүдэд хандах боломжийг + олгодог програмууд, сангууд болон хэрэгслүүдийн цуглуулга. Үйлдлийн системүүд нь + өнөөдөр нэг зэрэг зөвхөн нэг програм ажиллаж нэг төхөөрөмжид ханддаг хялбар хийцтэйгээс + авахуулаад мянга мянган хэрэглэгчдэд зэрэг үйлчилж чаддаг, тус тусдаа хэдэн арван + өөр програмуудыг ажиллуулдаг, бүрэн хэмжээний олон хэрэглэгчтэй, олон бодлоготой + болон олон зорилгоор ашиглаж болох системүүд байна.</para> + </glossdef> + </glossentry> + + <glossentry id="obe-glossary"> + <glossterm>Overtaken By Events</glossterm> + <acronym>OBE</acronym> + <glossdef> + <para>&os;-д хийгдсэн хожмын өөрчлөлтүүд, сүлжээний стандартуудад + хийгдсэн өөрчлөлтүүд, нөлөөлөлд орсон тоног төхөөрөмж хуучирсан + гэх зэрэг зүйлсээс болсон эсвэл хамааралгүй болсон, санал болгогдсон + өөрчлөлтүүдийг (Problem Report буюу Асуудлын Тайлан + эсвэл шинэ боломжийн хүсэлт зэрэг) хэлнэ.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>P</title> + + <glossentry> + <glossterm>p4</glossterm> + <glosssee otherterm="perforce-glossary"> + </glossentry> + + <glossentry> + <glossterm>PAE</glossterm> + <glosssee otherterm="pae-glossary"> + </glossentry> + + <glossentry> + <glossterm>PAM</glossterm> + <glosssee otherterm="pam-glossary"> + </glossentry> + + <glossentry> + <glossterm>PAP</glossterm> + <glosssee otherterm="pap-glossary"> + </glossentry> + + <glossentry> + <glossterm>PC</glossterm> + <glosssee otherterm="pc-glossary"> + </glossentry> + + <glossentry> + <glossterm>PCNSFD</glossterm> + <glosssee otherterm="pcnfsd-glossary"> + </glossentry> + + <glossentry> + <glossterm>PDF</glossterm> + <glosssee otherterm="pdf-glossary"> + </glossentry> + + <glossentry> + <glossterm>PID</glossterm> + <glosssee otherterm="pid-glossary"> + </glossentry> + + <glossentry> + <glossterm>POLA</glossterm> + <glosssee otherterm="pola-glossary"> + </glossentry> + + <glossentry> + <glossterm>POP</glossterm> + <glosssee otherterm="pop-glossary"> + </glossentry> + + <glossentry> + <glossterm>POP3</glossterm> + <glosssee otherterm="pop3-glossary"> + </glossentry> + + <glossentry> + <glossterm>PPD</glossterm> + <glosssee otherterm="ppd-glossary"> + </glossentry> + + <glossentry> + <glossterm>PPP</glossterm> + <glosssee otherterm="ppp-glossary"> + </glossentry> + + <glossentry> + <glossterm>PPPoA</glossterm> + <glosssee otherterm="pppoa-glossary"> + </glossentry> + + <glossentry> + <glossterm>PPPoE</glossterm> + <glosssee otherterm="pppoe-glossary"> + </glossentry> + + <glossentry id="pppoa-glossary"> + <glossterm><acronym>PPP</acronym> over <acronym>ATM</acronym></glossterm> + <acronym>PPPoA</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pppoe-glossary"> + <glossterm><acronym>PPP</acronym> over <acronym>Ethernet</acronym></glossterm> + <acronym>PPPoE</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>PR</glossterm> + <glosssee otherterm="pr-glossary"> + </glossentry> + + <glossentry> + <glossterm>PXE</glossterm> + <glosssee otherterm="pxe-glossary"> + </glossentry> + + <glossentry id="pap-glossary"> + <glossterm>Password Authentication Protocol</glossterm> + <acronym>PAP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="perforce-glossary"> + <glossterm>Perforce</glossterm> + <glossdef> + <para>CVS-ээс илүү дэвшилттэй, + <ulink url="http://www.perforce.com/">Perforce Software</ulink>-ийн + хийсэн эх код хянах бүтээгдэхүүн. Хэдийгээр нээлттэй эх биш боловч түүний хэрэглээ + &os; зэрэг нээлттэй эхийн төслүүдэд үнэгүй байдаг.</para> + + <para>&os;-ийн зарим хөгжүүлэгчид -CURRENT салбарт хэтэрхий туршилтын + байж болох кодын завсрын талбар болгон Perforce архивыг ашигладаг.</para> + </glossdef> + </glossentry> + + <glossentry id="pc-glossary"> + <glossterm>Personal Computer</glossterm> + <acronym>PC</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pcnfsd-glossary"> + <glossterm>Personal Computer Network File System Daemon</glossterm> + <acronym>PCNFSD</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pae-glossary"> + <glossterm>Physical Address Extensions</glossterm> + <acronym>PAE</acronym> + <glossdef> + <para>Зөвхөн 32 битийн өргөнтэй хаягийн талбартай (бөгөөд + PAE-гүй бол 4 GB-аар хязгаарлагддаг) системүүд дээр + 64 GB хүртэлх <acronym>RAM</acronym>-д хандахыг идэвхжүүлэх арга.</para> + </glossdef> + </glossentry> + + <glossentry id="pam-glossary"> + <glossterm>Pluggable Authentication Modules</glossterm> + <acronym>PAM</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ppp-glossary"> + <glossterm>Point-to-Point Protocol</glossterm> + <acronym>PPP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pointyhat"> + <glossterm>Pointy Hat</glossterm> + <glossdef subject="FreeBSD"> + <para><literal>Тэнэг эсвэл залхуу сурагч/оюутнуудад өмсгөдөг конус + хэлбэрийн малгай</literal>тай ихээхэн төстэй, үлгэр домгийн малгайгаар + бүтээлтийг эвдэж залруулалтын дугааруудыг хойшлуулдаг эсвэл + эх үндсэнд ямар нэг төрлийн сүйрэл, замбараагүй байдлыг үүсгэдэг, + &os;-ийн итгэмжлэн оруулагчийг шагнадаг. Өөрийн алдаанаас + болсон итгэмжлэн оруулагчид тун удалгүй ихээхэн хэмжээний цуглуулгатай + болох болно. Үүний хэрэглээ (бараг үргэлж?) хошин байдаг.</para> + </glossdef> + </glossentry> + + <glossentry id="pdf-glossary"> + <glossterm>Portable Document Format</glossterm> + <acronym>PDF</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pop-glossary"> + <glossterm>Post Office Protocol</glossterm> + <acronym>POP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pop3-glossary"> + <glossterm>Post Office Protocol Version 3</glossterm> + <acronym>POP3</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ppd-glossary"> + <glossterm>PostScript Printer Description</glossterm> + <acronym>PPD</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pxe-glossary"> + <glossterm>Preboot eXecution Environment</glossterm> + <acronym>PXE</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="pola-glossary"> + <glossterm>Principle Of Least Astonishment</glossterm> + <acronym>POLA</acronym> + <glossdef> + <para>&os; сайжирч өөрчлөлтүүд нь хэрэглэгчдэд харагдаж байхын + хэрээр аль болох гайхахад хүргэхээргүй байх ёстой. Жишээ нь + <filename>/etc/defaults/rc.conf</filename> дахь + системийн эхлүүлэх хувьсагчуудыг дураар зохицуулах нь <acronym>POLA</acronym>-г + зөрчдөг. Хөгжүүлэгчид нь хэрэглэгчдэд харагдах системийн өөрчлөлтүүдийг + бодож байхдаа <acronym>POLA</acronym>-г бодолцох хэрэгтэй.</para> + </glossdef> + </glossentry> + + <glossentry id="pr-glossary"> + <glossterm>Problem Report</glossterm> + <acronym>PR</acronym> + <glossdef> + <para>&os;-ийн эх эсвэл баримтад олдсон ямар нэг асуудлын тайлбар. + <ulink url="&url.articles.problem-reports;/index.html"> + &os;-ийн Асуудлын Тайлангууд бичих нь</ulink> хуудсыг үзнэ үү.</para> + </glossdef> + </glossentry> + + <glossentry id="pid-glossary"> + <glossterm>Process ID</glossterm> + <acronym>PID</acronym> + <glossdef> + <para>Систем дэх тухайн процессд зөвхөн хамаатай дугаар. Энэ дугаараар + системийг таньж түүний эсрэг үйлдлүүд хийх боломжийг олгодог.</para> + </glossdef> + </glossentry> + + <glossentry id="projectevil-glossary"> + <glossterm>Project Evil</glossterm> + <glossdef subject="FreeBSD"> + <para>Билл Полын эхлээд иймэрхүү зүйлтэй болохын тулд бичиж ямар аймаар + муухай болохыг нь (философийн талаас) хэлж нэрлэсэн, + <acronym>NDISulator</acronym>-т зориулсан ажлын нэр. + <acronym>NDISulator</acronym> нь Microsoft Windows™-ийн + NDIS miniport сүлжээний драйверуудыг &os;/i386 дээр ашиглахын тулд + хийсэн тусгай нийцтэй модул юм. Драйвер нь хаалттай картуудыг ашиглах + цорын ганц арга нь ихэвчлэн энэ байдаг. + <filename>src/sys/compat/ndis/subr_ndis.c</filename>-г үзнэ үү.</para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>R</title> + + <glossentry> + <glossterm>RA</glossterm> + <glosssee otherterm="ra-glossary"> + </glossentry> + + <glossentry> + <glossterm>RAID</glossterm> + <glosssee otherterm="raid-glossary"> + </glossentry> + + <glossentry> + <glossterm>RAM</glossterm> + <glosssee otherterm="ram-glossary"> + </glossentry> + + <glossentry> + <glossterm>RD</glossterm> + <glosssee otherterm="rd-glossary"> + </glossentry> + + <glossentry> + <glossterm>RFC</glossterm> + <glosssee otherterm="rfc-glossary"> + </glossentry> + + <glossentry> + <glossterm>RISC</glossterm> + <glosssee otherterm="risc-glossary"> + </glossentry> + + <glossentry> + <glossterm>RPC</glossterm> + <glosssee otherterm="rpc-glossary"> + </glossentry> + + <glossentry> + <glossterm>RS232C</glossterm> + <glosssee otherterm="rs232c-glossary"> + </glossentry> + + <glossentry> + <glossterm>RTS</glossterm> + <glosssee otherterm="rts-glossary"> + </glossentry> + + <glossentry id="ram-glossary"> + <glossterm>Random Access Memory</glossterm> + <acronym>RAM</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="rd-glossary"> + <glossterm>Received Data</glossterm> + <acronym>RD</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="rs232c-glossary"> + <glossterm>Recommended Standard 232C</glossterm> + <acronym>RS232C</acronym> + <glossdef> + <para>Цуваа төхөөрөмжүүдийн хоорондын холбоонуудад зориулсан стандарт.</para> + </glossdef> + </glossentry> + + <glossentry id="risc-glossary"> + <glossterm>Reduced Instruction Set Computer</glossterm> + <acronym>RISC</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="raid-glossary"> + <glossterm>Redundant Array of Inexpensive Disks</glossterm> + <acronym>RAID</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="rpc-glossary"> + <glossterm>Remote Procedure Call</glossterm> + <acronym>RPC</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry> + <glossterm>repocopy</glossterm> + <glosssee otherterm="repocopy-glossary"> + </glossentry> + + <glossentry id="repocopy-glossary"> + <glossterm>Repository Copy</glossterm> + <glossdef> + <para>CVS архив дотор файлуудыг шууд хуулах.</para> + + <para>Ийм хуулалт хийх боломжгүй бол файлыг архив дотор өөр газар руу хуулах + эсвэл шилжүүлэх хэрэгтэй бол итгэмжлэн оруулагч нь файлыг шинэ байрлал руу хийхийн + тулд <command>cvs add</command> тушаалыг ажиллуулж дараа нь хуучин хуулбар + устгагдах ёстой бол <command>cvs rm</command> гэж хуучин файл дээр ажиллуулах + ёстой байдаг. </para> + + <para>Энэ аргын сул тал нь файлын түүх (өөрөөр хэлбэл CVS бүртгэлүүд дэх оруулгууд) + шинэ байрлал руу хуулагддаггүй явдал юм. &os; төсөл нь энэ түүхийг маш ашигтай гэж үздэг + бөгөөд үүний оронд архивын хуулалтыг ихэвчлэн ашигладаг. Энэ нь &man.cvs.1; + тушаалыг ашиглахын оронд архивын администраторуудын аль нэг нь файлуудыг архив дотор + шууд хуулах процесс юм.</para> + </glossdef> + </glossentry> + + <glossentry id="rfc-glossary"> + <glossterm>Request For Comments</glossterm> + <acronym>RFC</acronym> + <glossdef> + <para>Интернетийн стандартууд, протоколууд, гэх зэргүүдийг тодорхойлдог бичиг баримтын + цуглуулга. + <ulink url="http://www.rfc-editor.org/">www.rfc-editor.org</ulink>-г + үзнэ үү. + <para> + + <para>Хэн нэг нь санал болгосон өөрчлөлттэй бөгөөд эргээд санал хүлээн авахыг + хүсэх үед бас хэрэглэгддэг ерөнхий ухагдахуун юм.</para> + </glossdef> + </glossentry> + + <glossentry id="rts-glossary"> + <glossterm>Request To Send</glossterm> + <acronym>RTS</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ra-glossary"> + <glossterm>Router Advertisement</glossterm> + <acronym>RA</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>S</title> + + <glossentry> + <glossterm>SCI</glossterm> + <glosssee otherterm="sci-glossary"> + </glossentry> + + <glossentry> + <glossterm>SCSI</glossterm> + <glosssee otherterm="scsi-glossary"> + </glossentry> + + <glossentry> + <glossterm>SG</glossterm> + <glosssee otherterm="sg-glossary"> + </glossentry> + + <glossentry> + <glossterm>SMB</glossterm> + <glosssee otherterm="smb-glossary"> + </glossentry> + + <glossentry> + <glossterm>SMP</glossterm> + <glosssee otherterm="smp-glossary"> + </glossentry> + + <glossentry> + <glossterm>SMTP</glossterm> + <glosssee otherterm="smtp-glossary"> + </glossentry> + + <glossentry> + <glossterm>SMTP AUTH</glossterm> + <glosssee otherterm="smtpauth-glossary"> + </glossentry> + + <glossentry> + <glossterm>SSH</glossterm> + <glosssee otherterm="ssh-glossary"> + </glossentry> + + <glossentry> + <glossterm>STR</glossterm> + <glosssee otherterm="str-glossary"> + </glossentry> + + <glossentry id="smtpauth-glossary"> + <glossterm><acronym>SMTP</acronym> Authentication</glossterm> + <acronym>SMTP AUTH</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="smb-glossary"> + <glossterm>Server Message Block</glossterm> + <acronym>SMB</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="sg-glossary"> + <glossterm>Signal Ground</glossterm> + <acronym>SG</acronym> + <glossdef> + <para>Дохионы хувьд газар болдог RS232-ийн зүү эсвэл утас.</para> + </glossdef> + </glossentry> + + <glossentry id="smtp-glossary"> + <glossterm>Simple Mail Transfer Protocol</glossterm> + <acronym>SMTP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ssh-glossary"> + <glossterm>Secure Shell</glossterm> + <acronym>SSH</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="scsi-glossary"> + <glossterm>Small Computer System Interface</glossterm> + <acronym>SCSI</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="str-glossary"> + <glossterm>Suspend To <acronym>RAM</acronym></glossterm> + <acronym>STR</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="smp-glossary"> + <glossterm>Symmetric MultiProcessor</glossterm> + <acronym>SMP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="sci-glossary"> + <glossterm>System Control Interrupt</glossterm> + <acronym>SCI</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>T</title> + + <glossentry> + <glossterm>TCP</glossterm> + <glosssee otherterm="tcp-glossary"> + </glossentry> + + <glossentry> + <glossterm>TCP/IP</glossterm> + <glosssee otherterm="tcpip-glossary"> + </glossentry> + + <glossentry> + <glossterm>TD</glossterm> + <glosssee otherterm="td-glossary"> + </glossentry> + + <glossentry> + <glossterm>TFTP</glossterm> + <glosssee otherterm="tftp-glossary"> + </glossentry> + + <glossentry> + <glossterm>TGT</glossterm> + <glosssee otherterm="tgt-glossary"> + </glossentry> + + <glossentry> + <glossterm>TSC</glossterm> + <glosssee otherterm="tsc-glossary"> + </glossentry> + + <glossentry id="tgt-glossary"> + <glossterm>Ticket-Granting Ticket</glossterm> + <acronym>TGT</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="tsc-glossary"> + <glossterm>Time Stamp Counter</glossterm> + <acronym>TSC</acronym> + <!-- From dg@, 20040814125503.GF40460@nexus.dglawrence.com --> + <glossdef> + <para>Орчин үеийн &pentium; процессоруудын дотор байдаг хувийн тоологч. Энэ нь + гол цөм давтамжийн цагийг тоолдог.</para> + </glossdef> + </glossentry> + + <glossentry id="tcp-glossary"> + <glossterm>Transmission Control Protocol</glossterm> + <acronym>TCP</acronym> + <glossdef> + <para><acronym>IP</acronym> протокол дээр сууж байдаг (өөрөөр хэлбэл) + протокол бөгөөд пакетууд найдвартай, дарааллыг барьсан загвараар хүргэгдэхийг + баталгаажуулдаг.</para> + </glossdef> + </glossentry> + + <glossentry id="tcpip-glossary"> + <glossterm>Transmission Control Protocol/Internet Protocol</glossterm> + <acronym>TCP/IP</acronym> + <glossdef> + <para><acronym>IP</acronym> протокол дээгүүр ажиллах <acronym>TCP</acronym>-ийн + хослолд зориулагдсан ухагдахуун. Интернетийн ихэнх хэсэг <acronym>TCP/IP</acronym>-ээр + ажилладаг.</para> + </glossdef> + </glossentry> + + <glossentry id="td-glossary"> + <glossterm>Transmitted Data</glossterm> + <acronym>TD</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="tftp-glossary"> + <glossterm>Trivial <acronym>FTP</acronym></glossterm> + <acronym>TFTP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>U</title> + + <glossentry> + <glossterm>UDP</glossterm> + <glosssee otherterm="udp-glossary"> + </glossentry> + + <glossentry> + <glossterm>UFS1</glossterm> + <glosssee otherterm="ufs1-glossary"> + </glossentry> + + <glossentry> + <glossterm>UFS2</glossterm> + <glosssee otherterm="ufs2-glossary"> + </glossentry> + + <glossentry> + <glossterm>UID</glossterm> + <glosssee otherterm="uid-glossary"> + </glossentry> + + <glossentry> + <glossterm>URL</glossterm> + <glosssee otherterm="url-glossary"> + </glossentry> + + <glossentry> + <glossterm>USB</glossterm> + <glosssee otherterm="usb-glossary"> + </glossentry> + + <glossentry id="url-glossary"> + <glossterm>Uniform Resource Locator</glossterm> + <acronym>URL</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ufs1-glossary"> + <glossterm>Unix File System Version 1</glossterm> + <acronym>UFS1</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="ufs2-glossary"> + <glossterm>Unix File System Version 2</glossterm> + <acronym>UFS2</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="usb-glossary"> + <glossterm>Universal Serial Bus</glossterm> + <acronym>USB</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + + <glossentry id="uid-glossary"> + <glossterm>User ID</glossterm> + <acronym>UID</acronym> + <glossdef> + <para>Компьютерийн хэрэглэгч бүрт өгсөн ялгаатай дугаар. Энэ дугаараар + тэр хэрэглэгчид өгсөн эх үүсвэрүүд болон зөвшөөрлүүдийг таньдаг.</para> + </glossdef> + </glossentry> + + <glossentry id="udp-glossary"> + <glossterm>User Datagram Protocol</glossterm> + <acronym>UDP</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> + + <glossdiv> + <title>V</title> + + <glossentry> + <glossterm>VPN</glossterm> + <glosssee otherterm="vpn-glossary"> + </glossentry> + + <glossentry id="vpn-glossary"> + <glossterm>Virtual Private Network</glossterm> + <acronym>VPN</acronym> + <glossdef> + <para></para> + </glossdef> + </glossentry> + </glossdiv> +</glossary> diff --git a/mn_MN.UTF-8/share/sgml/l10n.ent b/mn_MN.UTF-8/share/sgml/l10n.ent new file mode 100644 index 0000000000..3667996d10 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/l10n.ent @@ -0,0 +1,20 @@ +<!-- -*- sgml -*- + + The FreeBSD Mongolian Documentation Project + + Original revision 1.2 + + $FreeBSD$ + + DocBook Language Specific Entities for Localization (mn). +--> + +<!-- docformat navi --> +<!ENTITY docnavi.single-html "Ганц HTML"> +<!ENTITY docnavi.split-html "Олон HTML"> + +<!ENTITY doc.langcode.mn "mn_MN.UTF-8"> +<!ENTITY doc.langcode "&doc.langcode.mn;"> + +<!-- charset for HTML output --> +<!ENTITY doc.html.charset "UTF-8"> diff --git a/mn_MN.UTF-8/share/sgml/legalnotice.sgml b/mn_MN.UTF-8/share/sgml/legalnotice.sgml new file mode 100644 index 0000000000..7668de2f2b --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/legalnotice.sgml @@ -0,0 +1,49 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.4 + + $FreeBSD$ + + Standard FreeBSD Documentation Project Legal Notice. +--> + +<legalnotice id="legalnotice"> + <para>Доорхи нөхцөл, шаардлагуудыг хангасан нөхцөлд эх код (SGML DocBook) болон + 'эмхэтгэгдсэн' хэлбэрүүдийг (SGML, HTML, PDF, PostScript, RTF болон гэх + зэрэг) ямарваа өөрчлөлт хийж болон өөрчлөлтгүйгээр хэрэглэх буюу тараах + боломжтой:</para> + + <orderedlist> + <listitem> + <para>Эх кодыг (SGML DocBook) дээрхи эзэмшигчийн эрхийн тэмдэглэл, болон доорхи + нөхцөл шаардлагууд болон зөрчигдөх тохиолдлуудын хамтаар энэ файлын эхний мөрийг + хөндөлгүйгээр түгээнэ.</para> + </listitem> + + <listitem> + <para>Эмхэтгэгдсэн хэлбэрүүдийн (өөр DTD-үүд болон хувирсан, PDF, + PostScript, RTF болон бусад хэлбэршилтүүд рүү хөрвүүлэгдсэн) дахин + түгээлтүүд нь дээрхи эзэмшигчийн эрхийн тэмдэглэл, доорхи нөхцөл шаардлагууд + болон түгээлттэй цуг ирсэн баримт ба/эсвэл бусад материалууд дахь зөрчих + тохиолдлуудыг үүсгэх ёстой.</para> + </listitem> + </orderedlist> + + <important> + <para>ЭНЭ БАРИМТ НЬ FREEBSD БАРИМТЖУУЛАХ ТӨСЛӨӨС + «БАЙГАА БАЙДЛААРАА» ГЭСЭН НӨХЦӨЛТЭЙГЭЭР ТҮГЭЭГДЭЖ + БАЙГАА БӨГӨӨД, ЭНЭ НЬ ХУДАЛДААНЫ, ТОДОРХОЙ НЭГ БОЛОН БУСАД + ЗОРИЛГОД НИЙЦЭХ БАТАЛГАА БОЛОХГҮЙ. ЗАЙЛШГҮЙ ҮҮРЭГ ХАРИУЦЛАГА ЭСВЭЛ + /БУРУУ ХЭРЭГЛЭСНЭЭС/ (ХАЙХРАМЖГҮЙ БАЙДАЛ БА БУСАД) ЗЭРЭГ ЭНЭ + БАРИМТЫГ ХЭРЭГЛЭСНЭЭС ҮҮДСЭН АЛИВАА ШУУД, ШУУД БУС, ТОХИОЛДЛЫН, + ЗОРИУДЫН , ЗАГВАРЧИЛСАН, ЭСВЭЛ ҮР ДАГАВАР БОЛСОН (ЗАХИАЛСАН + БҮТЭЭГДЭХҮҮН, ҮЙЛЧИЛГЭЭГ ОРЛУУЛАХ, ХЭРЭГЛЭЭНИЙ ҮЕИЙН ӨГӨГДӨЛ, + ХЭРЭГЛЭЭ, АШГИЙН АЛДАГДАЛ, ЭСВЭЛ БИЗНЕСИЙН ҮЙЛ АЖИЛЛАГАА + ТАСАЛДУУЛАХ ЗЭРГИЙГ ОРУУЛАХ БӨГӨӨД ҮҮГЭЭР ХЯЗГААРЛАГДАХГҮЙ) ГЭХ МЭТ + ЯМАР Ч ТОХИОЛДОЛД, ХЭДИЙ ИЙМ ХОХИРОЛ ГАРЧ БОЛЗОШГҮЙГ АНХААРУУЛСАН + БАЙСАН Ч ҮҮНЭЭС ҮҮДСЭН ХОХИРОЛД FREEBSD БАРИМТЖУУЛАХ ТӨСӨЛ НЬ ХУУЛЬ + ЁСНЫ ХАРИУЦЛАГА ХҮЛЭЭХГҮЙ.</para> + </important> +</legalnotice> + diff --git a/mn_MN.UTF-8/share/sgml/mailing-lists.ent b/mn_MN.UTF-8/share/sgml/mailing-lists.ent new file mode 100644 index 0000000000..b6eed78cc1 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/mailing-lists.ent @@ -0,0 +1,440 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.56 + + $FreeBSD$ + + Names of FreeBSD mailing lists and related software. +--> + +<!ENTITY a.mailman.listinfo "http://lists.FreeBSD.org/mailman/listinfo"> +<!ENTITY a.mailman.lists "<ulink url='&a.mailman.listinfo;'>FreeBSD жагсаалтын сервер</ulink>"> +<!ENTITY a.mailman.lists.link "<ulink url='&a.mailman.listinfo;'>&a.mailman.listinfo;</ulink>"> + +<!ENTITY a.acpi.url "&a.mailman.listinfo;/freebsd-acpi"> +<!ENTITY a.acpi "<ulink url='&a.acpi.url;'>FreeBSD ACPI захидлын жагсаалт</ulink>"> +<!ENTITY a.acpi.name "<ulink url='&a.acpi.url;'>freebsd-acpi</ulink>"> + +<!ENTITY a.advocacy.url "&a.mailman.listinfo;/freebsd-advocacy"> +<!ENTITY a.advocacy "<ulink url='&a.advocacy.url;'>FreeBSD advocacy захидлын жагсаалт</ulink>"> +<!ENTITY a.advocacy.name "<ulink url='&a.advocacy.url;'>freebsd-advocacy</ulink>"> + +<!ENTITY a.afs.url "&a.mailman.listinfo;/freebsd-afs"> +<!ENTITY a.afs "<ulink url='&a.afs.url;'>FreeBSD AFS порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.afs.name "<ulink url='&a.afs.url;'>freebsd-afs</ulink>"> + +<!ENTITY a.aic7xxx.url "&a.mailman.listinfo;/aic7xxx"> +<!ENTITY a.aic7xxx "<ulink url='&a.aic7xxx.url;'>FreeBSD Adaptec AIC7xxx хэлэлцүүлгүүдийн захидлын жагсаалт</ulink>"> +<!ENTITY a.aic7xxx.name "<ulink url='&a.aic7xxx.url;'>freebsd-aic7xxx</ulink>"> + +<!ENTITY a.alpha.url "&a.mailman.listinfo;/freebsd-alpha"> +<!ENTITY a.alpha "<ulink url='&a.alpha.url;'>FreeBSD Alpha порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.alpha.name "<ulink url='&a.alpha.url;'>freebsd-alpha</ulink>"> + +<!ENTITY a.amd64.url "&a.mailman.listinfo;/freebsd-amd64"> +<!ENTITY a.amd64 "<ulink url='&a.amd64.url;'>FreeBSD-г AMD64 системүүд уруу порт хийх</ulink>"> +<!ENTITY a.amd64.name "<ulink url='&a.amd64.url;'>freebsd-amd64</ulink>"> + +<!ENTITY a.announce.url "&a.mailman.listinfo;/freebsd-announce"> +<!ENTITY a.announce "<ulink url='&a.announce.url;'>FreeBSD зарлалын захидлын жагсаалт</ulink>"> +<!ENTITY a.announce.name "<ulink url='&a.announce.url;'>freebsd-announce</ulink>"> + +<!ENTITY a.apache.url "&a.mailman.listinfo;/freebsd-apache"> +<!ENTITY a.apache "<ulink url='&a.apache.url;'>FreeBSD Apache захидлын жагсаалт</ulink>"> +<!ENTITY a.apache.name "<ulink url='&a.apache.url;'>freebsd-apache</ulink>"> + +<!ENTITY a.arch.url "&a.mailman.listinfo;/freebsd-arch"> +<!ENTITY a.arch "<ulink url='&a.arch.url;'>FreeBSD архитектур ба дизайны захидлын жагсаалт</ulink>"> +<!ENTITY a.arch.name "<ulink url='&a.arch.url;'>freebsd-arch</ulink>"> + +<!ENTITY a.arm.url "&a.mailman.listinfo;/freebsd-arm"> +<!ENTITY a.arm "<ulink url='&a.arm.url;'>FreeBSD ARM порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.arm.name "<ulink url='&a.arm.url;'>freebsd-arm</ulink>"> + +<!ENTITY a.atm.url "&a.mailman.listinfo;/freebsd-atm"> +<!ENTITY a.atm "<ulink url='&a.atm.url;'>FreeBSD ATM сүлжээний захидлын жагсаалт</ulink>"> +<!ENTITY a.atm.name "<ulink url='&a.atm.url;'>freebsd-atm</ulink>"> + +<!ENTITY a.audit.url "&a.mailman.listinfo;/freebsd-audit"> +<!ENTITY a.audit "<ulink url='&a.audit.url;'>FreeBSD эх код аудитийн захидлын жагсаалт</ulink>"> +<!ENTITY a.audit.name "<ulink url='&a.audit.url;'>freebsd-audit</ulink>"> + +<!ENTITY a.binup.url "&a.mailman.listinfo;/freebsd-binup"> +<!ENTITY a.binup "<ulink url='&a.binup.url;'>FreeBSD хоёртын шинэчлэлтийн системийн захидлын жагсаалт</ulink>"> +<!ENTITY a.binup.name "<ulink url='&a.binup.url;'>freebsd-binup</ulink>"> + +<!ENTITY a.bluetooth.url "&a.mailman.listinfo;/freebsd-bluetooth"> +<!ENTITY a.bluetooth "<ulink url='&a.bluetooth.url;'>FreeBSD Bluetooth захидлын жагсаалт</ulink>"> +<!ENTITY a.bluetooth.name "<ulink url='&a.bluetooth.url;'>freebsd-bluetooth</ulink>"> + +<!ENTITY a.bugbusters.url "&a.mailman.listinfo;/freebsd-bugbusters"> +<!ENTITY a.bugbusters "<ulink url='&a.bugbusters.url;'>FreeBSD bugbusters захидлын жагсаалт</ulink>"> +<!ENTITY a.bugbusters.name "<ulink url='&a.bugbusters.url;'>freebsd-bugbusters</ulink>"> + +<!ENTITY a.bugs.url "&a.mailman.listinfo;/freebsd-bugs"> +<!ENTITY a.bugs "<ulink url='&a.bugs.url;'>FreeBSD асуудлын тайлангуудын захидлын жагсаалт</ulink>"> +<!ENTITY a.bugs.name "<ulink url='&a.bugs.url;'>freebsd-bugs</ulink>"> + +<!ENTITY a.chat.url "&a.mailman.listinfo;/freebsd-chat"> +<!ENTITY a.chat "<ulink url='&a.chat.url;'>FreeBSD chat захидлын жагсаалт</ulink>"> +<!ENTITY a.chat.name "<ulink url='&a.chat.url;'>freebsd-chat</ulink>"> + +<!ENTITY a.cluster.url "&a.mailman.listinfo;/freebsd-cluster"> +<!ENTITY a.cluster "<ulink url='&a.cluster.url;'>FreeBSD кластерийн захидлын жагсаалт</ulink>"> +<!ENTITY a.cluster.name "<ulink url='&a.cluster.url;'>freebsd-cluster</ulink>"> + +<!ENTITY a.committers "FreeBSD итгэмжлэн оруулагчдын захидлын жагсаалт"> +<!ENTITY a.committers.name "cvs-committers"> + +<!ENTITY a.core "FreeBSD гол баг"> +<!ENTITY a.core.name "freebsd-core"> + +<!ENTITY a.current.url "&a.mailman.listinfo;/freebsd-current"> +<!ENTITY a.current "<ulink url='&a.current.url;'>&os.current; захидлын жагсаалт</ulink>"> +<!ENTITY a.current.name "<ulink url='&a.current.url;'>freebsd-current</ulink>"> + +<!ENTITY a.ctm-announce.url "&a.mailman.listinfo;/ctm-announce"> +<!ENTITY a.ctm-announce "<ulink url='&a.ctm-announce.url;'>CTM зарлалууд</ulink>"> +<!ENTITY a.ctm-announce.name "<ulink url='&a.ctm-announce.url;'>ctm-announce</ulink>"> + +<!ENTITY a.ctm-cvs-cur.url "&a.mailman.listinfo;/ctm-cvs-cur"> +<!ENTITY a.ctm-cvs-cur "<ulink url='&a.ctm-cvs-cur.url;'>CVS файлуудын CTM түгээлт</ulink>"> +<!ENTITY a.ctm-cvs-cur.name "<ulink url='&a.ctm-cvs-cur.url;'>ctm-cvs-cur</ulink>"> + +<!ENTITY a.ctm-src-4.url "&a.mailman.listinfo;/ctm-src-4"> +<!ENTITY a.ctm-src-4 "<ulink url='&a.ctm-src-4.url;'>CTM 4-STABLE src салбар түгээлтийн захидлын жагсаалт</ulink>"> +<!ENTITY a.ctm-src-4.name "<ulink url='&a.ctm-src-4.url;'>ctm-src-4</ulink>"> + +<!ENTITY a.ctm-src-cur.url "&a.mailman.listinfo;/ctm-src-cur"> +<!ENTITY a.ctm-src-cur "<ulink url='&a.ctm-src-cur.url;'>CTM -CURRENT src салбар түгээлтийн захидлын жагсаалт</ulink>"> +<!ENTITY a.ctm-src-cur.name "<ulink url='&a.ctm-src-cur.url;'>ctm-src-cur</ulink>"> + +<!ENTITY a.ctm-users.url "&a.mailman.listinfo;/ctm-users"> +<!ENTITY a.ctm-users "<ulink url='&a.ctm-users.url;'>CTM хэрэглэгчийн хэлэлцүүлэг захидлын жагсаалт</ulink>"> +<!ENTITY a.ctm-users.name "<ulink url='&a.ctm-users.url;'>ctm-users</ulink>"> + +<!ENTITY a.cvsall.url "&a.mailman.listinfo;/cvs-all"> +<!ENTITY a.cvsall "<ulink url='&a.cvsall.url;'>FreeBSD CVS-ийн нийлүүлсэн мэдэгдлийн захидлын жагсаалт</ulink>"> +<!ENTITY a.cvsall.name "<ulink url='&a.cvsall.url;'>cvs-all</ulink>"> + +<!ENTITY a.cvs-doc.url "&a.mailman.listinfo;/cvs-doc"> +<!ENTITY a.cvs-doc "<ulink url='&a.cvs-doc.url;'>FreeBSD CVS doc нийлүүлэх жагсаалт</ulink>"> +<!ENTITY a.cvs-doc.name "<ulink url='&a.cvs-doc.url;'>cvs-doc</ulink>"> + +<!ENTITY a.cvs-ports.url "&a.mailman.listinfo;/cvs-ports"> +<!ENTITY a.cvs-ports "<ulink url='&a.cvs-ports.url;'>FreeBSD CVS ports нийлүүлэх жагсаалт</ulink>"> +<!ENTITY a.cvs-ports.name "<ulink url='&a.cvs-ports.url;'>cvs-ports</ulink>"> + +<!ENTITY a.cvs-projects.url "&a.mailman.listinfo;/cvs-projects"> +<!ENTITY a.cvs-projects "<ulink url='&a.cvs-projects.url;'>FreeBSD CVS projects нийлүүлэх жагсаалт</ulink>"> +<!ENTITY a.cvs-projects.name "<ulink url='&a.cvs-projects.url;'>cvs-projects</ulink>"> + +<!ENTITY a.cvs-src.url "&a.mailman.listinfo;/cvs-src"> +<!ENTITY a.cvs-src "<ulink url='&a.cvs-src.url;'>FreeBSD CVS src нийлүүлэх жагсаалт</ulink>"> +<!ENTITY a.cvs-src.name "<ulink url='&a.cvs-src.url;'>cvs-src</ulink>"> + +<!ENTITY a.cvsweb.url "&a.mailman.listinfo;/freebsd-cvsweb"> +<!ENTITY a.cvsweb "<ulink url='&a.cvsweb.url;'>FreeBSD CVSweb арчилгааны захидлын жагсаалт</ulink>"> +<!ENTITY a.cvsweb.name "<ulink url='&a.cvsweb.url;'>freebsd-cvsweb</ulink>"> + +<!ENTITY a.database.url "&a.mailman.listinfo;/freebsd-database"> +<!ENTITY a.database "<ulink url='&a.database.url;'>FreeBSD дээр суурилсан мэдээллийн баазууд захидлын жагсаалт</ulink>"> +<!ENTITY a.database.name "<ulink url='&a.database.url;'>freebsd-database</ulink>"> + +<!ENTITY a.developers "FreeBSD хөгжүүлэгчдийн захидлын жагсаалт"> +<!ENTITY a.developers.name "freebsd-developers"> + +<!ENTITY a.doc.url "&a.mailman.listinfo;/freebsd-doc"> +<!ENTITY a.doc "<ulink url='&a.doc.url;'>FreeBSD баримтжуулах төслийн захидлын жагсаалт</ulink>"> +<!ENTITY a.doc.name "<ulink url='&a.doc.url;'>freebsd-doc</ulink>"> + +<!ENTITY a.doc-committers "FreeBSD doc/ нийлүүлэгчдийн захидлын жагсаалт"> +<!ENTITY a.doc-committers.name "doc-committers"> + +<!ENTITY a.doc-developers "FreeBSD doc/ хөгжүүлэгчдийн захидлын жагсаалт"> +<!ENTITY a.doc-developers.name "doc-developers"> + +<!ENTITY a.drivers.url "&a.mailman.listinfo;/freebsd-drivers"> +<!ENTITY a.drivers "<ulink url='&a.drivers.url;'>FreeBSD-д зориулж төхөөрөмжийн драйвер бичих нь</ulink>"> +<!ENTITY a.drivers.name "<ulink url='&a.drivers.url;'>freebsd-drivers</ulink>"> + +<!ENTITY a.eclipse.url "&a.mailman.listinfo;/freebsd-eclipse"> +<!ENTITY a.eclipse "<ulink url='&a.eclipse.url;'>Eclipse IDE, хэрэгслүүд, баян клиент програмууд болон портуудын FreeBSD хэрэглэгчид</ulink>"> +<!ENTITY a.eclipse.name "<ulink url='&a.eclipse.url;'>freebsd-eclipse</ulink>"> + +<!ENTITY a.embedded.url "&a.mailman.listinfo;/freebsd-embedded"> +<!ENTITY a.embedded "<ulink url='&a.embedded.url;'>FreeBSD-embedded захидлын жагсаалт</ulink>"> +<!ENTITY a.embedded.name "<ulink url='&a.embedded.url;'>freebsd-embedded</ulink>"> + +<!ENTITY a.emulation.url "&a.mailman.listinfo;/freebsd-emulation"> +<!ENTITY a.emulation "<ulink url='&a.emulation.url;'>FreeBSD-emulation захидлын жагсаалт</ulink>"> +<!ENTITY a.emulation.name "<ulink url='&a.emulation.url;'>freebsd-emulation</ulink>"> + +<!ENTITY a.eol.url "&a.mailman.listinfo;/freebsd-eol"> +<!ENTITY a.eol "<ulink url='&a.eol.url;'>FreeBSD-eol захидлын жагсаалт</ulink>"> +<!ENTITY a.eol.name "<ulink url='&a.eol.url;'>freebsd-eol</ulink>"> + +<!ENTITY a.firewire.url "&a.mailman.listinfo;/freebsd-firewire"> +<!ENTITY a.firewire "<ulink url='&a.firewire.url;'>FreeBSD FireWire (IEEE 1394) хэлэлцүүлгийн захидлын жагсаалт</ulink>"> +<!ENTITY a.firewire.name "<ulink url='&a.firewire.url;'>freebsd-firewire</ulink>"> + +<!ENTITY a.fs.url "&a.mailman.listinfo;/freebsd-fs"> +<!ENTITY a.fs "<ulink url='&a.fs.url;'>FreeBSD файлын системийн төслийн захидлын жагсаалт</ulink>"> +<!ENTITY a.fs.name "<ulink url='&a.fs.url;'>freebsd-fs</ulink>"> + +<!ENTITY a.geom.url "&a.mailman.listinfo;/freebsd-geom"> +<!ENTITY a.geom "<ulink url='&a.geom.url;'>FreeBSD GEOM захидлын жагсаалт</ulink>"> +<!ENTITY a.geom.name "<ulink url='&a.geom.url;'>freebsd-geom</ulink>"> + +<!ENTITY a.gnome.url "&a.mailman.listinfo;/freebsd-gnome"> +<!ENTITY a.gnome "<ulink url='&a.gnome.url;'>FreeBSD GNOME болон GNOME програмуудын захидлын жагсаалт</ulink>"> +<!ENTITY a.gnome.name "<ulink url='&a.gnome.url;'>freebsd-gnome</ulink>"> + +<!ENTITY a.hackers.url "&a.mailman.listinfo;/freebsd-hackers"> +<!ENTITY a.hackers "<ulink url='&a.hackers.url;'>FreeBSD техникийн хэлэлцүүлгүүдийн захидлын жагсаалт</ulink>"> +<!ENTITY a.hackers.name "<ulink url='&a.hackers.url;'>freebsd-hackers</ulink>"> + +<!ENTITY a.hardware.url "&a.mailman.listinfo;/freebsd-hardware"> +<!ENTITY a.hardware "<ulink url='&a.hardware.url;'>FreeBSD техник хангамж ба тоног төхөөрөмжийн захидлын жагсаалт</ulink>"> +<!ENTITY a.hardware.name "<ulink url='&a.hardware.url;'>freebsd-hardware</ulink>"> + +<!ENTITY a.hubs.url "&a.mailman.listinfo;/freebsd-hubs"> +<!ENTITY a.hubs "<ulink url='&a.hubs.url;'>FreeBSD толин тусгал сайтуудын захидлын жагсаалтs</ulink>"> +<!ENTITY a.hubs.name "<ulink url='&a.hubs.url;'>freebsd-hubs</ulink>"> + +<!ENTITY a.i18n.url "&a.mailman.listinfo;/freebsd-i18n"> +<!ENTITY a.i18n "<ulink url='&a.i18n.url;'>FreeBSD интернационалчлалын захидлын жагсаалт</ulink>"> +<!ENTITY a.i18n.name "<ulink url='&a.i18n.url;'>freebsd-i18n</ulink>"> + +<!ENTITY a.i386.url "&a.mailman.listinfo;/freebsd-i386"> +<!ENTITY a.i386 "<ulink url='&a.i386.url;'>FreeBSD i386-тай холбоотой асуудлуудын захидлын жагсаалт</ulink>"> +<!ENTITY a.i386.name "<ulink url='&a.i386.url;'>freebsd-i386</ulink>"> + +<!ENTITY a.ia32.url "&a.mailman.listinfo;/freebsd-ia32"> +<!ENTITY a.ia32 "<ulink url='&a.ia32.url;'>FreeBSD IA32 порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.ia32.name "<ulink url='&a.ia32.url;'>freebsd-ia32</ulink>"> + +<!ENTITY a.ia64.url "&a.mailman.listinfo;/freebsd-ia64"> +<!ENTITY a.ia64 "<ulink url='&a.ia64.url;'>FreeBSD IA64 порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.ia64.name "<ulink url='&a.ia64.url;'>freebsd-ia64</ulink>"> + +<!ENTITY a.ipfw.url "&a.mailman.listinfo;/freebsd-ipfw"> +<!ENTITY a.ipfw "<ulink url='&a.ipfw.url;'>FreeBSD IPFW кодын захидлын жагсаалт</ulink>"> +<!ENTITY a.ipfw.name "<ulink url='&a.ipfw.url;'>freebsd-ipfw</ulink>"> + +<!ENTITY a.isdn.url "&a.mailman.listinfo;/freebsd-isdn"> +<!ENTITY a.isdn "<ulink url='&a.isdn.url;'>FreeBSD ISDN захидлын жагсаалт</ulink>"> +<!ENTITY a.isdn.name "<ulink url='&a.isdn.url;'>freebsd-isdn</ulink>"> + +<!ENTITY a.isp.url "&a.mailman.listinfo;/freebsd-isp"> +<!ENTITY a.isp "<ulink url='&a.isp.url;'>FreeBSD Интернетийн үйлчилгээ үзүүлэгчийн захидлын жагсаалт</ulink>"> +<!ENTITY a.isp.name "<ulink url='&a.isp.url;'>freebsd-isp</ulink>"> + +<!ENTITY a.java.url "&a.mailman.listinfo;/freebsd-java"> +<!ENTITY a.java "<ulink url='&a.java.url;'>FreeBSD Java хэлний захидлын жагсаалт</ulink>"> +<!ENTITY a.java.name "<ulink url='&a.java.url;'>freebsd-java</ulink>"> + +<!ENTITY a.jobs.url "&a.mailman.listinfo;/freebsd-jobs"> +<!ENTITY a.jobs "<ulink url='&a.jobs.url;'>FreeBSD-тэй холбоотой ажлын захидлын жагсаалт</ulink>"> +<!ENTITY a.jobs.name "<ulink url='&a.jobs.url;'>freebsd-jobs</ulink>"> + +<!ENTITY a.kde.url "https://mail.kde.org/mailman/listinfo/kde-freebsd"> +<!ENTITY a.kde "<ulink url='&a.kde.url;'>FreeBSD KDE/Qt ба KDE програмуудын захидлын жагсаалт</ulink>"> +<!ENTITY a.kde.name "<ulink url='&a.kde.url;'>freebsd-kde</ulink>"> + +<!ENTITY a.lfs.url "&a.mailman.listinfo;/freebsd-lfs"> +<!ENTITY a.lfs "<ulink url='&a.lfs.url;'>FreeBSD LFS порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.lfs.name "<ulink url='&a.lfs.url;'>freebsd-lfs</ulink>"> + +<!ENTITY a.libh.url "&a.mailman.listinfo;/freebsd-libh"> +<!ENTITY a.libh "<ulink url='&a.libh.url;'>FreeBSD libh суулгалт ба багцлах системийн захидлын жагсаалт</ulink>"> +<!ENTITY a.libh.name "<ulink url='&a.libh.url;'>freebsd-libh</ulink>"> + +<!ENTITY a.mips.url "&a.mailman.listinfo;/freebsd-mips"> +<!ENTITY a.mips "<ulink url='&a.mips.url;'>FreeBSD MIPS порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.mips.name "<ulink url='&a.mips.url;'>freebsd-mips</ulink>"> + +<!ENTITY a.mirror-announce.url "&a.mailman.listinfo;/mirror-announce"> +<!ENTITY a.mirror-announce "<ulink url='&a.mirror-announce.url;'>FreeBSD толин тусгал сайтын администраторууд</ulink>"> +<!ENTITY a.mirror-announce.name "<ulink url='&a.mirror-announce.url;'>mirror-announce</ulink>"> + +<!ENTITY a.mobile.url "&a.mailman.listinfo;/freebsd-mobile"> +<!ENTITY a.mobile "<ulink url='&a.mobile.url;'>FreeBSD зөөврийн компьютерийн захидлын жагсаалт</ulink>"> +<!ENTITY a.mobile.name "<ulink url='&a.mobile.url;'>freebsd-mobile</ulink>"> + +<!ENTITY a.mozilla.url "&a.mailman.listinfo;/freebsd-mozilla"> +<!ENTITY a.mozilla "<ulink url='&a.mozilla.url;'>Mozilla хөтлөгчийн FreeBSD портын захидлын жагсаалт</ulink>"> +<!ENTITY a.mozilla.name "<ulink url='&a.mozilla.url;'>freebsd-mozilla</ulink>"> + +<!ENTITY a.multimedia.url "&a.mailman.listinfo;/freebsd-multimedia"> +<!ENTITY a.multimedia "<ulink url='&a.multimedia.url;'>FreeBSD мультимедиа захидлын жагсаалт</ulink>"> +<!ENTITY a.multimedia.name "<ulink url='&a.multimedia.url;'>freebsd-multimedia</ulink>"> + +<!ENTITY a.net.url "&a.mailman.listinfo;/freebsd-net"> +<!ENTITY a.net "<ulink url='&a.net.url;'>FreeBSD сүлжээний захидлын жагсаалт</ulink>"> +<!ENTITY a.net.name "<ulink url='&a.net.url;'>freebsd-net</ulink>"> + +<!ENTITY a.newbies.url "&a.mailman.listinfo;/freebsd-newbies"> +<!ENTITY a.newbies "<ulink url='&a.newbies.url;'>FreeBSD шинэ хэрэглэгчдийн захидлын жагсаалт</ulink>"> +<!ENTITY a.newbies.name "<ulink url='&a.newbies.url;'>freebsd-newbies</ulink>"> + +<!ENTITY a.newbus.url "&a.mailman.listinfo;/freebsd-new-bus"> +<!ENTITY a.newbus "<ulink url='&a.newbus.url;'>FreeBSD new-bus захидлын жагсаалт</ulink>"> +<!ENTITY a.newbus.name "<ulink url='&a.newbus.url;'>freebsd-new-bus</ulink>"> + +<!ENTITY a.openoffice.url "&a.mailman.listinfo;/freebsd-openoffice"> +<!ENTITY a.openoffice "<ulink url='&a.openoffice.url;'>FreeBSD OpenOffice захидлын жагсаалт</ulink>"> +<!ENTITY a.openoffice.name "<ulink url='&a.openoffice.url;'>freebsd-openoffice</ulink>"> + +<!ENTITY a.performance.url "&a.mailman.listinfo;/freebsd-performance"> +<!ENTITY a.performance "<ulink url='&a.performance.url;'>FreeBSD ажиллагааны захидлын жагсаалт</ulink>"> +<!ENTITY a.performance.name "<ulink url='&a.performance.url;'>freebsd-performance</ulink>"> + +<!ENTITY a.perl.url "&a.mailman.listinfo;/freebsd-perl"> +<!ENTITY a.perl "<ulink url='&a.perl.url;'>FreeBSD Perl захидлын жагсаалт</ulink>"> +<!ENTITY a.perl.name "<ulink url='&a.perl.url;'>freebsd-perl</ulink>"> + +<!ENTITY a.pf.url "&a.mailman.listinfo;/freebsd-pf"> +<!ENTITY a.pf "<ulink url='&a.pf.url;'>FreeBSD пакет шүүгчийн захидлын жагсаалт</ulink>"> +<!ENTITY a.pf.name "<ulink url='&a.pf.url;'>freebsd-pf</ulink>"> + +<!ENTITY a.platforms.url "&a.mailman.listinfo;/freebsd-platforms"> +<!ENTITY a.platforms "<ulink url='&a.platforms.url;'>FreeBSD Интел бус тавцангууд уруу порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.platforms.name "<ulink url='&a.platforms.url;'>freebsd-platforms</ulink>"> + +<!ENTITY a.policy.url "&a.mailman.listinfo;/freebsd-policy"> +<!ENTITY a.policy "<ulink url='&a.policy.url;'>FreeBSD гол багийн бодлогын шийдвэрүүдийн захидлын жагсаалт</ulink>"> +<!ENTITY a.policy.name "<ulink url='&a.policy.url;'>freebsd-policy</ulink>"> + +<!ENTITY a.ports.url "&a.mailman.listinfo;/freebsd-ports"> +<!ENTITY a.ports "<ulink url='&a.ports.url;'>FreeBSD портын захидлын жагсаалт</ulink>"> +<!ENTITY a.ports.name "<ulink url='&a.ports.url;'>freebsd-ports</ulink>"> + +<!ENTITY a.ports-bugs.url "&a.mailman.listinfo;/freebsd-ports-bugs"> +<!ENTITY a.ports-bugs "<ulink url='&a.ports-bugs.url;'>FreeBSD портын алдааны захидлын жагсаалт</ulink>"> +<!ENTITY a.ports-bugs.name "<ulink url='&a.ports-bugs.url;'>freebsd-ports-bugs</ulink>"> + +<!ENTITY a.ports-committers "FreeBSD ports/ нийлүүлэгчдийн захидлын жагсаалт"> +<!ENTITY a.ports-committers.name "ports-committers"> + +<!ENTITY a.ports-developers "FreeBSD ports/ хөгжүүлэгчдийн захидлын жагсаалт"> +<!ENTITY a.ports-developers.name "ports-developers"> + +<!ENTITY a.ppc.url "&a.mailman.listinfo;/freebsd-ppc"> +<!ENTITY a.ppc "<ulink url='&a.ppc.url;'>FreeBSD PowerPC порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.ppc.name "<ulink url='&a.ppc.url;'>freebsd-ppc</ulink>"> + +<!ENTITY a.proliant.url "&a.mailman.listinfo;/freebsd-proliant"> +<!ENTITY a.proliant "<ulink url='&a.proliant.url;'>HP Proliant сервер тавцангууд дээрх FreeBSD-ийн техникийн хэлэлцүүлэг</ulink>"> +<!ENTITY a.proliant.name "<ulink url='&a.proliant.url;'>freebsd-proliant</ulink>"> + +<!ENTITY a.python.url "&a.mailman.listinfo;/freebsd-python"> +<!ENTITY a.python "<ulink url='&a.python.url;'>FreeBSD Python захидлын жагсаалт</ulink>"> +<!ENTITY a.python.name "<ulink url='&a.python.url;'>freebsd-python</ulink>"> + +<!ENTITY a.qa.url "&a.mailman.listinfo;/freebsd-qa"> +<!ENTITY a.qa "<ulink url='&a.qa.url;'>FreeBSD Чанарын Батламжийн захидлын жагсаалт</ulink>"> +<!ENTITY a.qa.name "<ulink url='&a.qa.url;'>freebsd-qa</ulink>"> + +<!ENTITY a.questions.url "&a.mailman.listinfo;/freebsd-questions"> +<!ENTITY a.questions "<ulink url='&a.questions.url;'>FreeBSD ерөнхий асуултууд захидлын жагсаалт</ulink>"> +<!ENTITY a.questions.name "<ulink url='&a.questions.url;'>freebsd-questions</ulink>"> + +<!ENTITY a.rc.url "&a.mailman.listinfo;/freebsd-rc"> +<!ENTITY a.rc "<ulink url='&a.rc.url;'>FreeBSD ачаалах скрипт системийн захидлын жагсаалт</ulink>"> +<!ENTITY a.rc.name "<ulink url='&a.rc.url;'>freebsd-rc</ulink>"> + +<!ENTITY a.realtime.url "&a.mailman.listinfo;/freebsd-realtime"> +<!ENTITY a.realtime "<ulink url='&a.realtime.url;'>FreeBSD realtime өргөтгөлүүд захидлын жагсаалт</ulink>"> +<!ENTITY a.realtime.name "<ulink url='&a.realtime.url;'>freebsd-realtime</ulink>"> + +<!ENTITY a.scsi.url "&a.mailman.listinfo;/freebsd-scsi"> +<!ENTITY a.scsi "<ulink url='&a.scsi.url;'>FreeBSD SCSI дэд системийн захидлын жагсаалт</ulink>"> +<!ENTITY a.scsi.name "<ulink url='&a.scsi.url;'>freebsd-scsi</ulink>"> + +<!ENTITY a.security.url "&a.mailman.listinfo;/freebsd-security"> +<!ENTITY a.security "<ulink url='&a.security.url;'>FreeBSD аюулгүй байдлын захидлын жагсаалт</ulink>"> +<!ENTITY a.security.name "<ulink url='&a.security.url;'>freebsd-security</ulink>"> + +<!ENTITY a.security-notifications.url "&a.mailman.listinfo;/freebsd-security-notifications"> +<!ENTITY a.security-notifications "<ulink url='&a.security-notifications.url;'>FreeBSD аюулгүй байдлын мэдэгдлүүд захидлын жагсаалт</ulink>"> +<!ENTITY a.security-notifications.name "<ulink url='&a.security-notifications.url;'>freebsd-security-notifications</ulink>"> + +<!ENTITY a.small.url "&a.mailman.listinfo;/freebsd-small"> +<!ENTITY a.small "<ulink url='&a.small.url;'>FreeBSD-small захидлын жагсаалт</ulink>"> +<!ENTITY a.small.name "<ulink url='&a.small.url;'>freebsd-small</ulink>"> + +<!ENTITY a.smp.url "&a.mailman.listinfo;/freebsd-smp"> +<!ENTITY a.smp "<ulink url='&a.smp.url;'>FreeBSD тэгш хэмт олон боловсруулалт захидлын жагсаалт</ulink>"> +<!ENTITY a.smp.name "<ulink url='&a.smp.url;'>freebsd-smp</ulink>"> + +<!ENTITY a.sparc.url "&a.mailman.listinfo;/freebsd-sparc64"> +<!ENTITY a.sparc "<ulink url='&a.sparc.url;'>FreeBSD SPARC порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.sparc.name "<ulink url='&a.sparc.url;'>freebsd-sparc64</ulink>"> + +<!ENTITY a.src-committers "FreeBSD src/ нийлүүлэгчдийн захидлын жагсаалт"> +<!ENTITY a.src-committers.name "freebsd-src-committers"> + +<!ENTITY a.src-developers "FreeBSD src/ хөгжүүлэгчдийн захидлын жагсаалт"> +<!ENTITY a.src-developers.name "freebsd-src-developers"> + +<!ENTITY a.stable.url "&a.mailman.listinfo;/freebsd-stable"> +<!ENTITY a.stable "<ulink url='&a.stable.url;'>&os.stable; захидлын жагсаалт</ulink>"> +<!ENTITY a.stable.name "<ulink url='&a.stable.url;'>freebsd-stable</ulink>"> + +<!ENTITY a.standards.url "&a.mailman.listinfo;/freebsd-standards"> +<!ENTITY a.standards "<ulink url='&a.standards.url;'>FreeBSD C99 болон POSIX-той нийцтэй байдлын захидлын жагсаалт</ulink>"> +<!ENTITY a.standards.name "<ulink url='&a.standards.url;'>freebsd-standards</ulink>"> + +<!ENTITY a.sun4v.url "&a.mailman.listinfo;/freebsd-sun4v"> +<!ENTITY a.sun4v "<ulink url='&a.sun4v.url;'>FreeBSD sun4v порт хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.sun4v.name "<ulink url='&a.sun4v.url;'>freebsd-sun4v</ulink>"> + +<!ENTITY a.test.url "&a.mailman.listinfo;/freebsd-test"> +<!ENTITY a.test "<ulink url='&a.test.url;'>FreeBSD тест захидлын жагсаалт</ulink>"> +<!ENTITY a.test.name "<ulink url='&a.test.url;'>freebsd-test</ulink>"> + +<!ENTITY a.testing.url "&a.mailman.listinfo;/freebsd-testing"> +<!ENTITY a.testing "<ulink url='&a.testing.url;'>FreeBSD ажиллагаа ба тогтвортой байдлыг тест хийх захидлын жагсаалт</ulink>"> +<!ENTITY a.testing.name "<ulink url='&a.testing.url;'>freebsd-testing</ulink>"> + +<!ENTITY a.threads.url "&a.mailman.listinfo;/freebsd-threads"> +<!ENTITY a.threads "<ulink url='&a.threads.url;'>FreeBSD урсгалууд захидлын жагсаалт</ulink>"> +<!ENTITY a.threads.name "<ulink url='&a.threads.url;'>freebsd-threads</ulink>"> + +<!ENTITY a.tokenring.url "&a.mailman.listinfo;/freebsd-tokenring"> +<!ENTITY a.tokenring "<ulink url='&a.tokenring.url;'>FreeBSD tokenring захидлын жагсаалт</ulink>"> +<!ENTITY a.tokenring.name "<ulink url='&a.tokenring.url;'>freebsd-tokenring</ulink>"> + +<!ENTITY a.usb.url "&a.mailman.listinfo;/freebsd-usb"> +<!ENTITY a.usb "<ulink url='&a.usb.url;'>FreeBSD USB захидлын жагсаалт</ulink>"> +<!ENTITY a.usb.name "<ulink url='&a.usb.url;'>freebsd-usb</ulink>"> + +<!ENTITY a.usergroups.url "&a.mailman.listinfo;/freebsd-user-groups"> +<!ENTITY a.usergroups "<ulink url='&a.usergroups.url;'>FreeBSD хэрэглэгчийн бүлгийн зохицуулалт захидлын жагсаалт</ulink>"> +<!ENTITY a.usergroups.name "<ulink url='&a.usergroups.url;'>freebsd-user-groups</ulink>"> + +<!ENTITY a.vendors.url "&a.mailman.listinfo;/freebsd-vendors"> +<!ENTITY a.vendors "<ulink url='&a.vendors.url;'>FreeBSD үйлдвэрлэгчдийн урьдчилсан хувилбар зохицуулалт захидлын жагсаалт</ulink>"> +<!ENTITY a.vendors.name "<ulink url='&a.vendors.url;'>freebsd-vendors</ulink>"> + +<!ENTITY a.vuxml.url "&a.mailman.listinfo;/freebsd-vuxml"> +<!ENTITY a.vuxml "<unlink url='&a.vuxml.url;'>VuXML дэд бүтцийн талаарх хэлэлцүүлэг +</ulink>"> +<!ENTITY a.vuxml.name "<ulink url='&a.vuxml.url;'>freebsd-vuxml</ulink>"> + +<!ENTITY a.www.url "&a.mailman.listinfo;/freebsd-www"> +<!ENTITY a.www "<ulink url='&a.www.url;'>FreeBSD вебмастер захидлын жагсаалт</ulink>"> +<!ENTITY a.www.name "<ulink url='&a.www.url;'>freebsd-www</ulink>"> + +<!ENTITY a.x11.url "&a.mailman.listinfo;/freebsd-x11"> +<!ENTITY a.x11 "<ulink url='&a.x11.url;'>FreeBSD X11 захидлын жагсаалт</ulink>"> +<!ENTITY a.x11.name "<ulink url='&a.x11.url;'>freebsd-x11</ulink>"> + +<!-- Not really proper mailing lists --> + +<!ENTITY a.bugfollowup "<email>bug-followup@FreeBSD.org</email>"> +<!ENTITY a.bugsubmit "&a.bugfollowup;"> + +<!ENTITY a.majordomo "<email>majordomo@FreeBSD.org</email>"> diff --git a/mn_MN.UTF-8/share/sgml/mirrors-local.xsl b/mn_MN.UTF-8/share/sgml/mirrors-local.xsl new file mode 100644 index 0000000000..5fa6128997 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/mirrors-local.xsl @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + The FreeBSD Mongolian Documentation Project + + $FreeBSD$ + + Original revision 1.3 +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + + <!-- must point to master copy, doc/share/sgml/mirrors-master.xsl --> + <xsl:import href="../../../share/sgml/mirrors-master.xsl" /> + + <xsl:output type="xml" encoding="utf-8" + omit-xml-declaration="yes" + indent="yes"/> + + <!-- template: "mirrors-docbook-contact" --> + + <xsl:template name="mirrors-docbook-contact"> + <xsl:param name="email" select="'someone@somewhere'"/> + + <para>Асуудлууд гарвал энэ домены администратор + <email><xsl:value-of select="$email" /></email>-т хандана уу.</para> + </xsl:template> + +</xsl:stylesheet> diff --git a/mn_MN.UTF-8/share/sgml/newsgroups.ent b/mn_MN.UTF-8/share/sgml/newsgroups.ent new file mode 100644 index 0000000000..b46afb352e --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/newsgroups.ent @@ -0,0 +1,13 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.1 + + $FreeBSD$ + + Names of FreeBSD newsgroups +--> + +<!ENTITY ng.misc "Мэдээний бүлэг + <ulink url='news:comp.unix.bsd.freebsd.misc'>comp.unix.bsd.freebsd.misc</ulink>"> + diff --git a/mn_MN.UTF-8/share/sgml/teams.ent b/mn_MN.UTF-8/share/sgml/teams.ent new file mode 100644 index 0000000000..313fc19ad0 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/teams.ent @@ -0,0 +1,56 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.17 + + $FreeBSD$ + + Names and email address of teams of people working on specified + tasks. Usally they're just mail aliases set up at hub.FreeBSD.org + + Use these entities when referencing appropriate teams. + + Please keep this list in alphabetical order by entity names. + + IMPORTANT: If you delete names from this file you *must* ensure that + all references to them have been removed from the handbook's + translations. If they haven't then you *will* break the + builds for the other languages, and we will poke fun of you + in public. +--> + +<!ENTITY a.admins "FreeBSD-ийн Администраторууд <email>admins@FreeBSD.org</email>"> + +<!ENTITY a.core-secretary "Гол багийн нарийн бичиг <email>core-secretary@FreeBSD.org</email>"> + +<!ENTITY a.cvsadm "CVS архивын Администраторууд <email>cvsadm@FreeBSD.org</email>"> + +<!ENTITY a.cvsup-master "CVSup Толин Тусгал сайтын Зохицуулагч <email>cvsup-master@FreeBSD.org</email>"> + +<!ENTITY a.dcvs "Баримтын CVS архивын Администраторууд <email>dcvs@FreeBSD.org</email>"> + +<!ENTITY a.doceng "Баримтжуулалт Инженерчлэлийн Баг <email>doceng@FreeBSD.org</email>"> + +<!ENTITY a.donations "Хандив хүлээн авах оффис <email>donations@FreeBSD.org</email>"> + +<!ENTITY a.faq "FAQ Арчлагч <email>faq@FreeBSD.org</email>"> + +<!ENTITY a.ftp-master "FTP Толин Тусгал сайтын Зохицуулагч <email>ftp-master@FreeBSD.org</email>"> + +<!ENTITY a.mirror-admin "FTP/WWW Толин Тусгал сайтын Зохицуулагч <email>mirror-admin@FreeBSD.org</email>"> + +<!ENTITY a.ncvs "Эх кодын CVS архивын Администраторууд <email>ncvs@FreeBSD.org</email>"> + +<!ENTITY a.perforce-admin "Perforce архивын Администраторууд <email>perforce-admin@FreeBSD.org</email>"> + +<!ENTITY a.pcvs "Портын CVS архивын Администраторууд <email>pcvs@FreeBSD.org</email>"> + +<!ENTITY a.portmgr "Портын Удирдлагын Баг <email>portmgr@FreeBSD.org</email>"> + +<!ENTITY a.portmgr-secretary "Портын Удирдлагын Багийн Нарийн бичиг <email>portmgr-secretary@FreeBSD.org</email>"> + +<!ENTITY a.projcvs "Гуравдагчдын Төслүүдийн CVS архивын Администраторууд <email>projcvs@FreeBSD.org</email>"> + +<!ENTITY a.re "Хувилбар Инженерчлэлийн Баг <email>re@FreeBSD.org</email>"> + +<!ENTITY a.security-officer "Аюулгүй байдлын Түшмэдийн Баг <email>security-officer@FreeBSD.org</email>"> diff --git a/mn_MN.UTF-8/share/sgml/trademarks.ent b/mn_MN.UTF-8/share/sgml/trademarks.ent new file mode 100644 index 0000000000..af9ec0dbc5 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/trademarks.ent @@ -0,0 +1,401 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.37 + + $FreeBSD$ + + Trademark Legend, as required by The Open Group, Sun, etc.. + + This file contains entities with trademark attributions for all + the companies the FreeBSD documentation references. It also + contains entities for common products with proper trademark + symbols. + + Please keep this file sorted. +--> + +<!ENTITY tm-attrib.3com "<para>3Com болон HomeConnect нь + 3Com Корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!-- An SGML entity can't start with a number... --> +<!ENTITY tm.3com "<trademark class='registered'>3Com</trademark>"> + +<!ENTITY tm-attrib.3ware "<para>3ware болон Escalade нь 3ware Inc-ийн + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY tm.3ware "<trademark class='registered'>3ware</trademark>"> +<!ENTITY escalade "<trademark class='registered'>Escalade</trademark>"> + +<!-- http://www.adaptec.com/worldwide/company/compeditorial.html?prodkey=legal_copyright --> +<!ENTITY tm-attrib.adaptec "<para>Adaptec нь Adaptec, Inc-ийн + бүртгэгдсэн худалдааны тэмдэг юм.</para>"> +<!ENTITY adaptec "<trademark class='registered'>Adaptec</trademark>"> + +<!ENTITY tm-attrib.adobe "<para>Adobe, Acrobat, Acrobat Reader, болон + PostScript нь бүртгэгдсэн худалдааны тэмдэгнүүд эсвэл Adobe + Systems Incorporated-ийн Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд + дахь худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY acrobat "<trademark class='registered'>Acrobat</trademark>"> +<!ENTITY acrobat.reader "<trademark class='registered'>Acrobat Reader</trademark>"> +<!ENTITY adobe "<trademark class='registered'>Adobe</trademark>"> +<!ENTITY postscript "<trademark class='registered'>PostScript</trademark>"> + +<!-- http://www.amd.com/us-en/Trademarkinformation/0,,1435_1442,00.html --> +<!ENTITY tm-attrib.amd "<para>AMD, Am486, Am5X86, AMD Athlon, AMD + Duron, AMD Opteron, AMD-K6, Athlon, Élan, Opteron, болон PCnet + нь Advanced Micro Devices, Inc-ийн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY am486 "<trademark class='registered'>Am486</trademark>"> +<!ENTITY am5x86 "<trademark class='registered'>Am5x86</trademark>"> +<!ENTITY amd.athlon "<trademark>AMD Athlon</trademark>"> +<!ENTITY amd.duron "<trademark>AMD Duron</trademark>"> +<!ENTITY amd.k6 "<trademark class='registered'>AMD-K6</trademark>"> +<!ENTITY amd.opteron "<trademark>AMD Opteron</trademark>"> +<!ENTITY athlon "<trademark>Athlon</trademark>"> +<!ENTITY elan "<trademark>Élan</trademark>"> +<!ENTITY opteron "<trademark>Opteron</trademark>"> + +<!-- http://www.apple.com/legal/trademark/appletmlist.html --> +<!ENTITY tm-attrib.apple "<para>Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, + Quicktime, болон TrueType нь Америкийн Нэгдсэн Улс ба/эсвэл бусад улсуудад + бүртгэгдсэн Apple Computer, Inc.-ийн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY airport "<trademark class='registered'>AirPort</trademark>"> +<!ENTITY apple "<trademark class='registered'>Apple</trademark>"> +<!ENTITY firewire "<trademark class='registered'>FireWire</trademark>"> +<!ENTITY imac "<trademark class='registered'>iMac</trademark>"> +<!ENTITY mac "<trademark class='registered'>Mac</trademark>"> +<!ENTITY macintosh "<trademark class='registered'>Macintosh</trademark>"> +<!ENTITY macos "<trademark class='registered'>Mac OS</trademark>"> +<!ENTITY quicktime "<trademark class='registered'>Quicktime</trademark>"> +<!ENTITY truetype "<trademark class='registered'>TrueType</trademark>"> + +<!ENTITY tm-attrib.arm "<para>ARM нь ARM + Limited-ийн бүртгэгдсэн худалдааны тэмдэг юм.</para>"> +<!ENTITY arm "<trademark class='registered'>ARM</trademark>"> + +<!-- http://www.bluetooth.com/sig/trademark.use.asp --> +<!ENTITY tm-attrib.bluetooth "<para>Bluetooth үгийн тэмдгийг Bluetooth SIG, Inc + эзэмшдэг.</para>"> +<!ENTITY bluetooth "<trademark class='registered'>Bluetooth</trademark>"> + +<!ENTITY tm-attrib.broadcom "<para>Broadcom нь Broadcom корпорац ба/эсвэл + түүний салбаруудын бүртгэгдсэн худалдааны тэмдэг юм.</para>"> +<!ENTITY broadcom "<trademark class='registered'>Broadcom</trademark>"> + +<!-- http://www.checkpoint.com/copyright.html --> +<!ENTITY tm-attrib.check-point "<para>Check Point, Firewall-1, болон + VPN-1 нь Check Point Software Technologies Ltd-ийн худалдааны тэмдэгнүүд юм.</para>"> + +<!ENTITY tm-attrib.cisco "<para>Cisco, Catalyst, ба IOS нь + Америкийн Нэгдсэн Улс болон зарим нэг улсууд дахь Cisco Systems, Inc. + ба/эсвэл түүний гишүүдийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY catalyst "<trademark class='registered'>Catalyst</trademark>"> +<!ENTITY ios "<trademark class='registered'>IOS</trademark>"> + +<!ENTITY tm-attrib.corel "<para>Corel болон WordPerfect нь Канад, + Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Corel корпорац ба/эсвэл + түүний салбаруудын бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> + +<!-- http://www.creative.com/legal.asp --> +<!ENTITY tm-attrib.creative "<para>Sound Blaster нь Америкийн Нэгдсэн + Улс ба/эсвэл бусад улсууд дахь Creative Technology Ltd.-ийн худалдааны + тэмдэгнүүд юм.</para>"> +<!ENTITY soundblaster "<trademark class='registered'>SoundBlaster</trademark>"> + +<!-- http://www.cvsup.org/ --> +<!ENTITY tm-attrib.cvsup "<para>CVSup нь Жон Д. Полстрагийн бүртгэгдсэн худалдааны + тэмдэг юм.</para>"> + +<!-- http://www.dell.com/us/en/gen/misc/policy_007_policy.htm --> +<!ENTITY tm-attrib.dell "<para>Dell, Dell Precision, Latitude, + Optiplex, PowerEdge нь Dell Computer корпорацийн бүртгэгдсэн худалдааны + тэмдэгнүүд юм</para>"> +<!ENTITY dell "<trademark>Dell</trademark>"> +<!ENTITY poweredge "<trademark>PowerEdge</trademark>"> + +<!-- http://www.epson.com/cgi-bin/Store/AboutTrademarkInfo.jsp --> +<!ENTITY tm-attrib.epson "<para>EPSON, EPSON Perfection нь Seiko Epson + корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY epson "<trademark class='registered'>EPSON</trademark>"> +<!ENTITY epson.perfection "<trademark class='registered'>EPSON + Perfection</trademark>"> + +<!ENTITY tm-attrib.freebsd "<para>FreeBSD нь FreeBSD Сангийн бүртгэгдсэн худалдааны + тэмдэг юм.</para>"> + +<!-- http://www.heidelberg.com/hq/eng/small_print/trademarks.asp --> +<!ENTITY tm-attrib.heidelberger "<para>Heidelberg, Helvetica, + Palatino, болон Times Roman нь АНУ болон бусад улдууд дахь + Heidelberger Druckmaschinen AG-ийн бүртгэгдсэн худалдааны тэмдэгнүүд, + аль эсвэл худалдааны тэмдэгнүүд юм.</para>"> + +<!ENTITY tm-attrib.ibm "<para>IBM, AIX, EtherJet, Netfinity, OS/2, + PowerPC, PS/2, S/390, болон ThinkPad нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь + International Business Machines корпорацийн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY aix "<trademark class='registered'>AIX</trademark>"> +<!ENTITY etherjet "<trademark>EtherJet</trademark>"> +<!ENTITY netfinity "<trademark class='registered'>Netfinity</trademark>"> +<!ENTITY os2 "<trademark class='registered'>OS/2</trademark>"> +<!ENTITY powerpc "<trademark class='registered'>PowerPC</trademark>"> +<!ENTITY ps2 "<trademark class='registered'>PS/2</trademark>"> +<!ENTITY s390 "<trademark class='registered'>S/390</trademark>"> +<!ENTITY thinkpad "<trademark class='registered'>ThinkPad</trademark>"> + +<!ENTITY tm-attrib.ieee "<para>IEEE, POSIX, болон 802 нь + Америкийн Нэгдсэн Улс дахь Institute of Electrical and Electronics Engineers + буюу Цахилгаан ба Электроны Инженерүүдийн Сургуулийн бүртгэгдсэн худалдааны тэмдэгнүүд + юм.</para>"> +<!ENTITY posix "<trademark class='registered'>POSIX</trademark>"> + +<!ENTITY tm-attrib.intel "<para>Intel, Celeron, EtherExpress, i386, + i486, Itanium, Pentium, болон Xeon нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь + Intel корпорац эсвэл түүний салбаруудын худалдааны тэмдэгнүүд эсвэл + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY celeron "<trademark class='registered'>Celeron</trademark>"> +<!ENTITY etherexpress "<trademark>EtherExpress</trademark>"> +<!ENTITY i386 "<trademark>i386</trademark>"> +<!ENTITY i486 "<trademark>i486</trademark>"> +<!ENTITY intel "<trademark class='registered'>Intel</trademark>"> +<!ENTITY itanium "<trademark class='registered'>Itanium</trademark>"> +<!ENTITY pentium "<trademark class='registered'>Pentium</trademark>"> +<!ENTITY xeon "<trademark>Xeon</trademark>"> + +<!-- http://www.quicken.com/support/trademark/ --> +<!ENTITY tm-attrib.intuit "<para>Intuit болон Quicken нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь Intuit Inc. эсвэл түүний аль нэг + салбаруудын бүртгэгдсэн тэмдэгнүүд ба/эсвэл бүртгэгдсэн үйлчилгээний тэмдэгнүүд + юм.</para>"> + +<!ENTITY tm-attrib.iomega "<para>Iomega, Zip, болон Jaz нь + Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Iomega корпорацийн + бүртгэгдсэн худалдааны тэмдэгнүүд эсвэл худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY iomegazip "<trademark class='registered'>Zip</trademark>"> +<!ENTITY jaz "<trademark class='registered'>Jaz</trademark>"> + +<!ENTITY tm-attrib.lantronix "<para>Lantronix болон EasyIO нь + Lantronix корпорацийн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY easyio "<trademark>EasyIO</trademark>"> + +<!-- http://www.linuxmark.org/ --> +<!ENTITY tm-attrib.linux "<para>Линукс нь Линус Торвалдсын бүртгэгдсэн худалдааны + тэмдэг юм.</para>"> +<!ENTITY linux "<trademark class='registered'>Linux</trademark>"> + +<!-- http://www.lsilogic.com/trademrk.html --> +<!ENTITY tm-attrib.lsilogic "<para>LSI Logic, AcceleRAID, eXtremeRAID, + MegaRAID болон Mylex нь LSI + Logic Corp-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY acceleraid "<trademark>AcceleRAID</trademark>"> +<!ENTITY megaraid "<trademark class='registered'>MegaRAID</trademark>"> +<!ENTITY mylex "<trademark class='registered'>Mylex</trademark>"> + +<!ENTITY tm-attrib.macromedia "<para>Macromedia, Flash, болон Shockwave + Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Macromedia Inc-ийн худалдааны + тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY flash "<trademark>Flash</trademark>"> +<!ENTITY macromedia "<trademark class='registered'>Macromedia</trademark>"> +<!ENTITY shockwave "<trademark class='registered'>Shockwave</trademark>"> + +<!ENTITY tm-attrib.microsoft "<para>Microsoft, IntelliMouse, MS-DOS, + Outlook, Windows, Windows Media болон Windows NT нь + Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Microsoft корпорацийн + бүртгэгдсэн худалдааны тэмдэгнүүд эсвэл худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY intellimouse "<trademark class='registered'>IntelliMouse</trademark>"> +<!ENTITY microsoft "<trademark class='registered'>Microsoft</trademark>"> +<!ENTITY microsoft.windows "µsoft; &windows;"> +<!ENTITY ms-dos "<trademark class='registered'>MS-DOS</trademark>"> +<!ENTITY outlook "<trademark class='registered'>Outlook</trademark>"> +<!ENTITY windows "<trademark class='registered'>Windows</trademark>"> +<!ENTITY windows.media "<trademark class='registered'>Windows Media</trademark>"> +<!ENTITY windows2k "&windows; 2000"> +<!ENTITY windowsnt "<trademark class='registered'>Windows NT</trademark>"> +<!ENTITY windowsxp "&windows; XP"> + +<!ENTITY tm-attrib.mips "<para>MIPS болон R4000 нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь MIPS Technologies, Inc-ийн + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY mips "<trademark class='registered'>MIPS</trademark>"> + +<!-- http://www.mysql.com/company/trademark.html --> +<!ENTITY tm-attrib.mysql "<para>MySQL нь Америкийн Нэгдсэн Улс, Европын + Холбоо болон бусад улсууд дахь MySQL AB-ийн бүртгэгдсэн худалдааны + тэмдэгнүүд юм.</para>"> +<!ENTITY mysql "<trademark>MySQL</trademark>"> + +<!-- http://www.m-sys.com/content/LegalTerms.asp --> +<!ENTITY tm-attrib.m-systems "<para>M-Systems болон DiskOnChip нь + M-Systems Flash Disk Pioneers, Ltd-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн + худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY diskonchip "<trademark class='registered'>DiskOnChip</trademark>"> + +<!-- http://www.netbsd.org/Misc/about.html, ack'd by http://www.uspto.gov/ --> +<!ENTITY tm-attrib.netbsd "<para>NetBSD нь NetBSD сангийн бүртгэгдсэн худалдааны + тэмдэг юм.</para>"> + +<!ENTITY tm-attrib.netscape "<para>Netscape болон Netscape Navigator нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь Netscape Communications + корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY netscape "<trademark class='registered'>Netscape</trademark>"> +<!ENTITY netscape.navigator "<trademark class='registered'>Netscape Navigator</trademark>"> + +<!-- http://www.nexthop.com/legal.shtml --> +<!ENTITY tm-attrib.nexthop "<para>GateD болон NextHop нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь NextHop-ийн бүртгэгдсэн эсвэл + бүртгэгдээгүй худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY gated "<trademark class='registered'>GateD</trademark>"> + +<!-- http://www.novell.com/company/legal/trademarks/tmlist.html --> +<!ENTITY tm-attrib.novell "<para>NetWare, NetWare Loadable Module, болон + NLM нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь Novell, + Inc-ийн бүртгэгдсэн худалдааны тэмдэгнүүд эсвэл худалдааны тэмдэгнүүд юм.</para>"> + +<!ENTITY tm-attrib.opengroup "<para>Motif, OSF/1, болон UNIX нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь The Open Group-ийн + бүртгэгдсэн худалдааны тэмдэгнүүд бөгөөд IT DialTone ба The Open Group + нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь The Open Group-ийн + худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY tm-attrib.unix "<para>UNIX нь АНУ болон бусад улсууд дахь The Open Group-ийн бүртгэгдсэн + худалдааны тэмдэг юм.</para>"> +<!ENTITY motif "<trademark class='registered'>Motif</trademark>"> +<!ENTITY unix "<trademark class='registered'>UNIX</trademark>"> + +<!-- http://www.oracle.com/html/trademark.html --> +<!-- http://www.oracle.com/html/3party.html --> +<!ENTITY tm-attrib.oracle "<para>Oracle нь Oracle корпорацийн бүртгэгдсэн + худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY oracle "<trademark class='registered'>Oracle</trademark>"> + +<!ENTITY tm-attrib.parallels "<para>Parallels нь + Parallels Software International Inc.-ийн худалдааны тэмдэг юм.</para>"> + +<!-- http://www.powerquest.com/legal/ --> +<!ENTITY tm-attrib.powerquest "<para>PowerQuest болон PartitionMagic + нь Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь PowerQuest корпорацийн + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY partitionmagic "<trademark class='registered'>PartitionMagic</trademark>"> + +<!-- http://www.qualcomm.com/main/legal.html --> +<!ENTITY tm-attrib.qualcomm "<para>QUALCOMM болон Eudora нь + QUALCOMM Incorporated-ийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY eudora "<trademark class='registered'>Eudora</trademark>"> + +<!-- http://www.realnetworks.com/company/logos/policy.html --> +<!ENTITY tm-attrib.realnetworks "<para>RealNetworks, RealPlayer, болон + RealAudio нь RealNetworks, + Inc.-ийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> + +<!-- Note: RedHat doesn't use (r)/(tm) for their own trademarks --> +<!-- http://www.redhat.com/legal/legal_statement.html --> +<!ENTITY tm-attrib.redhat "<para>Red Hat, RPM, нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь Red Hat, Inc-ийн + худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> + +<!ENTITY tm-attrib.sap "<para>SAP, R/3, болон mySAP нь Герман болон + дэлхий дахины бусад улсууд дахь SAP AG-ийн худалдааны тэмдэгнүүд эсвэл + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY r3 "<trademark class='registered'>R/3</trademark>"> +<!ENTITY sap "<trademark class='registered'>SAP</trademark>"> +<!ENTITY sap.r3 "&sap; &r3;"> + +<!ENTITY tm-attrib.sgi "<para>Silicon Graphics, SGI, болон OpenGL нь + Америкийн Нэгдсэн Улс ба/эсвэл дэлхий дахины бусад улсууд дахь + Silicon Graphics, Inc.-ийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY opengl "<trademark class='registered'>OpenGL</trademark>"> + +<!-- http://slackware.com/trademark/trademark.php --> +<!ENTITY tm-attrib.slackware "<para>Slackware нь Patrick Volkerding болон + Slackware Linux, Inc-ийн бүртгэгдсэн худалдааны тэмдэг юм.</para>"> + +<!ENTITY tm-attrib.sparc "<para>Sparc, Sparc64, SPARCEngine, болон + UltraSPARC нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь SPARC International, Inc-ийн + худалдааны тэмдэгнүүд юм. SPARC худалдааны тэмдэгнүүдийг зүүсэн + бүтээгдэхүүнүүд нь Sun Microsystems, Inc-ийн хөгжүүлсэн архитектур + дээр суурилсан байдаг.</para>"> +<!ENTITY sparc "<trademark class='registered'>Sparc</trademark>"> +<!ENTITY sparc64 "<trademark class='registered'>Sparc64</trademark>"> +<!ENTITY sparcengine "<trademark class='registered'>SPARCEngine</trademark>"> +<!ENTITY ultrasparc "<trademark class='registered'>UltraSPARC</trademark>"> + +<!-- http://www.sun.com/suntrademarks/ --> + +<!ENTITY tm-attrib.sun "<para>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-ийн + худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY java "<trademark>Java</trademark>"> +<!ENTITY java.virtual.machine "<trademark>Java Virtual Machine</trademark>"> +<!ENTITY javaserver.pages "<trademark>JavaServer Pages</trademark>"> +<!ENTITY jdk "<trademark>JDK</trademark>"> +<!ENTITY jre "<trademark>JRE</trademark>"> +<!ENTITY jsp "<trademark>JSP</trademark>"> +<!ENTITY jvm "<trademark>JVM</trademark>"> +<!ENTITY netra "<trademark>Netra</trademark>"> +<!ENTITY solaris "<trademark>Solaris</trademark>"> +<!ENTITY staroffice "<trademark>StarOffice</trademark>"> +<!ENTITY sun "<trademark>Sun</trademark>"> +<!ENTITY sun.blade "<trademark>Sun Blade</trademark>"> +<!ENTITY sun.enterprise "<trademark>Sun Enterprise</trademark>"> +<!ENTITY sun.fire "<trademark>Sun Fire</trademark>"> +<!ENTITY sun.ultra "Sun <trademark>Ultra</trademark>"> +<!ENTITY sunos "<trademark>SunOS</trademark>"> + +<!-- http://www.symantec.com/legal/legal_note.html --> +<!ENTITY tm-attrib.symantec "<para>Symantec болон Ghost нь + Америкийн Нэгдсэн Улс болон бусад улсууд дахь Symantec корпорацийн + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> + +<!-- http://www.mathworks.com/company/trademarks.shtml --> +<!ENTITY tm-attrib.themathworks "<para>MATLAB нь The MathWorks, Inc-ийн + бүртгэгдсэн худалдааны тэмдэг юм.</para>"> +<!ENTITY matlab "<trademark class='registered'>MATLAB</trademark>"> + +<!ENTITY tm-attrib.thomson "<para>SpeedTouch нь Thomson-ий худалдааны + тэмдэг юм</para>"> +<!ENTITY speedtouch "<trademark>SpeedTouch</trademark>"> + +<!-- http://www.transmeta.com/about/legal.html --> +<!ENTITY tm-attrib.transmeta "<para>Transmeta болон Crusoe нь + Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь Transmeta корпорацийн + худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY crusoe "<trademark>Crusoe</trademark>"> +<!ENTITY transmeta "<trademark>Transmeta</trademark>"> + +<!-- http://www.usr.com/adbuilder/ab-usage-guidelines.asp --> +<!-- http://www.usr.com/adbuilder/ab-tips-trade-ref.asp --> +<!ENTITY tm-attrib.usrobotics "<para>U.S. Robotics болон Sportster нь + U.S. Robotics корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para>"> +<!ENTITY sportster "<trademark class='registered'>Sportster</trademark>"> +<!ENTITY usrobotics "<trademark class='registered'>U.S. Robotics</trademark>"> + +<!-- http://www.maplesoft.com/trademarks.shtml --> +<!ENTITY tm-attrib.waterloomaple "<para>Waterloo Maple болон Maple нь + Waterloo Maple Inc-ийн худалдааны тэмдэгнүүд эсвэл бүртгэгдсэн худалдааны + тэмдэгнүүд юм.</para>"> +<!ENTITY maple "<trademark>Maple</trademark>"> + +<!-- http://www.wolfram.com/company/terms.html --> +<!ENTITY tm-attrib.wolframresearch "<para>Mathematica нь + Wolfram Research, Inc-ийн бүртгэгдсэн худалдааны тэмдэг юм.</para>"> +<!ENTITY mathematica "<trademark class='registered'>Mathematica</trademark>"> + +<!-- http://www.vmware.com/legal.html --> +<!ENTITY tm-attrib.vmware "<para>VMware нь VMware, Inc-ийн худалдааны тэмдэг юм.</para>"> + +<!-- http://www.xensource.com/xen-tm-faq.html --> +<!ENTITY tm-attrib.xen "<para>Xen нь Америкийн Нэгдсэн Улс болон бусад улсууд дахь + XenSource, Inc.-ийн худалдааны тэмдэг юм.</para>"> +<!ENTITY xen "<trademark>Xen</trademark>"> + +<!ENTITY tm-attrib.xfree86 "<para>XFree86 нь XFree86 Project, Inc-ийн + худалдааны тэмдэг юм.</para>"> +<!ENTITY xfree86 "<trademark>XFree86</trademark>"> + +<!-- http://www.xiph.org/ --> +<!ENTITY tm-attrib.xiph "<para>Ogg Vorbis болон Xiph.Org нь Xiph.Org-ий н + худалдааны тэмдэгнүүд юм.</para>"> + +<!ENTITY tm-attrib.general "<para>Үйлдвэрлэгчид болон худалдаалагчдын өөрийнхөө + бүтээгдэхүүнүүддээ ашигладаг тэмдэгнүүдийн олонхи нь худалдааны тэмдэг гэж хэлэгддэг. + Тийм худалдааны тэмдэгнүүд энэ баримтад гарч байх үед, FreeBSD төсөлд худалдааны + тэмдэг мэдэгдэж байвал тэмдэгнүүд дээр <quote>™</quote> эсвэл + <quote>®</quote> тэмдэгт нэмэгддэг.</para>"> diff --git a/mn_MN.UTF-8/share/sgml/trademarks.sgml b/mn_MN.UTF-8/share/sgml/trademarks.sgml new file mode 100644 index 0000000000..6faeaaf5a2 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/trademarks.sgml @@ -0,0 +1,43 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.6 + + $FreeBSD$ + + Trademark Legend, as required by The Open Group, Sun, etc.. +--> + +<legalnotice id="trademarks" role="trademarks"> + + <para>FreeBSD нь FreeBSD Сангийн бүртгэгдсэн худалдааны тэмдэг юм.</para> + + <para>UNIX нь АНУ болон бусад улсуудад The Open Group-ийн бүртгэгдсэн + худалдааны тэмдэг юм.</para> + + <para>Sun, Sun Microsystems, SunOS, Solaris, болон Java нь Америкийн Нэгдсэн + Улс болон бусад улсууд дахь Sun Microsystems-ийн худалдааны тэмдэгнүүд эсвэл + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para> + +<!-- Product Trademarks --> + + <para>Apple болон QuickTime нь АНУ болон бусад улсуудад бүртгэгдсэн + Apple Computer, Inc.,-ийн худалдааны тэмдэгнүүд юм.</para> + + <para>Macromedia болон Flash нь Америкийн Нэгдсэн + Улс ба/эсвэл бусад улсууд дахь Macromedia-ийн худалдааны тэмдэгнүүд эсвэл + бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para> + + <para>Microsoft, Windows, болон Windows Media нь бүртгэгдсэн худалдааны + тэмдэгнүүд эсвэл Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь + Microsoft Корпорацийн худалдааны тэмдэгнүүд юм.</para> + + <para>PartitionMagic нь Америкийн Нэгдсэн Улс ба/эсвэл бусад улсууд дахь + PowerQuest Корпорацийн бүртгэгдсэн худалдааны тэмдэгнүүд юм.</para> + + <para>Үйлдвэрлэгчид болон худалдаалагчдын өөрийнхөө бүтээгдэхүүнүүддээ ашигладаг + тэмдэгнүүдийн олонхи нь худалдааны тэмдэг гэж хэлэгддэг. Тийм худалдааны + тэмдэгнүүд энэ номонд гарч байх үед, FreeBSD төсөлд худалдааны тэмдэг + мэдэгдэж байвал тэмдэгнүүд дээр '™' тэмдэгт нэмэгддэг.</para> + +</legalnotice> diff --git a/mn_MN.UTF-8/share/sgml/translators.ent b/mn_MN.UTF-8/share/sgml/translators.ent new file mode 100644 index 0000000000..5d543931c0 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/translators.ent @@ -0,0 +1,10 @@ +<!-- + The FreeBSD Mongolian Documentation Project + + $FreeBSD$ +--> + +<!ENTITY a.mn.baynaa "Лодойсамбын Баянзул <email>baynaa@yahoo.com</email>"> +<!ENTITY a.mn.ganbold "Цагаанхүүгийн Ганболд <email>ganbold@micom.mng.net</email>"> +<!ENTITY a.mn.natsag "Шагдарын Нацагдорж <email>natsag2000@yahoo.com</email>"> + diff --git a/mn_MN.UTF-8/share/sgml/transtable-local.xsl b/mn_MN.UTF-8/share/sgml/transtable-local.xsl new file mode 100644 index 0000000000..5e1f1305df --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/transtable-local.xsl @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + The FreeBSD Mongolian Documentation Project + + Original revision 1.2 + + $FreeBSD$ +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + + <!-- must point to master copy, doc/share/sgml/transtable-master.xsl --> + <xsl:import href="../../../share/sgml/transtable-master.xsl" /> + + <xsl:output type="xml" encoding="utf-8" + indent="yes"/> + +</xsl:stylesheet> diff --git a/mn_MN.UTF-8/share/sgml/transtable.xml b/mn_MN.UTF-8/share/sgml/transtable.xml new file mode 100644 index 0000000000..7c20cfa2f1 --- /dev/null +++ b/mn_MN.UTF-8/share/sgml/transtable.xml @@ -0,0 +1,368 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + The FreeBSD Mongolian Documentation Project + + $FreeBSD$ +--> + +<!-- + + This is a translation table used in transtable-common.xsl. + For example: + + <group id="country"> + <word> + <orig>word in English</orig> + <tran>word in your language</tran> + </word> + </group> + +--> + +<transtable> + <cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0"> + <cvs:keyword name="freebsd"> + $FreeBSDmn: freebsd_mn_doc/mn_MN-UTF-8/share/sgml/transtable.xml,v 0.1 2007/03/27 23:16:46 ganbold Exp $ + </cvs:keyword> + </cvs:keywords> + +<group id="country"> + <word> + <orig>Central Servers</orig> + <tran>Төв серверүүд</tran> + </word> + + <word> + <orig>Primary Mirror Sites</orig> + <tran>Үндсэн толин тусгал сайтууд</tran> + </word> + + <word> + <orig>Argentina</orig> + <tran>Аргентин</tran> + </word> + + <word> + <orig>Australia</orig> + <tran>Австрал</tran> + </word> + + <word> + <orig>Austria</orig> + <tran>Австри</tran> + </word> + + <word> + <orig>Belgium</orig> + <tran>Бельги</tran> + </word> + + <word> + <orig>Brazil</orig> + <tran>Бразил</tran> + </word> + + <word> + <orig>Bulgaria</orig> + <tran>Болгар</tran> + </word> + + <word> + <orig>Canada</orig> + <tran>Канад</tran> + </word> + + <word> + <orig>China</orig> + <tran>Хятад</tran> + </word> + + <word> + <orig>Costa Rica</orig> + <tran>Коста Рика</tran> + </word> + + <word> + <orig>Croatia</orig> + <tran>Хорват</tran> + </word> + + <word> + <orig>Czech Republic</orig> + <tran>Чех</tran> + </word> + + <word> + <orig>Denmark</orig> + <tran>Дани</tran> + </word> + + <word> + <orig>Estonia</orig> + <tran>Эстон</tran> + </word> + + <word> + <orig>Finland</orig> + <tran>Финланд</tran> + </word> + + <word> + <orig>France</orig> + <tran>Франц</tran> + </word> + + <word> + <orig>Germany</orig> + <tran>Герман</tran> + </word> + + <word> + <orig>Greece</orig> + <tran>Грек</tran> + </word> + + <word> + <orig>Hong Kong</orig> + <tran>Хонг Конг</tran> + </word> + + <word> + <orig>Hungary</orig> + <tran>Унгар</tran> + </word> + + <word> + <orig>Iceland</orig> + <tran>Исланд</tran> + </word> + + <word> + <orig>Indonesia</orig> + <tran>Индонез</tran> + </word> + + <word> + <orig>Ireland</orig> + <tran>Ирланд</tran> + </word> + + <word> + <orig>Israel</orig> + <tran>Израйль</tran> + </word> + + <word> + <orig>Italy</orig> + <tran>Итал</tran> + </word> + + <word> + <orig>Japan</orig> + <tran>Япон</tran> + </word> + + <word> + <orig>Korea</orig> + <tran>Солонгос</tran> + </word> + + <word> + <orig>Kuwait</orig> + <tran>Кувейт</tran> + </word> + + <word> + <orig>Kyrgyzstan</orig> + <tran>Киргызстан</tran> + </word> + + <word> + <orig>Latvia</orig> + <tran>Латви</tran> + </word> + + <word> + <orig>Lithuania</orig> + <tran>Литва</tran> + </word> + + <word> + <orig>Netherlands</orig> + <tran>Нидерланд</tran> + </word> + + <word> + <orig>New Zealand</orig> + <tran>Шинэ Зеланд</tran> + </word> + + <word> + <orig>Norway</orig> + <tran>Норвег</tran> + </word> + + <word> + <orig>Philippines</orig> + <tran>Филиппин</tran> + </word> + + <word> + <orig>Poland</orig> + <tran>Польш</tran> + </word> + + <word> + <orig>Portugal</orig> + <tran>Португал</tran> + </word> + + <word> + <orig>Romania</orig> + <tran>Румын</tran> + </word> + + <word> + <orig>Russia</orig> + <tran>Орос</tran> + </word> + + <word> + <orig>San Marino</orig> + <tran>Сан Марино</tran> + </word> + + <word> + <orig>Saudi Arabia</orig> + <tran>Саудын Араб</tran> + </word> + + <word> + <orig>Singapore</orig> + <tran>Сингапур</tran> + </word> + + <word> + <orig>Slovak Republic</orig> + <tran>Словак</tran> + </word> + + <word> + <orig>Slovenia</orig> + <tran>Словен</tran> + </word> + + <word> + <orig>South Africa</orig> + <tran>Өмнөд Африк</tran> + </word> + + <word> + <orig>Spain</orig> + <tran>Испани</tran> + </word> + + <word> + <orig>Sweden</orig> + <tran>Швед</tran> + </word> + + <word> + <orig>Switzerland</orig> + <tran>Швейцарь</tran> + </word> + + <word> + <orig>Taiwan</orig> + <tran>Тайван</tran> + </word> + + <word> + <orig>Thailand</orig> + <tran>Тайланд</tran> + </word> + + <word> + <orig>Turkey</orig> + <tran>Турк</tran> + </word> + + <word> + <orig>Ukraine</orig> + <tran>Украйн</tran> + </word> + + <word> + <orig>United Kingdom</orig> + <tran>Их Британи</tran> + </word> + + <word> + <orig>USA</orig> + <tran>АНУ</tran> + </word> +</group> + + <group id="number-month"> + <word> + <orig>1</orig> + <tran>1 сар</tran> + </word> + + <word> + <orig>2</orig> + <tran>2 сар</tran> + </word> + + <word> + <orig>3</orig> + <tran>3 сар</tran> + </word> + + <word> + <orig>4</orig> + <tran>4 сар</tran> + </word> + + <word> + <orig>5</orig> + <tran>5 сар</tran> + </word> + + <word> + <orig>6</orig> + <tran>6 сар</tran> + </word> + + <word> + <orig>7</orig> + <tran>7 сар</tran> + </word> + + <word> + <orig>8</orig> + <tran>8 сар</tran> + </word> + + <word> + <orig>9</orig> + <tran>9 сар</tran> + </word> + + <word> + <orig>10</orig> + <tran>10 сар</tran> + </word> + + <word> + <orig>11</orig> + <tran>11 сар</tran> + </word> + + <word> + <orig>12</orig> + <tran>12 сар</tran> + </word> + </group> +</transtable>