Remove updating chapter since it is merged to cutting-edge chapter.

Obtained from: FreeBSD Mongolian Documentation project
This commit is contained in:
Ganbold Tsagaankhuu 2009-01-06 04:53:55 +00:00
parent b3b9bccade
commit 4205d42caa
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=33658
2 changed files with 0 additions and 526 deletions

View file

@ -1,17 +0,0 @@
# 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"

View file

@ -1,509 +0,0 @@
<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.2
$FreeBSD$
-->
<chapter id="updating">
<chapterinfo>
<authorgroup>
<author>
<firstname>Том</firstname>
<surname>Рөүдс</surname>
<contrib>Бичсэн </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Колин</firstname>
<surname>Персивал</surname>
<contrib>Тэмдэглэгээ бичсэн </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>&os;-г шинэчлэх нь</title>
<sect1 id="updating-synopsis">
<title>Ерөнхий агуулга</title>
<indexterm><primary>Updating FreeBSD</primary></indexterm>
<indexterm>
<primary>freebsd-update</primary>
<see>Updating</see>
</indexterm>
<para>Цаг хугацааны туршид &os; үйлдлийн системийн нэг үндсэн
аспект өөрчлөгдөлгүй хэвээр үлджээ. Энэ нь програмууд болон
хэрэгслүүдийг том болон бага системийн шинэчлэлтүүдийг авахдаа
ашиглах шаардлага юм.</para>
<para>Олон жилийн турш өөрсдийн системийг шинэчлэх гэсэн хэрэглэгчид
аюулгүй байдлын засваруудыг цуглуулж портын цуглуулгын аргуудыг
эвдэлгүйгээр порт болон багцын шинэчлэлтүүдийг авахын тулд
<application>CVSup</application> хэрэгслийг ашигладаг байсан.</para>
<para><application>CVSup</application>-ийн хэрэглээ дэмжигдэж жинхэнэ
C хэлний хувилбар &os;-д нэмэгдсэн хэдий ч системийн шинэчлэлтүүдийг
авах шинэ аргууд байдаг.</para>
<para>&man.portsnap.8;, болон &man.freebsd-update.8; зэрэг хэрэгслүүд
шинэчлэлтийн процессийг шулуухан болгосон. Эдгээр шинэ аргууд нь
бүтээмжийг дээшлүүлэхээс гадна илүү хялбар интерфэйсийг хэрэглэгчдэд
олгодог. Системийн администраторын гар оролцоог багасгаж зарим шинэ
хэрэгслүүдийг &man.cron.8;-с ажиллуулж болдог бөгөөд хэдэн зуун &os;
машиныг хянадаг тэдний хувьд энэ нь ашигтай байдаг.</para>
<para>Энэ бүлэг эдгээр шинэ аргуудыг тайлбарлаж хэрэглэгчид болон
системийн администраторууд зэрэг нь эдгээрийн практикийн болон
хэрэглэхэд хялбар байдлаас хэрхэн ашиг олж болохыг тайлбарлах болно.</para>
<para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>
<itemizedlist>
<listitem>
<para>Систем болон портын цуглуулгыг шинэчлэхэд ямар хэрэгслүүд
ашиглаж болох талаар.</para>
</listitem>
<listitem>
<para><command>freebsd-update</command>-г ашиглан
аюулгүй байдлын засваруудыг хийж &os;-ийн том ба бага
шинэчлэлтүүдийг хэрхэн хийх талаар.</para>
</listitem>
<listitem>
<para>Суулгагдсан системийн төлвийг нэртэй цэвэр хуулбартай
харьцуулах талаар.</para>
</listitem>
</itemizedlist>
<para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para>
<itemizedlist>
<listitem>
<para>&unix; болон &os;-ийн үндсүүдийг
(<xref linkend="basics">) ойлгох.</para>
</listitem>
<listitem>
<para>Цөмийн тохиргоо/эмхэтгэлтийн
(<xref linkend="kernelconfig">) үндсийг мэддэг байх.</para>
</listitem>
<listitem>
<para>Портын цуглуулга болон гуравдагчдын програм хангамжуудыг
&os; дээр суулгах талаар ойлголттой байх
(<xref linkend="ports">).</para>
</listitem>
<listitem>
<para>&os;-г бүтээдэг төрөл бүрийн эх бүрэлдэхүүн хэсгүүд болон
&man.mergemaster.8; хэрэгслийг хэрхэн ашиглах талаар ойлголттой
байх (<xref linkend="cutting-edge">).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="updating-freebsdupdate">
<title>FreeBSD-ийн шинэчлэлт</title>
<para>Аюулгүй байдлын засваруудыг хийнэ гэдэг компьютерийн програм
хангамж ялангуяа үйлдлийн системийг арчлалтын чухал хэсгийн нэг юм.
Удаан хугацааны туршид &os; дээр энэ процесс хялбар биш байлаа.
Засваруудыг эх код руу хийж кодыг хоёртын хэлбэр рүү дахин бүтээж
дараа нь хоёртын файлуудыг дахин суулгах шаардлагатай байлаа.</para>
<para>Энэ нь одоо тийм биш болсон бөгөөд &os; нь
<command>freebsd-update</command> гэгддэг хэрэгслийг агуулдаг.
Энэ хэрэгсэл нь хоёр тусдаа функцээр хангадаг. Нэгдүгээрт энэ нь
бүтээлт болон суулгах шаардлагагүйгээр хоёртын аюулгүй байдал болон
алдааны шинэчлэлтүүдийг &os;-ийн үндсэн системд оруулах боломжийг
олгодог. Хоёрдугаарт уг хэрэгсэл бага болон том хувилбарын шинэчлэлтүүдийг
дэмждэг.</para>
<note>
<para>Аюулгүй байдлын багаар дэмжигдсэн бүх архитектур болон
хувилбаруудын хувьд хоёртын шинэчлэлтүүд байдаг боловч &os; үйлдлийн
системийн шинэчлэлтүүд зэрэг зарим нэг боломжууд нь &man.freebsd-update.8;-ийн
хамгийн сүүлийн хувилбар болон &os; 6.3-г шаарддаг. Шинэ хувилбар
руу шинэчлэхээс өмнө хүссэн хувилбарт чинь хамаатай чухал мэдээлэл байж
болох учир одоогийн хувилбарын зарлалуудыг дахин үзэх хэрэгтэй. Тэдгээр
зарлалуудыг дараах холбоосоос үзэж болно:
<ulink url="http://www.FreeBSD.org/releases/"></ulink>.</para>
</note>
<para>Хэрэв <command>crontab</command> нь <command>freebsd-update</command>-ийн
боломжуудыг хэрэглэж байвал дараах үйлдлийг эхлэхээс өмнө түүнийг болиулах
хэрэгтэй. <command>tar</command> болон <command>gzip</command> хийгдсэн
багцыг дээрх <acronym>URL</acronym>-с татан авч
<command>freebsd-update</command>-ийн хамгийн сүүлийн хувилбарыг
суулгаж дараах тушаалуудыг ашиглан суулгаж болно:</para>
<screen>&prompt.root; <userinput>gunzip -c freebsd-update-upgrade.tgz | tar xvf -</userinput>
&prompt.root; <userinput>mv freebsd-update.sh /usr/sbin/freebsd-update</userinput>
&prompt.root; <userinput>mv freebsd-update.conf /etc</userinput></screen>
<para>Одоо байгаа бүх хувилбаруудын хувьд хамгийн сүүлийн хувилбарыг
татаж авах шаардлагагүй юм.</para>
<sect2>
<title>Тохиргооны файл</title>
<para>Процессийг илүү хянах боломжтой болгож зарим хэрэглэгчид
тохиргооны файлыг өөрчлөхийг хүсэж болох юм. Тохиргоонууд нь
маш сайн баримтжуулагдсан байдаг боловч дараах хэдэн зүйлийг
арай илүү тайлбарлах шаардлагатай байж болох юм:</para>
<programlisting># Components of the base system which should be kept updated.
Components src world kernel</programlisting>
<para>Энэ өгөгдөл нь &os;-ийн аль хэсгийг шинэчлэхийг хянадаг.
Анхдагчаар эх код, үндсэн систем бүтнээрээ ба цөмийг шинэчлэх
байдаг. Бүрэлдэхүүн хэсгүүд нь суулгах явцад байдагтай адил
байдаг бөгөөд жишээ нь "world/games" гэдгийг энд нэмэхэд
тоглоомын засваруудыг хийх боломжийг олгоно. "src/bin" гэдгийг
ашиглах нь <filename class="directory">src/bin</filename>
дахь эх кодыг шинэчлэх боломжийг олгодог.</para>
<para>Хамгийн сайн тохиргоо бол үүнийг анхдагчаар нь үлдээх бөгөөд
тусгай зүйлс оруулж үүнийг өөрчилснөөр хэрэглэгчид өөрсдийн шинэчлэхийг
хүссэн зүйл болгоноо жагсааж оруулах шаардлагатай болно. Ингэснээр
эх код болон хоёртын файлуудын хоорондох уялдаа алдагдаж гамшгийн
үр дагавар гарч болно.</para>
<programlisting># Paths which start with anything matching an entry in an IgnorePaths
# statement will be ignored.
IgnorePaths</programlisting>
<para><filename class="directory">/bin</filename> эсвэл
<filename class="directory">/sbin</filename> зэрэг замуудыг
нэмж эдгээр тусгай сангуудыг шинэчлэх процессийн явцад
оролдохгүй орхиж болно. Энэ тохиргоо нь
<command>freebsd-update</command> локал өөрчлөлтүүдийг
дарж бичихээс хамгаалахад хэрэглэж болно.</para>
<programlisting># Paths which start with anything matching an entry in an UpdateIfUnmodified
# statement will only be updated if the contents of the file have not been
# modified by the user (unless changes are merged; see below).
UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile</programlisting>
<para>Заагдсан сангууд дахь тохиргооны файлууд өөрчлөгдөөгүй
тохиолдолд шинэчилнэ. Хэрэглэгчийн хийсэн өөрчлөлтүүд эдгээр
файлуудын автомат шинэчлэлтийг хүчингүй болгоно.
<command>freebsd-update</command>-г нийлүүлэх явцад
өөрчлөлтүүдийг хадгалахыг тушаах <literal>KeepModifiedMetadata</literal>
гэсэн өөр нэг тохиргоо байдаг.</para>
<programlisting># When upgrading to a new &os; release, files which match MergeChanges
# will have any local changes merged into the version from the new release.
MergeChanges /etc/ /var/named/etc/</programlisting>
<para><command>freebsd-update</command>-ийн нийлүүлэхийг оролдох
тохиргооны файлуудтай сангуудын жагсаалт. Файл нийлүүлэх процесс нь
цөөн тохиргоотой &man.mergemaster.8;-тай төстэй &man.diff.1; засварууд
бөгөөд нийлүүлэлтийг эсвэл хүлээн авах юм уу эсвэл засварлагч нээж эсвэл
<command>freebsd-update</command> ажиллагаагаа зогсоох болно. Эргэлзэж
байвал <filename class="directory">/etc</filename> санг нөөцөлж аваад
нийлүүлэлтүүдийг хүлээн авах хэрэгтэй. <command>mergemaster</command> тушаалын
талаар дэлгэрэнгүй мэдээллийг <xref linkend="cutting-edge">-с үзнэ үү.</para>
<programlisting># Directory in which to store downloaded updates and temporary
# files used by &os; Update.
# WorkDir /var/db/freebsd-update</programlisting>
<para>Энэ сан нь бүх засварууд болон түр зуурын файлууд байх сан
юм. Хэрэглэгч хувилбар шинэчлэлт хийж байвал энэ байрлал нь хамгийн
багаар бодоход гигабайт дискийн зайтай байх шаардлагатай.</para>
<programlisting># When upgrading between releases, should the list of Components be
# read strictly (StrictComponents yes) or merely as a list of components
# which *might* be installed of which &os; Update should figure out
# which actually are installed and upgrade those (StrictComponents no)?
# StrictComponents no</programlisting>
<para><literal>yes</literal> гэж тохируулсан үед
<command>freebsd-update</command> нь <literal>Components</literal> буюу
бүрэлдэхүүн хэсгүүдийн жагсаалт бүрэн гэж тооцох бөгөөд жагсаалтаас гадна өөрчлөлт
хийхийг оролдохгүй. <command>freebsd-update</command> нь
<literal>Components</literal>-ийн жагсаалтад хамаарах файл
бүрийг шинэчлэхийг оролдох болно.</para>
</sect2>
<sect2>
<title>Аюулгүй байдлын засварууд</title>
<para>Аюулгүй байдлын засварууд нь алсын машин дээр хадгалагддаг
бөгөөд дараах тушаал ашиглан татан авч суулгаж болно:</para>
<screen>&prompt.root; <userinput>freebsd-update fetch</userinput>
&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>Хэрэв цөмийн ямар нэг засвар хийгдсэн бол системийг дахин
ачаалах хэрэгтэй. Хэрэв бүгд зөв явагдсан бол систем нь засвар хийгдсэн
байх ёстой бөгөөд <command>freebsd-update</command>-ийг
&man.cron.8; ажлаас шөнө бүр ажиллуулж болно. Энэ ажлыг хийхэд
дараах мөрийг <filename>/etc/crontab</filename>-д хийхэд
хангалттай байх болно:</para>
<programlisting>@daily root freebsd-update cron</programlisting>
<para>Энэ мөр нь өдөр бүр <command>freebsd-update</command>-г
ажиллуулахыг зааж байна. Ийм аргаар <option>cron</option>-ий нэмэлт
өгөгдлийг ашиглан <command>freebsd-update</command> нь зөвхөн
шинэчлэлт байгаа эсэхийг шалгах болно. Хэрэв засварууд байвал тэдгээрийг
автоматаар диск рүү татаж авах бөгөөд гэхдээ засваруудыг хийхгүй.
<username>root</username> хэрэглэгч рүү захиа илгээгдэх бөгөөд
дараа нь тэд гараар суулгаж болох юм.</para>
<para>Хэрэв ямар нэг зүйл буруу болбол <command>freebsd-update</command> нь
дараах тушаалаар сүүлийн өөрчлөлтүүдийг буцаах чадвартай байдаг:</para>
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen>
<para>Дууссаны дараа цөм эсвэл цөмийн модулиуд өөрчлөгдсөн бол
системийг дахин эхлүүлэх хэрэгтэй. Энэ нь шинэ хоёртын файлуудыг санах
ой руу дуудах боломжийг &os;-д олгоно.</para>
<note>
<para><command>freebsd-update</command> тушаал нь зөвхөн
<filename>GENERIC</filename> цөмтэй ажилладаг. Хэрэв ямар нэг
өөрчлөлт <filename>GENERIC</filename>-д хийгдсэн эсвэл өөрчлөн
тохируулсан цөм суулгагдсан бол <command>freebsd-update</command>
эхний тохиолдолд амжилтгүй болж сүүлийн тохиолдолд алдаа гаргах болно.</para>
</note>
</sect2>
<sect2>
<title>Major ба Minor буюу Том ба Бага шинэчлэлтүүд</title>
<para>Энэ процесс нь ихэнх гуравдагч талын прорамуудыг эвдэх
хуучин обьект файлууд болон сангуудыг устгах болно.
Бүх суулгагдсан портуудыг устгаж дахин суулгах эсвэл
<filename role="package">ports-mgmt/portupgrade</filename>
хэрэгсэл ашиглан сүүлд нь шинэчлэхийг зөвлөдөг. Дараах тушаалыг
ашиглан ихэнх хэрэглэгчид тест бүтээлтийг ажиллуулахыг хүснэ:</para>
<screen>&prompt.root; <userinput>portupgrade -af</userinput></screen>
<para>Энэ нь бүгдийг зөв дахин суулгах баталгаа болох юм.
<makevar>BATCH</makevar> орчны хувьсагчийг <literal>yes</literal>
гэж тохируулснаар энэ процессийн явцад гарч ирэх хүлээх мөрөнд
<literal>yes</literal> гэж хариулан бүтээх процессийн
үед оролцох шаардлагыг үгүй болгоно.</para>
<para>Том ба бага хувилбарын шинэчлэлтүүдийг
<command>freebsd-update</command> тушаалд хувилбарын дугаарыг өгч
гүйцэтгэж болно, жишээ нь дараах тушаал &os;&nbsp;6.3 руу
шинэчилнэ:</para>
<screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen>
<para>Тушаал хүлээн авсны дараа <command>freebsd-update</command>
системийг шинэчлэхэд шаардлагатай мэдээллийг цуглуулахын тулд
тохиргооны файл болон одоогийн системийг шалгана. Ямар бүрэлдэхүүн
хэсгүүд илрүүлэгдсэн болон ямар бүрэлдэхүүн хэсгүүд илрүүлэгдээгүй
гэдгийг дэлгэц дээр үзүүлнэ. Жишээ нь:</para>
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
The following components of FreeBSD seem to be installed:
kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
world/base world/info world/lib32 world/manpages
The following components of FreeBSD do not seem to be installed:
kernel/generic world/catpages world/dict world/doc world/games
world/proflibs
Does this look reasonable (y/n)? y</screen>
<para>Энд хүрэхэд <command>freebsd-update</command> шинэчлэлтэд
шаардлагатай бүх файлуудыг татан авахаар оролдох болно. Зарим
тохиолдолд хэрэглэгчээс юу суулгах эсвэл хэрхэн цааш үргэлжлүүлэх
талаар асуултууд асууж болох юм.</para>
<para>Бүх засварууд локал систем рүү татагдсаны дараа тэдгээрийг
хийж өгөх болно. Машины хурд болон ачааллаас хамаарч энэ процесс нь
хугацаа шаардаж болох юм. Тохиргооны файлуудыг нийлүүлэх болно.
Файл нийлүүлэгдэх юм уу эсвэл гараар нийлүүлэхэд зориулж засварлагч
дэлгэц дээр гарч ирч болох учир процессийн энэ хэсэг хэрэглэгчийн
оролцоо шаардана. Амжилттай нийлүүлэлт болгоны үр дүн хэрэглэгчид
харуулагдаж процесс үргэлжлэх болно. Амжилтгүй болсон эсвэл орхигдсон
нийлүүлэлт нь процессийг зогсоох болно. Хэрэглэгчид нь
<filename class="directory">/etc</filename> сангийн нөөцийг
хийж <filename>master.passwd</filename> эсвэл
<filename>group</filename> зэрэг чухал файлуудыг гараар сүүлд нь
нийлүүлэхийг хүсэж болох юм.</para>
<note>
<para>Систем нь өөрчлөгдөөгүй байгаа бөгөөд бүх засвар оруулалт
болон нийлүүлэлт өөр сан дотор болж байгаа болно. Бүх засварууд
амжилттай хийгдэж бүх тохиргооны файлууд нийлүүлэгдэж процесс
тэгш явагдаж байгаа мэт санагдвал хэрэглэгч өөрчлөлтүүдийг хийх
хэрэгтэй.</para>
</note>
<para>Энэ процесс дууссаны дараа шинэчлэлтийг дараах тушаалыг ашиглан
диск рүү хийж болно.</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>Цөм болон цөмийн модулиудад эхлээд засвар хийнэ. Энэ үед
машиныг дахих ачаалах ёстой. Шинэ цөм санах ойд дуудагдсан
байхын тулд дараах тушаалыг ажиллуулж машиныг дахин эхлүүлнэ:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Систем буцаж ассаны дараа <command>freebsd-update</command>-г
дахин эхлүүлэх хэрэгтэй. Процессийн төлөв хадгалагдсан болохоор
<command>freebsd-update</command> эхнээсээ эхлэхгүй бөгөөд бүх
хуучин хуваалцсан сангууд болон обьект файлуудыг устгах болно.
Энэ шатыг үргэлжлүүлэхийн тулд дараах тушаалыг ажиллуулна:</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<note>
<para>Сангуудын хувилбарын тоо дээшилсэн эсэхээс хамаарч
суулгах гурван шатны оронд хоёр шат байж болох юм.</para>
</note>
<para>Бүх гуравдагч талын програм хангамжийг дахин бүтээж дахин суулгах
хэрэгтэй. Суулгагдсан програм хангамж нь шинэчлэлтийн процессийн явцад
устгагдсан сангуудаас хамаарч болох учраас энэ нь шаардлагатай юм.
<filename role="package">ports-mgmt/portupgrade</filename> тушаалыг
үүнийг автоматжуулахад ашиглаж болох юм. Энэ процессийг эхлүүлэхийн
тулд дараах тушаалыг хэрэглэж болно:</para>
<screen>&prompt.root; <userinput>portupgrade -f ruby</userinput>
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput>
&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput>
&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput>
&prompt.root; <userinput>portupgrade -af</userinput></screen>
<para>Үүнийг дууссаны дараа шинэчлэлтийн процессийг
<command>freebsd-update</command>-ийг сүүлийн удаа дуудаж
төгсгөнө. Шинэчлэлтийн процессийн сул байгаа бүх зүйлсийг гүйцээхийн
тулд дараах тушаалыг ажиллуулна:</para>
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
<para>Машинаа &os;-ийн шинэ хувилбар руу дахин ачаалах хэрэгтэй.
Процесс дууслаа.</para>
</sect2>
<sect2>
<title>Системийн төлвийн харьцуулалт</title>
<para><command>freebsd-update</command> хэрэгслийг
&os;-ийн суулгагдсан хувилбарын төлвийг байгаа зөв хуулбарын
эсрэг тест хийхэд хэрэглэж болно. Энэ сонголт нь системийн хэрэгслүүд
сангууд болон тохиргооны файлуудын одоогийн хувилбаруудыг шалгадаг.
Харьцуулалтыг эхлүүлэхийн тулд дараах тушаалыг ажиллуулна:</para>
<screen>&prompt.root; <userinput>freebsd-update IDS &gt;&gt; outfile.ids</userinput></screen>
<warning>
<para>Тушаалын нэр <acronym>IDS</acronym> боловч энэ нь
ямар тохиолдолд <filename role="package">security/snort</filename> зэрэг
халдлага илрүүлэгч системийг солих зориулалттай биш юм.
<command>freebsd-update</command> нь өгөгдлийг диск дээр
хадгалдаг бөгөөд түүнийг өөрчлөх боломж тодорхой юм.
<varname>kern.securelevel</varname> тохиргоог ашиглах болон
<command>freebsd-update</command>-ийн өгөгдлийг зөвхөн уншигдах файлын
систем дээр ашиглагдаагүй тохиолдолд хадгалах нь энэ боломжийг
багасгах боловч илүү сайн шийдэл нь системийг <acronym>DVD</acronym> эсвэл
нууцлаг хадгалсан гадаад <acronym>USB</acronym> дискийн төхөөрөмж зэрэг
нууцлаг дисктэй харьцуулах явдал юм.</para>
</warning>
<para>Систем нь одоо шалгагдах бөгөөд файлууд нь өөрсдийн
&man.sha256.1; утгуудын хамт, хувилбар дахь мэдэгдэж байгаа сайн утгууд болон
одоо суугдсан байгаа утгуудын хамт хэвлэгдэнэ харуулагдана.
Энэ нь яагаад гаралт <filename>outfile.ids</filename> файл руу
илгээгдсэн шалтгаан юм. Үүнийг нүдээр шалгахад хэтэрхий хурдан дээш
гүйж удалгүй консолын буфферийг дүүргэх болно.</para>
<para>Эдгээр мөрүүд нь бас хэтэрхий урт боловч гаралтын хэлбэрийг
хялбараар задлан ялгаж болно. Жишээ нь хувилбарт байгаагаас ондоо
бүх файлуудын жагсаалтыг авахын тулд дараах тушаалыг ажиллуулна:</para>
<screen>&prompt.root; <userinput>cat outfile.ids | awk '{ print $1 }' | more</userinput>
/etc/master.passwd
/etc/motd
/etc/passwd
/etc/pf.conf</screen>
<para>Энэ гаралт нь тайрагдсан бөгөөд олон файл байгаа болно.
Эдгээр файлуудын зарим нь төрөлхийн өөрчлөлтүүдтэй байна, жишээ нь
<filename>/etc/passwd</filename> нь хэрэглэгч системд нэмэгдсэн
болохоор өөрчлөгдсөн байна. Зарим тохиолдолд
<command>freebsd-update</command> нь шинэчилсэн байж болзошгүй учир
цөмийн модулиуд зэрэг бусад файлууд өөр байж болох юм.
Тусгай файлууд болон сангуудыг хасахын тулд тэдгээрийг
<filename>/etc/freebsd-update.conf</filename> файлын
<literal>IDSIgnorePaths</literal> тохиргоонд нэмж өгнө.</para>
<para>Өмнө хэлэлцсэн хувилбараас гадна нарийн нягт шинэчлэлтийн аргын
хэсэг болгон энэ системийг ашиглаж болно.</para>
</sect2>
</sect1>
<sect1 id="updating-portsnap">
<title>Portsnap: Портын цуглуулгын шинэчлэх хэрэгсэл</title>
<para>&os;-ийн үндсэн систем портын цуглуулгыг бас шинэчилдэг
&man.portsnap.8; хэрэгслийг агуулдаг. Ажиллуулсны дараа энэ нь
алсын сайт руу холбогдож нууц түлхүүрийг шалгаж портын цуглуулгын шинэ
хуулбарыг татан авдаг. Түлхүүр нь бүх татаж авсан файлууд татагдаж байхдаа
өөрчлөгдөөгүй эсэхийг хянан бүрэн бүтэн байдлыг шалгахад ашиглагддаг.
Хамгийн сүүлийн үеийн портын цуглуулгыг татаж авахын тулд дараах
тушаалыг ажиллуулна:</para>
<screen>&prompt.root; <userinput>portsnap fetch</userinput>
Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
Fetching snapshot tag from portsnap1.FreeBSD.org... done.
Fetching snapshot metadata... done.
Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
Fetching 3 metadata patches.. done.
Applying metadata patches... done.
Fetching 3 metadata files... done.
Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
Applying patches... done.
Fetching 133 new ports or files... done.</screen>
<para>Энэ жишээ нь юу үзүүлж байна вэ гэхээр &man.portsnap.8;
одоо байгаа портын өгөгдөлд хэд хэдэн засварууд байгааг олж шалгаж байна.
Энэ нь бас уг хэрэгсэл өмнө нь ажилласныг харуулж байгаа бөгөөд
хэрэв эхний удаа ажилласан бол цуглуулга татагдан авагдах байсан
юм.</para>
<para>&man.portsnap.8; нь <command>fetch</command> үйлдлийг хийж
дууссаны дараа локал систем дээр байгаа портын цуглуулга болон дараа дараагийн
засваруудыг шалгалтад дамжуулна. Шинэчлэгдсэн файлуудыг дараахийг
бичиж суулгаж болно:</para>
<screen>&prompt.root; <userinput>portsnap extract</userinput>
/usr/ports/.cvsignore
/usr/ports/CHANGES
/usr/ports/COPYRIGHT
/usr/ports/GIDs
/usr/ports/KNOBS
/usr/ports/LEGAL
/usr/ports/MOVED
/usr/ports/Makefile
/usr/ports/Mk/bsd.apache.mk
/usr/ports/Mk/bsd.autotools.mk
/usr/ports/Mk/bsd.cmake.mk
<replaceable>...</replaceable></screen>
<para>Процесс одоо дууссан бөгөөд портын цуглуулыг ашиглан
програмуудыг суулгаж эсвэл шинэчилж болно.</para>
</sect1>
</chapter>