Add new chapters' translations
Obtained from: FreeBSD Mongolian Documentation project
This commit is contained in:
parent
1a04b60e4f
commit
b0bb8078c9
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=32982
6 changed files with 1549 additions and 0 deletions
18
mn_MN.UTF-8/books/handbook/dtrace/Makefile
Normal file
18
mn_MN.UTF-8/books/handbook/dtrace/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# The FreeBSD Mongolian Documentation Project
|
||||||
|
#
|
||||||
|
# Original revision 1.1
|
||||||
|
#
|
||||||
|
# Build the Handbook with just the content from this chapter.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
CHAPTERS= dtrace/chapter.sgml
|
||||||
|
|
||||||
|
VPATH= ..
|
||||||
|
|
||||||
|
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
|
||||||
|
|
||||||
|
DOC_PREFIX?= ${.CURDIR}/../../../..
|
||||||
|
|
||||||
|
.include "../Makefile"
|
377
mn_MN.UTF-8/books/handbook/dtrace/chapter.sgml
Normal file
377
mn_MN.UTF-8/books/handbook/dtrace/chapter.sgml
Normal file
|
@ -0,0 +1,377 @@
|
||||||
|
<!--
|
||||||
|
The FreeBSD Mongolian Documentation Project
|
||||||
|
|
||||||
|
Original revision 1.1
|
||||||
|
|
||||||
|
$FreeBSD$
|
||||||
|
-->
|
||||||
|
|
||||||
|
<chapter id="dtrace">
|
||||||
|
<chapterinfo>
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Том</firstname>
|
||||||
|
<surname>Рөүдс</surname>
|
||||||
|
<contrib>Бичсэн </contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
</chapterinfo>
|
||||||
|
|
||||||
|
<title>DTrace</title>
|
||||||
|
|
||||||
|
<para>DTrace буюу Dynamic Tracing (Динамик Мөрдөлт) нь
|
||||||
|
үйлдвэрлэлд ашиглаж байгаа болон ашиглахын өмнөх системүүдэд
|
||||||
|
үйл ажиллагааны саад тотгоруудыг олоход зориулагдсан &sun;-с
|
||||||
|
хөгжүүлсэн хэрэгсэл юм. Энэ нь ямар ч тохиолдолд дибаг хийгч хэрэгсэл
|
||||||
|
биш боловч үйл ажиллагаа болон бусад асуудлуудыг цаг тухайд нь олох
|
||||||
|
системийн анализ хийхэд зориулагдсан хэрэгсэл юм.</para>
|
||||||
|
|
||||||
|
<para>DTrace нь системийн асуудлуудыг оношлоход зориулагдсан
|
||||||
|
сэтгэл хөдлөм боломжуудтай гайхамшигтай профиль хийгч хэрэгсэл юм.
|
||||||
|
Энэ нь өөрийн боломжуудыг ашиглахын тулд өмнө нь бичигдсэн скриптүүдийг
|
||||||
|
ажиллуулж бас болдог. Хэрэглэгчид нь тусгай зориулалтаар өөрсдийн профиль
|
||||||
|
хийлтийг өөрчлөх боломжтой DTrace D хэлийг ашиглан бүр өөрсдийн
|
||||||
|
хэрэгслүүдийг зохиож болох юм.</para>
|
||||||
|
|
||||||
|
<sect1 id="dtrace-synopsis">
|
||||||
|
<title>Ерөнхий агуулга</title>
|
||||||
|
|
||||||
|
<indexterm><primary>DTrace</primary></indexterm>
|
||||||
|
<indexterm>
|
||||||
|
<primary>DTrace support</primary>
|
||||||
|
<see>DTrace</see>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>DTrace гэж юу болох ямар ямар боломжуудаар хангадаг талаар.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&solaris;-ийн DTrace шийдэл болон &os;-д байгаа хоёрын хоорондын
|
||||||
|
ялгаанууд.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&os; дээр DTrace-ийг хэрхэн идэвхжүүлж ашиглах талаар.</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>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&os; эхийг хэрхэн авч дахин бүтээх талаар ойлгох
|
||||||
|
(<xref linkend="cutting-edge">).</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Temporary warning to avoid listing experimental versions
|
||||||
|
and production versions of FreeBSD with this technology.
|
||||||
|
-->
|
||||||
|
<warning>
|
||||||
|
<para>Энэ боломж нь туршилтын гэж тооцогддог. Зарим тохиргоонууд
|
||||||
|
ажиллагааны хувьд дутуу, зарим хэсэг нь ерөөсөө ажиллахгүй
|
||||||
|
байж болох юм. Цагийн явцад энэ боломж нь үйлдвэрлэлд ашиглагдахад
|
||||||
|
бэлэн гэж тооцогдох бөгөөд энэ баримт нь тэр тохиолдолд таарахаар
|
||||||
|
өөрчлөгдөх болно.</para>
|
||||||
|
</warning>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="dtrace-implementation">
|
||||||
|
<title>Шийдлийн ялгаанууд</title>
|
||||||
|
|
||||||
|
<para>&os; дээрх DTrace нь &solaris;-д байдагтай маш төстэй
|
||||||
|
боловч цааш үргэлжлүүлэхээсээ өмнө тайлбарлах ёстой ялгаанууд
|
||||||
|
байдаг. Хэрэглэгчдийн мэдрэх үндсэн ялгаа нь &os; дээр DTrace нь
|
||||||
|
тусгайлан идэвхжүүлэх ёстой байдаг. DTrace нь зөв ажиллахын
|
||||||
|
тулд идэвхжүүлсэн байх ёстой цөмийн тохиргоонууд болон модулиуд
|
||||||
|
байдаг. Эдгээрийг дараа тайлбарлах болно.</para>
|
||||||
|
|
||||||
|
<para><acronym>CTF</acronym> өгөгдлийг цөмийн модуль болон цөмөөс
|
||||||
|
өөрөөс нь дуудахад зориулсан дэмжлэгийг идэвхжүүлэх цөмийн
|
||||||
|
<literal>DDB_CTF</literal> тохиргоо байдаг.
|
||||||
|
<acronym>CTF</acronym> нь &solaris;-ийн Compressed C Type
|
||||||
|
буюу Шахсан C Төрөл бөгөөд <acronym>DWARF</acronym> болон
|
||||||
|
venerable stab-уудтай (хүндтэй хатгалтууд) адил дибаг мэдээллийн
|
||||||
|
багасгасан хэлбэрийг агуулдаг. Энэ <acronym>CTF</acronym> өгөгдөл нь
|
||||||
|
<command>ctfconvert</command> болон <command>ctfmerge</command>
|
||||||
|
гэсэн бүтээх хэрэгслүүдээр хоёртын файлуудад нэмэгддэг.
|
||||||
|
<command>ctfconvert</command> хэрэгсэл нь эмхэтгэгчийн үүсгэсэн
|
||||||
|
<acronym>DWARF</acronym> дибаг <acronym>ELF</acronym> хэсгүүдийг
|
||||||
|
задлан ялгаж <command>ctfmerge</command> нь обьектуудын
|
||||||
|
<acronym>CTF</acronym> <acronym>ELF</acronym> хэсгүүдийг
|
||||||
|
ажилладаг файлууд юм уу эсвэл хуваалцсан сангууд руу нийлүүлдэг.
|
||||||
|
Цөм болон &os; бүтээлтэд зориулж үүнийг хэрхэн идэвхжүүлэх талаар
|
||||||
|
дэлгэрэнгүй тайлбар удахгүй бичигдэх болно.</para>
|
||||||
|
|
||||||
|
<para>&solaris;-д байдгаас өөр хангагчид &os;-д байдаг.
|
||||||
|
Хамгийн алдартай нь <literal>dtmalloc</literal> хангагч бөгөөд
|
||||||
|
&os; цөмд <function>malloc()</function>-ийг төрлөөр нь мөрдөх
|
||||||
|
боломжийг бүрдүүлдэг.</para>
|
||||||
|
|
||||||
|
<para>Зөвхөн <username>root</username> DTrace-ийг &os; дээр ашиглаж болно.
|
||||||
|
Энэ нь аюулгүй байдлын ялгаатай холбоотой бөгөөд &os;-д байдаггүй хэдэн
|
||||||
|
доод түвшний аюулгүй байдлын шалгалтууд &solaris;-д байдаг. Тийм болохоор
|
||||||
|
<devicename>/dev/dtrace/dtrace</devicename> нь зөвхөн
|
||||||
|
<username>root</username> хэрэглэгчээр хатуу хязгаарлагдсан байдаг.</para>
|
||||||
|
|
||||||
|
<para>Төгсгөлд нь DTrace програм хангамж нь &sun;-ий <acronym>CDDL</acronym>
|
||||||
|
лицензийн доор байдаг. <literal>Common Development
|
||||||
|
and Distribution License</literal> буюу Нийтлэг Хөгжүүлэлт ба Түгээлтийн
|
||||||
|
Лиценз нь &os;-тэй цуг ирдэг бөгөөд
|
||||||
|
<filename>/usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE</filename>
|
||||||
|
юм уу эсвэл онлайн хэлбэрээр
|
||||||
|
<ulink url="http://www.opensolaris.org/os/licensing">
|
||||||
|
http://www.opensolaris.org/os/licensing</ulink> хаягаас харж болно.</para>
|
||||||
|
|
||||||
|
<para>Энэ лиценз нь DTrace тохиргоотой &os; цөм нь <acronym>BSD</acronym>
|
||||||
|
лицензтэй хэвээр гэсэн үг боловч модулиуд нь хоёртын хэлбэрээр түгээгдэх үед
|
||||||
|
юм уу эсвэл хоёртын файлууд дуудагдсан үед <acronym>CDDL</acronym> нь
|
||||||
|
хүчин төгөлдөр болдог.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="dtrace-enable">
|
||||||
|
<title>DTrace дэмжлэгийг идэвхжүүлэх</title>
|
||||||
|
|
||||||
|
<para>DTrace-д зориулсан дэмжлэгийг идэвхжүүлэхийн
|
||||||
|
тулд дараах мөрүүдийг цөмийн тохиргооны файлд нэмнэ:</para>
|
||||||
|
|
||||||
|
<programlisting>options KDTRACE_HOOKS
|
||||||
|
options DDB_CTF</programlisting>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>AMD64 архитектурын хэрэглэгчид өөрсдийн цөмийн тохиргооны
|
||||||
|
файлдаа дараах мөрийг нэмэхийг хүсэх болно:</para>
|
||||||
|
|
||||||
|
<programlisting>options KDTRACE_FRAME</programlisting>
|
||||||
|
|
||||||
|
<para>Энэ тохиргоо нь <acronym>FBT</acronym> боломжид зориулсан
|
||||||
|
дэмжлэгийг хангадаг. DTrace нь энэ тохиргоогүйгээр ажилладаг боловч
|
||||||
|
функцийн хязгаарын мөрдөлтөд зориулсан дэмжлэг хязгаарлагдмал байх болно.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>Бүх эх CTF тохиргоонуудтай дахин бүтээгдэж суулгагдсан байх ёстой.
|
||||||
|
Ингэхийн тул &os;-ийн эхийг доорх тушаалуудыг ашиглан дахин бүтээнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||||
|
&prompt.root; <userinput>make WITH_CTF=1 buildworld</userinput>
|
||||||
|
&prompt.root; <userinput>make WITH_CFT=1 kernel</userinput>
|
||||||
|
&prompt.root; <userinput>make WITH_CFT=1 installworld</userinput>
|
||||||
|
&prompt.root; <userinput>mergemaster -Ui</userinput></screen>
|
||||||
|
|
||||||
|
<para>Системийг дахин ачаалах хэрэгтэй.</para>
|
||||||
|
|
||||||
|
<para>Дахин ачаалж шинэ цөмийг санах ойд дуудагдсаны дараа Korn бүрхүүлийн
|
||||||
|
дэмжлэгийг нэмэх хэрэгтэй. DTrace хэрэгслүүд нь <command>ksh</command>
|
||||||
|
дээр бичигдсэн хэд хэдэн хэрэгслүүдтэй болохоор энэ нь хэрэгтэй юм.
|
||||||
|
<filename role="package">shells/ksh93</filename>-г суулгах хэрэгтэй.
|
||||||
|
Эдгээр хэрэгслүүдийг <filename role="package">shells/pdksh</filename> эсвэл
|
||||||
|
<filename role="package">shells/mksh</filename> дээр
|
||||||
|
ажиллуулж бас болно.</para>
|
||||||
|
|
||||||
|
<para>Төгсгөлд нь одоогийн DTrace хэрэгслүүдийг олж авах хэрэгтэй. Одоогийн
|
||||||
|
хувилбар нь <ulink url="http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/">
|
||||||
|
http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/</ulink> хаягт
|
||||||
|
байрладаг. Суулгах арга зам цуг байдаг боловч суулгалт нь багцалсан хэрэгслүүдийг
|
||||||
|
ашиглахыг шаарддаггүй.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="dtrace-using">
|
||||||
|
<title>DTrace-г ашиглах</title>
|
||||||
|
|
||||||
|
<para>DTrace боломжийг ашиглахаас өмнө DTrace төхөөрөмж байх хэрэгтэй.
|
||||||
|
Төхөөрөмжийг дуудахын тулд дараах тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>kldload dtraceall</userinput></screen>
|
||||||
|
|
||||||
|
<para>DTrace дэмжлэг одоо боломжтой болсон байх ёстой. Бүх шалгалтыг
|
||||||
|
харахын тулд администратор дараах тушаалыг одоо ажиллуулж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>dtrace -l | more</userinput></screen>
|
||||||
|
|
||||||
|
<para>Дэлгэцийн буфферийг түргэн дүүргэх болохоор бүх гаралтыг
|
||||||
|
<command>more</command> хэрэгсэл рүү дамжуулдаг. Энд хүрэхэд
|
||||||
|
DTrace-ийг ажиллаж байна гэж үзнэ. Одоо уг хэрэгслийг шалгаж үзэх
|
||||||
|
цаг боллоо.</para>
|
||||||
|
|
||||||
|
<para>Уг хэрэгсэл нь системийн мэдээллийг цуглуулахын тулд DTrace-тэй цуг
|
||||||
|
ажиллуулж болох ашиглахад бэлэн скриптүүдийн цуглуулга юм. Нээлттэй
|
||||||
|
файлууд, санах ой,<acronym>CPU</acronym>-ийн хэрэглээ болон өөр олон
|
||||||
|
зүйлсийг шалгах скриптүүд байдаг. Скриптүүдийг дараах тушаалаар
|
||||||
|
задалж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>gunzip -c DTraceToolkit* | tar xvf -</userinput></screen>
|
||||||
|
|
||||||
|
<para><command>cd</command> ашиглан тэр сан руу өөрчилж жижиг үсгээр бичигдсэн
|
||||||
|
нэртэй бүх файлууд дээр ажиллуулах зөвшөөрлүүдийг <literal>755</literal>
|
||||||
|
руу өөрчлөх хэрэгтэй.</para>
|
||||||
|
|
||||||
|
<para>Эдгээр бүх скриптүүдийн агуулгад өөрчлөлт хийх хэрэгтэй
|
||||||
|
болно. <filename>/usr/bin/ksh</filename> гэснийг
|
||||||
|
<filename>/usr/local/bin/ksh</filename> болгох ёстой
|
||||||
|
бөгөөд <filename>/usr/bin/sh</filename>-ийг
|
||||||
|
<filename>/bin/sh</filename> болгон ашиглахаар, төгсгөлд нь
|
||||||
|
<filename>/usr/bin/perl</filename>-г
|
||||||
|
<filename>/usr/local/bin/perl</filename> болгон
|
||||||
|
ашиглахаар болгож өөрчлөх хэрэгтэй.</para>
|
||||||
|
|
||||||
|
<important>
|
||||||
|
<para>&os; дээрх DTrace дэмжлэг нь <emphasis>бүрэн бус</emphasis>
|
||||||
|
бөгөөд <emphasis>туршилтын</emphasis> гэдгийг уншигчид
|
||||||
|
сануулах нь ухаалаг болох юм. Эдгээр скриптүүдийн олонхи нь
|
||||||
|
ажиллахгүй бөгөөд тэдгээр нь хэтэрхий &solaris;-д тусгайлан
|
||||||
|
зориулсан эсвэл одоо дэмжигдээгүй байгаа шалгалтуудыг
|
||||||
|
ашигладаг.</para>
|
||||||
|
</important>
|
||||||
|
|
||||||
|
<para>Үүнийг бичиж байх үед DTrace хэрэгслийн зөвхөн хоёр скрипт
|
||||||
|
&os; дээр бүрэн дэмжигдсэн: эдгээр нь <filename>hotkernel</filename>
|
||||||
|
болон <filename>procsystime</filename> скриптүүд юм.
|
||||||
|
Эдгээр хоёрыг бид энэ бүлгийн дараагийн хэсгүүдэд авч үзэх
|
||||||
|
болно.</para>
|
||||||
|
|
||||||
|
<para><filename>hotkernel</filename> нь аль функц цөмийн ихэнх хугацааг
|
||||||
|
ашиглаж байгааг илрүүлэхээр хийгдсэн. Хэвийнээр ажиллуулахад
|
||||||
|
энэ нь дараахтай төстэй гаралтыг харуулах болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>./hotkernel</userinput>
|
||||||
|
localhost# ./hotkernel
|
||||||
|
Sampling... Hit Ctrl-C to end.</screen>
|
||||||
|
|
||||||
|
<para>Системийн администратор процессийг зогсоохын тулд
|
||||||
|
<keycombo action="simul"><keycap>Ctrl</keycap><keycap>C</keycap>
|
||||||
|
</keycombo> товчлуурын хослолыг ашиглах ёстой. Зогсоосны дараа скрипт нь
|
||||||
|
цөмийн функцуудын жагсаалт болон хугацааны мэдээллийг харуулах бөгөөд
|
||||||
|
гаралтыг хугацааны ихэссэн дарааллаар эрэмбэлж харуулна:</para>
|
||||||
|
|
||||||
|
<screen>kernel`_thread_lock_flags 2 0.0%
|
||||||
|
0xc1097063 2 0.0%
|
||||||
|
kernel`sched_userret 2 0.0%
|
||||||
|
kernel`kern_select 2 0.0%
|
||||||
|
kernel`generic_copyin 3 0.0%
|
||||||
|
kernel`_mtx_assert 3 0.0%
|
||||||
|
kernel`vm_fault 3 0.0%
|
||||||
|
kernel`sopoll_generic 3 0.0%
|
||||||
|
kernel`fixup_filename 4 0.0%
|
||||||
|
kernel`_isitmyx 4 0.0%
|
||||||
|
kernel`find_instance 4 0.0%
|
||||||
|
kernel`_mtx_unlock_flags 5 0.0%
|
||||||
|
kernel`syscall 5 0.0%
|
||||||
|
kernel`DELAY 5 0.0%
|
||||||
|
0xc108a253 6 0.0%
|
||||||
|
kernel`witness_lock 7 0.0%
|
||||||
|
kernel`read_aux_data_no_wait 7 0.0%
|
||||||
|
kernel`Xint0x80_syscall 7 0.0%
|
||||||
|
kernel`witness_checkorder 7 0.0%
|
||||||
|
kernel`sse2_pagezero 8 0.0%
|
||||||
|
kernel`strncmp 9 0.0%
|
||||||
|
kernel`spinlock_exit 10 0.0%
|
||||||
|
kernel`_mtx_lock_flags 11 0.0%
|
||||||
|
kernel`witness_unlock 15 0.0%
|
||||||
|
kernel`sched_idletd 137 0.3%
|
||||||
|
0xc10981a5 42139 99.3%</screen>
|
||||||
|
|
||||||
|
<!-- XXXTR: I attempted to use objdump and nm on /boot/kernel/kernel
|
||||||
|
to find 0xc10981a5, but to no avail. It would be nice to know
|
||||||
|
how we should look that up. -->
|
||||||
|
|
||||||
|
<para>Энэ скрипт нь цөмийн модулиудтай бас ажилладаг. Энэ боломжийг
|
||||||
|
ашиглахын тулд скриптийг <option>-m</option> өгөгдөлтэй ажиллуулах хэрэгтэй:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>./hotkernel -m</userinput></screen>
|
||||||
|
|
||||||
|
<screen>localhost# <userinput>./hotkernel -m</userinput>
|
||||||
|
Sampling... Hit Ctrl-C to end.
|
||||||
|
^C
|
||||||
|
MODULE COUNT PCNT
|
||||||
|
0xc107882e 1 0.0%
|
||||||
|
0xc10e6aa4 1 0.0%
|
||||||
|
0xc1076983 1 0.0%
|
||||||
|
0xc109708a 1 0.0%
|
||||||
|
0xc1075a5d 1 0.0%
|
||||||
|
0xc1077325 1 0.0%
|
||||||
|
0xc108a245 1 0.0%
|
||||||
|
0xc107730d 1 0.0%
|
||||||
|
0xc1097063 2 0.0%
|
||||||
|
0xc108a253 73 0.0%
|
||||||
|
kernel 874 0.4%
|
||||||
|
0xc10981a5 213781 99.6%</screen>
|
||||||
|
|
||||||
|
<!-- XXXTR: I was unable to match these up with output from
|
||||||
|
kldstat and kldstat -v and grep. Maybe I'm missing something
|
||||||
|
seriously obvious. It is 5AM btw. -->
|
||||||
|
|
||||||
|
<para><filename>procsystime</filename> скрипт нь өгөгдсөн
|
||||||
|
<acronym>PID</acronym> эсвэл процессийн хувьд системийн дуудлагын
|
||||||
|
цагийн хэрэглээг авч хэвлэн харуулдаг. Дараах жишээн дээр
|
||||||
|
<filename>/bin/csh</filename>-ийн шинэ хуулбар ажиллуулсан.
|
||||||
|
<filename>procsystime</filename>-ийг ажиллуулсан бөгөөд
|
||||||
|
өөр нэг <command>csh</command> дээр цөөн хэдэн тушаалыг бичтэл
|
||||||
|
энэ нь хүлээх горимд орсон. Энэ тестийн үр дүн энд байна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>./procsystime -n csh</userinput>
|
||||||
|
Tracing... Hit Ctrl-C to end...
|
||||||
|
^C
|
||||||
|
|
||||||
|
Elapsed Times for processes csh,
|
||||||
|
|
||||||
|
SYSCALL TIME (ns)
|
||||||
|
getpid 6131
|
||||||
|
sigreturn 8121
|
||||||
|
close 19127
|
||||||
|
fcntl 19959
|
||||||
|
dup 26955
|
||||||
|
setpgid 28070
|
||||||
|
stat 31899
|
||||||
|
setitimer 40938
|
||||||
|
wait4 62717
|
||||||
|
sigaction 67372
|
||||||
|
sigprocmask 119091
|
||||||
|
gettimeofday 183710
|
||||||
|
write 263242
|
||||||
|
execve 492547
|
||||||
|
ioctl 770073
|
||||||
|
vfork 3258923
|
||||||
|
sigsuspend 6985124
|
||||||
|
read 3988049784</screen>
|
||||||
|
|
||||||
|
<para>Энд үзүүлснээр read системийн дуудлага ихэнх цагийг,
|
||||||
|
<function>getpid()</function> системийн дуудлага хамгийн
|
||||||
|
бага хугацааг ашигласныг наносекундаар харуулж байна.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="dtrace-language">
|
||||||
|
<title>D хэл</title>
|
||||||
|
|
||||||
|
<para>DTrace хэрэгсэл нь DTrace-ийн тусгай хэл дээр байдаг олон скриптүүдийг
|
||||||
|
агуулдаг. Энэ хэл нь &sun;-ийн баримтаар <quote>D хэл</quote> гэгддэг
|
||||||
|
бөгөөд C++ хэлтэй тун төстэй юм. Энэ хэлний талаарх гүнзгий хэлэлцүүлэг нь
|
||||||
|
энэ баримтаас хүрээнээс гадна юм. Энэ нь
|
||||||
|
<ulink url="http://wikis.sun.com/display/DTrace/Documentation"></ulink>
|
||||||
|
хаяг дээр дэлгэрэнгүй хэлэлцэгдсэн байдаг.</para>
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<!-- XXXTR: Should probably put links and resources here. I'm
|
||||||
|
nervous about this chapter as it may require a partial
|
||||||
|
re-write and large modification once DTrace is complete, but
|
||||||
|
at least we can get everyone started ... -->
|
17
mn_MN.UTF-8/books/handbook/filesystems/Makefile
Normal file
17
mn_MN.UTF-8/books/handbook/filesystems/Makefile
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# The FreeBSD Mongolian Documentation Project
|
||||||
|
#
|
||||||
|
# Original revision 1.1
|
||||||
|
#
|
||||||
|
# Build the Handbook with just the content from this chapter.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
CHAPTERS= filesystems/chapter.sgml
|
||||||
|
|
||||||
|
VPATH= ..
|
||||||
|
|
||||||
|
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
|
||||||
|
|
||||||
|
DOC_PREFIX?= ${.CURDIR}/../../../..
|
||||||
|
|
||||||
|
.include "../Makefile"
|
611
mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml
Normal file
611
mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml
Normal file
|
@ -0,0 +1,611 @@
|
||||||
|
<!--
|
||||||
|
The FreeBSD Mongolian Documentation Project
|
||||||
|
|
||||||
|
Original revision 1.2
|
||||||
|
|
||||||
|
$FreeBSD$
|
||||||
|
-->
|
||||||
|
|
||||||
|
<chapter id="filesystems">
|
||||||
|
<chapterinfo>
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Том</firstname>
|
||||||
|
<surname>Рөүдс</surname>
|
||||||
|
<contrib>Бичсэн </contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
</chapterinfo>
|
||||||
|
|
||||||
|
<title>Файлын системийн дэмжлэг</title>
|
||||||
|
|
||||||
|
<sect1 id="filesystems-synopsis">
|
||||||
|
<title>Ерөнхий агуулга</title>
|
||||||
|
|
||||||
|
<indexterm><primary>File Systems</primary></indexterm>
|
||||||
|
<indexterm>
|
||||||
|
<primary>File Systems Support</primary>
|
||||||
|
<see>File Systems</see>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>Файлын системүүд нь үйлдлийн системийн бүрэлдэхүүн хэсэг юм.
|
||||||
|
Тэдгээр нь хэрэглэгчдэд файл хуулж хадгалах, өгөгдөлд хандах боломжийг
|
||||||
|
бүрдүүлэх, тэгээд мэдээж хатуу хөтчүүдийг ашигтай болгодог. Өөр өөр
|
||||||
|
үйлдлийн системүүд нь нийтлэг нэг гол үзэлтэй бөгөөд тэр нь тэдгээрийн
|
||||||
|
эх файлын систем юм. &os; дээр энэ файлын систем нь бас
|
||||||
|
<acronym>UFS</acronym> гэгддэг эх Unix™ Файлын Систем дээр
|
||||||
|
бүтээгдсэн Түргэн Файлын Систем буюу <acronym>FFS</acronym> юм.
|
||||||
|
Энэ нь өгөгдөлд хандахад зориулж хатуу дискүүд дээр байрлуулагддаг
|
||||||
|
&os; дээрх эх файлын систем юм.</para>
|
||||||
|
|
||||||
|
<para>&os; нь бас бусад үйлдлийн системийн өгөгдөлд өөр дээрээсээ
|
||||||
|
өөрөөр хэлбэл холбогдсон <acronym>USB</acronym> хадгалалтын төхөөрөмжүүд,
|
||||||
|
флэш хөтчүүд болон хатуу дискүүд дээр хадгалагдсан өгөгдөлд хандах боломжийг
|
||||||
|
бүрдүүлэх зорилгоор төрөл бүрийн олон файлын системийг дэмждэг. Бас зарим эх бус
|
||||||
|
файлын системүүдэд зориулсан дэмжлэг байдаг. Эдгээр нь &linux;-ийн Extended
|
||||||
|
буюу Өргөтгөсөн Файлын Систем (<acronym>EXT</acronym>), болон &sun;-ий Z
|
||||||
|
Файлын Систем (<acronym>ZFS</acronym>) зэрэг өөр үйлдлийн системүүд
|
||||||
|
дээр хөгжүүлэгдсэн файлын системүүд юм.</para>
|
||||||
|
|
||||||
|
<para>&os; дээр төрөл бүрийн файлын системүүдэд зориулсан дэмжлэгийн
|
||||||
|
янз бүрийн түвшингүүд байдаг. Зарим нь цөмийн модулийг дуудахыг
|
||||||
|
шаарддаг бол зарим нь хэрэгслүүд суулгахыг шаардаж болох юм. Энэ бүлэг нь
|
||||||
|
&os;-ийн хэрэглэгчдэд өөрийн систем дээрээ &sun;-ий Z файлын системээс эхлээд
|
||||||
|
бусад файлын системүүдэд хандахад туслах зорилгоор хийгдсэн.</para>
|
||||||
|
|
||||||
|
<para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Эх болон дэмжигдсэн файлын системүүдийн ялгаа.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&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>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&os; дээр гуравдагчдын програм хангамжийг суулгаж
|
||||||
|
(<xref linkend="ports">) чаддаг байх.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&os; дээрх диск, хадгалалт болон төхөөрөмжийн нэрстэй
|
||||||
|
танилцсан байх (<xref linkend="disks">).</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Temporary warning to avoid listing experimental versions
|
||||||
|
and production versions of FreeBSD with this technology.
|
||||||
|
-->
|
||||||
|
<warning>
|
||||||
|
<para><acronym>ZFS</acronym> боломж нь туршилтын гэж тооцогддог.
|
||||||
|
Зарим тохиргоонууд ажиллагааны хувьд дутуу, зарим хэсэг нь ерөөсөө ажиллахгүй
|
||||||
|
байж болох юм. Цагийн явцад энэ боломж нь үйлдвэрлэлд ашиглагдахад
|
||||||
|
бэлэн гэж тооцогдох бөгөөд энэ баримт нь тэр тохиолдолд таарахаар
|
||||||
|
өөрчлөгдөх болно.</para>
|
||||||
|
</warning>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="filesystems-zfs">
|
||||||
|
<title>Z Файлын Систем</title>
|
||||||
|
|
||||||
|
<para>&sun;-ий хөгжүүлсэн Z файлын систем нь цөөрөм хэлбэрийн
|
||||||
|
хадгалалтын аргыг ашиглахаар хийгдсэн шинэ технолог юм. Энэ нь
|
||||||
|
зай зөвхөн өгөгдөл хадгалалтад хэрэгтэй нөхцөлд ашиглагдана гэсэн
|
||||||
|
үг юм. Энэ нь өгөгдлийн хормын хувилбарууд, олон хуулбарууд, болон
|
||||||
|
өгөгдлийн хяналтын нийлбэрийг дэмжин өгөгдлийн максимум бүрэн бүтэн
|
||||||
|
байдалд зориулагдан бас хийгдсэн юм. <acronym>RAID</acronym>-Z
|
||||||
|
гэгддэг өгөгдлийн шинэ хуулбарлах загвар нэмэгдсэн.
|
||||||
|
<acronym>RAID</acronym>-Z загвар нь <acronym>RAID</acronym>5-тай
|
||||||
|
төстэй боловч өгөгдлийн бичилтийн эвдрэлтээс хамгаалахаар
|
||||||
|
хийгдсэн.</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>ZFS тааруулалт</title>
|
||||||
|
|
||||||
|
<para><acronym>ZFS</acronym> дэд систем нь системийн эх үүсвэрүүдийн
|
||||||
|
ихэнхийг хэрэглэгдэг учир өдөр тутмын хэрэглээнд максимум үр ашгийг
|
||||||
|
хангахад шаардлагатай зарим нэг тааруулалт шаардлагатай байдаг. &os; дээр
|
||||||
|
туршилтын боломж гэгдэж байгаа боловч энэ нь ойрын ирээдүйд өөрчлөгдөж
|
||||||
|
болох юм. Гэхдээ одоогоор дараах алхмуудыг зөвлөдөг.</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Санах ой</title>
|
||||||
|
|
||||||
|
<para>Нийт системийн санах ой хамгийн багаа бодоход нэг гигабайт
|
||||||
|
байх ёстой бөгөөд хоёр болон түүнээс дээшхийг зөвлөдөг. Энд байгаа
|
||||||
|
бүх жишээнүүдэд систем нь нэг гигабайт санах ойтой, хэд хэдэн бусад
|
||||||
|
тааруулах аргын хамтаар байх болно.</para>
|
||||||
|
|
||||||
|
<para>Зарим хүмүүс нэг гигабайт санах ойгоос бага санах ойг амжилттай ашиглаж
|
||||||
|
чадсан боловч тийм хязгаарлагдмал физик санах ойтой систем ачаалал ихтэй
|
||||||
|
үед &os; нь санах ойн шавхалтаас болж үймэх нь маш боломжийн байх
|
||||||
|
болно.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Цөмийн тохиргоо</title>
|
||||||
|
|
||||||
|
<para>Хэрэгцээгүй драйверууд болон тохиргоонуудыг цөмийн тохиргооны
|
||||||
|
файлаас устгахыг зөвлөдөг. Ихэнх төхөөрөмжүүд модуль хэлбэрээр
|
||||||
|
байдаг болохоор тэдгээрийг <filename>/boot/loader.conf</filename>
|
||||||
|
файлын тусламжтай дуудаж болно.</para>
|
||||||
|
|
||||||
|
<para>i386 архитектурын хэрэглэгчид өөрсдийн цөмийн тохиргооны файлдаа
|
||||||
|
дараах тохиргоог нэмж цөмөө дахин бүтээж дахин ачаалах хэрэгтэй:</para>
|
||||||
|
|
||||||
|
<programlisting>options KVA_PAGES=512</programlisting>
|
||||||
|
|
||||||
|
<para>Энэ тохиргоо нь <varname>vm.kvm_size</varname> тохируулгыг
|
||||||
|
одоо байгаа 1 GB (<acronym>PAE</acronym>-ийн хувьд 2 GB)
|
||||||
|
хязгаарыг давах боломжийг бүрдүүлж цөмийн хаягийн талбарыг
|
||||||
|
өргөтгөх болно. Энэ тохиргооны хувьд хамгийн тохиромжтой утгыг
|
||||||
|
олохын тулд мегабайтаар хүссэн хаягийн талбараа дөрөвт (4) хуваана.
|
||||||
|
Энэ тохиолдолд 2 GB-ийн хувьд <literal>512</literal>
|
||||||
|
байна.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Дуудагчийн тохируулгууд</title>
|
||||||
|
|
||||||
|
<para><devicename>kmem</devicename> хаягийн талбарыг &os;-ийн бүх
|
||||||
|
архитектур дээр ихэсгэх ёстой. Нэг гигабайт физик санах ойтой тест
|
||||||
|
систем дээр <filename>/boot/loader.conf</filename> файлд хийсэн
|
||||||
|
дараах тохируулгууд болон системийг дахин ачаалсны дараа амжилттай
|
||||||
|
болсон:</para>
|
||||||
|
|
||||||
|
<programlisting>vm.kmem_slze="330M"
|
||||||
|
vm.kmem_size_max="330M"
|
||||||
|
vfs.zfs.arc_max="40M"
|
||||||
|
vfs.zfs.vdev.cache.size="5M"</programlisting>
|
||||||
|
|
||||||
|
<para>ZFS-тэй холбоотой тохируулгуудын талаар илүү дэлгэрэнгүй
|
||||||
|
зөвлөмжүүдийн жагсаалтыг
|
||||||
|
<ulink url="http://wiki.freebsd.org/ZFSTuningGuide"></ulink> хаягаас үзнэ үү.</para>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title><acronym>ZFS</acronym>-г ашиглах нь</title>
|
||||||
|
|
||||||
|
<para><acronym>ZFS</acronym> цөөрмүүдийг систем эхлэх
|
||||||
|
үед холбох боломжийг &os;-д олгох эхлүүлэх арга зам
|
||||||
|
байдаг. Үүнийг тохируулахын тулд дараах тушаалуудыг
|
||||||
|
ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>echo 'zfs_enable="YES"' >> /etc/rc.conf</userinput>
|
||||||
|
&prompt.root; <userinput>/etc/rc.d/zfs start</userinput></screen>
|
||||||
|
|
||||||
|
<para>Энэ баримтын үлдсэн хэсэг <acronym>SCSI</acronym> дискүүд байна
|
||||||
|
гэж үзэх бөгөөд тэдгээр төхөөрөмжийн нэрс нь
|
||||||
|
<devicename><replaceable>da0</replaceable></devicename>
|
||||||
|
болон <devicename><replaceable>da1</replaceable></devicename>
|
||||||
|
юм. <acronym>IDE</acronym> тоног төхөөрөмжийн хэрэглэгчид
|
||||||
|
<acronym>SCSI</acronym>-ийн оронд
|
||||||
|
<devicename><replaceable>ad</replaceable></devicename> төхөөрөмжүүдийг
|
||||||
|
ашигладаг.</para>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Ганц дискийн цөөрөм</title>
|
||||||
|
|
||||||
|
<para>Ганц диск төхөөрөмж дээр <acronym>ZFS</acronym> үүсгэхийн
|
||||||
|
тулд <command>zpool</command> тушаалыг ашиглана:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool create example /dev/da0</userinput></screen>
|
||||||
|
|
||||||
|
<para>Шинэ цөөрмийг харахын тулд <command>df</command>
|
||||||
|
тушаалын гаралтыг үзнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>df</userinput>
|
||||||
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
||||||
|
/dev/ad0s1a 2026030 235230 1628718 13% /
|
||||||
|
devfs 1 1 0 100% /dev
|
||||||
|
/dev/ad0s1d 54098308 1032846 48737598 2% /usr
|
||||||
|
example 17547136 0 17547136 0% /example</screen>
|
||||||
|
|
||||||
|
<para>Энэ гаралт нь <literal>example</literal> цөөрөм
|
||||||
|
зөвхөн үүсгэгдээд зогсохгүй бас <emphasis>холбогдсон</emphasis>
|
||||||
|
гэдгийг тодорхой харуулж байна. Энэ нь энгийн файлын систем
|
||||||
|
шиг хандах боломжтой, үүн дээр файлууд үүсгэж хэрэглэгчид
|
||||||
|
дараах жишээн дээрх шиг үзэх боломжтой байна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root <userinput>cd /example</userinput>
|
||||||
|
&prompt.root; <userinput>ls</userinput>
|
||||||
|
&prompt.root; <userinput>touch testfile</userinput>
|
||||||
|
&prompt.root; <userinput>ls -al</userinput>
|
||||||
|
total 4
|
||||||
|
drwxr-xr-x 2 root wheel 3 Aug 29 23:15 .
|
||||||
|
drwxr-xr-x 21 root wheel 512 Aug 29 23:12 ..
|
||||||
|
-rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile</screen>
|
||||||
|
|
||||||
|
<para>Харамсалтай нь энэ цөөрөм <acronym>ZFS</acronym>-ийн
|
||||||
|
боломжуудын давуу талыг ашиглахгүй байна. Файлын системийг
|
||||||
|
энэ цөөрөм дээр үүсгэж түүн дээр шахалтыг идэвхжүүлнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs create example/compressed</userinput>
|
||||||
|
&prompt.root; <userinput>zfs set compression=gzip example/compressed</userinput></screen>
|
||||||
|
|
||||||
|
<para><literal>example/compressed</literal> нь одоо
|
||||||
|
<acronym>ZFS</acronym> шахагдсан файлын систем боллоо. Зарим нэг том файлуудыг
|
||||||
|
<filename class="directory">/example/compressed</filename>
|
||||||
|
хуулан түүн рүү хуулж үз.</para>
|
||||||
|
|
||||||
|
<para>Шахалтыг дараах тушаалаар болиулж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs set compression=off example/compressed</userinput></screen>
|
||||||
|
|
||||||
|
<para>Файлын системийг салгахын тулд дараах тушаалыг ажиллуулж
|
||||||
|
<command>df</command> хэрэгслээр шалгана:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs umount example/compressed</userinput>
|
||||||
|
&prompt.root; <userinput>df</userinput>
|
||||||
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
||||||
|
/dev/ad0s1a 2026030 235232 1628716 13% /
|
||||||
|
devfs 1 1 0 100% /dev
|
||||||
|
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
|
||||||
|
example 17547008 0 17547008 0% /example</screen>
|
||||||
|
|
||||||
|
<para>Файлын системийг дахин холбож дахин хандах боломжтой
|
||||||
|
болгоод <command>df</command> тушаалаар шалгана:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs mount example/compressed</userinput>
|
||||||
|
&prompt.root; <userinput>df</userinput>
|
||||||
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
||||||
|
/dev/ad0s1a 2026030 235234 1628714 13% /
|
||||||
|
devfs 1 1 0 100% /dev
|
||||||
|
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
|
||||||
|
example 17547008 0 17547008 0% /example
|
||||||
|
example/compressed 17547008 0 17547008 0% /example/compressed</screen>
|
||||||
|
|
||||||
|
<para>Цөөрөм болон файлын системийг <command>mount</command>
|
||||||
|
тушаалын гаралтыг шалган бас ажиглаж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>mount</userinput>
|
||||||
|
/dev/ad0s1a on / (ufs, local)
|
||||||
|
devfs on /dev (devfs, local)
|
||||||
|
/dev/ad0s1d on /usr (ufs, local, soft-updates)
|
||||||
|
example on /example (zfs, local)
|
||||||
|
example/data on /example/data (zfs, local)
|
||||||
|
example/compressed on /example/compressed (zfs, local)</screen>
|
||||||
|
|
||||||
|
<para>Ажигласнаар <acronym>ZFS</acronym> файлын системүүд нь
|
||||||
|
үүсгэгдсэнийхээ дараагаар жирийн файлын системүүд шигээр
|
||||||
|
ашиглагдаж болно, гэхдээ өөр бусад олон боломжууд бас
|
||||||
|
байдаг. Дараах жишээн дээр шинэ файлын систем <literal>data</literal>
|
||||||
|
үүсгэгдэж байна. Чухал файлууд энд хадгалагдах учир файлын
|
||||||
|
систем нь өгөгдлийн блок бүрийн хоёр хуулбарыг хадгалахаар
|
||||||
|
тохируулагдсан:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs create example/data</userinput>
|
||||||
|
&prompt.root; <userinput>zfs set copies=2 example/data</userinput></screen>
|
||||||
|
|
||||||
|
<para>Одоо <command>df</command>-г дахин ажиллуулж
|
||||||
|
өгөгдөл болон зайн хэрэглээг харах боломжтой:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>df</userinput>
|
||||||
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
||||||
|
/dev/ad0s1a 2026030 235234 1628714 13% /
|
||||||
|
devfs 1 1 0 100% /dev
|
||||||
|
/dev/ad0s1d 54098308 1032864 48737580 2% /usr
|
||||||
|
example 17547008 0 17547008 0% /example
|
||||||
|
example/compressed 17547008 0 17547008 0% /example/compressed
|
||||||
|
example/data 17547008 0 17547008 0% /example/data</screen>
|
||||||
|
|
||||||
|
<para>Цөөрөм дээрх файлын систем бүр ижил хэмжээтэй зайтай байгааг
|
||||||
|
хараарай. Файлын системүүд нь зөвхөн хэрэгцээтэй зайгаа ашиглаж
|
||||||
|
ижил цөөрмөөс авч байгааг харуулахын тулд <command>df</command> тушаалыг энэ
|
||||||
|
жишээнүүд дээр ашигласан шалтгаантай юм. <acronym>ZFS</acronym>
|
||||||
|
файлын систем нь эзлэхүүн болон хуваалтууд гэх мэт ойлголтуудаас
|
||||||
|
ангид байж хэд хэдэн файлын систем нэг цөөрмийг эзлэхийг зөвшөөрдөг.
|
||||||
|
Файлын системүүдийг устгаад дараа нь цөөрмийг хэрэгцээгүй болсон
|
||||||
|
болохоор устгана:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs destroy example/compressed</userinput>
|
||||||
|
&prompt.root; <userinput>zfs destroy example/data</userinput>
|
||||||
|
&prompt.root; <userinput>zpool destroy example</userinput></screen>
|
||||||
|
|
||||||
|
<para>Дискүүд муудаж эвдрэх нь тойрох боломжгүй нөхцөл юм. Энэ диск
|
||||||
|
муудсан үед өгөгдөл алдагдах болно. Эвдэрсэн хатуу дискээс болоод
|
||||||
|
өгөгдлийн алдагдлаас хамгаалах нэг арга нь <acronym>RAID</acronym>-г
|
||||||
|
ашиглах явдал юм. <acronym>ZFS</acronym> нь энэ боломжийг
|
||||||
|
дараагийн хэсэгт тайлбарлах өөрийн цөөрмийн дизайндаа дэмжсэн
|
||||||
|
байдаг.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title><acronym>ZFS</acronym> RAID-Z</title>
|
||||||
|
|
||||||
|
<para>Өмнө хэлсэнчлэн энэ хэсэг нь хоёр
|
||||||
|
<acronym>SCSI</acronym> байх бөгөөд
|
||||||
|
<devicename>da0</devicename> болон
|
||||||
|
<devicename>da1</devicename> гэж тооцно.
|
||||||
|
<acronym>RAID</acronym>-Z цөөрөм үүсгэхийн тулд
|
||||||
|
дараах тушаалыг өгнө:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool create storage raidz da0 da1</userinput></screen>
|
||||||
|
|
||||||
|
<para><literal>storage</literal> zpool үүсгэгдсэн байх ёстой.
|
||||||
|
Өмнөх шиг &man.mount.8; болон &man.df.1; тушаалуудыг ашиглан
|
||||||
|
үүнийг шалгаж болно. Дээрх жагсаалтын төгсгөлд өөр илүү дискийн
|
||||||
|
төхөөрөмжүүдийг нэмэн хуваарилж болно. Хэрэглэгчийн файлууд удахгүй
|
||||||
|
байрлах <literal>home</literal> гэгдсэн шинэ файлын системийг
|
||||||
|
цөөрөмд хийнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs create storage/home</userinput></screen>
|
||||||
|
|
||||||
|
<para>Одоо шахалтыг идэвхжүүлж хэрэглэгчийн гэрийн сангууд болон файлуудын
|
||||||
|
илүү хуулбаруудыг хадгалах боломжтой. Үүнийг өмнөх шиг дараах тушаалуудыг
|
||||||
|
ашиглан хийж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs set copies=2 storage/home</userinput>
|
||||||
|
&prompt.root; <userinput>zfs set compression=gzip storage/home</userinput></screen>
|
||||||
|
|
||||||
|
<para>Үүнийг хэрэглэгчдийн шинэ гэрийн сан болгохын тулд
|
||||||
|
хэрэглэгчийн өгөгдлийг энэ сан руу хуулж тохирох тэмдэгт
|
||||||
|
холбоосуудыг үүсгэнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>cp -rp /home/* /storage/home</userinput>
|
||||||
|
&prompt.root; <userinput>rm -rf /home /usr/home</userinput>
|
||||||
|
&prompt.root; <userinput>ln -s /storage/home /home</userinput>
|
||||||
|
&prompt.root; <userinput>ln -s /storage/home /usr/home</userinput></screen>
|
||||||
|
|
||||||
|
<para>Одоо хэрэглэгчдийн хувьд шинээр үүсгэгдсэн
|
||||||
|
<filename class="directory">/storage/home</filename> файлын
|
||||||
|
систем дээр тэдний өгөгдөл хадгалагдсан байх болно. Шинэ хэрэглэгч
|
||||||
|
нэмж тэр хэрэглэгчээр нэвтэрч үзээрэй.</para>
|
||||||
|
|
||||||
|
<para>Дараа нь буцааж болох хормын хувилбар үүсгэж үзээрэй:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs snapshot storage/home@08-30-08</userinput></screen>
|
||||||
|
|
||||||
|
<para>Хормын хувилбар тохиргоо нь гэрийн сан ч биш эсвэл файл ч
|
||||||
|
биш зөвхөн жинхэнэ файлын системийг авахыг анхаараарай.
|
||||||
|
<literal>@</literal> тэмдэгт нь файлын системийн нэр эсвэл
|
||||||
|
эзлэхүүний нэрийн хооронд ашиглагдсан зааглагч юм. Хэрэглэгчийн
|
||||||
|
гэрийн сан устгагдах үед түүнийг доорх тушаалаар сэргээнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs rollback storage/home@08-30-08</userinput></screen>
|
||||||
|
|
||||||
|
<para>Байгаа хормын хувилбаруудын жагсаалтыг авахын тулд
|
||||||
|
<command>ls</command>-г файлын системийн
|
||||||
|
<filename class="directory">.zfs/snapshot</filename>
|
||||||
|
сан дотор ажиллуулна. Жишээ нь өмнө нь авсан хормын хувилбарыг
|
||||||
|
харахын тулд дараах тушаалыг гүйцэтгэнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>ls /storage/home/.zfs/snapshot</userinput></screen>
|
||||||
|
|
||||||
|
<para>Хэрэглэгчийн өгөгдөл дээр сар бүрийн хормын хувилбар үүсгэх
|
||||||
|
скрипт бичих боломжтой боловч хожим хормын хувилбарууд нь
|
||||||
|
ихээхэн хэмжээний дискийн хэмжээ эзлэх болно. Түрүүчийн
|
||||||
|
хормын хувилбарыг дараах тушаал ашиглан устгаж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs destroy storage/home@08-30-08</userinput></screen>
|
||||||
|
|
||||||
|
<para>Энэ бүх тестийн дараагаар
|
||||||
|
<filename class="directory">/storage/home</filename>
|
||||||
|
санг бид одоо байгаа төлөвт нь байлгаад байх шалтгаан байх
|
||||||
|
ёсгүй юм. Үүнийг жинхэнэ
|
||||||
|
<filename class="directory">/home</filename> файлын систем
|
||||||
|
болгох хэрэгтэй:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs set mountpoint=/home storage/home</userinput></screen>
|
||||||
|
|
||||||
|
<para><command>df</command> болон
|
||||||
|
<command>mount</command> тушаалуудыг ажиллуулснаар систем бидний
|
||||||
|
файлын системийг жинхэнэ <filename class="directory">/home</filename>
|
||||||
|
сан гэж үзэж байгааг харуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>mount</userinput>
|
||||||
|
/dev/ad0s1a on / (ufs, local)
|
||||||
|
devfs on /dev (devfs, local)
|
||||||
|
/dev/ad0s1d on /usr (ufs, local, soft-updates)
|
||||||
|
storage on /storage (zfs, local)
|
||||||
|
storage/home on /home (zfs, local)
|
||||||
|
&prompt.root; <userinput>df</userinput>
|
||||||
|
Filesystem 1K-blocks Used Avail Capacity Mounted on
|
||||||
|
/dev/ad0s1a 2026030 235240 1628708 13% /
|
||||||
|
devfs 1 1 0 100% /dev
|
||||||
|
/dev/ad0s1d 54098308 1032826 48737618 2% /usr
|
||||||
|
storage 17547008 0 17547008 0% /storage
|
||||||
|
storage/home 17547008 0 17547008 0% /home</screen>
|
||||||
|
|
||||||
|
<para>Ингэснээр <acronym>RAID</acronym>-Z тохиргоо дуусаж
|
||||||
|
байна. Шөнө бүрийн &man.periodic.8; ажиллах үед үүссэн
|
||||||
|
файлын системүүдийн талаар төлвийн шинэчлэлтүүдийг авахын тулд
|
||||||
|
дараах тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf</userinput></screen>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title><acronym>RAID</acronym>-Z-г сэргээх нь</title>
|
||||||
|
|
||||||
|
<para>Програм хангамжийн <acronym>RAID</acronym> бүр
|
||||||
|
өөрсдийн <literal>төлвийг</literal> хянах аргатай байдаг.
|
||||||
|
<acronym>ZFS</acronym> нь ч мөн адил.
|
||||||
|
<acronym>RAID</acronym>-Z төхөөрөмжүүдийн төлвийг дараах
|
||||||
|
тушаалаар харж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool status -x</userinput></screen>
|
||||||
|
|
||||||
|
<para>Хэрэв бүх цөөрмүүд эрүүл ба бүгд хэвийн бол дараах
|
||||||
|
мэдэгдэл гарна:</para>
|
||||||
|
|
||||||
|
<screen>all pools are healthy</screen>
|
||||||
|
|
||||||
|
<para>Хэрэв асуудал байвал магадгүй диск холболтгүй болчихвол
|
||||||
|
цөөрмийн төлөв иймэрхүү харагдах болно:</para>
|
||||||
|
|
||||||
|
<screen> pool: storage
|
||||||
|
state: DEGRADED
|
||||||
|
status: One or more devices has been taken offline by the administrator.
|
||||||
|
Sufficient replicas exist for the pool to continue functioning in a
|
||||||
|
degraded state.
|
||||||
|
action: Online the device using 'zpool online' or replace the device with
|
||||||
|
'zpool replace'.
|
||||||
|
scrub: none requested
|
||||||
|
config:
|
||||||
|
|
||||||
|
NAME STATE READ WRITE CKSUM
|
||||||
|
storage DEGRADED 0 0 0
|
||||||
|
raidz1 DEGRADED 0 0 0
|
||||||
|
da0 ONLINE 0 0 0
|
||||||
|
da1 OFFLINE 0 0 0
|
||||||
|
|
||||||
|
errors: No known data errors</screen>
|
||||||
|
|
||||||
|
<para>Энэ нь төхөөрөмжийг администратор салгасан гэдгийг
|
||||||
|
харуулж байна. Ялангуяа энэ жишээний хувьд энэ нь үнэн юм.
|
||||||
|
Дискийг салгахын тулд дараах тушаалыг ашиглажээ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool offline storage da1</userinput></screen>
|
||||||
|
|
||||||
|
<para>Одоо системийг унтраасны дараа <devicename>da1</devicename>-г
|
||||||
|
солих боломжтой. Систем буцаж ассаны дараа дараах тушаалыг ажиллуулж
|
||||||
|
дискийг солино:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool replace storage da1</userinput></screen>
|
||||||
|
|
||||||
|
<para>Эндээс төлвийг дахин шалгаж болох бөгөөд энэ удаад
|
||||||
|
төлвийн мэдээллийг авахын тулд <option>-x</option> өгөгдөлгүйгээр
|
||||||
|
үзнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool status storage</userinput>
|
||||||
|
pool: storage
|
||||||
|
state: ONLINE
|
||||||
|
scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008
|
||||||
|
config:
|
||||||
|
|
||||||
|
NAME STATE READ WRITE CKSUM
|
||||||
|
storage ONLINE 0 0 0
|
||||||
|
raidz1 ONLINE 0 0 0
|
||||||
|
da0 ONLINE 0 0 0
|
||||||
|
da1 ONLINE 0 0 0
|
||||||
|
|
||||||
|
errors: No known data errors</screen>
|
||||||
|
|
||||||
|
<para>Энэ жишээнээс харахад бүгд хэвийн харагдаж байна.</para>
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
<sect3>
|
||||||
|
<title>Өгөгдлийн шалгалт</title>
|
||||||
|
|
||||||
|
<para>Өмнө дурдсанчлан <acronym>ZFS</acronym> нь
|
||||||
|
хадгалагдсан өгөгдлийн бүрэн бүтэн байдлыг шалгахдаа
|
||||||
|
<literal>хяналтын нийлбэрийг</literal> ашигладаг.
|
||||||
|
Тэдгээр нь файлын системүүдийг үүсгэхэд автоматаар
|
||||||
|
идэвхждэг бөгөөд дараах тушаалыг ашиглан болиулж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zfs set checksum=off storage/home</userinput></screen>
|
||||||
|
|
||||||
|
<para>Энэ нь ухаалаг санаа биш боловч хяналтын нийлбэрүүд нь
|
||||||
|
маш бага хадгалалтын зай эзэлдэг бөгөөд идэвжсэн байхдаа илүү
|
||||||
|
ашигтай байдаг. Бас тэдгээрийг идэвхжүүлснээр мэдэгдэхээр зардал
|
||||||
|
бас ажиглагддаггүй. Идэвхжсэн байх үед өгөгдлийн бүрэн бүтэн байдлыг
|
||||||
|
хяналтын нийлбэрийн шалгалт ашиглан <acronym>ZFS</acronym>
|
||||||
|
шалгах боломжтой байдаг. Энэ процессийг <quote>цэвэрлэх</quote>
|
||||||
|
гэж хэлдэг. <literal>storage</literal> цөөрмийн өгөгдлийн
|
||||||
|
бүрэн бүтэн байдлыг шалгахын тулд дараах тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool scrub storage</userinput></screen>
|
||||||
|
|
||||||
|
<para>Энэ процесс хадгалагдсан өгөгдлийн хэмжээнээс хамаарч
|
||||||
|
ихээхэн хэмжээний хугацаа шаардаж болох юм. Энэ нь бас
|
||||||
|
эдгээр үйлдлүүдийн зөвхөн нэг нь тухайн үед ажиллаж болохоор тийм
|
||||||
|
ихээр <acronym>I/O</acronym>-г ашигладаг байна. Цэвэрлэлт
|
||||||
|
дууссаны дараа төлөв шинэчлэгдэж төлвийн хүсэлтийг илгээн
|
||||||
|
харж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>zpool status storage</userinput>
|
||||||
|
pool: storage
|
||||||
|
state: ONLINE
|
||||||
|
scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008
|
||||||
|
config:
|
||||||
|
|
||||||
|
NAME STATE READ WRITE CKSUM
|
||||||
|
storage ONLINE 0 0 0
|
||||||
|
raidz1 ONLINE 0 0 0
|
||||||
|
da0 ONLINE 0 0 0
|
||||||
|
da1 ONLINE 0 0 0
|
||||||
|
|
||||||
|
errors: No known data errors</screen>
|
||||||
|
|
||||||
|
<para>Дууссан хугацаа энэ жишээн дээр цэврээр харуулагдаж байна.
|
||||||
|
Энэ боломж нь өгөгдлийн бүрэн бүтэн байдлыг урт хугацааны
|
||||||
|
турш хадгалахад баталгаа болж тусалдаг.</para>
|
||||||
|
|
||||||
|
<para>Z файлын системд зориулсан өөр олон тохиргоонууд
|
||||||
|
байдаг бөгөөд &man.zfs.1; болон &man.zpool.1; гарын авлагын
|
||||||
|
хуудсуудыг үзнэ үү.</para>
|
||||||
|
</sect3>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
XXXTR: stub sections (added later, as needed, as desire,
|
||||||
|
after I get opinions from -doc people):
|
||||||
|
|
||||||
|
Still need to discuss native and foreign file systems.
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Device File System</title>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>DOS and NTFS File Systems</title>
|
||||||
|
<para>This is a good section for those who transfer files, using
|
||||||
|
USB devices, from Windows to FreeBSD and vice-versa. My camera,
|
||||||
|
and many other cameras I have seen default to using FAT16. There
|
||||||
|
is (was?) a kde utility, I think called kamera, that could be used
|
||||||
|
to access camera devices. A section on this would be useful.</para>
|
||||||
|
|
||||||
|
<para>XXXTR: Though! The disks chapter, covers a bit of this and
|
||||||
|
devfs under it's USB devices. It leaves a lot to be desired though,
|
||||||
|
see:
|
||||||
|
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/usb-disks.html
|
||||||
|
It may be better to flesh out that section a bit more. Add the
|
||||||
|
word "camera" to it so that others can easily notice.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>Linux EXT File System</title>
|
||||||
|
|
||||||
|
<para>Probably NOT as useful as the other two, but it requires
|
||||||
|
knowledge of the existence of the tools. Which are hidden in
|
||||||
|
the ports collection. Most Linux guys would probably only use
|
||||||
|
Linux, BSD guys would be smarter and use NFS.</para>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
|
<title>HFS</title>
|
||||||
|
|
||||||
|
<para>I think this is the file system used on Apple OSX. There are
|
||||||
|
tools in the ports collection, and with Apple being a big
|
||||||
|
FreeBSD supporter and user of our technologies, surely there
|
||||||
|
is enough cross over to cover this?</para>
|
||||||
|
</sect1>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</chapter>
|
17
mn_MN.UTF-8/books/handbook/updating/Makefile
Normal file
17
mn_MN.UTF-8/books/handbook/updating/Makefile
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# The FreeBSD Mongolian Documentation Project
|
||||||
|
#
|
||||||
|
# Original revision 1.1
|
||||||
|
#
|
||||||
|
# Build the Handbook with just the content from this chapter.
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
CHAPTERS= updating/chapter.sgml
|
||||||
|
|
||||||
|
VPATH= ..
|
||||||
|
|
||||||
|
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
|
||||||
|
|
||||||
|
DOC_PREFIX?= ${.CURDIR}/../../../..
|
||||||
|
|
||||||
|
.include "../Makefile"
|
509
mn_MN.UTF-8/books/handbook/updating/chapter.sgml
Normal file
509
mn_MN.UTF-8/books/handbook/updating/chapter.sgml
Normal file
|
@ -0,0 +1,509 @@
|
||||||
|
<!--
|
||||||
|
The FreeBSD Mongolian Documentation Project
|
||||||
|
|
||||||
|
Original revision 1.1
|
||||||
|
|
||||||
|
$FreeBSD$
|
||||||
|
-->
|
||||||
|
|
||||||
|
<chapter id="updating">
|
||||||
|
<chapterinfo>
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Том</firstname>
|
||||||
|
<surname>Рөүдс</surname>
|
||||||
|
<contrib>Бичсэн </contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Колин</firstname>
|
||||||
|
<surname>Персивал</surname>
|
||||||
|
<contrib>Тэмдэглэгээ бичсэн </contrib>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
</chapterinfo>
|
||||||
|
|
||||||
|
<title>&os;-г шинэчлэх нь</title>
|
||||||
|
|
||||||
|
<sect1 id="updating-synopsis">
|
||||||
|
<title>Ерөнхий агуулга</title>
|
||||||
|
|
||||||
|
<indexterm><primary>Updating FreeBSD</primary></indexterm>
|
||||||
|
<indexterm>
|
||||||
|
<primary>freebsd-update</primary>
|
||||||
|
<see>Updating</see>
|
||||||
|
</indexterm>
|
||||||
|
|
||||||
|
<para>Цаг хугацааны туршид &os; үйлдлийн системийн нэг үндсэн
|
||||||
|
аспект өөрчлөгдөлгүй хэвээр үлджээ. Энэ нь програмууд болон
|
||||||
|
хэрэгслүүдийг том болон бага системийн шинэчлэлтүүдийг авахдаа
|
||||||
|
ашиглах шаардлага юм.</para>
|
||||||
|
|
||||||
|
<para>Олон жилийн турш өөрсдийн системийг шинэчлэх гэсэн хэрэглэгчид
|
||||||
|
аюулгүй байдлын засваруудыг цуглуулж портын цуглуулгын аргуудыг
|
||||||
|
эвдэлгүйгээр порт болон багцын шинэчлэлтүүдийг авахын тулд
|
||||||
|
<application>CVSup</application> хэрэгслийг ашигладаг байсан.</para>
|
||||||
|
|
||||||
|
<para><application>CVSup</application>-ийн хэрэглээ дэмжигдэж жинхэнэ
|
||||||
|
C хэлний хувилбар &os;-д нэмэгдсэн хэдий ч системийн шинэчлэлтүүдийг
|
||||||
|
авах шинэ аргууд байдаг.</para>
|
||||||
|
|
||||||
|
<para>&man.portsnap.8;, болон &man.freebsd-update.8; зэрэг хэрэгслүүд
|
||||||
|
шинэчлэлтийн процессийг шулуухан болгосон. Эдгээр шинэ аргууд нь
|
||||||
|
бүтээмжийг дээшлүүлэхээс гадна илүү хялбар интерфэйсийг хэрэглэгчдэд
|
||||||
|
олгодог. Системийн администраторын гар оролцоог багасгаж зарим шинэ
|
||||||
|
хэрэгслүүдийг &man.cron.8;-с ажиллуулж болдог бөгөөд хэдэн зуун &os;
|
||||||
|
машиныг хянадаг тэдний хувьд энэ нь ашигтай байдаг.</para>
|
||||||
|
|
||||||
|
<para>Энэ бүлэг эдгээр шинэ аргуудыг тайлбарлаж хэрэглэгчид болон
|
||||||
|
системийн администраторууд зэрэг нь эдгээрийн практикийн болон
|
||||||
|
хэрэглэхэд хялбар байдлаас хэрхэн ашиг олж болохыг тайлбарлах болно.</para>
|
||||||
|
|
||||||
|
<para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Систем болон портын цуглуулгыг шинэчлэхэд ямар хэрэгслүүд
|
||||||
|
ашиглаж болох талаар.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><command>freebsd-update</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>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Портын цуглуулга болон гуравдагчдын програм хангамжуудыг
|
||||||
|
&os; дээр суулгах талаар ойлголттой байх
|
||||||
|
(<xref linkend="ports">).</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&os;-г бүтээдэг төрөл бүрийн эх бүрэлдэхүүн хэсгүүд болон
|
||||||
|
&man.mergemaster.8; хэрэгслийг хэрхэн ашиглах талаар ойлголттой
|
||||||
|
байх (<xref linkend="cutting-edge">).</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="updating-freebsdupdate">
|
||||||
|
<title>FreeBSD-ийн шинэчлэлт</title>
|
||||||
|
|
||||||
|
<para>Аюулгүй байдлын засваруудыг хийнэ гэдэг компьютерийн програм
|
||||||
|
хангамж ялангуяа үйлдлийн системийг арчлалтын чухал хэсгийн нэг юм.
|
||||||
|
Удаан хугацааны туршид &os; дээр энэ процесс хялбар биш байлаа.
|
||||||
|
Засваруудыг эх код руу хийж кодыг хоёртын хэлбэр рүү дахин бүтээж
|
||||||
|
дараа нь хоёртын файлуудыг дахин суулгах шаардлагатай байлаа.</para>
|
||||||
|
|
||||||
|
<para>Энэ нь одоо тийм биш болсон бөгөөд &os; нь
|
||||||
|
<command>freebsd-update</command> гэгддэг хэрэгслийг агуулдаг.
|
||||||
|
Энэ хэрэгсэл нь хоёр тусдаа функцээр хангадаг. Нэгдүгээрт энэ нь
|
||||||
|
бүтээлт болон суулгах шаардлагагүйгээр хоёртын аюулгүй байдал болон
|
||||||
|
алдааны шинэчлэлтүүдийг &os;-ийн үндсэн системд оруулах боломжийг
|
||||||
|
олгодог. Хоёрдугаарт уг хэрэгсэл бага болон том хувилбарын шинэчлэлтүүдийг
|
||||||
|
дэмждэг.</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>Аюулгүй байдлын багаар дэмжигдсэн бүх архитектур болон
|
||||||
|
хувилбаруудын хувьд хоёртын шинэчлэлтүүд байдаг боловч &os; үйлдлийн
|
||||||
|
системийн шинэчлэлтүүд зэрэг зарим нэг боломжууд нь &man.freebsd-update.8;-ийн
|
||||||
|
хамгийн сүүлийн хувилбар болон &os; 6.3-г шаарддаг. Шинэ хувилбар
|
||||||
|
руу шинэчлэхээс өмнө хүссэн хувилбарт чинь хамаатай чухал мэдээлэл байж
|
||||||
|
болох учир одоогийн хувилбарын зарлалуудыг дахин үзэх хэрэгтэй. Тэдгээр
|
||||||
|
зарлалуудыг дараах холбоосоос үзэж болно:
|
||||||
|
<ulink url="http://www.FreeBSD.org/releases/"></ulink>.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>Хэрэв <command>crontab</command> нь <command>freebsd-update</command>-ийн
|
||||||
|
боломжуудыг хэрэглэж байвал дараах үйлдлийг эхлэхээс өмнө түүнийг болиулах
|
||||||
|
хэрэгтэй. <command>tar</command> болон <command>gzip</command> хийгдсэн
|
||||||
|
багцыг дээрх <acronym>URL</acronym>-с татан авч
|
||||||
|
<command>freebsd-update</command>-ийн хамгийн сүүлийн хувилбарыг
|
||||||
|
суулгаж дараах тушаалуудыг ашиглан суулгаж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>gunzip -c freebsd-update-upgrade.tgz | tar xvf -</userinput>
|
||||||
|
&prompt.root; <userinput>mv freebsd-update.sh /usr/sbin/freebsd-update</userinput>
|
||||||
|
&prompt.root; <userinput>mv freebsd-update.conf /etc</userinput></screen>
|
||||||
|
|
||||||
|
<para>Одоо байгаа бүх хувилбаруудын хувьд хамгийн сүүлийн хувилбарыг
|
||||||
|
татаж авах шаардлагагүй юм.</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Тохиргооны файл</title>
|
||||||
|
|
||||||
|
<para>Процессийг илүү хянах боломжтой болгож зарим хэрэглэгчид
|
||||||
|
тохиргооны файлыг өөрчлөхийг хүсэж болох юм. Тохиргоонууд нь
|
||||||
|
маш сайн баримтжуулагдсан байдаг боловч дараах хэдэн зүйлийг
|
||||||
|
арай илүү тайлбарлах шаардлагатай байж болох юм:</para>
|
||||||
|
|
||||||
|
<programlisting># Components of the base system which should be kept updated.
|
||||||
|
Components src world kernel</programlisting>
|
||||||
|
|
||||||
|
<para>Энэ өгөгдөл нь &os;-ийн аль хэсгийг шинэчлэхийг хянадаг.
|
||||||
|
Анхдагчаар эх код, үндсэн систем бүтнээрээ ба цөмийг шинэчлэх
|
||||||
|
байдаг. Бүрэлдэхүүн хэсгүүд нь суулгах явцад байдагтай адил
|
||||||
|
байдаг бөгөөд жишээ нь "world/games" гэдгийг энд нэмэхэд
|
||||||
|
тоглоомын засваруудыг хийх боломжийг олгоно. "src/bin" гэдгийг
|
||||||
|
ашиглах нь <filename class="directory">src/bin</filename>
|
||||||
|
дахь эх кодыг шинэчлэх боломжийг олгодог.</para>
|
||||||
|
|
||||||
|
<para>Хамгийн сайн тохиргоо бол үүнийг анхдагчаар нь үлдээх бөгөөд
|
||||||
|
тусгай зүйлс оруулж үүнийг өөрчилснөөр хэрэглэгчид өөрсдийн шинэчлэхийг
|
||||||
|
хүссэн зүйл болгоноо жагсааж оруулах шаардлагатай болно. Ингэснээр
|
||||||
|
эх код болон хоёртын файлуудын хоорондох уялдаа алдагдаж гамшгийн
|
||||||
|
үр дагавар гарч болно.</para>
|
||||||
|
|
||||||
|
<programlisting># Paths which start with anything matching an entry in an IgnorePaths
|
||||||
|
# statement will be ignored.
|
||||||
|
IgnorePaths</programlisting>
|
||||||
|
|
||||||
|
<para><filename class="directory">/bin</filename> эсвэл
|
||||||
|
<filename class="directory">/sbin</filename> зэрэг замуудыг
|
||||||
|
нэмж эдгээр тусгай сангуудыг шинэчлэх процессийн явцад
|
||||||
|
оролдохгүй орхиж болно. Энэ тохиргоо нь
|
||||||
|
<command>freebsd-update</command> локал өөрчлөлтүүдийг
|
||||||
|
дарж бичихээс хамгаалахад хэрэглэж болно.</para>
|
||||||
|
|
||||||
|
<programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified
|
||||||
|
# statement will only be updated if the contents of the file have not been
|
||||||
|
# modified by the user (unless changes are merged; see below).
|
||||||
|
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
|
||||||
|
|
||||||
|
<para>Заагдсан сангууд дахь тохиргооны файлууд өөрчлөгдөөгүй
|
||||||
|
тохиолдолд шинэчилнэ. Хэрэглэгчийн хийсэн өөрчлөлтүүд эдгээр
|
||||||
|
файлуудын автомат шинэчлэлтийг хүчингүй болгоно.
|
||||||
|
<command>freebsd-update</command>-г нийлүүлэх явцад
|
||||||
|
өөрчлөлтүүдийг хадгалахыг тушаах <literal>KeepModifiedMetadata</literal>
|
||||||
|
гэсэн өөр нэг тохиргоо байдаг.</para>
|
||||||
|
|
||||||
|
<programlisting># When upgrading to a new &os; release, files which match MergeChanges
|
||||||
|
# will have any local changes merged into the version from the new release.
|
||||||
|
MergeChanges /etc/ /var/named/etc/</programlisting>
|
||||||
|
|
||||||
|
<para><command>freebsd-update</command>-ийн нийлүүлэхийг оролдох
|
||||||
|
тохиргооны файлуудтай сангуудын жагсаалт. Файл нийлүүлэх процесс нь
|
||||||
|
цөөн тохиргоотой &man.mergemaster.8;-тай төстэй &man.diff.1; засварууд
|
||||||
|
бөгөөд нийлүүлэлтийг эсвэл хүлээн авах юм уу эсвэл засварлагч нээж эсвэл
|
||||||
|
<command>freebsd-update</command> ажиллагаагаа зогсоох болно. Эргэлзэж
|
||||||
|
байвал <filename class="directory">/etc</filename> санг нөөцөлж аваад
|
||||||
|
нийлүүлэлтүүдийг хүлээн авах хэрэгтэй. <command>mergemaster</command> тушаалын
|
||||||
|
талаар дэлгэрэнгүй мэдээллийг <xref linkend="cutting-edge">-с үзнэ үү.</para>
|
||||||
|
|
||||||
|
<programlisting># Directory in which to store downloaded updates and temporary
|
||||||
|
# files used by &os; Update.
|
||||||
|
# WorkDir /var/db/freebsd-update</programlisting>
|
||||||
|
|
||||||
|
<para>Энэ сан нь бүх засварууд болон түр зуурын файлууд байх сан
|
||||||
|
юм. Хэрэглэгч хувилбар шинэчлэлт хийж байвал энэ байрлал нь хамгийн
|
||||||
|
багаар бодоход гигабайт дискийн зайтай байх шаардлагатай.</para>
|
||||||
|
|
||||||
|
<programlisting># When upgrading between releases, should the list of Components be
|
||||||
|
# read strictly (StrictComponents yes) or merely as a list of components
|
||||||
|
# which *might* be installed of which &os; Update should figure out
|
||||||
|
# which actually are installed and upgrade those (StrictComponents no)?
|
||||||
|
# StrictComponents no</programlisting>
|
||||||
|
|
||||||
|
<para><literal>yes</literal> гэж тохируулсан үед
|
||||||
|
<command>freebsd-update</command> нь <literal>Components</literal> буюу
|
||||||
|
бүрэлдэхүүн хэсгүүдийн жагсаалт бүрэн гэж тооцох бөгөөд жагсаалтаас гадна өөрчлөлт
|
||||||
|
хийхийг оролдохгүй. <command>freebsd-update</command> нь
|
||||||
|
<literal>Components</literal>-ийн жагсаалтад хамаарах файл
|
||||||
|
бүрийг шинэчлэхийг оролдох болно.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Аюулгүй байдлын засварууд</title>
|
||||||
|
|
||||||
|
<para>Аюулгүй байдлын засварууд нь алсын машин дээр хадгалагддаг
|
||||||
|
бөгөөд дараах тушаал ашиглан татан авч суулгаж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>freebsd-update fetch</userinput>
|
||||||
|
&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
|
|
||||||
|
<para>Хэрэв цөмийн ямар нэг засвар хийгдсэн бол системийг дахин
|
||||||
|
ачаалах хэрэгтэй. Хэрэв бүгд зөв явагдсан бол систем нь засвар хийгдсэн
|
||||||
|
байх ёстой бөгөөд <command>freebsd-update</command>-ийг
|
||||||
|
&man.cron.8; ажлаас шөнө бүр ажиллуулж болно. Энэ ажлыг хийхэд
|
||||||
|
дараах мөрийг <filename>/etc/crontab</filename>-д хийхэд
|
||||||
|
хангалттай байх болно:</para>
|
||||||
|
|
||||||
|
<programlisting>@daily root freebsd-update cron</programlisting>
|
||||||
|
|
||||||
|
<para>Энэ мөр нь өдөр бүр <command>freebsd-update</command>-г
|
||||||
|
ажиллуулахыг зааж байна. Ийм аргаар <option>cron</option>-ий нэмэлт
|
||||||
|
өгөгдлийг ашиглан <command>freebsd-update</command> нь зөвхөн
|
||||||
|
шинэчлэлт байгаа эсэхийг шалгах болно. Хэрэв засварууд байвал тэдгээрийг
|
||||||
|
автоматаар диск рүү татаж авах бөгөөд гэхдээ засваруудыг хийхгүй.
|
||||||
|
<username>root</username> хэрэглэгч рүү захиа илгээгдэх бөгөөд
|
||||||
|
дараа нь тэд гараар суулгаж болох юм.</para>
|
||||||
|
|
||||||
|
<para>Хэрэв ямар нэг зүйл буруу болбол <command>freebsd-update</command> нь
|
||||||
|
дараах тушаалаар сүүлийн өөрчлөлтүүдийг буцаах чадвартай байдаг:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen>
|
||||||
|
|
||||||
|
<para>Дууссаны дараа цөм эсвэл цөмийн модулиуд өөрчлөгдсөн бол
|
||||||
|
системийг дахин эхлүүлэх хэрэгтэй. Энэ нь шинэ хоёртын файлуудыг санах
|
||||||
|
ой руу дуудах боломжийг &os;-д олгоно.</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para><command>freebsd-update</command> тушаал нь зөвхөн
|
||||||
|
<filename>GENERIC</filename> цөмтэй ажилладаг. Хэрэв ямар нэг
|
||||||
|
өөрчлөлт <filename>GENERIC</filename>-д хийгдсэн эсвэл өөрчлөн
|
||||||
|
тохируулсан цөм суулгагдсан бол <command>freebsd-update</command>
|
||||||
|
эхний тохиолдолд амжилтгүй болж сүүлийн тохиолдолд алдаа гаргах болно.</para>
|
||||||
|
</note>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Major ба Minor буюу Том ба Бага шинэчлэлтүүд</title>
|
||||||
|
|
||||||
|
<para>Энэ процесс нь ихэнх гуравдагч талын прорамуудыг эвдэх
|
||||||
|
хуучин обьект файлууд болон сангуудыг устгах болно.
|
||||||
|
Бүх суулгагдсан портуудыг устгаж дахин суулгах эсвэл
|
||||||
|
<filename role="package">ports-mgmt/portupgrade</filename>
|
||||||
|
хэрэгсэл ашиглан сүүлд нь шинэчлэхийг зөвлөдөг. Дараах тушаалыг
|
||||||
|
ашиглан ихэнх хэрэглэгчид тест бүтээлтийг ажиллуулахыг хүснэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>portupgrade -af</userinput></screen>
|
||||||
|
|
||||||
|
<para>Энэ нь бүгдийг зөв дахин суулгах баталгаа болох юм.
|
||||||
|
<makevar>BATCH</makevar> орчны хувьсагчийг <literal>yes</literal>
|
||||||
|
гэж тохируулснаар энэ процессийн явцад гарч ирэх хүлээх мөрөнд
|
||||||
|
<literal>yes</literal> гэж хариулан бүтээх процессийн
|
||||||
|
үед оролцох шаардлагыг үгүй болгоно.</para>
|
||||||
|
|
||||||
|
<para>Том ба бага хувилбарын шинэчлэлтүүдийг
|
||||||
|
<command>freebsd-update</command> тушаалд хувилбарын дугаарыг өгч
|
||||||
|
гүйцэтгэж болно, жишээ нь дараах тушаал &os; 6.3 руу
|
||||||
|
шинэчилнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen>
|
||||||
|
|
||||||
|
<para>Тушаал хүлээн авсны дараа <command>freebsd-update</command>
|
||||||
|
системийг шинэчлэхэд шаардлагатай мэдээллийг цуглуулахын тулд
|
||||||
|
тохиргооны файл болон одоогийн системийг шалгана. Ямар бүрэлдэхүүн
|
||||||
|
хэсгүүд илрүүлэгдсэн болон ямар бүрэлдэхүүн хэсгүүд илрүүлэгдээгүй
|
||||||
|
гэдгийг дэлгэц дээр үзүүлнэ. Жишээ нь:</para>
|
||||||
|
|
||||||
|
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
|
||||||
|
Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
|
||||||
|
Fetching metadata index... done.
|
||||||
|
Inspecting system... done.
|
||||||
|
|
||||||
|
The following components of FreeBSD seem to be installed:
|
||||||
|
kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
|
||||||
|
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
|
||||||
|
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
|
||||||
|
world/base world/info world/lib32 world/manpages
|
||||||
|
|
||||||
|
The following components of FreeBSD do not seem to be installed:
|
||||||
|
kernel/generic world/catpages world/dict world/doc world/games
|
||||||
|
world/proflibs
|
||||||
|
|
||||||
|
Does this look reasonable (y/n)? y</screen>
|
||||||
|
|
||||||
|
<para>Энд хүрэхэд <command>freebsd-update</command> шинэчлэлтэд
|
||||||
|
шаардлагатай бүх файлуудыг татан авахаар оролдох болно. Зарим
|
||||||
|
тохиолдолд хэрэглэгчээс юу суулгах эсвэл хэрхэн цааш үргэлжлүүлэх
|
||||||
|
талаар асуултууд асууж болох юм.</para>
|
||||||
|
|
||||||
|
<para>Бүх засварууд локал систем рүү татагдсаны дараа тэдгээрийг
|
||||||
|
хийж өгөх болно. Машины хурд болон ачааллаас хамаарч энэ процесс нь
|
||||||
|
хугацаа шаардаж болох юм. Тохиргооны файлуудыг нийлүүлэх болно.
|
||||||
|
Файл нийлүүлэгдэх юм уу эсвэл гараар нийлүүлэхэд зориулж засварлагч
|
||||||
|
дэлгэц дээр гарч ирч болох учир процессийн энэ хэсэг хэрэглэгчийн
|
||||||
|
оролцоо шаардана. Амжилттай нийлүүлэлт болгоны үр дүн хэрэглэгчид
|
||||||
|
харуулагдаж процесс үргэлжлэх болно. Амжилтгүй болсон эсвэл орхигдсон
|
||||||
|
нийлүүлэлт нь процессийг зогсоох болно. Хэрэглэгчид нь
|
||||||
|
<filename class="directory">/etc</filename> сангийн нөөцийг
|
||||||
|
хийж <filename>master.passwd</filename> эсвэл
|
||||||
|
<filename>group</filename> зэрэг чухал файлуудыг гараар сүүлд нь
|
||||||
|
нийлүүлэхийг хүсэж болох юм.</para>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>Систем нь өөрчлөгдөөгүй байгаа бөгөөд бүх засвар оруулалт
|
||||||
|
болон нийлүүлэлт өөр сан дотор болж байгаа болно. Бүх засварууд
|
||||||
|
амжилттай хийгдэж бүх тохиргооны файлууд нийлүүлэгдэж процесс
|
||||||
|
тэгш явагдаж байгаа мэт санагдвал хэрэглэгч өөрчлөлтүүдийг хийх
|
||||||
|
хэрэгтэй.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>Энэ процесс дууссаны дараа шинэчлэлтийг дараах тушаалыг ашиглан
|
||||||
|
диск рүү хийж болно.</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
|
|
||||||
|
<para>Цөм болон цөмийн модулиудад эхлээд засвар хийнэ. Энэ үед
|
||||||
|
машиныг дахих ачаалах ёстой. Шинэ цөм санах ойд дуудагдсан
|
||||||
|
байхын тулд дараах тушаалыг ажиллуулж машиныг дахин эхлүүлнэ:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
|
||||||
|
|
||||||
|
<para>Систем буцаж ассаны дараа <command>freebsd-update</command>-г
|
||||||
|
дахин эхлүүлэх хэрэгтэй. Процессийн төлөв хадгалагдсан болохоор
|
||||||
|
<command>freebsd-update</command> эхнээсээ эхлэхгүй бөгөөд бүх
|
||||||
|
хуучин хуваалцсан сангууд болон обьект файлуудыг устгах болно.
|
||||||
|
Энэ шатыг үргэлжлүүлэхийн тулд дараах тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
|
|
||||||
|
<note>
|
||||||
|
<para>Сангуудын хувилбарын тоо дээшилсэн эсэхээс хамаарч
|
||||||
|
суулгах гурван шатны оронд хоёр шат байж болох юм.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
|
<para>Бүх гуравдагч талын програм хангамжийг дахин бүтээж дахин суулгах
|
||||||
|
хэрэгтэй. Суулгагдсан програм хангамж нь шинэчлэлтийн процессийн явцад
|
||||||
|
устгагдсан сангуудаас хамаарч болох учраас энэ нь шаардлагатай юм.
|
||||||
|
<filename role="package">ports-mgmt/portupgrade</filename> тушаалыг
|
||||||
|
үүнийг автоматжуулахад ашиглаж болох юм. Энэ процессийг эхлүүлэхийн
|
||||||
|
тулд дараах тушаалыг хэрэглэж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>portupgrade -f ruby</userinput>
|
||||||
|
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput>
|
||||||
|
&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput>
|
||||||
|
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput>
|
||||||
|
&prompt.root; <userinput>portupgrade -af</userinput></screen>
|
||||||
|
|
||||||
|
<para>Энэ нь дууссан бөгөөд шинэчлэлтийн процессийг
|
||||||
|
<command>freebsd-update</command>-ийг сүүлийн удаа дуудаж
|
||||||
|
төгсгөнө. Шинэчлэлтийн процессийн сул байгаа бүх зүйлсийг гүйцээхийн
|
||||||
|
тулд дараах тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
|
|
||||||
|
<para>Машинаа &os;-ийн шинэ хувилбар руу дахин ачаалах хэрэгтэй.
|
||||||
|
Процесс дууслаа.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Системийн төлвийн харьцуулалт</title>
|
||||||
|
|
||||||
|
<para><command>freebsd-update</command> хэрэгслийг
|
||||||
|
&os;-ийн суулгагдсан хувилбарын төлвийг байгаа зөв хуулбарын
|
||||||
|
эсрэг тест хийхэд хэрэглэж болно. Энэ сонголт нь системийн хэрэгслүүд
|
||||||
|
сангууд болон тохиргооны файлуудын одоогийн хувилбаруудыг шалгадаг.
|
||||||
|
Харьцуулалтыг эхлүүлэхийн тулд дараах тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>freebsd-update IDS >> outfile.ids</userinput></screen>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>Тушаалын нэр <acronym>IDS</acronym> боловч энэ нь
|
||||||
|
ямар тохиолдолд <filename role="package">security/snort</filename> зэрэг
|
||||||
|
халдлага илрүүлэгч системийг солих зориулалттай биш юм.
|
||||||
|
<command>freebsd-update</command> нь өгөгдлийг диск дээр
|
||||||
|
хадгалдаг бөгөөд түүнийг өөрчлөх боломж тодорхой юм.
|
||||||
|
<varname>kern.securelevel</varname> тохиргоог ашиглах болон
|
||||||
|
<command>freebsd-update</command>-ийн өгөгдлийг зөвхөн уншигдах файлын
|
||||||
|
систем дээр ашиглагдаагүй тохиолдолд хадгалах нь энэ боломжийг
|
||||||
|
багасгах боловч илүү сайн шийдэл нь системийг <acronym>DVD</acronym> эсвэл
|
||||||
|
нууцлаг хадгалсан гадаад <acronym>USB</acronym> дискийн төхөөрөмж зэрэг
|
||||||
|
нууцлаг дисктэй харьцуулах явдал юм.</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
|
<para>Систем нь одоо шалгагдах бөгөөд файлууд нь өөрсдийн
|
||||||
|
&man.sha256.1; утгуудын хамт, хувилбар дахь мэдэгдэж байгаа сайн утгууд болон
|
||||||
|
одоо суугдсан байгаа утгууд зэрэг харьцуулагдан шалгагдана.
|
||||||
|
Энэ нь яагаад гаралт <filename>outfile.ids</filename> файл руу
|
||||||
|
илгээгдсэн шалтгаан юм. Үүнийг нүдээр шалгахад хэтэрхий хурдан дээш
|
||||||
|
гүйж удалгүй консолын буфферийг дүүргэх болно.</para>
|
||||||
|
|
||||||
|
<para>Эдгээр мөрүүд нь бас хэтэрхий урт боловч гаралтын хэлбэрийг
|
||||||
|
хялбараар задлан ялгаж болно. Жишээ нь хувилбарт байгаагаас ондоо
|
||||||
|
бүх файлуудын жагсаалтыг авахын тулд дараах тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>cat update.ids | awk '{ print $1 }' | more</userinput>
|
||||||
|
/etc/master.passwd
|
||||||
|
/etc/motd
|
||||||
|
/etc/passwd
|
||||||
|
/etc/pf.conf</screen>
|
||||||
|
|
||||||
|
<para>Энэ гаралт нь тайрагдсан бөгөөд олон файл байгаа болно.
|
||||||
|
Эдгээр файлуудын зарим нь төрөлхийн өөрчлөлтүүдтэй байна, жишээ нь
|
||||||
|
<filename>/etc/passwd</filename> нь хэрэглэгч системд нэмэгдсэн
|
||||||
|
болохоор өөрчлөгдсөн байна. Зарим тохиолдолд
|
||||||
|
<command>freebsd-update</command> нь шинэчилсэн байж болзошгүй учир
|
||||||
|
цөмийн модулиуд зэрэг бусад файлууд өөр байж болох юм.
|
||||||
|
Тусгай файлууд болон сангуудыг хасахын тулд тэдгээрийг
|
||||||
|
<filename>/etc/freebsd-update.conf</filename> файлын
|
||||||
|
<literal>IDSIgnorePaths</literal> тохиргоонд нэмж өгнө.</para>
|
||||||
|
|
||||||
|
<para>Өмнө хэлэлцсэн хувилбараас гадна нарийн нягт шинэчлэлтийн аргын
|
||||||
|
хэсэг болгон энэ системийг ашиглаж болно.</para>
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1 id="updating-portsnap">
|
||||||
|
<title>Portsnap: Портын цуглуулгын шинэчлэх хэрэгсэл</title>
|
||||||
|
|
||||||
|
<para>&os;-ийн үндсэн систем портын цуглуулгыг бас шинэчилдэг
|
||||||
|
&man.portsnap.8; хэрэгслийг агуулдаг. Ажиллуулсны дараа энэ нь
|
||||||
|
алсын сайт руу холбогдож нууц түлхүүрийг шалгаж портын цуглуулгын шинэ
|
||||||
|
хуулбарыг татан авдаг. Түлхүүр нь бүх татаж авсан файлууд татагдаж байхдаа
|
||||||
|
өөрчлөгдөөгүй эсэхийг хянан бүрэн бүтэн байдлыг шалгахад ашиглагддаг.
|
||||||
|
Хамгийн сүүлийн үеийн портын цуглуулгыг татаж авахын тулд дараах
|
||||||
|
тушаалыг ажиллуулна:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
|
||||||
|
Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
|
||||||
|
Fetching snapshot tag from portsnap1.FreeBSD.org... done.
|
||||||
|
Fetching snapshot metadata... done.
|
||||||
|
Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
|
||||||
|
Fetching 3 metadata patches.. done.
|
||||||
|
Applying metadata patches... done.
|
||||||
|
Fetching 3 metadata files... done.
|
||||||
|
Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
|
||||||
|
Applying patches... done.
|
||||||
|
Fetching 133 new ports or files... done.</screen>
|
||||||
|
|
||||||
|
<para>Энэ жишээ нь юу үзүүлж байна вэ гэхээр &man.portsnap.8;
|
||||||
|
одоо байгаа портын өгөгдөлд хэд хэдэн засварууд байгааг олж шалгаж байна.
|
||||||
|
Энэ нь бас уг хэрэгсэл өмнө нь ажилласныг харуулж байгаа бөгөөд
|
||||||
|
хэрэв эхний удаа ажилласан бол цуглуулга татагдан авагдах байсан
|
||||||
|
юм.</para>
|
||||||
|
|
||||||
|
<para>&man.portsnap.8; нь <command>fetch</command> үйлдлийг хийж
|
||||||
|
дууссаны дараа локал систем дээр байгаа портын цуглуулга болон дараа дараагийн
|
||||||
|
засваруудыг шалгалтад дамжуулна. Шинэчлэгдсэн файлуудыг дараахийг
|
||||||
|
бичиж суулгаж болно:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>portsnap extract</userinput>
|
||||||
|
/usr/ports/.cvsignore
|
||||||
|
/usr/ports/CHANGES
|
||||||
|
/usr/ports/COPYRIGHT
|
||||||
|
/usr/ports/GIDs
|
||||||
|
/usr/ports/KNOBS
|
||||||
|
/usr/ports/LEGAL
|
||||||
|
/usr/ports/MOVED
|
||||||
|
/usr/ports/Makefile
|
||||||
|
/usr/ports/Mk/bsd.apache.mk
|
||||||
|
/usr/ports/Mk/bsd.autotools.mk
|
||||||
|
/usr/ports/Mk/bsd.cmake.mk
|
||||||
|
<replaceable>...</replaceable></screen>
|
||||||
|
|
||||||
|
<para>Процесс одоо дууссан бөгөөд портын цуглуулыг ашиглан
|
||||||
|
програмуудыг суулгаж эсвэл шинэчилж болно.</para>
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
Loading…
Reference in a new issue