MFen: Resync with the English version of the handbook

Obtained from: FreeBSD Mongolian Documentation project
This commit is contained in:
Ganbold Tsagaankhuu 2008-09-30 06:05:59 +00:00
parent d341e2254d
commit 1a04b60e4f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=32981
7 changed files with 267 additions and 264 deletions

View file

@ -2,7 +2,7 @@
#
# The FreeBSD Mongolian Documentation Project
#
# Original revision 1.109
# Original revision 1.110
#
# Build the FreeBSD Handbook.
#
@ -201,6 +201,7 @@ IMAGES_LIB+= callouts/15.png
SRCS+= audit/chapter.sgml
SRCS+= book.sgml
SRCS+= colophon.sgml
SRCS+= dtrace/chapter.sgml
SRCS+= freebsd-glossary.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
@ -212,6 +213,7 @@ SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= firewalls/chapter.sgml
SRCS+= filesystems/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
@ -231,6 +233,7 @@ SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= updating/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= virtualization/chapter.sgml

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.153
Original revision 1.154
$FreeBSD$
-->
@ -658,8 +658,146 @@ total 530
Администраторуудыг &man.chflags.1; болон &man.chflags.2; гарын
авлагуудыг уншихыг зөвлөж байна.</para>
</sect2>
</sect1>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Том</firstname>
<surname>Рөүдс</surname>
<contrib>Хувь нэмэр болгон оруулсан </contrib>
</author>
</authorgroup>
</sect2info>
<title>setuid, setgid, болон sticky буюу наалдамхай зөвшөөрлүүд</title>
<para>Өмнө хэлэлцсэн зөвшөөрлүүдээс гадна бүх администраторуудын
мэдэх ёстой өөр гурван тусгай тохиргоо байдаг. Эдгээр нь
<literal>setuid</literal>, <literal>setgid</literal>
болон <literal>sticky</literal> буюу наалдамхай
зөвшөөрлүүд юм.</para>
<para>Эдгээр тохиргоонууд нь ерөнхийдөө энгийн хэрэглэгчдэд зөвшөөрөгддөггүй
ажиллагаагаар хангадаг бөгөөд &unix;-ийн зарим нэг үйлдлүүдэд чухал байдаг.
Эдгээрийг ойлгохын тулд жинхэнэ хэрэглэгчийн ID болон хүчинтэй хэрэглэгчийн
ID-ийн ялгааг дурдах хэрэгтэй.</para>
<para>Жинхэнэ хэрэглэгчийн ID нь процессийг эзэмшдэг юм уу эсвэл
процессийг эхлүүлдэг <acronym>UID</acronym> юм. Хүчинтэй хэрэглэгчийн
<acronym>UID</acronym> нь процессийн ажиллаж байгаа тэр хэрэглэгчийн
ID юм. Жишээ нь &man.passwd.1; хэрэгсэл нь хэрэглэгч өөрсдийн нууц үгээ
сольж байгаа болохоор жинхэнэ хэрэглэгчийн ID-аар ажиллах боловч
нууц үгийн санд өөрчлөлт хийхийн тулд <username>root</username>
хэрэглэгчийн хүчинтэй ID-аар ажилладаг. Ингэснээр энгийн хэрэглэгчдэд
<errorname>Permission Denied</errorname> буюу зөвшөөрөл хаалттай
гэсэн алдааг харуулалгүйгээр өөрсдийн нууц үгсийг солих боломжийг
олгодог.</para>
<note>
<para><literal>nosuid</literal> &man.mount.8; тохиргоо нь
эдгээр хоёртын файлуудыг дуугай амжилтгүй болоход хүргэдэг.
Энэ нь хэрэглэгчдэд мэдэгдэлгүйгээр ажиллагаа амжилтгүй болно
гэсэн үг юм. &man.mount.8; гарын авлагын дагуу энэ тохиргоо нь
<literal>nosuid</literal> гүйцэтгэл хялбаршуулагчийн хамгаалж болох шиг
бүрэн найдвартай бас биш юм.</para>
</note>
<para>setuid зөвшөөрлийг зөвшөөрлийн цуглуулгын өмнө
дөрвийн тоог (4) доорх жишээн дээрх шигээр тавьж
тохируулж болно:</para>
<screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>
<para><filename><replaceable>suidexample.sh</replaceable></filename>
файл дээрх зөвшөөрлүүд нь одоо доорх шиг харагдах ёстой:</para>
<programlisting>-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh</programlisting>
<para>Энэ жишээн дээр <literal>s</literal> нь ажиллуулах битийг
сольж файлын эзэмшигчид зориулсан зөвшөөрлүүдийн цуглуулгын хэсэг
болж байгаа нь харагдах ёстой. Энэ нь <command>passwd</command>
зэрэг дээшлүүлсэн зөвшөөрлүүдийг шаарддаг хэрэгслүүдийг
зөвшөөрдөг.</para>
<para>Жинхнээр нь үүнийг харахын тулд хоёр терминал нээ. Нэг дээр нь
энгийн хэрэглэгчээр <command>passwd</command> процессийг
эхлүүл. Шинэ нууц үг хүлээж байхад нь процессийн хүснэгтийг
шалгаад <command>passwd</command> тушаалын хэрэглэгчийн
мэдээллийг хар.</para>
<para>Терминал A дээр:</para>
<screen>Changing local password for trhodes
Old Password:</screen>
<para>Терминал B дээр:</para>
<screen>&prompt.root; <userinput>ps aux | grep passwd</userinput></screen>
<screen>trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd</screen>
<para>Дээр харуулснаар <command>passwd</command> нь
энгийн хэрэглэгчээр ажиллаж байгаа боловч <username>root</username>
хэрэглэгчийн хүчинтэй <acronym>UID</acronym> ашиглаж байна.</para>
<para><literal>setgid</literal> зөвшөөрөл нь <literal>setuid</literal>
зөвшөөрөлтэй адил үүргийг гүйцэтгэдэг, гэхдээ бүлгийн тохиргоог
өөрчилдөг. Програм юм уу эсвэл хэрэгсэл нь энэ тохиргоотойгоор ажиллахдаа
процессийг эхлүүлсэн хэрэглэгч биш файлыг эзэмшиж байгаа бүлэг дээр
тулгуурласан зөвшөөрлүүдийг олгодог.</para>
<para>Файл дээр <literal>setgid</literal> зөвшөөрлийг тохируулахдаа
дараах жишээн дээрх шиг <command>chmod</command> тушаалыг өмнөө
хоёртой (2) өгнө:</para>
<screen>&prompt.root; <userinput>chmod 2755 suidexample.sh</userinput></screen>
<para>Шинэ тохиргоог өмнөх шигээ харж болох бөгөөд
<literal>s</literal> нь одоо бүлгийн зөвшөөрлийн тохиргоонд
зориулагдсан талбарт байгааг анхаараарай:<para>
<screen>-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 suidexample.sh</screen>
<note>
<para>Эдгээр жишээнүүд дээр бүрхүүлийн скрипт нь хэдийгээр
ажиллах боломжтой файл боловч өөр <acronym>EUID</acronym>
буюу хүчинтэй хэрэглэгчийн ID-аар ажиллахгүй.
Энэ нь яагаад гэвэл бүрхүүлийн скрипт нь &man.setuid.2;
системийн дуудлагуудад хандаж чадахгүйтэй холбоотой юм.</para>
</note>
<para>Бидний хэлэлцсэн эхний хоёр тусгай зөвшөөрлийн битүүд нь
(<literal>setuid</literal> болон <literal>setgid</literal>
зөвшөөрлийн битүүд) дээшлүүлсэн зөвшөөрлүүдийг зөвшөөрч системийн
аюулгүй байдлыг доошлуулж болох юм. Системийн аюулгүй байдлыг
чангатгаж чадах гурав дахь тусгай зөвшөөрлийн бит байдаг нь
<literal>sticky bit</literal> буюу наалдамхай бит юм.</para>
<para><literal>sticky bit</literal> нь санд тавигдсан үед
файл устгалтыг зөвхөн файлыг эзэмшигчид зөвшөөрдөг. Энэ
зөвшөөрлийн цуглуулга нь
<filename class="directory">/tmp</filename>
зэрэг нийтийн сангаас файлыг эзэмшдэггүй хэрэглэгч уг файлыг устгахаас
хамгаалахад ашиг тустай байдаг. Энэ зөвшөөрлийг ашиглахын тулд
зөвшөөрлийн урд нэгийг (1) тавьж өгнө. Жишээ нь:</para>
<screen>&prompt.root; <userinput>chmod 1777 /tmp</userinput></screen>
<para>Одоо үр дүнг <command>ls</command> тушаал ашиглан
харах боломжтой:</para>
<screen>&prompt.root; <userinput>ls -al / | grep tmp</userinput></screen>
<screen>drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp</screen>
<para><literal>sticky bit</literal> буюу наалдамхай бит зөвшөөрөл нь
цуглуулгын хамгийн сүүлд байгаа <literal>t</literal>-ээс ялгаатай
юм.</para>
</sect2>
</sect1>
<sect1 id="dirstructure">
<title>Сангийн бүтэц</title>
<indexterm><primary>сангийн зохион байгуулалт</primary></indexterm>

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.172
Original revision 1.173
$FreeBSD$
-->
@ -50,6 +50,9 @@
<!ENTITY % chap.freebsd-glossary "IGNORE">
<!ENTITY % chap.mac "IGNORE">
<!ENTITY % chap.audit "IGNORE">
<!ENTITY % chap.filesystems "IGNORE">
<!ENTITY % chap.dtrace "IGNORE">
<!ENTITY % chap.updating "IGNORE">
<!ENTITY % pgpkeys SYSTEM "../../../share/pgpkeys/pgpkeys.ent"> %pgpkeys;
]>
@ -275,10 +278,12 @@
<![ %chap.audit; [ &chap.audit; ]]>
<![ %chap.disks; [ &chap.disks; ]]>
<![ %chap.geom; [ &chap.geom; ]]>
<![ %chap.filesystems; [ &chap.filesystems; ]]>
<![ %chap.vinum; [ &chap.vinum; ]]>
<![ %chap.virtualization; [ &chap.virtualization; ]]>
<![ %chap.l10n; [ &chap.l10n; ]]>
<![ %chap.cutting-edge; [ &chap.cutting-edge; ]]>
<![ %chap.dtrace; [ &chap.dtrace; ]]>
</part>
<part id="network-communication">
@ -320,6 +325,7 @@
FreeBSD ашиглаж эхлэхээсээ өмнө бүгдийг нь унших шаардлагагүй болно.</para>
</partintro>
<![ %chap.updating; [ &chap.updating; ]]>
<![ %chap.serialcomms; [ &chap.serialcomms; ]]>
<![ %chap.ppp-and-slip; [ &chap.ppp-and-slip; ]]>
<![ %chap.mail; [ &chap.mail; ]]>

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.37
Original revision 1.38
$FreeBSD$
-->
@ -41,12 +41,15 @@
<!ENTITY chap.audit SYSTEM "audit/chapter.sgml">
<!ENTITY chap.disks SYSTEM "disks/chapter.sgml">
<!ENTITY chap.geom SYSTEM "geom/chapter.sgml">
<!ENTITY chap.filesystems SYSTEM "filesystems/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">
<!ENTITY chap.dtrace SYSTEM "dtrace/chapter.sgml">
<!-- Part four -->
<!ENTITY chap.updating SYSTEM "updating/chapter.sgml">
<!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">

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.42
Original revision 1.43
$FreeBSD$
-->
@ -246,25 +246,30 @@ XXX: What message? Put it inside the screen output above.
дасгалд уг дискнүүдэд шууд хандах (&man.da.4;) <acronym>SCSI</acronym>
дисктэй гэж үзэж байгаа болно.</para>
<para>&os; үйлдлийн системийг нэг дэх диск дээр хоёр хуваалттайгаар суулгаарай.
Нэг нь <acronym>RAM</acronym>-ийн хэмжээг хоёр дахин авсан swap
хуваалт байх ёстой бөгөөд үлдэж байгаа зай нь root
(<filename class="directory">/</filename>) файлын системд
зориулагдана. Бусад холболтын цэгүүдэд зориулсан тусдаа хуваалтуудтай
байж болох бөгөөд гэхдээ энэ нь &man.bsdlabel.8; болон &man.fdisk.8;
тохиргоонуудыг гараар өөрчилдгөөс болж төвөгтэй байдлыг 10 дахин ихэсгэдэг.</para>
<sect2>
<title>Үндсэн дискүүдийг тольдох нь</title>
<para>Дахин ачаалаад системийг бүрэн эхэлтэл хүлээгээрэй. Энэ үйлдэл дууссаны дараа
<username>root</username> хэрэглэгчээр нэвтэрнэ.</para>
<para>&os; эхний <devicename>da0</devicename> дискийн төхөөрөмж дээр
суулгагдсан гэж үзвэл &man.gmirror.8;-д өөрийн үндсэн өгөгдлийг
тэнд хадгал гэж зааж өгсөн байх ёстой.</para>
<para><filename>/dev/mirror/gm</filename> төхөөрөмж үүсгээд
<filename>/dev/da1</filename> файлтай холбоорой:</para>
<para>Толь бүтээхээсээ өмнө <varname>kern.geom.debugflags</varname>
гэсэн &man.sysctl.8;-ийн тохиргоог дараах утгаар тохируулж
нэмэлт дибаг мэдээллийг идэвхжүүлж төхөөрөмжид хандах хандалтыг
нээж өгнө:</para>
<screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
<screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>
<para>Одоо толь үүсгэнэ.
<filename class="devicefile">/dev/mirror/gm</filename>
төхөөрөмжийг үр ашигтайгаар үүсгэн мета өгөгдлийг үндсэн дискийн төхөөрөмж
дээр хадгалан процессийг дараах тушаал ашиглан
эхлүүлнэ:</para>
<screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
<para>Систем дараах хариуг өгнө:</para>
<screen>
Metadata value stored on /dev/da1.
<screen>Metadata value stored on /dev/da0.
Done.</screen>
<para>GEOM-ийг эхлүүлэхэд <filename>/boot/kernel/geom_mirror.ko</filename>
@ -273,99 +278,89 @@ Done.</screen>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<note>
<para>Энэ тушаал нь <devicename>gm0</devicename> төхөөрөмжийн
<para>Энэ тушаал бүрэн ажиллаж дууссаны дараа
<devicename>gm0</devicename> төхөөрөмжийн
цэгийг <filename class="directory">/dev/mirror</filename>
санд үүсгэх ёстой.</para>
</note>
<para>Ерөнхий <command>fdisk</command>-ийн хаяг болон ачаалах кодыг
шинэ <devicename>gm0</devicename> төхөөрөмжид суулгаарай:</para>
<para>Системийг эхлүүлэх үед <filename>geom_mirror.ko</filename>
цөмийн модулийг дуудахыг идэвхжүүлнэ:</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 class="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 &amp;&amp; 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>geom_mirror.ko</filename> модулийг ачаалагдах үед ажиллуулахын
тулд дараах тушаалыг ажиллуулна:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
<para>Хуучин байсан <devicename>da0</devicename>-г
<devicename>gm0</devicename> толин төхөөрөмжийн шинэ төхөөрөмжийн цэгээр
сольж <filename>/etc/fstab</filename> файлыг засварлах хэрэгтэй.
<username>root</username> хэрэглэгчээр
<filename>/etc/fstab</filename> файлыг засварлана:</para>
<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
<para>&man.vi.1; дээр <userinput>:w /etc/fstab.bak</userinput>
гэж бичин <filename>fstab</filename>-ийн одоо байгаа агуулгыг
нөөцөлнө. Дараа нь хуучин байсан бүх <devicename>da0</devicename>-г
<devicename>gm0</devicename>-р
<userinput>:%s/da/mirror\/gm/g</userinput> гэж бичин
сольно.<para>
<para><filename>fstab</filename> файл дараахтай төстэй
харагдах ёстой. Дискийн хөтчүүд <acronym>SCSI</acronym> эсвэл
<acronym>ATA</acronym> байх нь хамаагүй бөгөөд эдгээрээс
үл хамааран <acronym>RAID</acronym> төхөөрөмж нь
<devicename>gm</devicename> байх болно.</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s2b none swap sw 0 0
/dev/mirror/gm0s2a / ufs rw 1 1
#/dev/mirror/gm0s2d /store ufs rw 2 2
/dev/mirror/gm0s2e /usr ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0</programlisting>
<para>Системийг дахин эхлүүлнэ:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Ачаалах дэлгэц дээр ганц хэрэглэгчийн горим уруу хандахын тулд
дөрөв (4) сонголтыг сонгоно. Консол дээр систем
<devicename>gm0s1a</devicename>-ээс ачаалсан эсэхийг шалгаарай.
Үүнийг &man.df.1; тушаалын үр дүнг харан хийж болно.</para>
<para>Системийг эхлүүлэх үед <devicename>gm0</devicename>-г
<devicename>da0</devicename> төхөөрөмжийн оронд ашиглах
ёстой. Бүрэн эхэлж дууссаны дараа үүнийг
<command>mount</command>
тушаалаас гарах үр дүнг хянаснаар шалгаж болно:</para>
<para>Хэрэв бүгд зүгээр болбол систем <devicename>gm0s1a</devicename>
төхөөрөмжөөс ачаалагдана. Эндээс анхдагч дискийг цэвэрлэж
толин тусгал уруу доор дурдсан тушаалуудыг ашиглан нэмж болно:</para>
<screen>&prompt.root; <userinput>mount</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/mirror/gm0s1a 1012974 224604 707334 24% /
devfs 1 1 0 100% /dev
/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home
/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr
/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var
devfs 1 1 0 100% /var/named/dev</screen>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da0 bs=512 count=79</userinput></screen>
<para>Үр дүн санасны дагуу зөв харагдаж байна. Төгсгөлд нь
синхрончлолыг эхлүүлэхийн тулд <devicename>da1</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>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>Толин тусгал бүтээгдсэний дараа түүнийн төлвийг доор дурдсан
тушаал ашиглан шалгаж болно:</para>
<screen>&prompt.root; <userinput>gmirror status</userinput></screen>
<para>Толь бүтээгдэж одоо байгаа бүх өгөгдөл
синхрончлогдсоны дараа дээрх тушаалаас гарах
үр дүн иймэрхүү байх ёстой:</para>
<screen> Name Status Components
mirror/gm0 COMPLETE da0
da1</screen>
<para>Ямар нэг асуудал байх юм уу эсвэл толь нь
бүтээх процессоо хийсээр байвал уг жишээ
<literal>COMPLETE</literal>-ийн оронд
<literal>DEGRADED</literal> гэж харуулах болно.</para>
</sect2>
<sect2>
<title>Алдааг олж засварлах нь</title>
<sect3>
@ -386,14 +381,38 @@ mountroot></programlisting>
OK? <userinput>boot</userinput></screen>
<para>Хэрэв энэ нь ажилласан бол модул ямар нэг шалтгаанаар буруу
ачаалагдсан байна. Дараах мөрийг:</para>
ачаалагдсан байна. Дараах:</para>
<programlisting>options GEOM_MIRROR</programlisting>
<para>цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай.
<para>мөрийг цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай.
Ингэх нь энэ асуудлыг арилгах ёстой.</para>
</sect3>
</sect2>
<sect2>
<title>Дискийн эвдрэлээс буцаж сэргээх нь</title>
<para>Дискийг тольдохын гайхамшигтай тал нь диск
эвдрэхэд ямар ч өгөгдөл алдалгүйгээр түүнийг сольж болоход
оршино.</para>
<para>Өмнөх <acronym>RAID</acronym>1 тохиргоог байна гэж
үзээд <devicename>da1</devicename> эвдэрсэн бөгөөд
солих хэрэгтэй байгаа гэж үзье. Солихын тулд аль диск
эвдэрснийг мэдээд системийг унтраана.
Одоо дискийг шинээр сольж системийг асааж болно.
Системийг дахин ачаалсны дараа дискийг солихын тулд
дараах тушаалуудыг ашиглаж болно:</para>
<screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>Дахин бүтээлтийн явцыг хянахын тулд
<command>gmirror</command> <option>status</option> тушаалыг
ашиглана. Энэ нь ийм амархан юм.</para>
</sect2>
</sect1>
<sect1 id="geom-ggate">

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.450
Original revision 1.451
$FreeBSD$
-->
@ -2287,172 +2287,6 @@ doc/zh_*</screen>
&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 &amp;&amp; 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&nbsp;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 class="directory">/usr/ports</filename>
сан үүсгэгддэггүй. Хэрэв та &os;&nbsp;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 &amp;&amp; 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 &amp;&amp; portsnap -I update</command>
тушаалуудаар солиод үзээрэй.</para>
</note>
</sect2>
</sect1>
<sect1 id="cvs-tags">
<title>CVS Tags буюу хаягууд</title>

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.282
Original revision 1.283
$FreeBSD$
-->
@ -620,7 +620,7 @@ docbook =
<screen>&prompt.root; <userinput>pkg_add -r portsnap</userinput></screen>
<para><link linkend="portsnap">Portsnap-г хэрэглэх нь</link> хэсгээс
<para><link linkend="updating-portsnap">Portsnap-г хэрэглэх нь</link> хэсгээс
<application>Portsnap</application>-тай холбоотой бүх мэдээллийг харна уу.</para>
<step>