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-тэй холбоотой тохируулгуудын талаар илүү дэлгэрэнгүй + зөвлөмжүүдийн жагсаалтыг + хаягаас үзнэ үү. + + + + + <acronym>ZFS</acronym>-г ашиглах нь + + 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 нь энэ боломжийг + дараагийн хэсэгт тайлбарлах өөрийн цөөрмийн дизайндаа дэмжсэн + байдаг. + + + + <acronym>ZFS</acronym> 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 + + + + <acronym>RAID</acronym>-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 +... + + Процесс одоо дууссан бөгөөд портын цуглуулыг ашиглан + програмуудыг суулгаж эсвэл шинэчилж болно. + +