FreeBSD гарын авлага
Өмнөх | Бүлэг 24. FreeBSD-г шинэчилж сайжруулах нь | Дараах

# 24.4. Баримтын цуглуулгыг шинэчлэх нь

Үндсэн систем болон портын цуглуулгаас гадна баримтууд нь FreeBSD үйлдлийн системийн салшгүй хэсэг юм. Хэдийгээр FreeBSD-ийн хамгийн сүүлийн үеийн баримтын цуглуулга FreeBSD вэб сайт дээр үргэлж байдаг боловч зарим хэрэглэгчид удаан сүлжээний холболттой эсвэл бүр тогтмол сүлжээний холболтгүй байж болох юм. Азаар FreeBSD-ийн хамгийн сүүлийн үеийн баримтын цуглуулгын локал хуулбарыг арчлан хувилбар бүртэй цуг ирдэг баримтыг шинэчлэх хэд хэдэн арга байдаг.

## 24.4.1. Баримтыг шинэчлэхийн тулд CVSup-г ашиглах нь

Үндсэн системийг шинэчлэхтэй төстэй аргыг ашиглан CVSup хэрэглэн эх болон FreeBSD-ийн баримтуудын суулгагдсан хуулбарыг шинэчилж болно (Хэсэг 24.7). Энэ хэсэг дараах зүйлсийг тайлбарладаг:

- FreeBSD-ийн баримтуудыг эхээс нь бүтээхэд шаардлагатай хэрэгслүүд, баримтын хэрэгслүүдийг хэрхэн суулгах талаар.

- CVSup ашиглан `/usr/doc` дахь баримтын эхийн хуулбарыг хэрхэн татаж авах талаар.

- FreeBSD-ийн баримтыг эхээс нь хэрхэн бүтээж `/usr/share/doc` дотор суулгах талаар.

- Баримтыг бүтээх системийн дэмждэг бүтээлтийн зарим тохируулгууд, өөрөөр хэлбэл баримтын зарим нэг хэл дээрх орчуулгыг зөвхөн бүтээдэг тохируулгууд эсвэл тусгай гаралтын хэлбэржүүлэлтийг сонгодог тохируулгууд.

## 24.4.2. CVSup болон баримтын хэрэгслүүдийг суулгах нь

FreeBSD-ийн баримтыг эхээс нь бүтээхэд нэлээн олон тооны хэрэгслүүдийг шаарддаг. Эдгээр хэрэгслүүд нь FreeBSD-ийн үндсэн системийн хэсэг биш байдаг. Учир нь эдгээр нь ихээхэн хэмжээний дискийн зай шаарддаг бөгөөд FreeBSD-ийн бүх хэрэглэгчдэд хэрэгтэй байдаггүй. Тэдгээр нь FreeBSD-д зориулж шинэ баримтууд идэвхтэй бичдэг эсвэл өөрсдийн баримтыг эхээс нь байнга шинэчилдэг хэрэглэгчдэд зөвхөн хэрэгтэй байдаг.

Бүх шаардлагатай хэрэгслүүд портын цуглуулгад байдаг. Эдгээр хэрэгслүүдийн эхний суулгалт болон хожмын шинэчлэлтүүдийг хялбаршуулах `textproc/docproj` порт нь FreeBSD-ийг баримтжуулах төслөөс хөгжүүлсэн мастер порт юм.

> Тэмдэглэл: PostScript® эсвэл PDF баримт шаардлагагүй үед харин `textproc/docproj-nojadetex` портыг суулгаж болох юм. Баримтын хэрэгслийн энэ хувилбар нь teTeX тайпсет хөдөлгүүрээс бусад бүгдийг багтаасан байдаг. teTeX нь маш олон хэрэгслүүдийн цуглуулга учир PDF гаралт үнэхээр шаардлагагүй тохиолдолд суулгахгүй байх нь зохимжтой байдаг.

CVSup-г суулгаж ашиглах талаарх дэлгэрэнгүй мэдээллийг CVSup-г ашиглах хэсгээс үзнэ үү.

## 24.4.3. Баримтын эхийг шинэчлэх нь

CVSup нь `/usr/share/examples/cvsup/doc-supfile` файлыг тохиргооны загвар болгон ашиглаж баримтын эхийн цэвэр хуулбарыг татан авч чаддаг. Анхдагч шинэчлэлтийн хост нь `doc-supfile` файлд зааснаар байгаа боловч cvsup(1) нь тушаалын мөрөөс хостын нэрийг авдаг бөгөөд баримтын эхийг аль нэг CVSup серверээс дараах тушаалыг бичин татан авч болно:

    # cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/share/examples/cvsup/doc-supfile

`cvsup.FreeBSD.org`-г хамгийн ойр CVSup серверээр солих хэрэгтэй. Толин тусгал сайтуудын бүрэн жагсаалтыг Хэсэг A.6.7-с үзнэ үү.

Баримтын эхийн эхний таталт хугацаа шаардаж болох юм. Дуустал нь хүлээх хэрэгтэй.

Баримтын эхийн дараа дараагийн шинэчлэлтүүдийг дээрх тушаалыг ашиглан татан авч болно. CVSup хэрэгсэл нь хамгийн сүүлийн удаа ажилласнаашаа хойших шинэчлэлтүүдийг зөвхөн татан авч хуулдаг учир эхний удаа бүрэн ажилласнаас хойш дараа дараагийн удаа CVSup-г ажиллуулахад илүү хурдан байдаг.

Эхийг татан авсныхаа дараа баримтыг шинэчлэх өөр нэг арга нь `/usr/doc` сангийн `Makefile`-аар дэмжигдсэн байдаг. `/etc/make.conf` файлд `SUP_UPDATE`, `SUPHOST` болон `DOCSUPFILE`-ийг тохируулснаар доорхийг ажиллуулах боломжтой болно:

    # cd /usr/doc
    # make update

`/etc/make.conf`-д зориулсан make(1)-ийн эдгээр тохируулгууд ийм байдаг:

    SUP_UPDATE= yes
    SUPHOST?= cvsup.freebsd.org
    DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfile

> Тэмдэглэл: `SUPHOST` болон `DOCSUPFILE` утгад `?=`-г өгснөөр бүтээх тушаалын мөрөөс өөрчлөх боломжийг бүрдүүлдэг. Энэ нь `make.conf`-д тохируулгууд нэмэх зөвлөсөн арга юм. Ингэснээр өөр өөр тохируулгын утгыг тест хийх болгонд файлыг засварлах шаардлагагүй болгодог.

## 24.4.4. Баримтын эхийн тааруулж болох тохируулгууд

FreeBSD-ийн баримтжуулалтыг бүтээж шинэчлэх систем нь баримтын зөвхөн тодорхой хэсгийг шинэчлэх эсвэл тусгай орчуулгыг бүтээх процессийг амарчлах хэдэн тохируулгыг дэмждэг. Эдгээр тохируулгуудыг `/etc/make.conf` файлд бүхэл системийн хувьд зааж өгөх юм уу эсвэл make(1) хэрэгсэлд тушаалын мөрийн тохиргоо маягаар зааж өгч болно.

Дараах тохируулгууд нь эдгээрийн зарим нь юм:

`DOC_LANG`

  Бүтээж суулгах хэл ба кодчилолын жагсаалт, жишээ нь Англи баримтад зөвхөн зориулсан `en_US.ISO8859-1` байна.

`FORMATS`

  Бүтээх ганц хэлбэржүүлэлт эсвэл гаралтын хэлбэржүүлэлтийн жагсаалт. Одоогоор `html`, `html-split`, `txt`, `ps`, `pdf`, болон `rtf` дэмжигдсэн байгаа.

`SUPHOST`

  Шинэчлэхэд ашиглах CVSup серверийн хостын нэр.

`DOCDIR`

  Баримтыг суулгах газар. Анхдагчаар `/usr/share/doc` байдаг.

FreeBSD дээрх системийн тохируулга болон дэмжигдсэн бүтээлтийн хувьсагчуудын талаар дэлгэрэнгүйг make.conf(5)-с үзнэ үү.

FreeBSD-ийн баримтжуулалт бүтээх системийн дэмждэг бүтээлтийн хувьсагчуудын талаар дэлгэрэнгүйг Шинэ хувь нэмэр оруулагчдад зориулсан FreeBSD баримтжуулах төслийн гарын авлагаас үзнэ үү.

## 24.4.5. FreeBSD-ийн баримтуудыг эхээс суулгах нь

Баримтын эхийн хамгийн сүүлийн хормын хувилбарыг `/usr/doc` санд татаж авснаар суулгагдсан баримтын шинэчлэлтийг хийхэд бүх юм бэлэн болно.

`DOC_LANG` makefile-ийн тохиргоонд заагдсан бүх хэлний бүрэн шинэчлэлтийг дараахийг бичин хийж болно:

    # cd /usr/doc
    # make install clean

Хэрэв `make.conf` нь зөв `DOCSUPFILE`, `SUPHOST` болон `SUP_UPDATE` тохиргоонуудтайгаар тохируулагдсан бол суулгах алхмыг баримтын шинэчлэлттэй цуг хамтатган ингэж хийж өгч болно:

    # cd /usr/doc
    # make update install clean

Хэрэв зөвхөн тусгай хэлний шинэчлэлт хэрэгтэй бол `/usr/doc`-ийн тухайн хэлний тусгай дэд санд make(1)-ийг ажиллуулж болно, жишээ нь:

    # cd /usr/doc/en_US.ISO8859-1
    # make update install clean

Суулгах гаралтын хэлбэржүүлэлтийг `FORMATS` бүтээлтийн хувьсагчийг зааж өгөн хийж өгч болно, жишээ нь:

    # cd /usr/doc
    # make FORMATS='html html-split' install clean

## 24.4.6. Баримтжуулах портуудыг ашиглах нь

Хувь нэмэр болгосон Марк Фонвил.

Өмнөх хэсэгт FreeBSD-ийн баримтжуулалтыг эхээс нь шинэчлэх аргыг бид танилцуулсан. FreeBSD-ийн бүх системүүдийн хувьд эх дээр тулгуурласан шинэчлэлтүүд нь боломжтой эсвэл практикийн биш байж болох юм. Баримтжуулалтын эхүүдийг бүтээх нь нэлээн их хэмжээний хэрэгслийн цуглуулга буюу баримтжуулалт бүтээх хэрэгслийн олонлог, CVS-ийг тодорхой хэмжээгээр мэдэх, репозиториос эхийг татаж авах болон татаж авсан эхээ бүтээх хэд хэдэн шат дарааллуудыг шаарддаг. Энэ хэсэгт бид FreeBSD-ийн баримтжуулалтын суулгагдсан хуулбаруудыг шинэчлэх өөр аргыг тайлбарлах болно. Энэ нь портын цуглуулгыг ашиглах бөгөөд дараах боломжийг бүрдүүлнэ:

- Бүгдийг бүтээлгүйгээр баримтжуулалтын урьдчилан бүтээсэн хормын хувилбарыг татан авч суулгах (ингэснээр баримтжуулалт бүтээх хэрэгслийн олонлогийг бүхэлд нь суулгах шаардлагагүй болно).

- Баримтжуулалтын эхийг татаж аван портын тогтолцоог ашиглан бүтээх (татаж аван бүтээх алхмуудыг арай хялбар болгодог).

FreeBSD-ийн баримтжуулалтыг шинэчлэх эдгээр хоёр арга нь Баримтжуулалт Инженерчлэлийн Баг `<doceng@FreeBSD.org>`-ийн сар бүр шинэчилдэг баримтжуулалтын портуудын цуглуулгаар дэмжигддэг. Эдгээр нь FreeBSD-ийн портын цуглуулгад docs виртуал төрөлд байдаг.

### 24.4.6.1. Баримтжуулалтын портуудыг бүтээж суулгах нь

Баримтжуулалтын портууд нь баримтжуулалтын бүтээлтийг хялбар болгохын тулд порт бүтээх тогтолцоог хэрэглэдэг. make(1)-ийг тохирох орчны тохиргоонууд болон тушаалын мөрийн тохиргоонуудын хамтаар ажиллуулж баримтжуулалтын эхийг татаж авах процессыг тэд автоматжуулдаг бөгөөд баримтжуулалтын суулгалт болон устгалтыг FreeBSD-ийн бусад порт эсвэл багцын суулгалтын нэгэн адил хялбар болгодог.

> Тэмдэглэл: Мөн баримтжуулалтын портуудыг бүтээсний дараа тэд хамааралтай баримтжуулалтыг бүтээх хэрэгслийн олонлогийн портуудыг бүртгэдэг бөгөөд тэдгээрийг автоматаар бас суулгадаг.

Баримтжуулалтын портуудын зохион байгуулалт нь дараах хэлбэрийн байна:

- Баримтжуулалтын портын файлууд байдаг `misc/freebsd-doc-en` “мастер порт” байдаг. Энэ нь бүх баримтжуулалтын портуудын үндэс болдог. Анхдагчаар энэ нь Англи баримтжуулалтыг зөвхөн бүтээдэг.

- “Нэг портод бүгд багтсан” `misc/freebsd-doc-all` байдаг бөгөөд энэ нь байгаа бүх хэл дээр бүх баримтжуулалтыг бүтээж суулгадаг.

- Эцэст нь орчуулга бүрийн хувьд “зарц порт” байдаг, жишээ нь Унгар хэл дээрх баримтуудад зориулсан `misc/freebsd-doc-hu`-г дурдаж болно. Эдгээр нь бүгд мастер портоос хамаарах бөгөөд тухайн хэлний орчуулсан баримтжуулалтыг суулгадаг.

Баримтжуулалтын портыг эхээс суулгахын тулд дараах тушаалуудыг ажиллуулна (`root` эрхээр):

    # cd /usr/ports/misc/freebsd-doc-en
    # make install clean

Энэ нь Англи баримтжуулалтыг хуваагдсан HTML хэлбэрээр (http://www.FreeBSD.org дээр ашигладагийн адилаар) бүтээж `/usr/local/share/doc/freebsd` санд суулгадаг.

#### 24.4.6.1.1. Нийтлэг Knob болон тохируулгууд

Баримтжуулалтын портуудын анхдагч байдлыг өөрчлөх олон тохиргоо байдаг. Доор цөөхөн хэдэн жагсаалтыг дурдав:

`WITH_HTML`

  HTML хэлбэрээр бүтээхийг зөвшөөрдөг: баримт бүрийн хувьд нэг HTML файл. Хэлбэршүүлсэн баримтжуулалт нь тохирох `article.html` юм уу эсвэл `book.html` гэсэн файлуудад зургийн хамтаар хадгалагддаг.

`WITH_PDF`

  Adobe® Acrobat Reader®, Ghostscript эсвэл бусад PDF уншигчдыг ашиглах Adobe-ийн хөрвөх баримтын хэлбэрээр бүтээхийг зөвшөөрдөг. Хэлбэршүүлсэн баримтжуулалт нь тохирох `article.pdf` юм уу эсвэл `book.pdf` гэсэн файлуудад хадгалагддаг.

`DOCBASE`

  Баримтжуулалтын суулгах байрлал. Энэ нь анхдагчаар `/usr/local/share/doc/freebsd` байдаг.

  > Тэмдэглэл: Анхдагч суулгах сан нь CVSup аргын ашигладаг сангаас ялгаатайг санаарай. Энэ нь яагаад гэвэл бид порт суулгаж байгаа бөгөөд портууд нь ихэвчлэн `/usr/local` санд суудаг. Үүнийг `PREFIX` хувьсагчийг нэмэн өөрчилж болдог.

Энд Унгар баримтжуулалтыг Хөрвөх Баримтын Хэлбэрээр (PDF) суулгахын тулд дээр дурдсан хувьсагчуудыг хэрхэн ашиглахыг харуулсан жишээг үзүүлэв:

    # cd /usr/ports/misc/freebsd-doc-hu
    # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean

### 24.4.6.2. Баримтжуулалтын багцуудыг ашиглах нь

Өмнөх хэсэгт тайлбарласнаар баримтжуулалтын портуудыг эхээс бүтээх нь баримтжуулалтыг бүтээх хэрэгслийн олонлогийг суулгах болон портуудыг бүтээхэд тодорхой хэмжээний дискийн зай шаарддаг. Баримтжуулалтын хэрэгслүүдийг суулгахад эх үүсвэр хүрэлцэхгүй үед эсвэл эхээс бүтээх нь ихээхэн хэмжээний дискийн зай эзлэх бол баримтжуулалтын портуудын урьдчилан бүтээсэн хормын хувилбаруудыг суулгах боломж бас байдаг.

Баримтжуулалт Инженерчлэлийн Баг `<doceng@FreeBSD.org>` нь FreeBSD-ийн баримтжуулалтын багцуудын сар бүрийн хормын хувилбаруудыг бэлддэг. Эдгээр хоёртын багцуудыг pkg_add(1), pkg_delete(1) гэх зэрэг багцын хэрэгслүүдийн хамтаар ашиглаж болдог.

> Тэмдэглэл: Хоёртын багцуудыг ашиглаж байгаа үед FreeBSD-ийн баримтжуулалт нь тухайн хэлний хувьд байгаа бүх хэлбэрээр суудаг.

Жишээ нь дараах тушаал Унгар баримтжуулалтын хамгийн сүүлийн урьдчилан бүтээсэн багцыг суулгах болно:

    # pkg_add -r hu-freebsd-doc

> Тэмдэглэл: Багцууд нь харгалзах портын нэрнээсээ ялгаатай дараах нэрийн хэлбэртэй байдаг: ``lang`-freebsd-doc`. Энд `lang` нь хэлний кодын богино хэлбэр юм, жишээ нь `hu` нь Унгар, эсвэл `zh_cn` нь хялбаршуулсан Хятад хэл юм.

### 24.4.6.3. Баримтжуулалтын портуудыг шинэчлэх нь

Өмнө нь суулгасан баримтжуулалтын портыг шинэчлэхийн тулд портууд шинэчлэх аль ч хэрэгсэл байхад хангалттай. Жишээ нь дараах тушаал суулгасан Унгар баримтжуулалтыг `ports-mgmt/portupgrade` хэрэгслийн тусламжтайгаар зөвхөн багцуудыг ашиглан шинэчилнэ:

    # portupgrade -PP hu-freebsd-doc

Өмнөх | Эхлэл | Дараах
Portsnap: Портын цуглуулгыг шинэчлэх хэрэгсэл | Дээш | Хөгжүүлэлтийн салбарыг дагах нь

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.