diff --git a/mn_MN.UTF-8/books/handbook/dtrace/Makefile b/mn_MN.UTF-8/books/handbook/dtrace/Makefile
new file mode 100644
index 0000000000..82ca1ca83c
--- /dev/null
+++ b/mn_MN.UTF-8/books/handbook/dtrace/Makefile
@@ -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"
diff --git a/mn_MN.UTF-8/books/handbook/dtrace/chapter.sgml b/mn_MN.UTF-8/books/handbook/dtrace/chapter.sgml
new file mode 100644
index 0000000000..cc3b00d264
--- /dev/null
+++ b/mn_MN.UTF-8/books/handbook/dtrace/chapter.sgml
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+ Том
+ Рөүдс
+ Бичсэн
+
+
+
+
+ DTrace
+
+ DTrace буюу Dynamic Tracing (Динамик Мөрдөлт) нь
+ үйлдвэрлэлд ашиглаж байгаа болон ашиглахын өмнөх системүүдэд
+ үйл ажиллагааны саад тотгоруудыг олоход зориулагдсан &sun;-с
+ хөгжүүлсэн хэрэгсэл юм. Энэ нь ямар ч тохиолдолд дибаг хийгч хэрэгсэл
+ биш боловч үйл ажиллагаа болон бусад асуудлуудыг цаг тухайд нь олох
+ системийн анализ хийхэд зориулагдсан хэрэгсэл юм.
+
+ DTrace нь системийн асуудлуудыг оношлоход зориулагдсан
+ сэтгэл хөдлөм боломжуудтай гайхамшигтай профиль хийгч хэрэгсэл юм.
+ Энэ нь өөрийн боломжуудыг ашиглахын тулд өмнө нь бичигдсэн скриптүүдийг
+ ажиллуулж бас болдог. Хэрэглэгчид нь тусгай зориулалтаар өөрсдийн профиль
+ хийлтийг өөрчлөх боломжтой DTrace D хэлийг ашиглан бүр өөрсдийн
+ хэрэгслүүдийг зохиож болох юм.
+
+
+ Ерөнхий агуулга
+
+ DTrace
+
+ DTrace support
+ DTrace
+
+
+ Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
+
+
+
+ DTrace гэж юу болох ямар ямар боломжуудаар хангадаг талаар.
+
+
+
+ &solaris;-ийн DTrace шийдэл болон &os;-д байгаа хоёрын хоорондын
+ ялгаанууд.
+
+
+
+ &os; дээр DTrace-ийг хэрхэн идэвхжүүлж ашиглах талаар.
+
+
+
+ Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
+
+
+
+ &unix; болон &os;-ийн үндсүүдийг
+ () ойлгох.
+
+
+
+ Цөмийн тохиргоо/эмхэтгэлтийн
+ () үндсийг мэддэг байх.
+
+
+
+ Аюулгүй байдлын талаар болон энэ нь &os;-д хэрхэн хамааралтай
+ байх талаар зарим ойлголттой байх ().
+
+
+
+ &os; эхийг хэрхэн авч дахин бүтээх талаар ойлгох
+ ().
+
+
+
+
+
+ Энэ боломж нь туршилтын гэж тооцогддог. Зарим тохиргоонууд
+ ажиллагааны хувьд дутуу, зарим хэсэг нь ерөөсөө ажиллахгүй
+ байж болох юм. Цагийн явцад энэ боломж нь үйлдвэрлэлд ашиглагдахад
+ бэлэн гэж тооцогдох бөгөөд энэ баримт нь тэр тохиолдолд таарахаар
+ өөрчлөгдөх болно.
+
+
+
+
+ Шийдлийн ялгаанууд
+
+ &os; дээрх DTrace нь &solaris;-д байдагтай маш төстэй
+ боловч цааш үргэлжлүүлэхээсээ өмнө тайлбарлах ёстой ялгаанууд
+ байдаг. Хэрэглэгчдийн мэдрэх үндсэн ялгаа нь &os; дээр DTrace нь
+ тусгайлан идэвхжүүлэх ёстой байдаг. DTrace нь зөв ажиллахын
+ тулд идэвхжүүлсэн байх ёстой цөмийн тохиргоонууд болон модулиуд
+ байдаг. Эдгээрийг дараа тайлбарлах болно.
+
+ CTF өгөгдлийг цөмийн модуль болон цөмөөс
+ өөрөөс нь дуудахад зориулсан дэмжлэгийг идэвхжүүлэх цөмийн
+ DDB_CTF тохиргоо байдаг.
+ CTF нь &solaris;-ийн Compressed C Type
+ буюу Шахсан C Төрөл бөгөөд DWARF болон
+ venerable stab-уудтай (хүндтэй хатгалтууд) адил дибаг мэдээллийн
+ багасгасан хэлбэрийг агуулдаг. Энэ CTF өгөгдөл нь
+ ctfconvert болон ctfmerge
+ гэсэн бүтээх хэрэгслүүдээр хоёртын файлуудад нэмэгддэг.
+ ctfconvert хэрэгсэл нь эмхэтгэгчийн үүсгэсэн
+ DWARF дибаг ELF хэсгүүдийг
+ задлан ялгаж ctfmerge нь обьектуудын
+ CTF ELF хэсгүүдийг
+ ажилладаг файлууд юм уу эсвэл хуваалцсан сангууд руу нийлүүлдэг.
+ Цөм болон &os; бүтээлтэд зориулж үүнийг хэрхэн идэвхжүүлэх талаар
+ дэлгэрэнгүй тайлбар удахгүй бичигдэх болно.
+
+ &solaris;-д байдгаас өөр хангагчид &os;-д байдаг.
+ Хамгийн алдартай нь dtmalloc хангагч бөгөөд
+ &os; цөмд malloc()-ийг төрлөөр нь мөрдөх
+ боломжийг бүрдүүлдэг.
+
+ Зөвхөн root DTrace-ийг &os; дээр ашиглаж болно.
+ Энэ нь аюулгүй байдлын ялгаатай холбоотой бөгөөд &os;-д байдаггүй хэдэн
+ доод түвшний аюулгүй байдлын шалгалтууд &solaris;-д байдаг. Тийм болохоор
+ /dev/dtrace/dtrace нь зөвхөн
+ root хэрэглэгчээр хатуу хязгаарлагдсан байдаг.
+
+ Төгсгөлд нь DTrace програм хангамж нь &sun;-ий CDDL
+ лицензийн доор байдаг. Common Development
+ and Distribution License буюу Нийтлэг Хөгжүүлэлт ба Түгээлтийн
+ Лиценз нь &os;-тэй цуг ирдэг бөгөөд
+ /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
+ юм уу эсвэл онлайн хэлбэрээр
+
+ http://www.opensolaris.org/os/licensing хаягаас харж болно.
+
+ Энэ лиценз нь DTrace тохиргоотой &os; цөм нь BSD
+ лицензтэй хэвээр гэсэн үг боловч модулиуд нь хоёртын хэлбэрээр түгээгдэх үед
+ юм уу эсвэл хоёртын файлууд дуудагдсан үед CDDL нь
+ хүчин төгөлдөр болдог.
+
+
+
+ DTrace дэмжлэгийг идэвхжүүлэх
+
+ DTrace-д зориулсан дэмжлэгийг идэвхжүүлэхийн
+ тулд дараах мөрүүдийг цөмийн тохиргооны файлд нэмнэ:
+
+ options KDTRACE_HOOKS
+options DDB_CTF
+
+
+ AMD64 архитектурын хэрэглэгчид өөрсдийн цөмийн тохиргооны
+ файлдаа дараах мөрийг нэмэхийг хүсэх болно:
+
+ options KDTRACE_FRAME
+
+ Энэ тохиргоо нь FBT боломжид зориулсан
+ дэмжлэгийг хангадаг. DTrace нь энэ тохиргоогүйгээр ажилладаг боловч
+ функцийн хязгаарын мөрдөлтөд зориулсан дэмжлэг хязгаарлагдмал байх болно.
+
+
+ Бүх эх CTF тохиргоонуудтай дахин бүтээгдэж суулгагдсан байх ёстой.
+ Ингэхийн тул &os;-ийн эхийг доорх тушаалуудыг ашиглан дахин бүтээнэ:
+
+ &prompt.root; cd /usr/src
+ &prompt.root; make WITH_CTF=1 buildworld
+ &prompt.root; make WITH_CFT=1 kernel
+ &prompt.root; make WITH_CFT=1 installworld
+ &prompt.root; mergemaster -Ui
+
+ Системийг дахин ачаалах хэрэгтэй.
+
+ Дахин ачаалж шинэ цөмийг санах ойд дуудагдсаны дараа Korn бүрхүүлийн
+ дэмжлэгийг нэмэх хэрэгтэй. DTrace хэрэгслүүд нь ksh
+ дээр бичигдсэн хэд хэдэн хэрэгслүүдтэй болохоор энэ нь хэрэгтэй юм.
+ shells/ksh93-г суулгах хэрэгтэй.
+ Эдгээр хэрэгслүүдийг shells/pdksh эсвэл
+ shells/mksh дээр
+ ажиллуулж бас болно.
+
+ Төгсгөлд нь одоогийн DTrace хэрэгслүүдийг олж авах хэрэгтэй. Одоогийн
+ хувилбар нь
+ http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/ хаягт
+ байрладаг. Суулгах арга зам цуг байдаг боловч суулгалт нь багцалсан хэрэгслүүдийг
+ ашиглахыг шаарддаггүй.
+
+
+
+ DTrace-г ашиглах
+
+ DTrace боломжийг ашиглахаас өмнө DTrace төхөөрөмж байх хэрэгтэй.
+ Төхөөрөмжийг дуудахын тулд дараах тушаалыг ажиллуулна:
+
+ &prompt.root; kldload dtraceall
+
+ DTrace дэмжлэг одоо боломжтой болсон байх ёстой. Бүх шалгалтыг
+ харахын тулд администратор дараах тушаалыг одоо ажиллуулж болно:
+
+ &prompt.root; dtrace -l | more
+
+ Дэлгэцийн буфферийг түргэн дүүргэх болохоор бүх гаралтыг
+ more хэрэгсэл рүү дамжуулдаг. Энд хүрэхэд
+ DTrace-ийг ажиллаж байна гэж үзнэ. Одоо уг хэрэгслийг шалгаж үзэх
+ цаг боллоо.
+
+ Уг хэрэгсэл нь системийн мэдээллийг цуглуулахын тулд DTrace-тэй цуг
+ ажиллуулж болох ашиглахад бэлэн скриптүүдийн цуглуулга юм. Нээлттэй
+ файлууд, санах ой,CPU-ийн хэрэглээ болон өөр олон
+ зүйлсийг шалгах скриптүүд байдаг. Скриптүүдийг дараах тушаалаар
+ задалж болно:
+
+ &prompt.root; gunzip -c DTraceToolkit* | tar xvf -
+
+ cd ашиглан тэр сан руу өөрчилж жижиг үсгээр бичигдсэн
+ нэртэй бүх файлууд дээр ажиллуулах зөвшөөрлүүдийг 755
+ руу өөрчлөх хэрэгтэй.
+
+ Эдгээр бүх скриптүүдийн агуулгад өөрчлөлт хийх хэрэгтэй
+ болно. /usr/bin/ksh гэснийг
+ /usr/local/bin/ksh болгох ёстой
+ бөгөөд /usr/bin/sh-ийг
+ /bin/sh болгон ашиглахаар, төгсгөлд нь
+ /usr/bin/perl-г
+ /usr/local/bin/perl болгон
+ ашиглахаар болгож өөрчлөх хэрэгтэй.
+
+
+ &os; дээрх DTrace дэмжлэг нь бүрэн бус
+ бөгөөд туршилтын гэдгийг уншигчид
+ сануулах нь ухаалаг болох юм. Эдгээр скриптүүдийн олонхи нь
+ ажиллахгүй бөгөөд тэдгээр нь хэтэрхий &solaris;-д тусгайлан
+ зориулсан эсвэл одоо дэмжигдээгүй байгаа шалгалтуудыг
+ ашигладаг.
+
+
+ Үүнийг бичиж байх үед DTrace хэрэгслийн зөвхөн хоёр скрипт
+ &os; дээр бүрэн дэмжигдсэн: эдгээр нь hotkernel
+ болон procsystime скриптүүд юм.
+ Эдгээр хоёрыг бид энэ бүлгийн дараагийн хэсгүүдэд авч үзэх
+ болно.
+
+ hotkernel нь аль функц цөмийн ихэнх хугацааг
+ ашиглаж байгааг илрүүлэхээр хийгдсэн. Хэвийнээр ажиллуулахад
+ энэ нь дараахтай төстэй гаралтыг харуулах болно:
+
+ &prompt.root; ./hotkernel
+localhost# ./hotkernel
+Sampling... Hit Ctrl-C to end.
+
+ Системийн администратор процессийг зогсоохын тулд
+ CtrlC
+ товчлуурын хослолыг ашиглах ёстой. Зогсоосны дараа скрипт нь
+ цөмийн функцуудын жагсаалт болон хугацааны мэдээллийг харуулах бөгөөд
+ гаралтыг хугацааны ихэссэн дарааллаар эрэмбэлж харуулна:
+
+ 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%
+
+
+
+ Энэ скрипт нь цөмийн модулиудтай бас ажилладаг. Энэ боломжийг
+ ашиглахын тулд скриптийг өгөгдөлтэй ажиллуулах хэрэгтэй:
+
+ &prompt.root; ./hotkernel -m
+
+ localhost# ./hotkernel -m
+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%
+
+
+
+ procsystime скрипт нь өгөгдсөн
+ PID эсвэл процессийн хувьд системийн дуудлагын
+ цагийн хэрэглээг авч хэвлэн харуулдаг. Дараах жишээн дээр
+ /bin/csh-ийн шинэ хуулбар ажиллуулсан.
+ procsystime-ийг ажиллуулсан бөгөөд
+ өөр нэг csh дээр цөөн хэдэн тушаалыг бичтэл
+ энэ нь хүлээх горимд орсон. Энэ тестийн үр дүн энд байна:
+
+ &prompt.root; ./procsystime -n csh
+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
+
+ Энд үзүүлснээр read системийн дуудлага ихэнх цагийг,
+ getpid() системийн дуудлага хамгийн
+ бага хугацааг ашигласныг наносекундаар харуулж байна.
+
+
+
+ D хэл
+
+ DTrace хэрэгсэл нь DTrace-ийн тусгай хэл дээр байдаг олон скриптүүдийг
+ агуулдаг. Энэ хэл нь &sun;-ийн баримтаар D хэл
гэгддэг
+ бөгөөд C++ хэлтэй тун төстэй юм. Энэ хэлний талаарх гүнзгий хэлэлцүүлэг нь
+ энэ баримтаас хүрээнээс гадна юм. Энэ нь
+
+ хаяг дээр дэлгэрэнгүй хэлэлцэгдсэн байдаг.
+
+
+
+
diff --git a/mn_MN.UTF-8/books/handbook/filesystems/Makefile b/mn_MN.UTF-8/books/handbook/filesystems/Makefile
new file mode 100644
index 0000000000..a7f6ab271a
--- /dev/null
+++ b/mn_MN.UTF-8/books/handbook/filesystems/Makefile
@@ -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"
diff --git a/mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml b/mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml
new file mode 100644
index 0000000000..0a3553e664
--- /dev/null
+++ b/mn_MN.UTF-8/books/handbook/filesystems/chapter.sgml
@@ -0,0 +1,611 @@
+
+
+
+
+
+
+ Том
+ Рөүдс
+ Бичсэн
+
+
+
+
+ Файлын системийн дэмжлэг
+
+
+ Ерөнхий агуулга
+
+ File Systems
+
+ File Systems Support
+ File Systems
+
+
+ Файлын системүүд нь үйлдлийн системийн бүрэлдэхүүн хэсэг юм.
+ Тэдгээр нь хэрэглэгчдэд файл хуулж хадгалах, өгөгдөлд хандах боломжийг
+ бүрдүүлэх, тэгээд мэдээж хатуу хөтчүүдийг ашигтай болгодог. Өөр өөр
+ үйлдлийн системүүд нь нийтлэг нэг гол үзэлтэй бөгөөд тэр нь тэдгээрийн
+ эх файлын систем юм. &os; дээр энэ файлын систем нь бас
+ UFS гэгддэг эх Unix™ Файлын Систем дээр
+ бүтээгдсэн Түргэн Файлын Систем буюу FFS юм.
+ Энэ нь өгөгдөлд хандахад зориулж хатуу дискүүд дээр байрлуулагддаг
+ &os; дээрх эх файлын систем юм.
+
+ &os; нь бас бусад үйлдлийн системийн өгөгдөлд өөр дээрээсээ
+ өөрөөр хэлбэл холбогдсон USB хадгалалтын төхөөрөмжүүд,
+ флэш хөтчүүд болон хатуу дискүүд дээр хадгалагдсан өгөгдөлд хандах боломжийг
+ бүрдүүлэх зорилгоор төрөл бүрийн олон файлын системийг дэмждэг. Бас зарим эх бус
+ файлын системүүдэд зориулсан дэмжлэг байдаг. Эдгээр нь &linux;-ийн Extended
+ буюу Өргөтгөсөн Файлын Систем (EXT), болон &sun;-ий Z
+ Файлын Систем (ZFS) зэрэг өөр үйлдлийн системүүд
+ дээр хөгжүүлэгдсэн файлын системүүд юм.
+
+ &os; дээр төрөл бүрийн файлын системүүдэд зориулсан дэмжлэгийн
+ янз бүрийн түвшингүүд байдаг. Зарим нь цөмийн модулийг дуудахыг
+ шаарддаг бол зарим нь хэрэгслүүд суулгахыг шаардаж болох юм. Энэ бүлэг нь
+ &os;-ийн хэрэглэгчдэд өөрийн систем дээрээ &sun;-ий Z файлын системээс эхлээд
+ бусад файлын системүүдэд хандахад туслах зорилгоор хийгдсэн.
+
+ Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
+
+
+
+ Эх болон дэмжигдсэн файлын системүүдийн ялгаа.
+
+
+
+ &os; дээр ямар файлын системүүд дэмжигдсэн талаар.
+
+
+
+ Эх бус файлын системүүдийг хэрхэн идэвхжүүлж, тохируулж
+ хандан ашиглах талаар.
+
+
+
+ Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
+
+
+
+ &unix; болон &os;-ийн үндсүүдийг
+ () ойлгох.
+
+
+
+ Цөмийн тохиргоо/эмхэтгэлтийн
+ () үндсийг мэддэг байх.
+
+
+
+ &os; дээр гуравдагчдын програм хангамжийг суулгаж
+ () чаддаг байх.
+
+
+
+ &os; дээрх диск, хадгалалт болон төхөөрөмжийн нэрстэй
+ танилцсан байх ().
+
+
+
+
+
+ ZFS боломж нь туршилтын гэж тооцогддог.
+ Зарим тохиргоонууд ажиллагааны хувьд дутуу, зарим хэсэг нь ерөөсөө ажиллахгүй
+ байж болох юм. Цагийн явцад энэ боломж нь үйлдвэрлэлд ашиглагдахад
+ бэлэн гэж тооцогдох бөгөөд энэ баримт нь тэр тохиолдолд таарахаар
+ өөрчлөгдөх болно.
+
+
+
+
+ Z Файлын Систем
+
+ &sun;-ий хөгжүүлсэн Z файлын систем нь цөөрөм хэлбэрийн
+ хадгалалтын аргыг ашиглахаар хийгдсэн шинэ технолог юм. Энэ нь
+ зай зөвхөн өгөгдөл хадгалалтад хэрэгтэй нөхцөлд ашиглагдана гэсэн
+ үг юм. Энэ нь өгөгдлийн хормын хувилбарууд, олон хуулбарууд, болон
+ өгөгдлийн хяналтын нийлбэрийг дэмжин өгөгдлийн максимум бүрэн бүтэн
+ байдалд зориулагдан бас хийгдсэн юм. RAID-Z
+ гэгддэг өгөгдлийн шинэ хуулбарлах загвар нэмэгдсэн.
+ RAID-Z загвар нь RAID5-тай
+ төстэй боловч өгөгдлийн бичилтийн эвдрэлтээс хамгаалахаар
+ хийгдсэн.
+
+
+ ZFS тааруулалт
+
+ ZFS дэд систем нь системийн эх үүсвэрүүдийн
+ ихэнхийг хэрэглэгдэг учир өдөр тутмын хэрэглээнд максимум үр ашгийг
+ хангахад шаардлагатай зарим нэг тааруулалт шаардлагатай байдаг. &os; дээр
+ туршилтын боломж гэгдэж байгаа боловч энэ нь ойрын ирээдүйд өөрчлөгдөж
+ болох юм. Гэхдээ одоогоор дараах алхмуудыг зөвлөдөг.
+
+
+ Санах ой
+
+ Нийт системийн санах ой хамгийн багаа бодоход нэг гигабайт
+ байх ёстой бөгөөд хоёр болон түүнээс дээшхийг зөвлөдөг. Энд байгаа
+ бүх жишээнүүдэд систем нь нэг гигабайт санах ойтой, хэд хэдэн бусад
+ тааруулах аргын хамтаар байх болно.
+
+ Зарим хүмүүс нэг гигабайт санах ойгоос бага санах ойг амжилттай ашиглаж
+ чадсан боловч тийм хязгаарлагдмал физик санах ойтой систем ачаалал ихтэй
+ үед &os; нь санах ойн шавхалтаас болж үймэх нь маш боломжийн байх
+ болно.
+
+
+
+ Цөмийн тохиргоо
+
+ Хэрэгцээгүй драйверууд болон тохиргоонуудыг цөмийн тохиргооны
+ файлаас устгахыг зөвлөдөг. Ихэнх төхөөрөмжүүд модуль хэлбэрээр
+ байдаг болохоор тэдгээрийг /boot/loader.conf
+ файлын тусламжтай дуудаж болно.
+
+ i386 архитектурын хэрэглэгчид өөрсдийн цөмийн тохиргооны файлдаа
+ дараах тохиргоог нэмж цөмөө дахин бүтээж дахин ачаалах хэрэгтэй:
+
+ options KVA_PAGES=512
+
+ Энэ тохиргоо нь vm.kvm_size тохируулгыг
+ одоо байгаа 1 GB (PAE-ийн хувьд 2 GB)
+ хязгаарыг давах боломжийг бүрдүүлж цөмийн хаягийн талбарыг
+ өргөтгөх болно. Энэ тохиргооны хувьд хамгийн тохиромжтой утгыг
+ олохын тулд мегабайтаар хүссэн хаягийн талбараа дөрөвт (4) хуваана.
+ Энэ тохиолдолд 2 GB-ийн хувьд 512
+ байна.
+
+
+
+ Дуудагчийн тохируулгууд
+
+ kmem хаягийн талбарыг &os;-ийн бүх
+ архитектур дээр ихэсгэх ёстой. Нэг гигабайт физик санах ойтой тест
+ систем дээр /boot/loader.conf файлд хийсэн
+ дараах тохируулгууд болон системийг дахин ачаалсны дараа амжилттай
+ болсон:
+
+ vm.kmem_slze="330M"
+vm.kmem_size_max="330M"
+vfs.zfs.arc_max="40M"
+vfs.zfs.vdev.cache.size="5M"
+
+ ZFS-тэй холбоотой тохируулгуудын талаар илүү дэлгэрэнгүй
+ зөвлөмжүүдийн жагсаалтыг
+ хаягаас үзнэ үү.
+
+
+
+
+ ZFS-г ашиглах нь
+
+ ZFS цөөрмүүдийг систем эхлэх
+ үед холбох боломжийг &os;-д олгох эхлүүлэх арга зам
+ байдаг. Үүнийг тохируулахын тулд дараах тушаалуудыг
+ ажиллуулна:
+
+ &prompt.root; echo 'zfs_enable="YES"' >> /etc/rc.conf
+&prompt.root; /etc/rc.d/zfs start
+
+ Энэ баримтын үлдсэн хэсэг SCSI дискүүд байна
+ гэж үзэх бөгөөд тэдгээр төхөөрөмжийн нэрс нь
+ da0
+ болон da1
+ юм. IDE тоног төхөөрөмжийн хэрэглэгчид
+ SCSI-ийн оронд
+ ad төхөөрөмжүүдийг
+ ашигладаг.
+
+
+ Ганц дискийн цөөрөм
+
+ Ганц диск төхөөрөмж дээр ZFS үүсгэхийн
+ тулд zpool тушаалыг ашиглана:
+
+ &prompt.root; zpool create example /dev/da0
+
+ Шинэ цөөрмийг харахын тулд df
+ тушаалын гаралтыг үзнэ:
+
+ &prompt.root; df
+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
+
+ Энэ гаралт нь example цөөрөм
+ зөвхөн үүсгэгдээд зогсохгүй бас холбогдсон
+ гэдгийг тодорхой харуулж байна. Энэ нь энгийн файлын систем
+ шиг хандах боломжтой, үүн дээр файлууд үүсгэж хэрэглэгчид
+ дараах жишээн дээрх шиг үзэх боломжтой байна:
+
+ &prompt.root cd /example
+&prompt.root; ls
+&prompt.root; touch testfile
+&prompt.root; ls -al
+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
+
+ Харамсалтай нь энэ цөөрөм ZFS-ийн
+ боломжуудын давуу талыг ашиглахгүй байна. Файлын системийг
+ энэ цөөрөм дээр үүсгэж түүн дээр шахалтыг идэвхжүүлнэ:
+
+ &prompt.root; zfs create example/compressed
+&prompt.root; zfs set compression=gzip example/compressed
+
+ example/compressed нь одоо
+ ZFS шахагдсан файлын систем боллоо. Зарим нэг том файлуудыг
+ /example/compressed
+ хуулан түүн рүү хуулж үз.
+
+ Шахалтыг дараах тушаалаар болиулж болно:
+
+ &prompt.root; zfs set compression=off example/compressed
+
+ Файлын системийг салгахын тулд дараах тушаалыг ажиллуулж
+ df хэрэгслээр шалгана:
+
+ &prompt.root; zfs umount example/compressed
+&prompt.root; df
+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
+
+ Файлын системийг дахин холбож дахин хандах боломжтой
+ болгоод df тушаалаар шалгана:
+
+ &prompt.root; zfs mount example/compressed
+&prompt.root; df
+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
+
+ Цөөрөм болон файлын системийг mount
+ тушаалын гаралтыг шалган бас ажиглаж болно:
+
+ &prompt.root; mount
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+example on /example (zfs, local)
+example/data on /example/data (zfs, local)
+example/compressed on /example/compressed (zfs, local)
+
+ Ажигласнаар ZFS файлын системүүд нь
+ үүсгэгдсэнийхээ дараагаар жирийн файлын системүүд шигээр
+ ашиглагдаж болно, гэхдээ өөр бусад олон боломжууд бас
+ байдаг. Дараах жишээн дээр шинэ файлын систем data
+ үүсгэгдэж байна. Чухал файлууд энд хадгалагдах учир файлын
+ систем нь өгөгдлийн блок бүрийн хоёр хуулбарыг хадгалахаар
+ тохируулагдсан:
+
+ &prompt.root; zfs create example/data
+&prompt.root; zfs set copies=2 example/data
+
+ Одоо df-г дахин ажиллуулж
+ өгөгдөл болон зайн хэрэглээг харах боломжтой:
+
+ &prompt.root; df
+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
+
+ Цөөрөм дээрх файлын систем бүр ижил хэмжээтэй зайтай байгааг
+ хараарай. Файлын системүүд нь зөвхөн хэрэгцээтэй зайгаа ашиглаж
+ ижил цөөрмөөс авч байгааг харуулахын тулд df тушаалыг энэ
+ жишээнүүд дээр ашигласан шалтгаантай юм. ZFS
+ файлын систем нь эзлэхүүн болон хуваалтууд гэх мэт ойлголтуудаас
+ ангид байж хэд хэдэн файлын систем нэг цөөрмийг эзлэхийг зөвшөөрдөг.
+ Файлын системүүдийг устгаад дараа нь цөөрмийг хэрэгцээгүй болсон
+ болохоор устгана:
+
+ &prompt.root; zfs destroy example/compressed
+&prompt.root; zfs destroy example/data
+&prompt.root; zpool destroy example
+
+ Дискүүд муудаж эвдрэх нь тойрох боломжгүй нөхцөл юм. Энэ диск
+ муудсан үед өгөгдөл алдагдах болно. Эвдэрсэн хатуу дискээс болоод
+ өгөгдлийн алдагдлаас хамгаалах нэг арга нь RAID-г
+ ашиглах явдал юм. ZFS нь энэ боломжийг
+ дараагийн хэсэгт тайлбарлах өөрийн цөөрмийн дизайндаа дэмжсэн
+ байдаг.
+
+
+
+ ZFS RAID-Z
+
+ Өмнө хэлсэнчлэн энэ хэсэг нь хоёр
+ SCSI байх бөгөөд
+ da0 болон
+ da1 гэж тооцно.
+ RAID-Z цөөрөм үүсгэхийн тулд
+ дараах тушаалыг өгнө:
+
+ &prompt.root; zpool create storage raidz da0 da1
+
+ storage zpool үүсгэгдсэн байх ёстой.
+ Өмнөх шиг &man.mount.8; болон &man.df.1; тушаалуудыг ашиглан
+ үүнийг шалгаж болно. Дээрх жагсаалтын төгсгөлд өөр илүү дискийн
+ төхөөрөмжүүдийг нэмэн хуваарилж болно. Хэрэглэгчийн файлууд удахгүй
+ байрлах home гэгдсэн шинэ файлын системийг
+ цөөрөмд хийнэ:
+
+ &prompt.root; zfs create storage/home
+
+ Одоо шахалтыг идэвхжүүлж хэрэглэгчийн гэрийн сангууд болон файлуудын
+ илүү хуулбаруудыг хадгалах боломжтой. Үүнийг өмнөх шиг дараах тушаалуудыг
+ ашиглан хийж болно:
+
+ &prompt.root; zfs set copies=2 storage/home
+&prompt.root; zfs set compression=gzip storage/home
+
+ Үүнийг хэрэглэгчдийн шинэ гэрийн сан болгохын тулд
+ хэрэглэгчийн өгөгдлийг энэ сан руу хуулж тохирох тэмдэгт
+ холбоосуудыг үүсгэнэ:
+
+ &prompt.root; cp -rp /home/* /storage/home
+&prompt.root; rm -rf /home /usr/home
+&prompt.root; ln -s /storage/home /home
+&prompt.root; ln -s /storage/home /usr/home
+
+ Одоо хэрэглэгчдийн хувьд шинээр үүсгэгдсэн
+ /storage/home файлын
+ систем дээр тэдний өгөгдөл хадгалагдсан байх болно. Шинэ хэрэглэгч
+ нэмж тэр хэрэглэгчээр нэвтэрч үзээрэй.
+
+ Дараа нь буцааж болох хормын хувилбар үүсгэж үзээрэй:
+
+ &prompt.root; zfs snapshot storage/home@08-30-08
+
+ Хормын хувилбар тохиргоо нь гэрийн сан ч биш эсвэл файл ч
+ биш зөвхөн жинхэнэ файлын системийг авахыг анхаараарай.
+ @ тэмдэгт нь файлын системийн нэр эсвэл
+ эзлэхүүний нэрийн хооронд ашиглагдсан зааглагч юм. Хэрэглэгчийн
+ гэрийн сан устгагдах үед түүнийг доорх тушаалаар сэргээнэ:
+
+ &prompt.root; zfs rollback storage/home@08-30-08
+
+ Байгаа хормын хувилбаруудын жагсаалтыг авахын тулд
+ ls-г файлын системийн
+ .zfs/snapshot
+ сан дотор ажиллуулна. Жишээ нь өмнө нь авсан хормын хувилбарыг
+ харахын тулд дараах тушаалыг гүйцэтгэнэ:
+
+ &prompt.root; ls /storage/home/.zfs/snapshot
+
+ Хэрэглэгчийн өгөгдөл дээр сар бүрийн хормын хувилбар үүсгэх
+ скрипт бичих боломжтой боловч хожим хормын хувилбарууд нь
+ ихээхэн хэмжээний дискийн хэмжээ эзлэх болно. Түрүүчийн
+ хормын хувилбарыг дараах тушаал ашиглан устгаж болно:
+
+ &prompt.root; zfs destroy storage/home@08-30-08
+
+ Энэ бүх тестийн дараагаар
+ /storage/home
+ санг бид одоо байгаа төлөвт нь байлгаад байх шалтгаан байх
+ ёсгүй юм. Үүнийг жинхэнэ
+ /home файлын систем
+ болгох хэрэгтэй:
+
+ &prompt.root; zfs set mountpoint=/home storage/home
+
+ df болон
+ mount тушаалуудыг ажиллуулснаар систем бидний
+ файлын системийг жинхэнэ /home
+ сан гэж үзэж байгааг харуулна:
+
+ &prompt.root; mount
+/dev/ad0s1a on / (ufs, local)
+devfs on /dev (devfs, local)
+/dev/ad0s1d on /usr (ufs, local, soft-updates)
+storage on /storage (zfs, local)
+storage/home on /home (zfs, local)
+&prompt.root; df
+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
+
+ Ингэснээр RAID-Z тохиргоо дуусаж
+ байна. Шөнө бүрийн &man.periodic.8; ажиллах үед үүссэн
+ файлын системүүдийн талаар төлвийн шинэчлэлтүүдийг авахын тулд
+ дараах тушаалыг ажиллуулна:
+
+ &prompt.root; echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf
+
+
+
+ RAID-Z-г сэргээх нь
+
+ Програм хангамжийн RAID бүр
+ өөрсдийн төлвийг хянах аргатай байдаг.
+ ZFS нь ч мөн адил.
+ RAID-Z төхөөрөмжүүдийн төлвийг дараах
+ тушаалаар харж болно:
+
+ &prompt.root; zpool status -x
+
+ Хэрэв бүх цөөрмүүд эрүүл ба бүгд хэвийн бол дараах
+ мэдэгдэл гарна:
+
+ all pools are healthy
+
+ Хэрэв асуудал байвал магадгүй диск холболтгүй болчихвол
+ цөөрмийн төлөв иймэрхүү харагдах болно:
+
+ pool: storage
+ state: DEGRADED
+status: One or more devices has been taken offline by the administrator.
+ Sufficient replicas exist for the pool to continue functioning in a
+ degraded state.
+action: Online the device using 'zpool online' or replace the device with
+ 'zpool replace'.
+ scrub: none requested
+config:
+
+ NAME 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
+
+ Энэ нь төхөөрөмжийг администратор салгасан гэдгийг
+ харуулж байна. Ялангуяа энэ жишээний хувьд энэ нь үнэн юм.
+ Дискийг салгахын тулд дараах тушаалыг ашиглажээ:
+
+ &prompt.root; zpool offline storage da1
+
+ Одоо системийг унтраасны дараа da1-г
+ солих боломжтой. Систем буцаж ассаны дараа дараах тушаалыг ажиллуулж
+ дискийг солино:
+
+ &prompt.root; zpool replace storage da1
+
+ Эндээс төлвийг дахин шалгаж болох бөгөөд энэ удаад
+ төлвийн мэдээллийг авахын тулд өгөгдөлгүйгээр
+ үзнэ:
+
+ &prompt.root; zpool status storage
+ 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
+
+ Энэ жишээнээс харахад бүгд хэвийн харагдаж байна.
+
+
+
+ Өгөгдлийн шалгалт
+
+ Өмнө дурдсанчлан ZFS нь
+ хадгалагдсан өгөгдлийн бүрэн бүтэн байдлыг шалгахдаа
+ хяналтын нийлбэрийг ашигладаг.
+ Тэдгээр нь файлын системүүдийг үүсгэхэд автоматаар
+ идэвхждэг бөгөөд дараах тушаалыг ашиглан болиулж болно:
+
+ &prompt.root; zfs set checksum=off storage/home
+
+ Энэ нь ухаалаг санаа биш боловч хяналтын нийлбэрүүд нь
+ маш бага хадгалалтын зай эзэлдэг бөгөөд идэвжсэн байхдаа илүү
+ ашигтай байдаг. Бас тэдгээрийг идэвхжүүлснээр мэдэгдэхээр зардал
+ бас ажиглагддаггүй. Идэвхжсэн байх үед өгөгдлийн бүрэн бүтэн байдлыг
+ хяналтын нийлбэрийн шалгалт ашиглан ZFS
+ шалгах боломжтой байдаг. Энэ процессийг цэвэрлэх
+ гэж хэлдэг. storage цөөрмийн өгөгдлийн
+ бүрэн бүтэн байдлыг шалгахын тулд дараах тушаалыг ажиллуулна:
+
+ &prompt.root; zpool scrub storage
+
+ Энэ процесс хадгалагдсан өгөгдлийн хэмжээнээс хамаарч
+ ихээхэн хэмжээний хугацаа шаардаж болох юм. Энэ нь бас
+ эдгээр үйлдлүүдийн зөвхөн нэг нь тухайн үед ажиллаж болохоор тийм
+ ихээр I/O-г ашигладаг байна. Цэвэрлэлт
+ дууссаны дараа төлөв шинэчлэгдэж төлвийн хүсэлтийг илгээн
+ харж болно:
+
+ &prompt.root; zpool status storage
+ 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
+
+ Дууссан хугацаа энэ жишээн дээр цэврээр харуулагдаж байна.
+ Энэ боломж нь өгөгдлийн бүрэн бүтэн байдлыг урт хугацааны
+ турш хадгалахад баталгаа болж тусалдаг.
+
+ Z файлын системд зориулсан өөр олон тохиргоонууд
+ байдаг бөгөөд &man.zfs.1; болон &man.zpool.1; гарын авлагын
+ хуудсуудыг үзнэ үү.
+
+
+
+
+
+
+
+
diff --git a/mn_MN.UTF-8/books/handbook/updating/Makefile b/mn_MN.UTF-8/books/handbook/updating/Makefile
new file mode 100644
index 0000000000..21cd287adc
--- /dev/null
+++ b/mn_MN.UTF-8/books/handbook/updating/Makefile
@@ -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"
diff --git a/mn_MN.UTF-8/books/handbook/updating/chapter.sgml b/mn_MN.UTF-8/books/handbook/updating/chapter.sgml
new file mode 100644
index 0000000000..99122deed3
--- /dev/null
+++ b/mn_MN.UTF-8/books/handbook/updating/chapter.sgml
@@ -0,0 +1,509 @@
+
+
+
+
+
+
+ Том
+ Рөүдс
+ Бичсэн
+
+
+
+
+ Колин
+ Персивал
+ Тэмдэглэгээ бичсэн
+
+
+
+
+ &os;-г шинэчлэх нь
+
+
+ Ерөнхий агуулга
+
+ Updating FreeBSD
+
+ freebsd-update
+ Updating
+
+
+ Цаг хугацааны туршид &os; үйлдлийн системийн нэг үндсэн
+ аспект өөрчлөгдөлгүй хэвээр үлджээ. Энэ нь програмууд болон
+ хэрэгслүүдийг том болон бага системийн шинэчлэлтүүдийг авахдаа
+ ашиглах шаардлага юм.
+
+ Олон жилийн турш өөрсдийн системийг шинэчлэх гэсэн хэрэглэгчид
+ аюулгүй байдлын засваруудыг цуглуулж портын цуглуулгын аргуудыг
+ эвдэлгүйгээр порт болон багцын шинэчлэлтүүдийг авахын тулд
+ CVSup хэрэгслийг ашигладаг байсан.
+
+ CVSup-ийн хэрэглээ дэмжигдэж жинхэнэ
+ C хэлний хувилбар &os;-д нэмэгдсэн хэдий ч системийн шинэчлэлтүүдийг
+ авах шинэ аргууд байдаг.
+
+ &man.portsnap.8;, болон &man.freebsd-update.8; зэрэг хэрэгслүүд
+ шинэчлэлтийн процессийг шулуухан болгосон. Эдгээр шинэ аргууд нь
+ бүтээмжийг дээшлүүлэхээс гадна илүү хялбар интерфэйсийг хэрэглэгчдэд
+ олгодог. Системийн администраторын гар оролцоог багасгаж зарим шинэ
+ хэрэгслүүдийг &man.cron.8;-с ажиллуулж болдог бөгөөд хэдэн зуун &os;
+ машиныг хянадаг тэдний хувьд энэ нь ашигтай байдаг.
+
+ Энэ бүлэг эдгээр шинэ аргуудыг тайлбарлаж хэрэглэгчид болон
+ системийн администраторууд зэрэг нь эдгээрийн практикийн болон
+ хэрэглэхэд хялбар байдлаас хэрхэн ашиг олж болохыг тайлбарлах болно.
+
+ Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
+
+
+
+ Систем болон портын цуглуулгыг шинэчлэхэд ямар хэрэгслүүд
+ ашиглаж болох талаар.
+
+
+
+ freebsd-update-г ашиглан
+ аюулгүй байдлын засваруудыг хийж &os;-ийн том ба бага
+ шинэчлэлтүүдийг хэрхэн хийх талаар.
+
+
+
+ Суулгагдсан системийн төлвийг нэртэй цэвэр хуулбартай
+ харьцуулах талаар.
+
+
+
+ Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
+
+
+
+ &unix; болон &os;-ийн үндсүүдийг
+ () ойлгох.
+
+
+
+ Цөмийн тохиргоо/эмхэтгэлтийн
+ () үндсийг мэддэг байх.
+
+
+
+ Портын цуглуулга болон гуравдагчдын програм хангамжуудыг
+ &os; дээр суулгах талаар ойлголттой байх
+ ().
+
+
+
+ &os;-г бүтээдэг төрөл бүрийн эх бүрэлдэхүүн хэсгүүд болон
+ &man.mergemaster.8; хэрэгслийг хэрхэн ашиглах талаар ойлголттой
+ байх ().
+
+
+
+
+
+ FreeBSD-ийн шинэчлэлт
+
+ Аюулгүй байдлын засваруудыг хийнэ гэдэг компьютерийн програм
+ хангамж ялангуяа үйлдлийн системийг арчлалтын чухал хэсгийн нэг юм.
+ Удаан хугацааны туршид &os; дээр энэ процесс хялбар биш байлаа.
+ Засваруудыг эх код руу хийж кодыг хоёртын хэлбэр рүү дахин бүтээж
+ дараа нь хоёртын файлуудыг дахин суулгах шаардлагатай байлаа.
+
+ Энэ нь одоо тийм биш болсон бөгөөд &os; нь
+ freebsd-update гэгддэг хэрэгслийг агуулдаг.
+ Энэ хэрэгсэл нь хоёр тусдаа функцээр хангадаг. Нэгдүгээрт энэ нь
+ бүтээлт болон суулгах шаардлагагүйгээр хоёртын аюулгүй байдал болон
+ алдааны шинэчлэлтүүдийг &os;-ийн үндсэн системд оруулах боломжийг
+ олгодог. Хоёрдугаарт уг хэрэгсэл бага болон том хувилбарын шинэчлэлтүүдийг
+ дэмждэг.
+
+
+ Аюулгүй байдлын багаар дэмжигдсэн бүх архитектур болон
+ хувилбаруудын хувьд хоёртын шинэчлэлтүүд байдаг боловч &os; үйлдлийн
+ системийн шинэчлэлтүүд зэрэг зарим нэг боломжууд нь &man.freebsd-update.8;-ийн
+ хамгийн сүүлийн хувилбар болон &os; 6.3-г шаарддаг. Шинэ хувилбар
+ руу шинэчлэхээс өмнө хүссэн хувилбарт чинь хамаатай чухал мэдээлэл байж
+ болох учир одоогийн хувилбарын зарлалуудыг дахин үзэх хэрэгтэй. Тэдгээр
+ зарлалуудыг дараах холбоосоос үзэж болно:
+ .
+
+
+ Хэрэв crontab нь freebsd-update-ийн
+ боломжуудыг хэрэглэж байвал дараах үйлдлийг эхлэхээс өмнө түүнийг болиулах
+ хэрэгтэй. tar болон gzip хийгдсэн
+ багцыг дээрх URL-с татан авч
+ freebsd-update-ийн хамгийн сүүлийн хувилбарыг
+ суулгаж дараах тушаалуудыг ашиглан суулгаж болно:
+
+ &prompt.root; gunzip -c freebsd-update-upgrade.tgz | tar xvf -
+&prompt.root; mv freebsd-update.sh /usr/sbin/freebsd-update
+&prompt.root; mv freebsd-update.conf /etc
+
+ Одоо байгаа бүх хувилбаруудын хувьд хамгийн сүүлийн хувилбарыг
+ татаж авах шаардлагагүй юм.
+
+
+ Тохиргооны файл
+
+ Процессийг илүү хянах боломжтой болгож зарим хэрэглэгчид
+ тохиргооны файлыг өөрчлөхийг хүсэж болох юм. Тохиргоонууд нь
+ маш сайн баримтжуулагдсан байдаг боловч дараах хэдэн зүйлийг
+ арай илүү тайлбарлах шаардлагатай байж болох юм:
+
+ # Components of the base system which should be kept updated.
+Components src world kernel
+
+ Энэ өгөгдөл нь &os;-ийн аль хэсгийг шинэчлэхийг хянадаг.
+ Анхдагчаар эх код, үндсэн систем бүтнээрээ ба цөмийг шинэчлэх
+ байдаг. Бүрэлдэхүүн хэсгүүд нь суулгах явцад байдагтай адил
+ байдаг бөгөөд жишээ нь "world/games" гэдгийг энд нэмэхэд
+ тоглоомын засваруудыг хийх боломжийг олгоно. "src/bin" гэдгийг
+ ашиглах нь src/bin
+ дахь эх кодыг шинэчлэх боломжийг олгодог.
+
+ Хамгийн сайн тохиргоо бол үүнийг анхдагчаар нь үлдээх бөгөөд
+ тусгай зүйлс оруулж үүнийг өөрчилснөөр хэрэглэгчид өөрсдийн шинэчлэхийг
+ хүссэн зүйл болгоноо жагсааж оруулах шаардлагатай болно. Ингэснээр
+ эх код болон хоёртын файлуудын хоорондох уялдаа алдагдаж гамшгийн
+ үр дагавар гарч болно.
+
+ # Paths which start with anything matching an entry in an IgnorePaths
+# statement will be ignored.
+IgnorePaths
+
+ /bin эсвэл
+ /sbin зэрэг замуудыг
+ нэмж эдгээр тусгай сангуудыг шинэчлэх процессийн явцад
+ оролдохгүй орхиж болно. Энэ тохиргоо нь
+ freebsd-update локал өөрчлөлтүүдийг
+ дарж бичихээс хамгаалахад хэрэглэж болно.
+
+ # Paths which start with anything matching an entry in an UpdateIfUnmodified
+# statement will only be updated if the contents of the file have not been
+# modified by the user (unless changes are merged; see below).
+UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile
+
+ Заагдсан сангууд дахь тохиргооны файлууд өөрчлөгдөөгүй
+ тохиолдолд шинэчилнэ. Хэрэглэгчийн хийсэн өөрчлөлтүүд эдгээр
+ файлуудын автомат шинэчлэлтийг хүчингүй болгоно.
+ freebsd-update-г нийлүүлэх явцад
+ өөрчлөлтүүдийг хадгалахыг тушаах KeepModifiedMetadata
+ гэсэн өөр нэг тохиргоо байдаг.
+
+ # When upgrading to a new &os; release, files which match MergeChanges
+# will have any local changes merged into the version from the new release.
+MergeChanges /etc/ /var/named/etc/
+
+ freebsd-update-ийн нийлүүлэхийг оролдох
+ тохиргооны файлуудтай сангуудын жагсаалт. Файл нийлүүлэх процесс нь
+ цөөн тохиргоотой &man.mergemaster.8;-тай төстэй &man.diff.1; засварууд
+ бөгөөд нийлүүлэлтийг эсвэл хүлээн авах юм уу эсвэл засварлагч нээж эсвэл
+ freebsd-update ажиллагаагаа зогсоох болно. Эргэлзэж
+ байвал /etc санг нөөцөлж аваад
+ нийлүүлэлтүүдийг хүлээн авах хэрэгтэй. mergemaster тушаалын
+ талаар дэлгэрэнгүй мэдээллийг -с үзнэ үү.
+
+ # Directory in which to store downloaded updates and temporary
+# files used by &os; Update.
+# WorkDir /var/db/freebsd-update
+
+ Энэ сан нь бүх засварууд болон түр зуурын файлууд байх сан
+ юм. Хэрэглэгч хувилбар шинэчлэлт хийж байвал энэ байрлал нь хамгийн
+ багаар бодоход гигабайт дискийн зайтай байх шаардлагатай.
+
+ # When upgrading between releases, should the list of Components be
+# read strictly (StrictComponents yes) or merely as a list of components
+# which *might* be installed of which &os; Update should figure out
+# which actually are installed and upgrade those (StrictComponents no)?
+# StrictComponents no
+
+ yes гэж тохируулсан үед
+ freebsd-update нь Components буюу
+ бүрэлдэхүүн хэсгүүдийн жагсаалт бүрэн гэж тооцох бөгөөд жагсаалтаас гадна өөрчлөлт
+ хийхийг оролдохгүй. freebsd-update нь
+ Components-ийн жагсаалтад хамаарах файл
+ бүрийг шинэчлэхийг оролдох болно.
+
+
+
+ Аюулгүй байдлын засварууд
+
+ Аюулгүй байдлын засварууд нь алсын машин дээр хадгалагддаг
+ бөгөөд дараах тушаал ашиглан татан авч суулгаж болно:
+
+ &prompt.root; freebsd-update fetch
+&prompt.root; freebsd-update install
+
+ Хэрэв цөмийн ямар нэг засвар хийгдсэн бол системийг дахин
+ ачаалах хэрэгтэй. Хэрэв бүгд зөв явагдсан бол систем нь засвар хийгдсэн
+ байх ёстой бөгөөд freebsd-update-ийг
+ &man.cron.8; ажлаас шөнө бүр ажиллуулж болно. Энэ ажлыг хийхэд
+ дараах мөрийг /etc/crontab-д хийхэд
+ хангалттай байх болно:
+
+ @daily root freebsd-update cron
+
+ Энэ мөр нь өдөр бүр freebsd-update-г
+ ажиллуулахыг зааж байна. Ийм аргаар -ий нэмэлт
+ өгөгдлийг ашиглан freebsd-update нь зөвхөн
+ шинэчлэлт байгаа эсэхийг шалгах болно. Хэрэв засварууд байвал тэдгээрийг
+ автоматаар диск рүү татаж авах бөгөөд гэхдээ засваруудыг хийхгүй.
+ root хэрэглэгч рүү захиа илгээгдэх бөгөөд
+ дараа нь тэд гараар суулгаж болох юм.
+
+ Хэрэв ямар нэг зүйл буруу болбол freebsd-update нь
+ дараах тушаалаар сүүлийн өөрчлөлтүүдийг буцаах чадвартай байдаг:
+
+ &prompt.root; freebsd-update rollback
+
+ Дууссаны дараа цөм эсвэл цөмийн модулиуд өөрчлөгдсөн бол
+ системийг дахин эхлүүлэх хэрэгтэй. Энэ нь шинэ хоёртын файлуудыг санах
+ ой руу дуудах боломжийг &os;-д олгоно.
+
+
+ freebsd-update тушаал нь зөвхөн
+ GENERIC цөмтэй ажилладаг. Хэрэв ямар нэг
+ өөрчлөлт GENERIC-д хийгдсэн эсвэл өөрчлөн
+ тохируулсан цөм суулгагдсан бол freebsd-update
+ эхний тохиолдолд амжилтгүй болж сүүлийн тохиолдолд алдаа гаргах болно.
+
+
+
+
+ Major ба Minor буюу Том ба Бага шинэчлэлтүүд
+
+ Энэ процесс нь ихэнх гуравдагч талын прорамуудыг эвдэх
+ хуучин обьект файлууд болон сангуудыг устгах болно.
+ Бүх суулгагдсан портуудыг устгаж дахин суулгах эсвэл
+ ports-mgmt/portupgrade
+ хэрэгсэл ашиглан сүүлд нь шинэчлэхийг зөвлөдөг. Дараах тушаалыг
+ ашиглан ихэнх хэрэглэгчид тест бүтээлтийг ажиллуулахыг хүснэ:
+
+ &prompt.root; portupgrade -af
+
+ Энэ нь бүгдийг зөв дахин суулгах баталгаа болох юм.
+ BATCH орчны хувьсагчийг yes
+ гэж тохируулснаар энэ процессийн явцад гарч ирэх хүлээх мөрөнд
+ yes гэж хариулан бүтээх процессийн
+ үед оролцох шаардлагыг үгүй болгоно.
+
+ Том ба бага хувилбарын шинэчлэлтүүдийг
+ freebsd-update тушаалд хувилбарын дугаарыг өгч
+ гүйцэтгэж болно, жишээ нь дараах тушаал &os; 6.3 руу
+ шинэчилнэ:
+
+ &prompt.root; freebsd-update -r 6.3-RELEASE upgrade
+
+ Тушаал хүлээн авсны дараа freebsd-update
+ системийг шинэчлэхэд шаардлагатай мэдээллийг цуглуулахын тулд
+ тохиргооны файл болон одоогийн системийг шалгана. Ямар бүрэлдэхүүн
+ хэсгүүд илрүүлэгдсэн болон ямар бүрэлдэхүүн хэсгүүд илрүүлэгдээгүй
+ гэдгийг дэлгэц дээр үзүүлнэ. Жишээ нь:
+
+ 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
+
+ Энд хүрэхэд freebsd-update шинэчлэлтэд
+ шаардлагатай бүх файлуудыг татан авахаар оролдох болно. Зарим
+ тохиолдолд хэрэглэгчээс юу суулгах эсвэл хэрхэн цааш үргэлжлүүлэх
+ талаар асуултууд асууж болох юм.
+
+ Бүх засварууд локал систем рүү татагдсаны дараа тэдгээрийг
+ хийж өгөх болно. Машины хурд болон ачааллаас хамаарч энэ процесс нь
+ хугацаа шаардаж болох юм. Тохиргооны файлуудыг нийлүүлэх болно.
+ Файл нийлүүлэгдэх юм уу эсвэл гараар нийлүүлэхэд зориулж засварлагч
+ дэлгэц дээр гарч ирч болох учир процессийн энэ хэсэг хэрэглэгчийн
+ оролцоо шаардана. Амжилттай нийлүүлэлт болгоны үр дүн хэрэглэгчид
+ харуулагдаж процесс үргэлжлэх болно. Амжилтгүй болсон эсвэл орхигдсон
+ нийлүүлэлт нь процессийг зогсоох болно. Хэрэглэгчид нь
+ /etc сангийн нөөцийг
+ хийж master.passwd эсвэл
+ group зэрэг чухал файлуудыг гараар сүүлд нь
+ нийлүүлэхийг хүсэж болох юм.
+
+
+ Систем нь өөрчлөгдөөгүй байгаа бөгөөд бүх засвар оруулалт
+ болон нийлүүлэлт өөр сан дотор болж байгаа болно. Бүх засварууд
+ амжилттай хийгдэж бүх тохиргооны файлууд нийлүүлэгдэж процесс
+ тэгш явагдаж байгаа мэт санагдвал хэрэглэгч өөрчлөлтүүдийг хийх
+ хэрэгтэй.
+
+
+ Энэ процесс дууссаны дараа шинэчлэлтийг дараах тушаалыг ашиглан
+ диск рүү хийж болно.
+
+ &prompt.root; freebsd-update install
+
+ Цөм болон цөмийн модулиудад эхлээд засвар хийнэ. Энэ үед
+ машиныг дахих ачаалах ёстой. Шинэ цөм санах ойд дуудагдсан
+ байхын тулд дараах тушаалыг ажиллуулж машиныг дахин эхлүүлнэ:
+
+ &prompt.root; shutdown -r now
+
+ Систем буцаж ассаны дараа freebsd-update-г
+ дахин эхлүүлэх хэрэгтэй. Процессийн төлөв хадгалагдсан болохоор
+ freebsd-update эхнээсээ эхлэхгүй бөгөөд бүх
+ хуучин хуваалцсан сангууд болон обьект файлуудыг устгах болно.
+ Энэ шатыг үргэлжлүүлэхийн тулд дараах тушаалыг ажиллуулна:
+
+ &prompt.root; freebsd-update install
+
+
+ Сангуудын хувилбарын тоо дээшилсэн эсэхээс хамаарч
+ суулгах гурван шатны оронд хоёр шат байж болох юм.
+
+
+ Бүх гуравдагч талын програм хангамжийг дахин бүтээж дахин суулгах
+ хэрэгтэй. Суулгагдсан програм хангамж нь шинэчлэлтийн процессийн явцад
+ устгагдсан сангуудаас хамаарч болох учраас энэ нь шаардлагатай юм.
+ ports-mgmt/portupgrade тушаалыг
+ үүнийг автоматжуулахад ашиглаж болох юм. Энэ процессийг эхлүүлэхийн
+ тулд дараах тушаалыг хэрэглэж болно:
+
+ &prompt.root; portupgrade -f ruby
+&prompt.root; rm /var/db/pkg/pkgdb.db
+&prompt.root; portupgrade -f ruby18-bdb
+&prompt.root; rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
+&prompt.root; portupgrade -af
+
+ Энэ нь дууссан бөгөөд шинэчлэлтийн процессийг
+ freebsd-update-ийг сүүлийн удаа дуудаж
+ төгсгөнө. Шинэчлэлтийн процессийн сул байгаа бүх зүйлсийг гүйцээхийн
+ тулд дараах тушаалыг ажиллуулна:
+
+ &prompt.root; freebsd-update install
+
+ Машинаа &os;-ийн шинэ хувилбар руу дахин ачаалах хэрэгтэй.
+ Процесс дууслаа.
+
+
+
+ Системийн төлвийн харьцуулалт
+
+ freebsd-update хэрэгслийг
+ &os;-ийн суулгагдсан хувилбарын төлвийг байгаа зөв хуулбарын
+ эсрэг тест хийхэд хэрэглэж болно. Энэ сонголт нь системийн хэрэгслүүд
+ сангууд болон тохиргооны файлуудын одоогийн хувилбаруудыг шалгадаг.
+ Харьцуулалтыг эхлүүлэхийн тулд дараах тушаалыг ажиллуулна:
+
+ &prompt.root; freebsd-update IDS >> outfile.ids
+
+
+ Тушаалын нэр IDS боловч энэ нь
+ ямар тохиолдолд security/snort зэрэг
+ халдлага илрүүлэгч системийг солих зориулалттай биш юм.
+ freebsd-update нь өгөгдлийг диск дээр
+ хадгалдаг бөгөөд түүнийг өөрчлөх боломж тодорхой юм.
+ kern.securelevel тохиргоог ашиглах болон
+ freebsd-update-ийн өгөгдлийг зөвхөн уншигдах файлын
+ систем дээр ашиглагдаагүй тохиолдолд хадгалах нь энэ боломжийг
+ багасгах боловч илүү сайн шийдэл нь системийг DVD эсвэл
+ нууцлаг хадгалсан гадаад USB дискийн төхөөрөмж зэрэг
+ нууцлаг дисктэй харьцуулах явдал юм.
+
+
+ Систем нь одоо шалгагдах бөгөөд файлууд нь өөрсдийн
+ &man.sha256.1; утгуудын хамт, хувилбар дахь мэдэгдэж байгаа сайн утгууд болон
+ одоо суугдсан байгаа утгууд зэрэг харьцуулагдан шалгагдана.
+ Энэ нь яагаад гаралт outfile.ids файл руу
+ илгээгдсэн шалтгаан юм. Үүнийг нүдээр шалгахад хэтэрхий хурдан дээш
+ гүйж удалгүй консолын буфферийг дүүргэх болно.
+
+ Эдгээр мөрүүд нь бас хэтэрхий урт боловч гаралтын хэлбэрийг
+ хялбараар задлан ялгаж болно. Жишээ нь хувилбарт байгаагаас ондоо
+ бүх файлуудын жагсаалтыг авахын тулд дараах тушаалыг ажиллуулна:
+
+ &prompt.root; cat update.ids | awk '{ print $1 }' | more
+/etc/master.passwd
+/etc/motd
+/etc/passwd
+/etc/pf.conf
+
+ Энэ гаралт нь тайрагдсан бөгөөд олон файл байгаа болно.
+ Эдгээр файлуудын зарим нь төрөлхийн өөрчлөлтүүдтэй байна, жишээ нь
+ /etc/passwd нь хэрэглэгч системд нэмэгдсэн
+ болохоор өөрчлөгдсөн байна. Зарим тохиолдолд
+ freebsd-update нь шинэчилсэн байж болзошгүй учир
+ цөмийн модулиуд зэрэг бусад файлууд өөр байж болох юм.
+ Тусгай файлууд болон сангуудыг хасахын тулд тэдгээрийг
+ /etc/freebsd-update.conf файлын
+ IDSIgnorePaths тохиргоонд нэмж өгнө.
+
+ Өмнө хэлэлцсэн хувилбараас гадна нарийн нягт шинэчлэлтийн аргын
+ хэсэг болгон энэ системийг ашиглаж болно.
+
+
+
+
+ Portsnap: Портын цуглуулгын шинэчлэх хэрэгсэл
+
+ &os;-ийн үндсэн систем портын цуглуулгыг бас шинэчилдэг
+ &man.portsnap.8; хэрэгслийг агуулдаг. Ажиллуулсны дараа энэ нь
+ алсын сайт руу холбогдож нууц түлхүүрийг шалгаж портын цуглуулгын шинэ
+ хуулбарыг татан авдаг. Түлхүүр нь бүх татаж авсан файлууд татагдаж байхдаа
+ өөрчлөгдөөгүй эсэхийг хянан бүрэн бүтэн байдлыг шалгахад ашиглагддаг.
+ Хамгийн сүүлийн үеийн портын цуглуулгыг татаж авахын тулд дараах
+ тушаалыг ажиллуулна:
+
+ &prompt.root; portsnap fetch
+Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
+Fetching snapshot tag from portsnap1.FreeBSD.org... done.
+Fetching snapshot metadata... done.
+Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
+Fetching 3 metadata patches.. done.
+Applying metadata patches... done.
+Fetching 3 metadata files... done.
+Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
+Applying patches... done.
+Fetching 133 new ports or files... done.
+
+ Энэ жишээ нь юу үзүүлж байна вэ гэхээр &man.portsnap.8;
+ одоо байгаа портын өгөгдөлд хэд хэдэн засварууд байгааг олж шалгаж байна.
+ Энэ нь бас уг хэрэгсэл өмнө нь ажилласныг харуулж байгаа бөгөөд
+ хэрэв эхний удаа ажилласан бол цуглуулга татагдан авагдах байсан
+ юм.
+
+ &man.portsnap.8; нь fetch үйлдлийг хийж
+ дууссаны дараа локал систем дээр байгаа портын цуглуулга болон дараа дараагийн
+ засваруудыг шалгалтад дамжуулна. Шинэчлэгдсэн файлуудыг дараахийг
+ бичиж суулгаж болно:
+
+ &prompt.root; portsnap extract
+/usr/ports/.cvsignore
+/usr/ports/CHANGES
+/usr/ports/COPYRIGHT
+/usr/ports/GIDs
+/usr/ports/KNOBS
+/usr/ports/LEGAL
+/usr/ports/MOVED
+/usr/ports/Makefile
+/usr/ports/Mk/bsd.apache.mk
+/usr/ports/Mk/bsd.autotools.mk
+/usr/ports/Mk/bsd.cmake.mk
+...
+
+ Процесс одоо дууссан бөгөөд портын цуглуулыг ашиглан
+ програмуудыг суулгаж эсвэл шинэчилж болно.
+
+