diff --git a/mn_MN.UTF-8/books/handbook/Makefile b/mn_MN.UTF-8/books/handbook/Makefile index a9196d9731..f00ad0e904 100644 --- a/mn_MN.UTF-8/books/handbook/Makefile +++ b/mn_MN.UTF-8/books/handbook/Makefile @@ -1,302 +1,305 @@ # $FreeBSD$ # # The FreeBSD Mongolian Documentation Project # -# Original revision 1.109 +# Original revision 1.110 # # Build the FreeBSD Handbook. # # # ------------------------------------------------------------------------ # # Handbook-specific variables # # WITH_PGPKEYS The print version of the handbook only prints PGP # fingerprints by default. If you would like for the # entire key to be displayed, then set this variable. # This option has no affect on the HTML formats. # # Handbook-specific targets # # pgpkeyring This target will read the contents of # pgpkeys/chapter.sgml and will extract all of # the pgpkeys to standard out. This output can then # be redirected into a file and distributed as a # public keyring of FreeBSD developers that can # easily be imported into PGP/GPG. # # ------------------------------------------------------------------------ .PATH: ${.CURDIR}/../../share/sgml/glossary MAINTAINER= doc@FreeBSD.org DOC?= book FORMATS?= html-split HAS_INDEX= true USE_PS2PDF= yes INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= IMAGES_EN = advanced-networking/isdn-bus.eps IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps IMAGES_EN+= advanced-networking/natd.eps IMAGES_EN+= advanced-networking/net-routing.pic IMAGES_EN+= advanced-networking/static-routes.pic IMAGES_EN+= geom/striping.pic IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr IMAGES_EN+= install/boot-loader-menu.scr IMAGES_EN+= install/boot-mgr.scr IMAGES_EN+= install/config-country.scr IMAGES_EN+= install/console-saver1.scr IMAGES_EN+= install/console-saver2.scr IMAGES_EN+= install/console-saver3.scr IMAGES_EN+= install/console-saver4.scr IMAGES_EN+= install/disklabel-auto.scr IMAGES_EN+= install/disklabel-ed1.scr IMAGES_EN+= install/disklabel-ed2.scr IMAGES_EN+= install/disklabel-fs.scr IMAGES_EN+= install/disklabel-root1.scr IMAGES_EN+= install/disklabel-root2.scr IMAGES_EN+= install/disklabel-root3.scr IMAGES_EN+= install/disk-layout.eps IMAGES_EN+= install/dist-set.scr IMAGES_EN+= install/dist-set2.scr IMAGES_EN+= install/docmenu1.scr IMAGES_EN+= install/ed0-conf.scr IMAGES_EN+= install/ed0-conf2.scr IMAGES_EN+= install/edit-inetd-conf.scr IMAGES_EN+= install/fdisk-drive1.scr IMAGES_EN+= install/fdisk-drive2.scr IMAGES_EN+= install/fdisk-edit1.scr IMAGES_EN+= install/fdisk-edit2.scr IMAGES_EN+= install/ftp-anon1.scr IMAGES_EN+= install/ftp-anon2.scr IMAGES_EN+= install/hdwrconf.scr IMAGES_EN+= install/keymap.scr IMAGES_EN+= install/main1.scr IMAGES_EN+= install/mainexit.scr IMAGES_EN+= install/main-std.scr IMAGES_EN+= install/main-options.scr IMAGES_EN+= install/main-doc.scr IMAGES_EN+= install/main-keymap.scr IMAGES_EN+= install/media.scr IMAGES_EN+= install/mouse1.scr IMAGES_EN+= install/mouse2.scr IMAGES_EN+= install/mouse3.scr IMAGES_EN+= install/mouse4.scr IMAGES_EN+= install/mouse5.scr IMAGES_EN+= install/mouse6.scr IMAGES_EN+= install/mta-main.scr IMAGES_EN+= install/net-config-menu1.scr IMAGES_EN+= install/net-config-menu2.scr IMAGES_EN+= install/nfs-server-edit.scr IMAGES_EN+= install/ntp-config.scr IMAGES_EN+= install/options.scr IMAGES_EN+= install/pkg-cat.scr IMAGES_EN+= install/pkg-confirm.scr IMAGES_EN+= install/pkg-install.scr IMAGES_EN+= install/pkg-sel.scr IMAGES_EN+= install/probstart.scr IMAGES_EN+= install/routed.scr IMAGES_EN+= install/security.scr IMAGES_EN+= install/sysinstall-exit.scr IMAGES_EN+= install/timezone1.scr IMAGES_EN+= install/timezone2.scr IMAGES_EN+= install/timezone3.scr IMAGES_EN+= install/userconfig.scr IMAGES_EN+= install/userconfig2.scr IMAGES_EN+= mail/mutt1.scr IMAGES_EN+= mail/mutt2.scr IMAGES_EN+= mail/mutt3.scr IMAGES_EN+= mail/pine1.scr IMAGES_EN+= mail/pine2.scr IMAGES_EN+= mail/pine3.scr IMAGES_EN+= mail/pine4.scr IMAGES_EN+= mail/pine5.scr IMAGES_EN+= install/example-dir1.eps IMAGES_EN+= install/example-dir2.eps IMAGES_EN+= install/example-dir3.eps IMAGES_EN+= install/example-dir4.eps IMAGES_EN+= install/example-dir5.eps IMAGES_EN+= security/ipsec-network.pic IMAGES_EN+= security/ipsec-crypt-pkt.pic IMAGES_EN+= security/ipsec-encap-pkt.pic IMAGES_EN+= security/ipsec-out-pkt.pic IMAGES_EN+= vinum/vinum-concat.pic IMAGES_EN+= vinum/vinum-mirrored-vol.pic IMAGES_EN+= vinum/vinum-raid10-vol.pic IMAGES_EN+= vinum/vinum-raid5-org.pic IMAGES_EN+= vinum/vinum-simple-vol.pic IMAGES_EN+= vinum/vinum-striped-vol.pic IMAGES_EN+= vinum/vinum-striped.pic IMAGES_EN+= virtualization/parallels-freebsd1.png IMAGES_EN+= virtualization/parallels-freebsd2.png IMAGES_EN+= virtualization/parallels-freebsd3.png IMAGES_EN+= virtualization/parallels-freebsd4.png IMAGES_EN+= virtualization/parallels-freebsd5.png IMAGES_EN+= virtualization/parallels-freebsd6.png IMAGES_EN+= virtualization/parallels-freebsd7.png IMAGES_EN+= virtualization/parallels-freebsd8.png IMAGES_EN+= virtualization/parallels-freebsd9.png IMAGES_EN+= virtualization/parallels-freebsd10.png IMAGES_EN+= virtualization/parallels-freebsd11.png IMAGES_EN+= virtualization/parallels-freebsd12.png IMAGES_EN+= virtualization/parallels-freebsd13.png IMAGES_EN+= virtualization/virtualpc-freebsd1.png IMAGES_EN+= virtualization/virtualpc-freebsd2.png IMAGES_EN+= virtualization/virtualpc-freebsd3.png IMAGES_EN+= virtualization/virtualpc-freebsd4.png IMAGES_EN+= virtualization/virtualpc-freebsd5.png IMAGES_EN+= virtualization/virtualpc-freebsd6.png IMAGES_EN+= virtualization/virtualpc-freebsd7.png IMAGES_EN+= virtualization/virtualpc-freebsd8.png IMAGES_EN+= virtualization/virtualpc-freebsd9.png IMAGES_EN+= virtualization/virtualpc-freebsd10.png IMAGES_EN+= virtualization/virtualpc-freebsd11.png IMAGES_EN+= virtualization/virtualpc-freebsd12.png IMAGES_EN+= virtualization/virtualpc-freebsd13.png IMAGES_EN+= virtualization/vmware-freebsd01.png IMAGES_EN+= virtualization/vmware-freebsd02.png IMAGES_EN+= virtualization/vmware-freebsd03.png IMAGES_EN+= virtualization/vmware-freebsd04.png IMAGES_EN+= virtualization/vmware-freebsd05.png IMAGES_EN+= virtualization/vmware-freebsd06.png IMAGES_EN+= virtualization/vmware-freebsd07.png IMAGES_EN+= virtualization/vmware-freebsd08.png IMAGES_EN+= virtualization/vmware-freebsd09.png IMAGES_EN+= virtualization/vmware-freebsd10.png IMAGES_EN+= virtualization/vmware-freebsd11.png IMAGES_EN+= virtualization/vmware-freebsd12.png # Images from the cross-document image library IMAGES_LIB= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png IMAGES_LIB+= callouts/11.png IMAGES_LIB+= callouts/12.png IMAGES_LIB+= callouts/13.png IMAGES_LIB+= callouts/14.png IMAGES_LIB+= callouts/15.png # # SRCS lists the individual SGML files that make up the document. Changes # to any of these files will force a rebuild # # SGML content SRCS+= audit/chapter.sgml SRCS+= book.sgml SRCS+= colophon.sgml +SRCS+= dtrace/chapter.sgml SRCS+= freebsd-glossary.sgml SRCS+= advanced-networking/chapter.sgml SRCS+= basics/chapter.sgml SRCS+= bibliography/chapter.sgml SRCS+= boot/chapter.sgml SRCS+= config/chapter.sgml SRCS+= cutting-edge/chapter.sgml SRCS+= desktop/chapter.sgml SRCS+= disks/chapter.sgml SRCS+= eresources/chapter.sgml SRCS+= firewalls/chapter.sgml +SRCS+= filesystems/chapter.sgml SRCS+= geom/chapter.sgml SRCS+= install/chapter.sgml SRCS+= introduction/chapter.sgml SRCS+= jails/chapter.sgml SRCS+= kernelconfig/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml SRCS+= mac/chapter.sgml SRCS+= mail/chapter.sgml SRCS+= mirrors/chapter.sgml SRCS+= multimedia/chapter.sgml SRCS+= network-servers/chapter.sgml SRCS+= pgpkeys/chapter.sgml SRCS+= ports/chapter.sgml SRCS+= ppp-and-slip/chapter.sgml SRCS+= preface/preface.sgml SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml +SRCS+= updating/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml SRCS+= virtualization/chapter.sgml SRCS+= x11/chapter.sgml # Entities SRCS+= chapters.ent SYMLINKS= ${DESTDIR} index.html handbook.html # Turn on all the chapters. CHAPTERS?= ${SRCS:M*chapter.sgml} SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} SGMLFLAGS+= -i chap.freebsd-glossary pgpkeyring: pgpkeys/chapter.sgml @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} # # Handbook-specific variables # .if defined(WITH_PGPKEYS) JADEFLAGS+= -V withpgpkeys .endif URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. # # rules generating lists of mirror site from XML database. # XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \ mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \ eresources:::eresources.sgml.www.inc.tmp DEPENDSET.DEFAULT= transtable mirror XSLT.DEFAULT= ${XSL_MIRRORS} XML.DEFAULT= ${XML_MIRRORS} NO_TIDY.DEFAULT= yes PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \ --param 'proto' "'ftp'" \ --param 'target' "'handbook/mirrors/chapter.sgml'" PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \ --param 'proto' "'cvsup'" \ --param 'target' "'handbook/mirrors/chapter.sgml'" PARAMS.eresources+= --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'handbook/eresources/chapter.sgml'" SRCS+= mirrors.sgml.ftp.inc \ mirrors.sgml.cvsup.inc \ eresources.sgml.www.inc CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \ mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \ eresources.sgml.www.inc eresources.sgml.www.inc.tmp .include "${DOC_PREFIX}/share/mk/doc.project.mk" .for p in ftp cvsup mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) .endfor eresources.sgml.www.inc: eresources.sgml.www.inc.tmp ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) diff --git a/mn_MN.UTF-8/books/handbook/basics/chapter.sgml b/mn_MN.UTF-8/books/handbook/basics/chapter.sgml index 9f81e0b50b..ad8029a3cf 100644 --- a/mn_MN.UTF-8/books/handbook/basics/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/basics/chapter.sgml @@ -1,2410 +1,2548 @@ Крис Шамвэй Дахин бичсэн Шагдарын Нацагдорж Орчуулсан Юниксийн үндэс Ерөнхий агуулга Дараах бүлгүүд нь FreeBSD үйлдлийн системийн үндсэн тушаал мөн гүйцэтгэлүүдийг хамрах болно. Энэ материалын ихэнх хэсэг нь &unix;-төрлийн үйлдлийн системтэй хамаатай. Хэрэв та юникс төрлийн үйлдлийн системтэй танил бол энэ бүлгийг алгасаж болно. Харин та FreeBSD-г шинээр сурагч бол энэ бүлгийг тун анхааралтай унших хэрэгтэй. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: FreeBSD-н виртуал консолыг хэрхэн хэрэглэх. &os; дээрх файлын тугийг ойлгосноор &unix;-н файлын зөвшөөрөл хэрхэн ажилладгийг мэдэх. Үндсэн &os; файл системийн байрлуулалтыг мэдэх. &os; диск зохион байгуулалт. Файл системийг хэрхэн холбох болон салгах. Процесс, далд чөтгөр дэмон, мөн дохионууд гэж юу болох. Бүрхүүл гэж юу болох, мөн хэрхэн анхны нэвтрэх орчноо өөрчлөх. Үндсэн текст засварлагчийг хэрхэн хэрэглэх. Төхөөрөмж болох төхөөрөмжийн цэг гэж юу болох. &os;-д ямар хоёртын хэлбэр хэрэглэгддэг болох. Нэмэлт мэдээллийг товч гарын авлагаас хэрхэн харах. Виртуал консол болон терминал виртуал консол терминал FreeBSD нь олон аргаар хэрэглэгдэж чадна. Тэдний нэг нь тушаалуудыг текст терминал дээр бичиж хэрэглэх юм. Хэрэв та FreeBSD-г ингэж хэрэглэвэл, &unix;-н маш олон боломж болон хүч таны гарт байна гэсэн үг. Энэ бүлэг танд, терминал болон консол гэж юу болох, мөн тэд нарыг FreeBSD дээр хэрхэн хэрэглэх талаар танд тодорхойлж өгөх болно. Консол консол Хэрэв та FreeBSD-г эхлэх үедээ автоматаар график горимд эхлүүлэхээр тохируулаагүй бол, систем нь эхлэлтийн гүйцэтгэдэг бичиглэлүүдээ дуусгасны дараа танд нэвтрэх хуудас харуулдаг. Та нэг иймэрхүү хуудас харах байх: Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 FreeBSD/i386 (pc3.example.org) (ttyv0) login: Энд харуулсан текстүүд нь таны систем дээр жаахан өөр байж магадгүй ч, ерөнхийдөө үүнтэй ижил байх ёстой. Сүүлийн хоёр мөр нь бидэнд одоогоор чухал мөрүүд. Сүүлээсээ хоёр дахь мөр нь ингэж уншигдаж байна: FreeBSD/i386 (pc3.example.org) (ttyv0) Энэ мөр нь таны дөнгөж сая эхлүүлсэн системийн тухай товч мэдээллийг агуулсан байна. Та x86 архитектуртай тохиромжтой Интел юм уу тохирох систем дээр ажиллаж буй FreeBSD консолыг харж байна i386 гэдэг нь үүнийг илэрхийлж байгаа юм. Тэмдэглэж хэлэхэд, хэрэв та FreeBSD-г Интел 386 процессор дээр ажиллуулаагүй байсан ч энэ нь i386 гэж гарна. Энэ нь процессорын төрлийг биш харин процессорын архитектурыг харуулж байгаа юм. . Энэ машины нэр нь (&unix; машин болгон өөрийн нэртэй ) pc3.example.org, бөгөөд та энэ системийн консолын — ttyv0 нэртэй терминалыг харж байна. Эцэст нь, сүүлийн мөр бол үргэлж: login: Энэ хэсэг нь, таны FreeBSD уруу нэвтрэх хэрэглэгчийн-нэрээ бичдэг хэсэг. Дараагийн хэсэгт энэ талаар тодорхойлсон байгаа. FreeBSD уруу нэвтрэх FreeBSD бол олон хэрэглэгчийн бас олон үйлдлийн систем. Энэ нь, нэг машин уруу олон хүмүүс зэрэг холбогдож нэгэн зэрэг олон үйлдэл хийж болдог системийн ерөнхий тодорхойлолт юм. Олон хэрэглэгчийн систем нь ямар нэгэн аргаар нэг хэрэглэгчийг бусдаас нь ялгаж чаддаг байх ёстой. FreeBSD дээр (мөн бусад &unix;-төрлийн системүүд дээр) энэ нь, хэрэглэгч ямар нэгэн програм ажиллуулахаасаа өмнө систем уруу нэвтрэх үйлдэл хийж хэрэгждэг. Хэрэглэгч бүрд гоц нэр ( хэрэглэгчийн-нэр) мөн хувийн нууц үг ( нууц-үг) харгалзах ёстой. Хэрэглэгчийг програм хэрэглэж эхлэхээс өмнө FreeBSD энэ хоёрыг асуух болно. эхлэлийн бичлэг Дөнгөж FreeBSD эхлэх үедээ эхлүүлэгч бичлэгүүдийг Эхлэх бичлэгүүд гэдэг нь FreeBSD эхлэх үед автоматаар ажилладаг програмууд. Тэдгээрийн үндсэн үүрэг нь, ажиллах ёстой програмуудыг тохируулах, мөн хэрэв ар талд далд ажилладаг ямар нэгэн үр ашигтай үйлдэл хийж байдаг таны тохируулсан үйлчилгээнүүд байвал тэднийг эхлүүлэх зэрэг үйлдлүүд юм. гүйцэтгэж дуусаад танаас зөв хэрэглэгчийн нэр оруулахыг лавлаж асууна: login: Энэ жишээнд зориулаад бүгдээрээ таны хэрэглэгчийн нэрийг john гэж бодоцгооё. Лавлаж асуусан мөрөнд john гэж бичээд Enter товч дарна. Ингээд дараа нь танаас password гэж нууц үг асуух болно: login: john Password: john-ны нууц үгийг оруулаад Enter товч дарна. Нууц үгийг танд харуулдаггүй! Энэ талаар та одоохондоо санаагаа зовоох хэрэггүй. Нууцлалын шалтгаанаар ингэж байгаа юм гэж хэлэхэд хангалттай. Хэрэв та нууц үгээ зөв оруулсан бол ингээд FreeBSD уруу нэвтрэх бөгөөд боломжтой бүх програмуудыг туршиж болохоор боллоо. Та MOTD эсвэл тухайн өдрийн мэдээллийг тушаал бичигчийн араас харах болно ( тушаал бичигч нь #, $, эсвэл % гэсэн тэмдэгтүүдийн нэг нь байдаг). Энэ нь таныг FreeBSD уруу амжилттай нэвтэрснийг илэрхийлдэг. Олон консолууд &unix; тушаалуудыг нэг консол дээр гүйцэтгэх нь ердийнх, гэхдээ FreeBSD олон програмыг нэг дор ажиллуулж чадна. FreeBSD олон програмыг нэг дор нэг цагт ажиллуулж чадаж байхад, нэг консол дээр олон тушаал өгч суух нь цаг алдахын л нэмэр. Ийм үед л виртуал консолын тусламж хэрэг болдог. FreeBSD нь танд олон төрлийн виртуал консол хэрэглүүлэхээр тохируулагдаж чаддаг. Нэг виртуал консолоос нөгөөх уруу нь гарын хэдхэн товчлуур дараад л шилжиж болдог. Консол бүр өөрийн төрөл бүрийн гаралтын сувагтай бөгөөд FreeBSD нь таныг нэг консолоос нөгөө консол уруу сэлгэх үед гарын оруулга болон дэлгэцийн гаралтыг тухайн консолд тохируулж дамжуулж өгдөг. Гарын тусгай товчлолууд нь FreeBSD дээр консол сэлгэхэд зориулж нөөцлөгдсөн байдаг FreeBSD консол мөн гарын тохируулгын тухай нэлээн дэлгэрэнгүй техникийн мэдээллийг та &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; мөн &man.kbdcontrol.1; зэрэг гарын авлагуудаас харж болно. Бид нар энд задалж нарийвчлахгүй бөгөөд сонирхсон хүмүүс нь гарын авлагуудаас хэрхэн ажилладаг заавар тайлбарыг уншиж болно. . Та AltF1, AltF2, аас AltF8 хүртэлх товчлуурыг дарж FreeBSD дээр консолуудын хооронд шилжиж болно. Таныг нэгээс нөгөөх уруу нь шилжих үед, FreeBSD таны дэлгэцийн гаралтыг хадгалж санаа тавьдаг. Ингэсний үр дүнд гарнаас тушаал оруулж програмуудыг ажиллуулж болдог маш олон виртуал дэлгэцүүдтэй мэт үзэгддэг. Нэг виртуал консол дээр таны ажиллуулсан програм нь уг консолоос сэлгээд өөр консол дээр сэлгэсэн ч гэсэн зогсохгүй ажиллаж л байдаг. <filename>/etc/ttys</filename> Файл FreeBSD анхны тохируулгаараа найман виртуал консолтой эхэлдэг. Энэ нь хатуу тогтоосон тохируулга биш бөгөөд хэрэв та хүсвэл олон юм уу цөөн болгож амархан өөрчлөх боломжтой. Виртуал консолын тоо болон тохируулга нь /etc/ttys файлд байдаг. Та /etc/ttys файлыг хэрэглэж FreeBSD дээрх виртуал консолуудыг тохируулж болно. Энэ файлын тайлбар тавиагүй мөр болгон ( # тэмдгээр эхлээгүй мөрүүд) виртуал консол эсвэл ганц терминалын тохируулгыг агуулж байдаг. Энэ файл FreeBSD-тэй анх цуг ирэхдээ есөн виртуал консолтой гэж тохируулагдаж ирдэг бөгөөд тэдний наймыг нь хэрэглэж болохыг зөвшөөрсөн байдаг. Тэдгээр нь ttyv гэж эхэлсэн байдаг: # name getty type status comments # ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure Виртуал консолыг тохируулдаг энэ файлын баганууд мөн нэмэлт сонголтуудын дэлгэрэнгүй тайлбарыг та &man.ttys.5; гарын авлагаас харна уу. Ганц хэрэглэгчийн горимын консол Ганц хэрэглэгчийн горим гэж юу болох талаар дэлгэрэнгүй мэдээлэл -д буй. FreeBSD дээр ганц хэрэглэгчийн горимд ажиллаж байхад зөвхөн нэг консол байдаг гэдгийг мэдэх хэрэгтэй. Энэ үед ямар ч виртуал консолууд боломжгүй. Ганц хэрэглэгчийн горимын тохируулгыг бас /etc/ttys файл дотор хийж болно. console гэж эхэлсэн мөрүүдийг харна уу: # name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off secure Дээрх console гэсэн мөрний дээд хэсэгт бичсэн тайлбарт бичсэний дагуу та secure гэдгийг insecure гэж өөрчилж болно. Хэрэв та ингэвэл, FreeBSD ганц хэрэглэгчийн горимд эхэлсэн ч гэсэн танаас root нууц үг асуух болно. Үүнийг insecure гэж солихдоо та тун болгоомжтой байх хэрэгтэй. Хэрэв та хэзээ нэгэн цагт root нууц үгээ мартаад ганц хэрэглэгчийн горимд орвол жаахан хүндрэлтэй байх болно. Энэ нь гэхдээ шийдэж болохоор хүндрэл боловч FreeBSD-н эхлэх үйлдэл болон хамрагдсан програмуудад нь дасаагүй хүнд бол жаахан хүндрэлтэй байж магадгүй. Консолын Видео горимуудыг өөрчлөх нь FreeBSD-ийн консолын анхдагч видео горимыг 1024x768, 1280x1024, эсвэл таны график бичил схем болон дэлгэц дэмжиж чадах дурын хэмжээгээр тохируулж болох юм. Өөр видео горимыг ашиглахын тулд та эхлээд өөрийн цөмөө дахин эмхэтгэж хоёр нэмэлт тохируулгыг оруулах хэрэгтэй: options VESA options SC_PIXEL_MODE Цөм эдгээр хоёр тохируулгатай дахин эмхэтгэгдсэний дараа таны тоног төхөөрөмж ямар видео горимуудыг дэмждэгийг &man.vidcontrol.1; хэрэгсэл ашиглан та тодорхойлж болно. Дэмжигдсэн видео горимуудын жагсаалтыг авахын тулд доор дурдсан тушаалыг бичнэ: &prompt.root; vidcontrol -i mode Энэ тушаалын үр дүн нь таны тоног төхөөрөмжийн дэмждэг видео горимуудын жагсаалт байх болно. Та дараа нь root консол дээр шинэ видео горимыг сонгон &man.vidcontrol.1; уруу өгч болно: &prompt.root; vidcontrol MODE_279 Хэрэв шинэ видео горим боломжийн бол /etc/rc.conf файлд ачаалахад үүнийг үргэлж сонгодог байхаар тохируулж болно: allscreens_flags="MODE_279" Зөвшөөрлүүд UNIX FreeBSD нь BSD &unix;-ээс уламжилж байх үедээ, &unix;-н үндсэн хэдэн бүтэц дээр суурилсан. Эхний бөгөөд хамгийн чухал тунхаглал нь FreeBSD бол олон хэрэглэгчийн үйлдлийн систем юм. Систем нь олон хэрэглэгчийн хоорондоо хамааралгүй олон үйлдлийг ачаалж чаддаг. Хэрэглэгч болгонд шаардагдах компьютерийн төхөөрөмж, санах ой мөн процессорын давтамжийг зөв шударга хуваарилахыг систем хариуцдаг. Систем олон хэрэглэгчтэй ажиллах болохоор, системийн хийх ёстой зүйл нь хэн тухайн нөөцийг унших, бичих, гүйцэтгэх вэ гэдгийг зохицуулах юм. Эдгээр зөвшөөрлүүд нь гурав гурваараа нийлүүлэгдсэн гурван хэсэг тоо байдаг. Нэг нь файлын эзэмшигчид, нөгөөх нь файлын хамаарагддаг бүлэгт, үлдсэн нь хүн болгонд гэж хуваарилагдана. Энэ тоон дараалал нь дараах маягаар ажилладаг.: зөвшөөрөл файлын зөвшөөрөл Утга Зөвшөөрөл Жагсаах харуулалт 0 Уншигдахгүй, бичигдэхгүй, гүйцэтгэгдэхгүй --- 1 Уншигдахгүй, бичигдэхгүй, гүйцэтгэгдэнэ --x 2 Уншигдахгүй, бичигдэнэ, гүйцэтгэгдэхгүй -w- 3 Уншигдахгүй, бичигдэнэ, гүйцэтгэгдэнэ -wx 4 Уншигдана, бичигдэхгүй, гүйцэтгэгдэхгүй r-- 5 Уншигдана, бичигдэхгүй, гүйцэтгэгдэнэ r-x 6 Уншигдана, бичигдэнэ, гүйцэтгэгдэхгүй rw- 7 Уншигдана, бичигдэнэ, гүйцэтгэгдэнэ rwx ls сангууд Та &man.ls.1; тушаалыг сонголттой хэрэглэж файлын эзэмшигч, бүлэг, мөн хүн болгонд хуваарилсан зөвшөөрлийг харуулсан баганатай дэлгэрэнгүй мэдээллийг харж болно. Жишээлбэл, ls -l тушаалыг нэг сан дотор гүйцэтгэвэл дараах маягаар харагдана: &prompt.user; ls -l total 530 -rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile -rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile -rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt ... Энд ls -l тушаалын эхний баганыг авч үзье: -rw-r--r-- Хамгийн эхний (зүүн талын) тэмдэг нь үүнийг ердийн файл юм уу, эсвэл сан, онцгой тэмдэг төхөөрөмж, сокет, эсвэл ямар нэгэн холбоост файл мөн эсэхийг илэрхийлдэг. Энэ тохиолдолд - нь ердийн файлыг зааж байна. Дараагийн гурван тэмдэгт rw- нь энэ тохиолдолд энэ файлын эзэмшигчид зөвшөөрөл өгч байна. Дараагийн гурван тэмдэгт r-- нь файлын хамаарах бүлэгт эрх өгч байна. Сүүлийн гурван тэмдэгт r-- нь бусад бүх хүмүүст эрх өгч байна. Зураас нь зөвшөөрөл өгөөгүйг илэрхийлдэг. Энэ файлын тохиолдолд, файлыг унших бичих эрхийг эзэмшигчид нь өгөөд, бүлэг нь файлыг унших эрхтэй, бусад хүмүүс энэ файлыг зөвхөн унших эрхтэй гэж заагдсан байна. Дээр тайлбарласан хүснэгтийн дагуу, энэ файлын зөвшөөрөл нь 644 гэж дээрх гурван төрөлд заагдаж байна. Энэ бол сайн бөгөөд сайхан хэрэг, гэхдээ төхөөрөмж рүү хандах зөвшөөрлийг систем яаж хянах вэ? FreeBSD бараг ихэнх төхөөрөмжийг нээж уншиж өгөгдөл бичдэг файл мэт хандаж уншиж бичдэг. Тэдгээр онцгой төхөөрөмжүүд нь /dev сан дотор байрладаг. Сангууд ч гэсэн бас файл мэт хандагддаг. Тэд нарт бас уншигдах, бичигдэх, гүйцэтгэгдэх зөвшөөрлүүд байдаг. Сангийн гүйцэтгэгдэх тэмдэг нь файлаас арай өөрөөр хэрэгждэг. Хэрэв сан нь гүйцэтгэгдэнэ гэж тэмдэглэгдсэн бол, энэ сан нь дамжиж өнгөрүүлэгдэж болох буюу cd тушаалыг (сан сольдог) хэрэглэж ийшээ орж болно гэсэн үг. Энэ нь мөн сан дотор харагдаж байгаа файлууд уруу хандаж болно гэсэн үг. (бас нэг зүйл, мэдээжээр, файлууд бас өөр дээрээ зөвшөөрөл агуулсан байгаа). Ерөнхийдөө бол, сан доторх файлуудыг жагсааж харахыг хүсвэл, уг санд уншигдах зөвшөөрөл суугдсан байх ёстой. Хэрэв санд байгаа файлыг устгана гэвэл бичигдэх болон гүйцэтгэгдэх зөвшөөрлүүд уг санд суугдах ёстой. Мөн нэмээд хэдэн зөвшөөрлийн битүүд байдаг, гэхдээ тэдгээр нь ажилладаг файлын setuid дугаар болон sticky сан зэрэг тусгай зориулалтаар хэрэглэгддэг. Файлын зөвшөөрлийн талаар нэмэлт мэдээлэл авахыг хүсвэл &man.chmod.1; гарын авлага хуудаснаас хараарай. Том Рөүдс Хамтарч бичсэн Тэмдэгт зөвшөөрлүүд зөвшөөрлүүдүсгэн Сан эсвэл файлд тоон утганы оронд заримдаа тэмдгэн зөвшөөрлийг хэрэглэдэг. Тэмдгэн зөвшөөрлийг бичихдээ (хэн) (үйлдэл) (зөвшөөрөл) гэсэн дарааллаар бичих бөгөөд дараах утгуудыг авдаг: Сонголт Үсэг Илэрхийлэл нь (хэн) u Хэрэглэгч (хэн) g Бүлгийн эзэмшигч (хэн) o Бусад (хэн) a Бүгд (ертөнц) (үйлдэл) + Зөвшөөрөл нэмэх (action) - Зөвшөөрлийг устгах (үйлдэл) = зөвхөн тухайн зөвшөөрлийг суулгах (зөвшөөрөл) r Унших (зөвшөөрөл) w Бичих (зөвшөөрөл) x Гүйцэтгэх (зөвшөөрөл) t Sticky бит (зөвшөөрөл) s UID эсвэл GID суулгах Эдгээр утгууд нь өмнөх жишээ шиг &man.chmod.1; тушаалтай хэрэглэгддэг бөгөөд гэхдээ үсэг хэрэглэнэ. Жишээлбэл, та FILE уруу бусад хэрэглэгчид хандахыг хориглохдоо: &prompt.user; chmod go= FILE Файлд нэгээс олон өөрчлөлт хийх шаардлага гарвал таслалаар тусгаарласан мөр бичиж болно. Жишээлбэл, дараах тушаал нь бүлэг болон дэлхийг FILE дээр бичих эрхийг нь аваад дараа нь хүн болгонд гүйцэтгэж болно гэсэн эрх өгч байна: &prompt.user; chmod go-w,a+x FILE Том Рөүдс Хамтран бичсэн &os; файлын туг Өмнө ярилцсан файлын зөвшөөрлөөс гадна &os; нь файлын туг хэрэглээгээр хангагдсан байдаг. Эдгээр туг нь файлд нэмэлт нууцлалын болон хяналтын түвшин тогтоож өгдөг, гэхдээ санд бол үгүй. Эдгээр файлын тугнууд нь файлд нэмэлт түвшний хяналт тогтоож өгснөөрөө зарим тохиолдолд root хэрэглэгч хүртэл файлыг устгах юм уу өөрчилж чадахгүй болгож тусалдаг. Файлын тугнууд нь энгийн загвартай &man.chflags.1; багажаар ашиглагддаг. Жишээлбэл, file1 файл дээр устгагдахгүй гэсэн туг хатгахыг системд зөвшөөрүүлэхийн тулд дараах тушаалыг гүйцэтгэнэ: &prompt.root; chflags sunlink file1 Хэрэв устгагдахгүй тугийг буцааж авна гэвэл өмнөх тушаал дээрээ -ын өмнө no залгаж ажиллуулна: &prompt.root; chflags nosunlink file1 Энэ файлын тугийг харахын тулд &man.ls.1; тушаалыг сонголттой хамт ажиллуулна: &prompt.root; ls -lo file1 Тушаалын гаралт нь дараах маягаар харагдах ёстой: -rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1 Нэлээн хэдэн тугнууд нь файлд зөвхөн root хэрэглэгчээр нэмэгдэж устгагдана. Бусад тохиолдолд файлын эзэмшигч нь тугийг суулгах боломжтой. Администраторуудыг &man.chflags.1; болон &man.chflags.2; гарын авлагуудыг уншихыг зөвлөж байна. - + + + + + Том + Рөүдс + Хувь нэмэр болгон оруулсан + + + + + setuid, setgid, болон sticky буюу наалдамхай зөвшөөрлүүд + + Өмнө хэлэлцсэн зөвшөөрлүүдээс гадна бүх администраторуудын + мэдэх ёстой өөр гурван тусгай тохиргоо байдаг. Эдгээр нь + setuid, setgid + болон sticky буюу наалдамхай + зөвшөөрлүүд юм. + + Эдгээр тохиргоонууд нь ерөнхийдөө энгийн хэрэглэгчдэд зөвшөөрөгддөггүй + ажиллагаагаар хангадаг бөгөөд &unix;-ийн зарим нэг үйлдлүүдэд чухал байдаг. + Эдгээрийг ойлгохын тулд жинхэнэ хэрэглэгчийн ID болон хүчинтэй хэрэглэгчийн + ID-ийн ялгааг дурдах хэрэгтэй. + + Жинхэнэ хэрэглэгчийн ID нь процессийг эзэмшдэг юм уу эсвэл + процессийг эхлүүлдэг UID юм. Хүчинтэй хэрэглэгчийн + UID нь процессийн ажиллаж байгаа тэр хэрэглэгчийн + ID юм. Жишээ нь &man.passwd.1; хэрэгсэл нь хэрэглэгч өөрсдийн нууц үгээ + сольж байгаа болохоор жинхэнэ хэрэглэгчийн ID-аар ажиллах боловч + нууц үгийн санд өөрчлөлт хийхийн тулд root + хэрэглэгчийн хүчинтэй ID-аар ажилладаг. Ингэснээр энгийн хэрэглэгчдэд + Permission Denied буюу зөвшөөрөл хаалттай + гэсэн алдааг харуулалгүйгээр өөрсдийн нууц үгсийг солих боломжийг + олгодог. + + + nosuid &man.mount.8; тохиргоо нь + эдгээр хоёртын файлуудыг дуугай амжилтгүй болоход хүргэдэг. + Энэ нь хэрэглэгчдэд мэдэгдэлгүйгээр ажиллагаа амжилтгүй болно + гэсэн үг юм. &man.mount.8; гарын авлагын дагуу энэ тохиргоо нь + nosuid гүйцэтгэл хялбаршуулагчийн хамгаалж болох шиг + бүрэн найдвартай бас биш юм. + + + setuid зөвшөөрлийг зөвшөөрлийн цуглуулгын өмнө + дөрвийн тоог (4) доорх жишээн дээрх шигээр тавьж + тохируулж болно: + + &prompt.root; chmod 4755 suidexample.sh + + suidexample.sh + файл дээрх зөвшөөрлүүд нь одоо доорх шиг харагдах ёстой: + + -rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.sh + + Энэ жишээн дээр s нь ажиллуулах битийг + сольж файлын эзэмшигчид зориулсан зөвшөөрлүүдийн цуглуулгын хэсэг + болж байгаа нь харагдах ёстой. Энэ нь passwd + зэрэг дээшлүүлсэн зөвшөөрлүүдийг шаарддаг хэрэгслүүдийг + зөвшөөрдөг. + + Жинхнээр нь үүнийг харахын тулд хоёр терминал нээ. Нэг дээр нь + энгийн хэрэглэгчээр passwd процессийг + эхлүүл. Шинэ нууц үг хүлээж байхад нь процессийн хүснэгтийг + шалгаад passwd тушаалын хэрэглэгчийн + мэдээллийг хар. + + Терминал A дээр: + + Changing local password for trhodes +Old Password: + + Терминал B дээр: + + &prompt.root; ps aux | grep passwd + + trhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd +root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwd + + Дээр харуулснаар passwd нь + энгийн хэрэглэгчээр ажиллаж байгаа боловч root + хэрэглэгчийн хүчинтэй UID ашиглаж байна. + + setgid зөвшөөрөл нь setuid + зөвшөөрөлтэй адил үүргийг гүйцэтгэдэг, гэхдээ бүлгийн тохиргоог + өөрчилдөг. Програм юм уу эсвэл хэрэгсэл нь энэ тохиргоотойгоор ажиллахдаа + процессийг эхлүүлсэн хэрэглэгч биш файлыг эзэмшиж байгаа бүлэг дээр + тулгуурласан зөвшөөрлүүдийг олгодог. + + Файл дээр setgid зөвшөөрлийг тохируулахдаа + дараах жишээн дээрх шиг chmod тушаалыг өмнөө + хоёртой (2) өгнө: + + &prompt.root; chmod 2755 suidexample.sh + + Шинэ тохиргоог өмнөх шигээ харж болох бөгөөд + s нь одоо бүлгийн зөвшөөрлийн тохиргоонд + зориулагдсан талбарт байгааг анхаараарай: + + -rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 suidexample.sh + + + Эдгээр жишээнүүд дээр бүрхүүлийн скрипт нь хэдийгээр + ажиллах боломжтой файл боловч өөр EUID + буюу хүчинтэй хэрэглэгчийн ID-аар ажиллахгүй. + Энэ нь яагаад гэвэл бүрхүүлийн скрипт нь &man.setuid.2; + системийн дуудлагуудад хандаж чадахгүйтэй холбоотой юм. + + + Бидний хэлэлцсэн эхний хоёр тусгай зөвшөөрлийн битүүд нь + (setuid болон setgid + зөвшөөрлийн битүүд) дээшлүүлсэн зөвшөөрлүүдийг зөвшөөрч системийн + аюулгүй байдлыг доошлуулж болох юм. Системийн аюулгүй байдлыг + чангатгаж чадах гурав дахь тусгай зөвшөөрлийн бит байдаг нь + sticky bit буюу наалдамхай бит юм. + + sticky bit нь санд тавигдсан үед + файл устгалтыг зөвхөн файлыг эзэмшигчид зөвшөөрдөг. Энэ + зөвшөөрлийн цуглуулга нь + /tmp + зэрэг нийтийн сангаас файлыг эзэмшдэггүй хэрэглэгч уг файлыг устгахаас + хамгаалахад ашиг тустай байдаг. Энэ зөвшөөрлийг ашиглахын тулд + зөвшөөрлийн урд нэгийг (1) тавьж өгнө. Жишээ нь: + + &prompt.root; chmod 1777 /tmp + + Одоо үр дүнг ls тушаал ашиглан + харах боломжтой: + + &prompt.root; ls -al / | grep tmp + + drwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmp + + sticky bit буюу наалдамхай бит зөвшөөрөл нь + цуглуулгын хамгийн сүүлд байгаа t-ээс ялгаатай + юм. + + + Сангийн бүтэц сангийн зохион байгуулалт FreeBSD ийн сангийн бүтэц нь уг системийг ойлгоход тун чухал үүрэг гүйцэтгэнэ. Хамгийн чухал бөгөөд үндсэн ойлголт бол root буюу хамгийн дээд эх сан / юм. Энэ сан нь систем эхлэх үед хамгийн түрүүнд танигдах ёстой бөгөөд олон хэрэглэгчид зориулсан үйлдлийн системийг бэлдэхэд чухал үүрэгтэй. Энэ дээд эх сан нь олон хэрэглэгчийн ажиллагаанд шилжих үед холбогдох бусад файлын системүүдийн холболтын цэгүүдийг бас агуулж байдаг. Холболтын цэг нь үндсэн файл систем уруу (ихэвчлэн эх root файл систем) нэмэлт файлын системүүдийг холбож нэмдэг цэг юм. Энэ тухай цаашид -д тайлбарласан байгаа. Үндсэн холбох цэгүүд нь /usr, /var, /tmp, /mnt, мөн /cdrom сангуудыг агуулж байдаг. Эдгээр сангууд нь голдуу /etc/fstab файлд заагдсан байдаг. /etc/fstab файл нь төрөл бүрийн файл системүүдийг системд ойлгуулах гэж бичсэн хүснэгт бичлэг. /etc/fstab файлд байгаа ихэнх файл системүүд компьютер эхэлж ачаалагдах үед автоматаар &man.rc.8; гүйцэтгэгддэг бичлэгээс таниулагддаг. Гэхдээ хэрэв гэсэн сонголтыг агуулсан бол автоматаар таниулагддаггүй. Дэлгэрэнгүй мэдээлэл хэсэгт буй. Файл системийн бүтцийн тухай бүрэн мэдээллийг &man.hier.7;-с харж болно. Одоохондоо байнга хэрэглэгддэг сангуудыг товч тайлбарлахад хангалттай. Сан Тодорхойлолт / Файл системийн Root буюу хамгийн дээд эх сан. /bin/ Ганц болон олон хэрэглэгчийн орчны үндсэн хэрэгслийн сан. /boot/ Үйлдлийн систем эхлэж ачаалагдах үеийн програмууд болон тохируулга файлууд. /boot/defaults/ Анхдагч ачаалах үеийн тохируулгын файлууд; дэлгэрэнгүйг &man.loader.conf.5; хуудаснаас харна уу. /dev/ Төхөөрөмжүүд байдаг сан; &man.intro.4; хуудаснаас харна уу. /etc/ Системийн тохируулгын файлууд болон гүйцэтгэх бичлэгүүд. /etc/defaults/ Анхдагч системийн тохируулгын файлууд; дэлгэрэнгүйг &man.rc.8; хуудаснаас хараарай. /etc/mail/ &man.sendmail.8; мэтийн захиа илгээгчдийн тохируулгын файлууд. /etc/namedb/ named-н тохируулгын файл; &man.named.8; хуудаснаас дэлгэрэнгүйг харна уу. /etc/periodic/ &man.cron.8;-г ашиглаж өдрөөр, сараар, эсвэл жилээр гэх мэт давтамжаар ажиллаж чаддаг бичлэгүүд ; дэлгэрэнгүйг &man.periodic.8; хуудаснаас харна уу. /etc/ppp/ ppp тохируулга файлууд; &man.ppp.8;-с харна уу. /mnt/ Администратор голдуу түр зуур бусад файл систем эсвэл төхөөрөмжийг таниулахад хэрэглэдэг хоосон сан. /proc/ Процесийн файл систем; &man.procfs.5; болон &man.mount.procfs.8;-с харна уу. /rescue/ Эвдэрч гэмтсэн үед сэргээхэд хэрэглэгддэг програмууд &man.rescue.8;-с харна уу. /root/ root хэрэглэгчийн гэрийн сан. /sbin/ Ганц болон олон хэрэглэгчийн орчинд хэрэглэж болохоор системийн програм ба администраторын үндсэн хэрэгслүүд. /tmp/ Түр зуурын файлууд. /tmp сан доторх файлууд нь систем шинээр ачаалагдах үед хадгалагдалгүйгээр устгагдана. Санах ойгоос ажилладаг файл системүүд голцуу /tmp санд таниулагдаж байрлуулагддаг. Энэ үйлдэл нь &man.rc.conf.5;-тай холбоотой tmpmfs-төрлийг ашиглаж автоматжуулагдаж болдог (эсвэл /etc/fstab дотор буй оруулгууд бүгдээрээ; &man.mdmfs.8;-с харна уу). /usr/ Програм болон хэрэглэгчийн хэрэглэдэг үндсэн хэрэгслүүд. /usr/bin/ Үндсэн хэрэгслүүд, програмын багажууд, мөн програмууд. /usr/include/ Стандарт C-ийн include файлууд. /usr/lib/ Програмын шахаж бэлдсэн багцууд. /usr/libdata/ Төрөл бүрийн хэрэгслийн өгөгдлийн файлууд. /usr/libexec/ Системийн далд чөтгөр буюу дэмон болон системийн хэрэгслүүд (бусад програмаас дуудагдаж ажилладаг). /usr/local/ Дотоод гүйцэтгэгддэг болон програмын сангууд гэх мэт програмууд байдаг. Мөн FreeBSD-н портуудын анхны байрлуулах газар болж өгдөг. /usr/local -ийн доторх нь, &man.hier.7;-аар /usr сангийн дотор байгааг байрлуулсан шиг зохион байгуулагдах хэрэгтэй. Гэхдээ энэнд хамаарахгүй сангууд нь man гэж /usr/local/share сан дотор биш /usr/local дотор байрладаг сан, мөн share/doc/port дотор байдаг портуудын бичиг баримт байдаг сан юм. /usr/obj/ Архитектураасаа хамаараад /usr/src санг хөрвүүлэх үед бүтээгддэг сан.. /usr/ports FreeBSD Портын цуглуулга (сонгомол). /usr/sbin/ Системийн дэмон болон системийн хэрэгслүүд (хэрэглэгчдээр гүйцэтгэгдэнэ). /usr/share/ Архитектуртаа хамаатай файлууд. /usr/src/ BSD болон/эсвэл дотоод эх файлууд. /usr/X11R6/ X11R6 цогцолборын гүйцэтгэж болдог програмууд, програмын сан зэргүүд (сонгомол). /var/ Олон зорилгоор хэрэглэгддэг бүртгэл бичлэг, түр зуурын, дараалал зэргийн файлууд. Санах ойд тулгуурлаж ажилладаг зарим файлын системүүд /var дотор танигдаж үүсгэгддэг. Энэ үйлдэл нь &man.rc.conf.5;-тай холбоотой varmfs-төрлийг ашиглаж автоматжуулагдаж болдог (эсвэл /etc/fstab дотор буй оруулгууд бүгдээрээ; &man.mdmfs.8;-с харна уу). /var/log/ Системийн төрөл бүрийн бүртгэл бичлэгийн файлууд. /var/mail/ Хэрэглэгчийн ирсэн захиаг хадгалах файлууд. /var/spool/ Төрөл бүрийн хэвлэгч болон захианы системийн дарааллыг удирдах сангууд. /var/tmp/ Түр зуурын файлууд. Энэ санд буй файлууд нь голдуу системийг эхлэх үед зориулагдахаар нөөцлөгдсөн байдаг. Гэхдээ, хэрэв /var нь санах ойд тулгуурласан файлын систем бол өмнө хэлсэн зүйл хүчингүй. /var/yp NIS maps. Диск зохион байгуулалт FreeBSD нь файл олохын тулд хэрэглэдэг хамгийн жижиг хэрэгсэл бол файлын нэр юм. Файлын нэрний том болон бага үсэгнүүд нь бас ялгаатай. Энэ нь юу гэсэн үг вэ гэвэл readme.txt болон README.TXT гэсэн хоёр файл нь хоорондоо ялгаатай файл гэсэн үг. FreeBSD нь файлын төрлийг програм, бичиг баримт, эсвэл бусад төрлийн файл байна гэж ялгахын тулд (.txt) гэх мэтийн өргөтгөл хэрэглэдэггүй. Файлууд сан дотор хадгалагддаг. Сан нь зуу зуун файл агуулж болох бөгөөд эсвэл хоосон байж болно. Сан нь сангаа агуулж бас болох ба ингэж сангийн угсарсан модлог бүтэц үүсгэж болно. Ингэвэл та файлуудаа илүү амархан зохицуулах болно. Файл ба сангууд нь / тэмдгийн араас шаардлагатай бол сангуудын нэрийг бичиж өгөгдсөн нэрээрээ хандагдана. Хэрэв танд foo нэртэй сан нь bar санг агуулдаг бөгөөд уг сан дотор readme.txt файл байгаа бол, файлын хандах бүтэн нэр буюу зам нь foo/bar/readme.txt гэж бичигдэнэ. Сан болон файлууд нь файл системд хадгалагддаг. Файл систем болгон хамгийн эхний дээд хэсэгт заавал нэг сан агуулдаг бөгөөд, түүнийг уг файл системийн root сан буюу дээд эх сан гэж нэрлэдэг. Тэгээд энэ эх сан нь цаашаагаа өөр сангуудыг агуулж явдаг. Энэ хүртэл таны уншсан зүйлүүд нь таны бусад мэддэг үйлдлийн системтэй ижил байж магадгүй. Гэхдээ жаахан ялгаанууд бий. Жишээлбэл &ms-dos; үйлдлийн систем нь файл болон санг тусгаарлахдаа \ тэмдэг хэрэглэдэг байхад &macos; үйлдлийн систем нь : тэмдгийг хэрэглэдэг. FreeBSD дискэнд үсэглэж нэр өгдөггүй бөгөөд үсгээр нэр өгөгдсөн файлын замыг хэрэглэдэггүй. Та FreeBSD дээр c:/foo/bar/readme.txt гэж бичиж болохгүй. Харин түүний оронд нэг файл системийг нэг root файл систем гэж ангилдаг. Уг root буюу эх файл системийн эх сан нь / гэж хандагдана. Бусад өөр файл системүүд энэ root буюу эх файл систем дотор холбогддог. Та FreeBSD систем дээрээ хэдэн ч дисктэй байсан, сан болгонууд нь нэг дискний хэсэг мэт харагддаг. Жишээлбэл A, B, мөн C гэсэн гурван файл систем танд байна гэж бодъё. Файл систем бүр нь өөртөө хоёр сан агуулсан тус тусын эх сантай гэж үзье. Тэдгээр сангууд нь дараах нэртэй байг. A1, A2 (гэх мэтчилэн B1, B2 мөн C1, C2). A-г эх сан гэж үзнэ. Хэрэв та ls тушаалаар энэ сангийн дотор байгааг харвал, A1 ба A2 гэсэн хоёр санг та харах болно. Энэ сангийн модлог загвар нь ингэж харагдаж байна: / | +--- A1 | `--- A2 Хэрэв файл систем өөр файл системд холбогдохоор бол, холбогдож байгаа системийнхээ нэг сан дор холбогдоно. Тэгвэл одоо B файл системийг A1 санд холбоно гэж үзье. Тэгвэл B-ийн эх сан нь A1-ээр орлуулагдаж, B доторх файлууд дараах маягаар харагдана: / | +--- A1 | | | +--- B1 | | | `--- B2 | `--- A2 Хэрэв B1 эсвэл B2 сан доторх файлууд шаардлага гаран хандагдахаар бол /A1/B1 эсвэл /A1/B2 гэсэн зам хэрэглэгдэж бичигдэнэ. Хэрэв /A1 дотор файлууд байсан бол тэдгээрийг түр зуур нуудаг. B файл систем A системээс салгагдсан үед л тэр файлууд харагдана. Хэрэв B файл систем A2 дор холбогдсон бол дараах маягаар харагдана: / | +--- A1 | `--- A2 | +--- B1 | `--- B2 мөн файл уруу хандах зам нь /A2/B1 болон /A2/B2 гэж тус тусдаа хандагдах болно. Файл системүүд нэг нэгнийхээ дээр холбогдож болдог. Сүүлийн жишээгээ үргэлжлүүлээд C файл системийг B файл систем доторх B1 сангийн дээд хэсэгт холбож өгвөл дараах зохион байгуулалт үүсэж байна: / | +--- A1 | `--- A2 | +--- B1 | | | +--- C1 | | | `--- C2 | `--- B2 Эсвэл C файл систем A файл систем дотор A1 санд холбогдож болно: / | +--- A1 | | | +--- C1 | | | `--- C2 | `--- A2 | +--- B1 | `--- B2 Хэрэв та &ms-dos; системийг гадарладаг бол энэ нь join тушаалтай төсөөтэй боловч яг адилхан биш. Угтаа бол энэ нь тийм их анхаарлаа хандуулаад байхаар зүйл биш. Ердийн үед та FreeBSD суулгах үедээ нэг файл систем үүсгээд хаана холбохыг нь шийдэж холбоод, шинэ диск нэмэхгүй л бол түүнийгээ хэзээ ч өөрчлөх шаардлага гардаггүй. Өөр файл систем үүсгэлгүйгээр нэг бүхэл эх файл систем үүсгэж болдог. Ийм үед зарим сул талууд гарч ирдэг бөгөөд нэг л давуу тал үүснэ. Олон файл системүүдийн давуу талууд Олон төрлийн файл системүүд нь олон төрлийн холбох нөхцөлтэй. Жишээлбэл, сайн төлөвлөсний дараагаар, эх файл систем нь зөвхөн уншигдахаар холбогдож, ингэснээр санамсаргүй юм уу алдаа ослын шалтгаанаар чухал файлуудыг устгахаас сэргийлж болно. Хэрэглэгчдээр бичигдэж болдог файл систем, жишээ нь /home мэтийн бусад системээс тусгаарлаж nosuid төрлийн гэж холбож болно; энэ сонголт нь файл систем дээр буй гүйцэтгэж болдог файлд suid/guid бит утга тавигдахаас сэргийлж аюулгүй байдлыг хангаж өгдөг. FreeBSD файл систем ямар зорилгоор хэрэглэгдэхээс нь хамаараад файл систем дээр файлын зохион байгуулалтыг автоматаар хийдэг. Тийм болохоор байнга бичигдэж байдаг олон жижигхэн файлуудын байгаа файл систем дээр цөөхөн бичигддэг том файл агуулсан файл системийг бодвол олон бичигдэхэд зориулж арай өөр файлын зохион байгуулалт хийгддэг. Ганц том эх файл системд ийм зохион байгуулалт хийх боломжгүй. FreeBSD-н файл систем нь цахилгаан тэжээлээс огцом салгагдсан үед ч дискний алдаа үүсгэдэггүй найдвартай байдаг. Гэвч маш ноцтой үед цахилгаан тэжээлээс огцом салгагдахад файл системийн бүтэц эвдэрч болзошгүй юм. Өгөгдлүүдээ олон файл системд хувааж байрлуулах нь дараа нь эвдрэлээс буцааж сэргээхэд амар байдаг. Нэг файл системтэй байх үеийн давуу тал Энэ файл систем нь тогтсон хэмжээтэй байдаг. Хэрэв та FreeBSD-ийг суулгах үедээ тодорхой зааж өгсөн файл систем үүсгээд, сүүлд нь түүнийгээ өргөжүүлэхийг хүсвэл, энэ нь тийм амархан биелэхгүй. Та эхлээд байгаа файл системийнхээ файлуудыг нөөцөлж хадгалаад дараа нь файл системдээ шинэ хэмжээ өгч өргөтгөөд дараа нь нөөцөөсөө файлуудаа буцааж сэргээж хадгалах болно. FreeBSD-н &man.growfs.8; тушаал нь дээрх хүндрэлийг алга болгож, файлыг нөөцлөх шаардлагагүйгээр шууд файл системийг өргөтгөж болдог болсон. Дискний хуваалт дотор файл систем оршиж байдаг. &os; нь юниксээс уламжилсан болохоор диск хуваалтын ойлголт нь ердийн хэрэглээтэй ижилхэн биш (жишээлбэл, &ms-dos; диск зохион байгуулалт). Дискний хуваагдал бүр a үсэгнээс эхлээд h хүртэл үсгээр тэмдэглэгддэг. Хуваагдал бүр зөвхөн ганцхан файл систем агуулах ёстой. Ийм болохоор файл систем нь агуулж байгаа диск хуваалтынхаа үсгээр илэрхийлэгдэх бөгөөд хэрэв өөр файл системд холбогдвол, холбосон сан нь уг файл системийг илэрхийлнэ. FreeBSD мөн swap -д зориулж дискэнд зай бэлддэг. Swap хэмжээ нь FreeBSD-н виртуал санах ой юм. Ингэснээр таны компьютер байгаа бодит хэмжээнээсээ илүү санах ой хэрэглэж байгаа мэт ажилладаг. Хэрэв зарим програм FreeBSD дээр ажиллаад санах ойноос хэтрэх хүндрэл гарвал, хэрэглэгдэхгүй байгаа хэсгийг swap зай руу зөөж, шаардлагатай үед буцааж санах ой руу зөөх зарчмаар хэрэглэгддэг. Зарим дискний хуваалт нь тогтсон журамтай байдаг. Хуваалт Тогтсон журам a Ихэнхдээ root файл системийг агуулж байдаг b Ихэнхдээ swap хэмжээг агуулдаг c Ихэнх үед агуулж буй зүсмэлийнхээ хэмжээтэй ижил хэмжээтэй байдаг. Энэ нь ямар нэгэн хэрэгслүүдийг (жишээлбэл, дискний эвдэрсэн хэсгийг шалгагч) c хуваалт дээрх зүсмэл дээр бүхэлд нь ажиллаж болох зөвшөөрөл өгдөг. Ердийн үед та үүн дээр файл систем үүсгэх шаардлага байхгүй. d Урьд нь d хуваалт онцгой үүрэгтэй байсан боловч одоо тийм биш, харин ердийн хуваалт шиг хэрэглэгдэж болно. FreeBSD дээр файл систем агуулж байгаа хуваалтыг зүсмэл гэж нэрлэдэг. Хуваалтын ерөнхий нэр нь FreeBSD дээр зүсмэл гэж яригдах бөгөөд FreeBSD-ийн &unix; гаралд цаад утга учир нь бий. Зүсмэл нь 1 -ээс эхлээд 4 хүртэлх тоогоор дугаарлагдана. зүсмэл хуваалт аюултай зориулалт Зүсмэлийн дугаар нь төхөөрөмжийн нэрний араас s үсгээр эхэлж бичигддэг. Тэгэхээр da0s1 гэдэг нь, эхний SCSI диск дээрх эхний зүсмэлийг илэрхийлж байна. Диск дээр физик чанараараа зөвхөн дөрвөн ширхэг зүсмэл байрлуулж болно. Харин логик зүсмэлийг та физик зүсмэл дотор дурын хэмжээтэй үүсгэж болно. Ингэж өргөтгөж нэмсэн зүсмэлүүд нь 5 гэсэн дугаараар эхэлж цаашаагаа тоологддог. Тэгэхээр ad0s5 гэдэг нь эхний IDE диск дээрх эхний өргөтгөсөн зүсмэлийг хэлж байна. Ингэж өргөтгөсөн зүсмэлүүд нь файл систем агуулж, систем дээр ердийн зүсмэл мэт харагдаж ажиллана. Зүсмэлүүд нь физик диск дээр аюултай зориулалтаар буюу өөрөөp хэлбэл хүчээр байрлуулагддаг. Харин бусад дискнүүд нь a -с эхлээд h хүртэл нэрлэсэн хуваалт агуулж болдог. Эдгээр үсэгнүүд нь төхөөрөмжийн ард залгагдаж бичигддэг ба da0a гэдэг нь эхний da диск дээр байгаа a хуваалтыг илэрхийлж байна. ad1s3e бол хоёр дахь IDE диск дээр байгаа гурав дахь зүсмэлийн тав дахь хуваалтыг илэрхийлж байна. Эцэст нь хэлэхэд, диск болгон системд танигдах ёстой. Дискний нэр нь дискний төрлийг илэрхийлсэн үсгээр эхлээд тэгээд араас нь хэд дэх диск вэ гэдгийг нь илэрхийлсэн дугаартай байдаг. Зүсмэлээс ялгарах зүйл нь, дискний дугаар 0 -ээс эхэлдэг. Ерөнхий хэрэглээний жишээг хүснэгтээс харна уу. Хуваалт уруу хандах үед FreeBSD уг хуваалтыг агуулсан зүсмэл болон дискийг тодорхойлохыг шаарддаг. Тэгээд зүсмэл рүү хандах үед зүсмэлийг агуулсан дискний нэрийг шаардах болно. Тэгэхээр та дискний нэр, s, зүсмэлийн дугаар, тэгээд хуваалтын үсэг гэсэн дарааллаар нэрлэх нь байна. Жишээнүүдийг -д харуулав. Танд ойлгоход тань дөхөм болгож жишээн дээр дискний зохион байгуулалтын тогтсон загварыг харуулж байна. FreeBSD суулгахын тулд та эхлээд дискний зүсмэлийг тохируулна, дараа нь зүсмэл дотор FreeBSD-н хэрэглэх хуваалт үүсгээд, дараа нь хуваалт бүрд файл систем (эсвэл swap зайг) үүсгэж эцэст нь хаана холбогдохыг нь (mount) зааж өгдөг. Диск төхөөрөмжийн нэрнүүд Нэр Утга ad ATAPI (IDE) disk da SCSI direct access disk acd ATAPI (IDE) CDROM cd SCSI CDROM fd Floppy disk
Диск, Зүсмэл, Хуваалтын нэрлэх жишээ Нэр Утга ad0s1a Эхний IDE диск (ad0) дээрх эхний зүсмэлийн (s1) эхний хуваалт (a). da1s2e Хоёр дахь SCSI диск (da1) дээрх хоёр дахь (s2) зүсмэлийн тав дахь (e) хуваалт. Дискний тогтсон загвар Дараах загвар нь системд буй IDE диск FreeBSD дээр хэрхэн харагдаж байгааг харуулж байна. Дискний хэмжээг 4 ГБ-н хэмжээтэй гэж үзээд хоёр ширхэг 2 ГБ зүсмэл байна (нэг зүсмэл дээр нь &ms-dos; хуваалт байгаа). Эхний зүсмэл нь &ms-dos;-н C: диск агуулсан, харин хоёр дахь зүсмэл дээр FreeBSD суугдсан. Энэ жишээн дээр FreeBSD нь гурван өгөгдлийн хуваалт мөн swap хуваалт хэрэглэж байна. Гурван хуваалт нь тус тусдаа файл систем агуулж байгаа. a хуваалт root файл системд зориулагдаж, e хуваалт /var санд, мөн f хуваалт /usr санд тус тус зориулагдсан. .-----------------. --. | | | | DOS / Windows | | : : > First slice, ad0s1 : : | | | | :=================: ==: --. | | | Partition a, mounted as / | | | > referred to as ad0s2a | | | | | :-----------------: ==: | | | | Partition b, used as swap | | | > referred to as ad0s2b | | | | | :-----------------: ==: | Partition c, no | | | Partition e, used as /var > file system, all | | > referred to as ad0s2e | of FreeBSD slice, | | | | ad0s2c :-----------------: ==: | | | | | : : | Partition f, used as /usr | : : > referred to as ad0s2f | : : | | | | | | | | --' | `-----------------' --'
Файл системийг холбох болон салгах Файл систем нь / гэсэн эхээс эхлэн модлог хэлбэрээр маш сайн харагддаг. /dev, /usr, мөн бусад сангууд нь root буюу эх сангаасаа салбарласан салаа мөчир бөгөөд цаашаа уг мөчир нь бас /usr/local гэж салаалах зэргээр өргөжиж салаалж болдог. root файл систем Эдгээр сангуудын заримыг нь өөр файл системд байрлуулах маш олон шалтгаан бий. /var сан нь жишээлбэл log/, spool/, гэх зэрэг янз бүрийн түр зуурын файлуудыг агуулдаг бөгөөд түргэн дүүрэх магадлалтай. Эх сан буюу root файл систем түргэн дүүрнэ гэдэг бол тийм ч сайн юм биш. Тийм болохоор /var санг / сангаас тусад нь өөр газар байрлуулах нь тун хэрэгтэй. Тодорхой хэдэн сангуудыг тусад нь өөр файл систем дээр байрлуулах хүндтэй шалтгаан бол, хэрвээ уг сангууд нь өөр физик диск дээр, тусдаа виртуал диск дээр, Сүлжээний файл систем дээр, эсвэл CDROM дээр байх явдал юм. <filename>fstab</filename> файл файл систем fstab ашиглаж диск холбогдох /etc/fstab файлд жагсаагдсан файл системүүд нь системийн ачаалах явцад автоматаар холбогддог (гэхдээ хэрэв тэдгээр нь сонголт хэрэглээгүй үед). /etc/fstab нь дараах маягийн жагсаалтыг агуулж байдаг: төхөөрөмж /холбох-цэг файл-системийн-төрөл сонголтууд dumpfreq passno төхөөрөмж Төхөөрөмжийн нэр (заавал байх ёстой). хуудсанд тайлбарласан байгаа. mount-point буюу холбох цэг Файл системийг байрлуулах сангийн нэр (заавал байх ёстой). файл-системийн-төрөл &man.mount.8; хуудсанд тайлбарласан байгаа тул алгасав. FreeBSD-н анхдагч файл систем бол ufs. сонголтууд Уншиж бичигдэх файл системийг заасан эсвэл зөвхөн уншигдах файл системд зориулсан сонголт байж болох бөгөөд цаашаагаа мөн нэмэлт сонголтууд агуулж болно. Ердийн сонголт бол бөгөөд ингэснээр систем эхлэх үед уг файл систем холбогддоггүй. Бусад сонголтууд &man.mount.8; гарын авлагад тодорхой бичигдсэн байгаа. dumpfreq Энэ сонголт нь &man.dump.8; хэрэгслээр хэрэглэгддэг бөгөөд аль файл системд нөөц хадгалалт хийх вэ гэдгийг тодорхойлж өгдөг. Хэрэв энэ сонголтыг бичээгүй бол хоосон утгыг агуулж байдаг. passno Энэ сонголтыг ашиглан ямар дарааллаар файл системүүдийг шалгах вэ гэдгийг зааж өгдөг. Шалгалгүйгээр алгасна гэсэн файл системүүд нь passno талбардаа 0 утгатай байх ёстой. root буюу эх файл системийн (энэ файл систем нь хамгийн түрүүнд шалгагддаг) passno талбарын утга нь 1 байдаг бөгөөд бусад системийн passno нь нэгээс их байх ёстой. Хэрэв нэгээс илүү олон файл системүүд passno талбартаа ижил утгатай бол &man.fsck.8; нь тэдгээр файл системийг хэрэв боломжтой зэрэг шалгахыг оролдох болно. /etc/fstab файлын бүтэц болон тохируулдаг сонголтуудын тухай дэлгэрэнгүй мэдээллийг &man.fstab.5; гарын авлагаас харна уу. <command>mount</command> тушаал файл систем mounting буюу файл систем холбох &man.mount.8; тушаал нь файл системийг холбоход хэрэглэгддэг цорын ганц тушаал юм. Таны хамгийн өргөн хэрэглэх хэлбэр бол: &prompt.root; mount төхөөрөмж-буюу-диск холбох-цэг &man.mount.8;-н гарын авлагад зааснаар бол маш олон сонголт байдаг бөгөөд өргөн хэрэглэгддэг нь: Холбох тохируулгууд /etc/fstab файлд жагсааж бичсэн бүх файл системийг холбоно. Гэхдээ noauto гэж тэмдэглэснийг, гэж туг хатгасныг, эсвэл өмнө нь холбогдчихсон файл системүүдийг холбохгүй. Дуудаж ажиллуулж байгаа файл системээсээ бусдад нь дурын үйлдлээ хийнэ. Энэ сонголтыг тугтай хамт хэрэглэж &man.mount.8;-г юу хийж байгааг нь харж болдог. Бохир файл систем (аюултай), эсвэл файл системийн унших-бичигдэх төлвөөс зөвхөн-унших төлөв рүү шилжүүлэн бичих эрхийг хасаж холбох үед хүчээр холбодог. Файл системийг зөвхөн-унших төлвөөр холбоно. Энэ нь сонголтийг утгатай (5.2-с өмнөх үед хэрэглэдэг байсан ) хэрэглэсэнтэй ижил. fstype Өгөгдсөн файл системйиг өгөгдсөн төрлөөр холбоно. Эсвэл сонголт өгөгдсөн бол зөвхөн өгөгдсөн төрлөөр холбоно. ufs нь анхдагч файл систем юм. Файл системд холболтын сонголтыг шинэчилнэ. Болж байгаа үйл явцыг харуулж мэдэгдэнэ. Файл системийг унших-бичих төлвөөр холбоно. сонголт нь дараах зүйлүүдийг таслалаар тусгаарлаж хэрэглэж болно: noexec Энэ нь файл систем дээр хоёрлосон файл буюу ачаалагдаж ажиллаж болдог файл ажиллахыг үл зөвшөөрнө. Энэ нь мөн аюулгүй байдлын зорилгоор хэрэгтэй. nosuid Файл систем дээр setuid эсвэл setgid тугуудыг бүү хэрэглэ. Мөн аюулгүй байдлын шалтгаанаар. <command>umount</command> тушаал файл систем файл систем салгах &man.umount.8; тушаал нь ардаа холбосон цэг, төхөөрөмжийн нэр зэргийг авдаг бөгөөд мөн сонголт эсвэл бас сонголтуудыг авч болдог. Бүх хэлбэрүүд нь сонголтыг хүчээр салгах үед болон сонголтыг явцын мэдээллийг харахад хэрэглэдэг. сонголт нь тийм сайн санаа биш гэдгийг анхааруулмаар байна. Хүчээр файл системийг салгах нь файл эсвэл системийн эвдрэлд хүргэж болзошгүй. болон сонголтууд нь холбогдсон бүх файл системийг салгахад хэрэглэгддэг. Эсвэл мөн сонголтоор өөрчлөгдсөн файл системүүдийг салгахад хэрэглэнэ. Гэхдээ сонголт нь root файл системийг салгах гэж оролддоггүй. Процесс буюу програмын явц FreeBSD бол олон үйлдэл зэрэг хийх чадвартай систем. Энэ нь олон програм нэг дор зэрэг ажиллана гэсэн үг. Програмын тухайн үед ажиллаж байгааг нь процесс буюу програмын явц гэдэг. Таны ажиллуулсан тушаал болгон шинэ процесс эхлүүлдэг бөгөөд систем дээр бүхэлдээ тэр чигээрээ процессууд үргэлж ажиллаж системийн ажиллагааг бүрэлдүүлж байдаг. Програмын явц бүр процесс ID, эсвэл PID гэсэн дугаар агуулж байдаг бөгөөд файлтай бас ижилхэн өөрийн гэсэн эзэмшигч болон бүлэгт харъяалагдаж байдаг. Эзэмшигч ба бүлгийн мэдээлэл нь уг процесс файлд хандах эрхийг нь хэрэглэж файлтай хэрхэн хандах вэ гэдгийг тодорхойлж өгдөг. Ихэнх процесс нь мөн эцэг процесстой байдаг. Эцэг процесс нь тэдгээр процессийг эхлүүлж өгдөг. Жишээлбэл, хэрэв та тушаалуудыг бүрхүүлд бичиж гүйцэтгэвэл, бүрхүүл ч процесс, тушаалууд ч процесс болдог бөгөөд таны бичсэн тушаал болгон процесс болдог. Ийм маягаар ажиллуулаад байвал бүрхүүл нь тэдгээр процессуудын эцэг нь болно. Үүнээс өөр онцгой процесс байдаг ба түүнийг &man.init.8; процесс гэж нэрлэдэг. init бол хамгийн эхний процесс байдаг бөгөөд үүний PID дугаар үргэлж 1 байдаг. FreeBSD эхлэх үед init процесс автоматаар эхэлдэг. Системд гүйцэтгэгдэж байгаа процессуудыг хардаг хоёр тушаал бол &man.ps.1; ба &man.top.1; хоёр юм. ps тушаал нь одоо ажиллаж байгаа процессуудыг PID дугаартай нь харуулж, мөн хичнээн санах ойн хэмжээ хэрэглэж байгаа, ямар тушаалаар гүйцэтгэгдэж байгаа зэргийг нь харуулдаг. top тушаал нь ажиллаж байгаа бүх процессуудыг харуулдаг бөгөөд хэдэн секунд тутамд шинэчлэгдэж байдаг. Ингэснээр таны компьютер тухайн үед юу хийж байгааг харж болно. Анхдагч горимондоо, ps тушаал нь зөвхөн таны эзэмшиж байгаа процессуудыг харуулдаг. Жишээлбэл: &prompt.user; ps PID TT STAT TIME COMMAND 298 p0 Ss 0:01.10 tcsh 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14) 37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14) 48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi 48730 p0 IW 0:00.00 (dns helper) (navigator-linux-) 72210 p0 R+ 0:00.00 ps 390 p1 Is 0:01.14 tcsh 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y 6688 p3 IWs 0:00.00 tcsh 10735 p4 IWs 0:00.00 tcsh 20256 p5 IWs 0:00.00 tcsh 262 v0 IWs 0:00.00 -tcsh (tcsh) 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish Дээрх жишээнд харуулснаар, &man.ps.1; тушаалын гаралт нь хэд хэдэн баганаар харуулагдаж байна. PID бол өмнө ярьсны дагуу процессийн ID дугаар. PID дугаарууд нь 1 гэж эхлээд 99999 хүртэл дугаарлагддаг бөгөөд хэтрээд ирэхээрээ эхнээсээ эхэлж тоологддог (PID нь ашиглагдаж байгаа бол дахин олгогддоггүй). TT багана нь, уг програмын ажиллаж байгаа tty буюу терминалыг нь харуулдаг бөгөөд одоохондоо хэрэгсэх шаардлага байхгүй. STAT нь програмын төлвийг харуулдаг бөгөөд мөн одоохондоо хэрэгсэхгүй байж болно. TIME нь процессор дээр хэр удаан ажиллаж байгааг нь заадаг бөгөөд гэхдээ энэ нь програм эхэлснээс хойш тооцож эхэлсэн цаг биш. Ихэнх програм нь процессор дээр гүйцэтгэх гэж хэсэг хугацаа зарцуулж хүлээдэг. Эцэст нь, COMMAND нь тухайн програмыг ажиллуулсан тушаалыг харуулдаг. Харуулах мэдээллээ өөрчилж болдог хэд хэдэн нэмэлт сонголт &man.ps.1; тушаалд бий. Байнга хэрэглэгддэг сонголтуудын багц бол auxww юм. сонголт нь зөвхөн өөрийн эзэмшдэг процесс биш харин ажиллаж байгаа бүх процессийг харуулдаг. сонголт нь процессийг эзэмшиж байгаа хэрэглэгчийн нэрийг харуулдаг бөгөөд мөн хэрэглэж байгаа санах ойг нь харуулдаг. сонголт нь далд ажиллаж байгаа буюу дэмон эсэхийг нь харуулдаг. сонголт нь процессуудыг ажиллуулсан тушаалын бүтэн нэрийг нь харуулдаг. Бусад үед, хэрэв тушаалын нэр нь дэлгэцэнд багтахгүй урт байх тохиолдолд хасаж харуулдаг. &man.top.1; тушаалын гаралт нь өмнөх жишээтэй ижилхэн. Жишээ болгож нэг гаралтыг харцгаая: &prompt.user; top last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 47 processes: 1 running, 46 sleeping CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free Swap: 256M Total, 38M Used, 217M Free, 15% Inuse PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm 48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt ... Тушаалын гаралт хоёр хэсэгт хуваагдсан байна. Толгой хэсэг (эхний таван мөр) нь сүүлд ажиллаж байгаа PID дугаарыг, системийн ачаалалтын дунджууд (энэ нь системийг хэр завгүй байгааг илтгэдэг), системийн асаалттай байгаа хугацаа (унтраалгүй хэр удсан эсэхийг) мөн одоогийн цаг зэргийг харуулдаг. Бусад илэрхийллүүд нь, хичнээн процессууд ажиллаж байгаа (энэ тохиолдолд 47 ), хичнээн санах ойн хэмжээ болон swap хэмжээ хэрэглэгдэж байгаа, мөн хичнээн хугацааг процессорын бусад төлөв байдалд зарцуулсан зэргийг илэрхийлж байна. Доорх баганууд нь &man.ps.1; тушаалтай ойролцоо мэдэгдлүүдийг харуулж байна. Эхлээд PID дугаар дараа нь хэрэглэгчийн нэр, процессороос хэрэглэсэн хугацаа, ажиллуулсан тушаал гэх мэт. &man.top.1; тушаал нь анхдагч тохируулгаараа, процессийн хэрэглэж байгаа санах ойн хэмжээг харуулдаг. Тэр хэсэг нь хоёр баганад харуулагддаг бөгөөд эхнийх нь нийт хэмжээ дараагийх нь тухайн үеийнх нь хэмжээ юм. Нийт хэмжээ гэдэг нь програм ажиллахад хэд хэрэгтэйг хэлдэг бөгөөд тухайн үеийнх нь хэмжээ нь одоогоор хэдийг хэрэглэж байгааг заадаг. Энэ жишээн дээр &netscape; програм бараг 30 МБ хэмжээг RAM санах ойд шаардлагатай гэсэн боловч одоогоор 9 МБ хэмжээ хэрэглэж байна гэж заасан байна. &man.top.1; нь энэ харуулалтыг хоёр секунд тутам шинэчилдэг бөгөөд үүнийг тохируулгаар өөрчилж болно. Далд чөтгөр буюу дэмонууд, дохионууд, мөн процессуудыг зогсоох нь Та хэрэв ямар нэг текст засварлагч дээр ажиллаж байхдаа файл нээх, хаах, хадгалах гэх мэт уг програмыг сайн хянаж чаддаг. Та яагаад тэгж чадаж байна вэ гэвэл, уг програм нь терминал дээр холбогдон ажиллаж танд тийм боломж олгож байгаа билээ. Зарим програм тэгэхэд үргэлж хүн гарнаас оруулалт хийх шаардлагагүй зориулалтаар бүтээгдсэн байдаг бөгөөд хамгийн эхний боломж гарангуут терминалаас салангид ажилладаг. Жишээлбэл вэб серверүүд өдөржин хүмүүсээс ирсэн хүсэлтэд хариулт өгч байдаг бөгөөд ердийн үед танаас оруулга шаарддаггүй. Ийм төрлийн бас нэг програм бол захиа илгээгч програм юм. Бид ийм програмыг далд чөтгөр буюу дэмон гэж нэрлэдэг. Дэмонууд нь Грекийн домогт байдаг сайн муугийн аль нь ч биш бөгөөд жижигхэн мөртлөө хүмүүст хэрэгтэй юм хийж байдаг сүнсийг хэлдэг. Вэб сервер болон захианы серверүүд үүнтэй ижил хүмүүст тустай юм хийдэг. Тийм болохоор BSD нь спорт шаахайтай, жижигхэн, сэрээ барьсан чөтгөрийг олон жилээр дуртайяа өөрийнхөө билэг тэмдэг болгож байгаа билээ. Далд ажиллаж байгаа буюу дэмон болж ажиллаж байгаа програмын нэрний ард d үсэг залгаж бичдэг зарчим бий. BIND програмын бүтэн нэр нь Berkeley Internet Name Daemon бөгөөд үндсэн далд ажилладаг програмын нэр нь named, мөн Apache вэб серверийн далд ажилладаг програмын нэр нь httpd, хэвлэх дарааллыг далд ажиллаж зохицуулж байдаг програмын нэр нь lpd гэх мэт нэртэй байдаг. Энэ нь ерөнхийдөө ингэж зарчим гаргасан болохоос хатуу тогтоосон дүрэм биш; жишээлбэл захиа илгээгч үндсэн програм Sendmail-н далд ажилладаг програмыг та maild гэж төсөөлж байгаа бол эндүүрэх бөгөөд харин sendmail гэж нэрлэдэг. Заримдаа та эдгээр дэмон процессуудтай холбогдож харилцах хэрэг гарна. Ингэх нэг арга нь түүн рүү (эсвэл бусад ажиллаж байгаа процесс уруу) дохио гэгддэг зүйл илгээх явдал юм. Маш олон төрлийн илгээж болох дохионууд байдаг — зарим дохионууд онцгой зориулалттай нийтэд нь хэрэгждэг, зарим нь тухайн програмдаа зориулж өөр өөрөөр хөрвүүлэгддэг бөгөөд програмын заавар дээр ямар дохиог яаж хөрвүүлэн ойлгох вэ гэдгийг заасан байдаг. Та өөрийнхөө эзэмшиж байгаа процесс уруугаа дохио илгээж болно. Хэрэв та бусдын эзэмшдэг процесс уруу &man.kill.1; эсвэл &man.kill.2; гэх зэрэг дохио илгээвэл таны эрх дутаж хэрэгждэггүй. Гэхдээ ийм эрхээр дутагддаггүй хэрэглэгч бол root хэрэглэгч бөгөөд хүн болгоны процесс уруу дохио илгээж чаддаг. Мөн FreeBSD-ээс програм уруу зарим тохиолдолд дохио илгээдэг. Жишээлбэл, хэрэв муу зохиогдсон нэг програм санах ойг зориулсан хэмжээнээсээ илүү хэрэглээд эхэлбэл FreeBSD уг програм уруу Хэсгийн буруу хэрэглээ дохио илгээдэг (SIGSEGV). Мөн хэрэв ямар нэгэн програм нь &man.alarm.3; гэдэг системийн сануулах програмыг ашигласан бол тухайн хугацаа нь хэтрэх үед Сэрүүлэг дохио уг програмд ирэх (SIGALRM) зэрэг олон дохио бий. Процесийг зогсоох хоёр дохио байдаг, SIGTERM ба SIGKILL хоёр. SIGTERM нь арай эелдэг аргаар процессийг зогсоодог; процесс нь эхлээд дохиог хүлээж аваад өөрийг нь хаах гэж байгаад мэдээд нээлттэй байгаа бүртгэл бичлэг файлуудаа хаагаад тэгээд хийж байгаа ерөнхий үйлдлээ зогсоодог. Зарим тохиолдолд уг процесс нь таслагдаж болохооргүй үйлдэл хийж байх үедээ SIGTERM дохиог хэрэгсэхгүй байдал үүсдэг. SIGKILL дохиог ямар ч процесс хэрэгсэхгүй байж чаддаггүй. Өөрөөр хэлбэл энэ нь Чиний юу хийж байх нь надад хамаагүй, одоо шууд зогсоо гэсэн дохио юм. Хэрэв та SIGKILL дохиог процесс уруу илгээвэл FreeBSD уг процессийг зогсоодог Бас тэр чигээрээ үнэн биш—учир нь зарим таслагдаж болдоггүй нөхцлүүд байдаг. Жишээлбэл, хэрэв сүлжээнд байгаа компьютерийн нэг файлаас унших үйлдэл хийж байгаа процесс нь, хэрэв холбогдсон компьютер нь тодорхойгүй шалтгаанаар холбогдохгүй болох үед (цахилгаан тэжээлээс салгагдах, эсвэл сүлжээ эвдрэх), уг процесс нь тасрахгүй нөхцөлд байдаг. Магадгүй хэсэг хугацааны дараа хүлээх хугацаа нь дуусна. Ингэж хүлээх хугацаа нь дууссаны дараа л уг процесс зогсох болно. . Таны хэрэглэж болохоор бусад дохионууд нь SIGHUP, SIGUSR1, мөн SIGUSR2. Эдгээр дохио нь ерөнхий зориулалтаар хэрэглэгддэг бөгөөд эдгээр дохиог хүлээж авсан програмууд тус тусдаа өөр өөр хариу үйлдэл хийдэг. Жишээлбэл, та вэб серверийнхээ тохируулгын файлд өөрчлөлт хийгээд уг серверийг тохируулгын файлаа дахин шинээр уншуулахыг хүссэн гэж бодъё. Та httpd дэмоноо зогсоогоод дахин шинээр эхлүүлж болох боловч ажиллаж байгаа вэб серверийг зогсоож болохгүй нөхцөл байж болно. Ихэнх дэмонууд нь SIGHUP дохиог хүлээж авбал өөрийнхөө тохируулгынхаа файлыг уншина гэж тохируулагдсан байдаг. Тэгэхээр httpd дэмоноо зогсоогоод шинээр ачаалж байхын оронд SIGHUP дохиог илгээхэд хангалттай. Учир нь энэ дохионд тэгж хариулна гэсэн тогтоосон арга зам байхгүй тул дэмон болгон өөр өөр үйлчлэл үзүүлдгийг ойлгож тухайн дэмоны заавар бичгийг нь судлах хэрэгтэй. дохио илгээхдээ &man.kill.1; тушаалыг ашигладаг. Процесс уруу дохио илгээх Энэ жишээ нь &man.inetd.8; уруу хэрхэн дохио илгээхийг харуулах болно. inetd -н тохируулгын файл /etc/inetd.conf гэж байрласан бөгөөд inetd-ийг тохируулгын файлаа дахин уншуулахын тулд SIGHUP дохиог илгээх болно. Илгээх процессийн процесс ID дугаарыг мэдэх хэрэгтэй. Ингэхийн тулд &man.ps.1; ба &man.grep.1; тушаалуудыг ашиглана. &man.grep.1; тушаал нь өмнөх тушаалынхаа гаралтаас хайлт хийхэд хэрэглэгддэг бөгөөд хайх мөрөө зааж өгдөг. Энэ тушаал нь энгийн хэрэглэгчээс гүйцэтгэгдэж болох бөгөөд харин &man.inetd.8; програм нь root хэрэглэгчээр гүйцэтгэгдсэн тул &man.ps.1; тушаалыг сонголттой цуг гүйцэтгэх ёстой. &prompt.user; ps -ax | grep inetd 198 ?? IWs 0:00.00 inetd -wW За тэгэхээр, &man.inetd.8;-ийн PID дугаар нь 198 гэж энэ тохиолдолд хэлж байна. Зарим тохиолдолд grep inetd гэсэн тушаал нь өөрөө энэ гаралтад байж байдаг. Учир нь, &man.ps.1; програм нь уг тушаалыг ажиллуулж байгаа процессийг олсон үед тэгж гаргаж харуулдаг. &man.kill.1; тушаалыг хэрэглэж дохио илгээнэ. &man.inetd.8; нь root хэрэглэгчээр гүйцэтгэгдэж байгаа болохоор, та эхлээд &man.su.1; тушаалыг ашиглан root хэрэглэгч болох хэрэгтэй. &prompt.user; su Password: &prompt.root; /bin/kill -s HUP 198 Ихэнх &unix; системийн тушаалуудын адил, &man.kill.1; тушаал нь хэрэв амжилттай хэрэгжвэл ямар нэгэн төлвийн мэдээлэл харуулдаггүй. Хэрэв та өөрийнхөө эзэмшдэггүй процесс уруу дохио илгээвэл kill: PID: Operation not permitted буюу энэ үйлдлийг хийх эрх байхгүй байна гэсэн мэдэгдэл гарч ирнэ. Хэрэв та PID дугаараа буруу бичих, эсвэл буруу процесс уруу дохио илгээвэл, азгүй тохиолдолд уг дохио нь тухайн процесс уруу илгээгдэх бөгөөд, уг процесс нь азаар байхгүй байгаа тохиолдолд kill: PID: No such process буюу тийм процесс алга байна гэсэн мэдэгдэл гарч ирнэ. Яагаад <command>/bin/kill</command> тушаалыг хэрэглэх хэрэгтэй вэ? Ихэнх shells буюу бүрхүүлүүд kill тушаалыг өөртөө агуулсан байдаг бөгөөд /bin/kill тушаалыг бичихийн оронд шууд бүрхүүлд буй тушаалыг нь гүйцэтгэх нь шулуухан байдаг. Энэ нь амарчилсан ашигтай арга боловч бүрхүүл болгон өөрсдийн илгээх дохионы өөр өөр нэртэй байдгийг мэдэх хэрэгтэй. Тийм болохоор бүрхүүл болгоны дохионы бичлэгийг судлахын оронд шууд /bin/kill ... тушаалыг хэрэглэх нь зөв арга юм. Бусад дохио илгээх үйлдлүүд нь үүнтэй тун ижил бөгөөд TERM эсвэл KILL дохионуудын оронд шаардлагатай дохиогоо бичих хэрэгтэй. Санаанд орсон тоотой дохио болгоныг устгана гэдэг бол буруу санаа юм. &man.init.8; процесс ялангуяа 1 гэсэн процесс ID байх нь онцгой тохиолдол. Тийм болохоор /bin/kill -s KILL 1 гэвэл системийг шууд унтраана. &man.kill.1; тушаалыг гүйцэтгэхээсээ өмнө Return товч дарахынхаа өмнө үргэлж ямар процесс уруу ямар дохио илгээж байгаагаа давхар шалгах хэрэгтэй. Shell буюу бүрхүүл бүрхүүл тушаал өгөх орчин FreeBSD дээр маш олон ажил тушаал бичиж оруулдаг shell буюу бүрхүүл хэмээх орчинд хийгддэг. Бүрхүүлийн гол үүрэг нь гарнаас оруулсан тушаалыг гүйцэтгэх юм. Өдөр болгон гүйцэтгэхэд шаардагддаг файл зохицуулах, тушаал оруулагч мөрийг засварлах, тушаалын багц, орчны хувьсагч зэрэг туслах тушаалуудыг олон бүрхүүлүүд агуулж байдаг. FreeBSD нь sh буюу Bourne Shell, мөн tcsh буюу сайжруулсан C-shell зэрэг багц бүрхүүлүүдтэй хамт ирдэг. zsh болон bash зэрэг маш олон бүрхүүлүүд FreeBSD-ийн портын цуглуулганд ирдэг. Та ямар бүрхүүл хэрэглэдэг вэ? Энэ бол тухайн хүний дур сонирхолтой хамаатай. Хэрэв та C програмын хэл дээр програм бичдэг бол C-тэй адилхан бичигддэг tcsh төрлийн бүрхүүлд дуртай болж болох юм. Хэрэв та Linux системээс ирсэн юм уу эсвэл &unix;-ийн тушаалуудтай дөнгөж танилцаж байгаа шинэ хүн бол bash бүрхүүлээр эхлэх нь амар байж болох юм. Хамгийн гол нь бүрхүүл болгон өөрийн гэсэн онцгой шинж чанартай болохоор өөрийнхөө хүсэл зорилгод тааруулж бүрхүүлээ сонгож дадах нь чухал. Бүрхүүлийн хамгийн энгийн чадвар бол файлын нэрийн автомат гүйцэтгэл юм. Тушаал юм уу файлын эхний хэдхэн үсгийг бичээд гарын Tab товчийг дарахад уг үсгээр эхэлсэн файлын нэрийг танд гүйцээж бичиж өгдөг. Энд нэг жишээ авч үзье. Танд foobar болон foo.bar гэсэн хоёр файл байгаа гэж бодъё. Та foo.bar файлыг устгахыг хүсэв. Тэгвэл та компьютерийнхаа гаран дээр ингэж бичих болно: rm fo[Tab].[Tab]. Бүрхүүл танд ингэж харуулна rm foo[BEEP].bar. [BEEP] гэдэг нь консолоос гаргаж байгаа хонхны дуу бөгөөд ингэж эхэлсэн файлын нэр нэгээс олон байгааг танд мэдэгдэж байгаа юм. foobar болон foo.bar хоёр хоёулаа fo гэж эхэлж байгаа ч гэсэн foo гэж танд дүүргэж өгдөг. Хэрэв та . гэж бичээд Tab дахин дарвал бүрхүүл танд уг хүссэн файлын тань нэрийг гүйцээж өгдөг. орчны хувьсагчид Бүрхүүлийн бас нэг шинж чанар бол орчны хувьсагчийн хэрэглээ юм. Орчны хувьсагч гэдэг нь бүрхүүлийн орчинд хадгалагддаг, нэрэнд утга өгсөн хослол байдаг. Энэ бүрхүүлийн орчин нь уг бүрхүүлээс гүйцэтгэгдэж байгаа бүх програм болон програмын тохируулгад харагдаж байдаг. Байнга хэрэглэгддэг ерөнхий орчны хувьсагчдыг дор жагсааж тайлбарлав: environment variables Хувьсагч Тодорхойлолт USER Холбогдсон байгаа тухайн хэрэглэгчийн нэр. PATH Ачаалагдаж болдог хоёртын файлуудыг агуулдаг сангуудыг таслалаар тусгаарлаж бичсэн жагсаалт. DISPLAY Хэрэв холбогдох боломжтой бол, X11 дэлгэцийн сүлжээгээр холбогдох цэг. SHELL Хэрэглэж байгаа shell буюу бүрхүүл. TERM Хэрэглэгчийн терминалын төрлийн нэр. Терминалын шинж чанарыг тодорхойлоход хэрэглэгддэг. TERMCAP Төрөл бүрийн терминалуудад алгасах ёстой кодуудын өгөгдлийн бааз. OSTYPE Үйлдлийн системийн төрөл. жишээ нь, FreeBSD. MACHTYPE Системийн ажиллаж байгаа процессорын архитектур. EDITOR Хэрэглэгчийн эрхэмлэж хэрэглэгддэг текст засварлагч. PAGER Хэрэглэгчийн эрхэмлэж хэрэглэдэг пэйжер. MANPATH Таслалаар тусгаарлаж жагсаасан, гарын авлагын хуудсуудыг агуулсан хайх сангууд. Bourne shells Бүрхүүл болгонд орчны хувьсагчаа өөр өөр тохируулдаг. Жишээлбэл, C-маягийн бүрхүүл tcsh болон csh дээр, та setenv тушаалыг ашиглаж орчны хувьсагчийг зааж өгдөг. Bourne төрлийн бүрхүүлүүд болох sh болон bash дээр, та export тушаалыг ашиглаж орчны хувьсагчийг зааж өгнө. Жишээ нь, орчны хувьсагч EDITOR-г өөрчлөх юм уу зааж өгөхийн тулд csh юм уу эсвэл tcsh бүрхүүл дээр EDITOR хувьсагчид /usr/local/bin/emacs утгыг өгөхийн тулд: &prompt.user; setenv EDITOR /usr/local/bin/emacs Bourne бүрхүүлүүд дээр: &prompt.user; export EDITOR="/usr/local/bin/emacs" Ихэнх бүрхүүлийн орчны хувьсагчийн утгыг харахын тулд хувьсагчийн нэрний урд $ тэмдгийг хэрэглэж харна. Жишээ нь, echo $TERM гэсэн тушаал нь $TERM хувьсагчид ямар утга байгааг консол дээр харуулна. Учир нь, бүрхүүл $TERM дотор буй утгыг echo тушаалд дамжуулж өгснөөр консол дээр харуулагддаг. Бүрхүүл маш олон тэмдэгтийг тусгай зориулалтаар өгөгдлийг илэрхийлэхдээ хэрэглэдэг бөгөөд тэдгээр тэмдэгтийг мета-тэмдэгтүүд гэж нэрлэдэг. Байнга хэрэглэгддэг тэмдэгтийн нэг нь * юм. Энэ тэмдэгт нь файлын нэрэнд байгаа тэмдэгтүүдийг хэд ч байсан хамаагүй орохыг илэрхийлдэг. Тэдгээр мета-тэмдэгтүүд нь файлын нэрийг орлуулахад байнга хэрэглэгддэг. Жишээлбэл, echo * гэсэн тушаал нь ls тушаалтай ижилхэн үүрэг гүйцэтгэх бөгөөд, яагаад гэвэл бүрхүүл нь * тэмдэгтэд тохирох бүх файлуудыг авч echo тушаал руу дамжуулж харуулдаг. Бүрхүүл дээр мета-тэмдэгтүүдийг хэрэв тухайн онцгой тохиолдлоор нь биш харин зүгээр тэмдэгт хэлбэрээр нь хэрэглэхийг хүсвэл, уг тэмдэгтийн урд ташуу зураасыг (\) бичиж өгдөг. echo $TERM гэсэн тушаал нь ямар терминал заагдсан байгааг харуулна. Харин echo \$TERM тушаал нь ердөө $TERM гэж харуулна. Өөрийнхөө бүрхүүлийг солих Бүрхүүлээ буюу shell-ээ солих хамгийн амархан арга бол chsh тушаалыг хэрэглэх юм. chsh тушаал нь таныг EDITOR орчны хувьсагчид заагдсан засварлагч уруу оруулдаг бөгөөд хэрэв энэ хувьсагчид утга заагдаагүй байвал шууд vi засварлагчийг ажиллуулдаг. Тэгээд та Shell: мөрөнд буй утгыг өөрчилж бүрхүүлээ өөрчилнө. Та мөн chsh тушаалыг сонголттой хэрэглэж болох бөгөөд ингэсэн үед нэмэлт засварлагч нээлгүйгээр шууд бүрхүүлийг өөрчилдөг. Жишээ нь та өөрийнхөө бүрхүүлийг bash бүрхүүлээр солихыг хүсвэл дараа тушаалыг өгөх болно: &prompt.user; chsh -s /usr/local/bin/bash Таны хэрэглэхийг хүсэж байгаа бүрхүүл тань /etc/shells файл дотор заавал байх ёстой. Хэрэв та портын цуглуулгаас бүрхүүл суулгасан бол энэ нь автоматаар хийгдчихдэг. Харин та гар аргаар ямар нэг бүрхүүл суулгавал энэ файлд өөрөө нэмэх хэрэгтэй. Жишээ нь та bash бүрхүүлийг гар аргаар суулгаад /usr/local/bin байршилд байрлуулсан бол дараах тушаалыг өгөх хэрэгтэй: &prompt.root; echo "/usr/local/bin/bash" >> /etc/shells Тэгээд дараа нь chsh тушаалыг хэрэглэх хэрэгтэй. Текст засварлагчид текст засварлагчид засварлагчид FreeBSD дээр текст файлуудыг засварлаж маш олон тохиргоонуудыг хийдэг. Тийм болохоор та текст засварлагч дээр гаршиж сурах нь чухал. FreeBSD нь үндсэн хэдэн засварлагчтай хамт ирдэг бөгөөд портын цуглуулга дээрээ бол олон зуун засварлагчтай. ee засварлагчид ee Хамгийн амархан бөгөөд сурахад хялбар засварлагч бол ee бөгөөд easy editor буюу хялбар засварлагч гэдгийг товчилсон нэр юм. ee-г эхлүүлэхийн тулд тушаал бичих мөрөнд ee файлын-нэр гэж бичих бөгөөд файлын-нэр нь засварлагдах файлын нэр. Жишээ нь, /etc/rc.conf файлыг засварлахын тулд ee /etc/rc.conf гэж бичнэ. ee засварлагч дотроо дээд хэсэгт нь програмыг хэрэглэх заавар нь бичээстэй байдаг. ^ гэсэн тэмдэг нь гарын Ctrl товчийг илэрхийлдэг бөгөөд ^e гэдэг нь Ctrle гэсэн гарын товчлол юм. ee програмаас гарахын тулд Esc товч дараад leave editor буюу засварлагчаас гарна гэдгийг сонгох хэрэгтэй. Хэрэв файлд өөрчлөлт орсон бол гарахаас өмнө хадгалах эсэхийг лавлаж асуух болно. vi засварлагчид vi emacs editors emacs Мөн FreeBSD нь vi гэсэн хүчирхэг засварлагчийг системийн үндсэн хэсэгтэй цуг зөөвөрлөдөг бөгөөд бас Emacs болон vim зэрэг зaсварлагчдыг FreeBSD Портын цуглуулгадаа багтаасан байдаг (editors/emacs болон editors/vim). Эдгээр засварлагчид нь ажиллах хүчин чадвараараа илүү боловч сурахад арай илүү төвөгтэй байдаг. Гэвч та текст файлыг засварлахад маш их хөдөлмөр гаргахаар бол vim эсвэл Emacs програмуудыг сурснаар таны цаг болон хөдөлмөрийг цаашид улам илүү хөнгөвчлөх болно. Төхөөрөмж ба төхөөрөмжийн цэгүүд Төхөөрөмж гэдэг ойлголт нь голдуу системд буй төхөөрөмж болох диск, хэвлэгч, график карт, мөн гар зэрэг ордог. FreeBSD эхэлж ачаалах үедээ, гол чухал таньсан төхөөрөмжүүдээ харуулдаг. Ингэж эхлэхдээ харуулсан бичлэгийг та дахин харахыг хүсвэл /var/run/dmesg.boot файлыг хараарай. Жишээ нь, acd0 гэдэг нь эхний IDE CDROM төхөөрөмж байхад, kbd0 гэдэг нь гарыг илэрхийлж байдаг. &unix; үйлдлийн систем нь эдгээр төхөөрөмж уруу хандахдаа төхөөрөмжийн цэг гэж нэрлэгдэх тусгай файл уруу ханддаг. Эдгээр төхөөрөмжийн цэгүүд нь /dev санд байдаг. Төхөөрөмжийн цэг үүсгэх Хэрэв системд шинэ төхөөрөмж нэмэгдвэл, эсвэл нэмэлт төхөөрөмжид зориулсан шаардлага гарвал шинэ төхөөрөмжийн цэг үүсгэх ёстой. <literal>DEVFS</literal> (DEVice File System буюу төхөөрөмжийн файл систем) Төхөөрөмжийн файл систем буюу DEVFS нь ерөнхий файлын системийн нэрийн талбарын цөм дахь төхөөрөмжийн нэрийн талбарт хандах боломжийг өгдөг. Төхөөрөмжийн цэгийг үүсгэх эсвэл өөрчлөх зэрэг үйлдлийг DEVFS нь бидэнд хийж өгч амар болгож өгдөг. &man.devfs.5; гарын авлагаас нэмэлт мэдээллийг харна уу. Хоёртын хэлбэрүүд &os; яагаад &man.elf.5; хэлбэр хэрэглэдгийг ойлгохын тулд, та ачаалагдаж ажилладаг файлын төрлөөс &unix; дээр ноёлдог гурван хэлбэрийг мэдэх ёстой: &man.a.out.5; &unix;-н хамгийн хуучин бөгөөд сонгодог ачаалагддаг файлын хэлбэр. Энэ нь эхэн хэсэгтээ өөрийнхөө хэлбэрийг таниулах зориулалттай шидэт дугаар агуулж байдаг (&man.a.out.5; хуудаснаас дэлгэрэнгүй мэдээлэл авна уу). Ачаалагдсан үедээ санах ойд гурван хэсэгт хуваагддаг: .text, .data, мөн .bss бөгөөд дээрээс нь хэрэглэгдэх обьектуудыг агуулсан хүснэгт мөн мөрийн хүснэгтийг агуулж байдаг. COFF SVR3 обьект хэлбэр. Толгой хэсэгтээ тодорхой зориулалттай хүснэгт агуулж байдаг. Тийм болохоор зөвхөн .text, .data, болон .bss хэсгүүдээс гадна нэмэлт зүйлс агуулж чадна. &man.elf.5; COFF-н дараагийн үе. Энэ нь олон хэсэг агуулахаас гадна 32-бит эсвэл 64-битийн утга агуулах чадвартай. Нэг муу тал бий: ELF нь тухайн системийн архитектурт зөвхөн ганцхан ABI байгаа гэж авч үздэг. SYSV ертөнц (хамгийн багадаа гурван ABI агуулж байдаг: SVR4, Solaris, SCO) байсаар байхад ингэж авч үзэх нь буруу юм. FreeBSD нь энэ хүндрэлийг, ABI-н мэдээлэл агуулсан ачаалагддаг ELF файлуудыг зохицуулдаг branding хэрэгслийг ашиглаж сайжруулахыг боддог. Нэмэлт мэдээллийг &man.brandelf.1; хуудаснаас харна уу. FreeBSD нь хуучны сонгодог отгоос салбарлаж гарсан тул &man.a.out.5; хэлбэрийг хэрэглэж байсан бөгөөд энэ хэлбэрээ 3.X салбар гарах хүртэл маш олон BSD хувилбартаа ашиглаж байжээ. Хэдийгээр FreeBSD дээр өмнө нь ELF хоёртын хэлбэрийг хөрвүүлж мөн ажиллуулж (цөм дээр ч гэсэн) болдог байсан ч, FreeBSD нь анхнаасаа ELF хэлбэрийг анхдагч хэлбэрээ болгохыг татгалзсан билээ. Яагаад? Учир нь, Линукс систем нь хуваалцдаг кодын сан буюу Shared-Libraries -д зориулсан үсэрч ажилладаг хүснэгт, мөн түүнийг хөгжүүлэгчид болон байгууллагад хүндрэлтэй байдаг шалтгаанаар a.out хэлбэрээс зайлсхийж ELF хэлбэр рүү шилжих гэж нүсэр хүнд хөдөлмөр зарсан юм. ELF хэлбэр нь хуваалцдаг кодын сан буюу Shared-Libraries хүндрэлийг давах боломж олгосон хэрэгслүүдийг санал болгосон бөгөөд тэгээд ч хөгжлийн явцад нэг алхам урд нь явж байгааг бодож мөн нэг хэлбэрээс нөгөө хэлбэрт шилжүүлэх үйл явцад гарах хүнд зардал байсан ч шилжүүлэхээр шийдсэн юм. FreeBSD-н кодын санг хуваалцах зарчим нь Sun-н &sunos; загвартай ижил бөгөөд хэрэглэхэд тун хялбар. Тэгэхээр, яагаад ийм олон хэлбэр байдаг юм бэ? Энэ асуултанд хариулахын тулд хуучны, энгийн ажиллах зарчимтай төхөөрөмж хэрэглэж байсан бүүдгэр өнгөрсөн цаг уруу буцацгаая. Энэ энгийн төхөөрөмж нь энгийн жижигхэн систем дээр л ажиллахыг хүснэ. a.out нь (PDP-11) төрлийн иймэрхүү энгийн систем дээр бүгдийг нь хангаж байлаа. Хүмүүс &unix; системийг ийм энгийн системээс үүсгэсэн болохоор хуучны загвар болох Motorola 68k, VAXen зэрэг системтэй зохицохын тулд a.out хэлбэрийг үлдээсэн юм. Тэгтэл дараа нь нэг сүрхий инженер хөвүүн, зохиогдсон төхөөрөмжийн зарим ажиллах сул талыг нөхөж процессорыг илүү хурдан ажиллуулах хөнгөхөн програм бичжээ. Энэ програм нь шинэ төрлийн архитектурт (тэр үедээ RISC гэж нэрлэгддэг байсан архитектур) зориулан ажиллахаар бичигдсэн болохоор a.out хэлбэр нь энэ төхөөрөмжид тохиромжгүй болон хангахуйц сайн биш болж ирэв. Тийм болохоор энэ шинэ төхөөрөмжтэй илүү үр дүнтэй ажиллахын тулд илүү олон хэлбэрүүд шинэ загварт зориулж зохиогдож байсан бөгөөд хуучин төрөлд бол энгийн a.out төрлийг санал болгож болох юм. COFF, ECOFF мөн өөр илүү хэд хэдэн хэлбэр нь алдаануудаа нөхөн дэс дараалан үүсгэгдсээр ELF хүртэл хөгжжээ. Мөн цаашлаад програмын хэмжээ хэдийгээр ихэссэн ч дискний (мөн санах ойн) хэмжээ харьцангуй бага байсан болохоор хуваалцаж болдог кодын сангийн Shared-Libraries санаа үүссэн юм. Мөн VM системүүд сайн хөгжиж эхлэв. Хэдийгээр эдгээр сайжруулалт болгон a.out хэлбэрийг хэрэглэж байсан ч, шинэ боломжууд үүсэх тоолонд энэ хэлбэрийг хэрэглэхгүй болж ирэх нь улам ихэссэн билээ. Мөн түүнчлэн, санах ойг хэмнэх үүднээс эхлэн ачаалсны дараа өөр тийшээ үсрэх юм уу эсвэл явцын дунд код нэмэгдэж болох загваруудыг хүмүүс сонирхож эхлэв. Програмын хэлүүд улам сайжирч хүмүүс програмын үндсэн хэсгийг автоматжуулсан код хүсэх болжээ. Энэ бүх боломжуудыг биелүүлэх гэж a.out хэлбэрийг маш их олон янзаар яргалсан бөгөөд хэсэгтээ л энэ нь ажилладаг байв. Нэг мэдэхэд a.out хэлбэр нь ихсэж буй бүх хүндрэлийг зохицуулж чадахааргүй бичлэгийн төвөгтэй болон хэрэглэхэд хэцүү байдалд хүрсэн байна. Хэдийгээр энэ хүндрэлүүдийг ELF хэлбэр нь давдаг боловч шилжих явц нь маш хүндрэлтэй байдаг. Тийм болохоор ELF хэлбэр руу шилжих төвөг нь a.out хэлбэрийг хэрэглэх төвгөөс их байвал ELF хэлбэр нь хүлээгдэхээс өөр аргагүй болжээ. Гэвч цаг хугацаа өнгөрсөөр, FreeBSD ба түүний уламжилж гарсан системийн хөрвүүлэх хэрэгсэл нь (ялангуяа ассемблер болон дуудагч буюу loader) хоёр замаар зэрэг хөгжсөөр байв. FreeBSD салаа нь кодын хуваалцдаг санг нэмж мөн зарим алдааг нь залруулсан байна. Үүнийг анх бичсэн GNU-н ард түмэн уг кодоо шинэчилж дахин бичээд янз бүрийн хэлбэрүүдийг нэмж болдог болгоод мөн хөрвүүлэгчээс хамааралгүй хөрвүүлэгддэг болгох зэрэг цааш нь хөгжүүлжээ. Хэдийгээр маш олон хүн FreeBSD дээр хөрвүүлэгчээс хамаарахгүй хөрвүүлэхийг хүссэн боловч FreeBSD-н as болон ld-д зориулсан хуучин кодноос болоод азгүйтжээ. GNU-н шинэ хэрэгслүүд нь (binutils) хөрвүүлэгчээс хамааралгүй, ELF, кодын хуваалцдаг сан, C++ өргөтгөл зэргүүдийг хөрвүүлж чаддаг болжээ. Мөн цаашлаад маш олон байгууллагууд ELF хэлбэртэй хоёртын програмуудыг гаргаж эхэлсэн тул тэдгээрийг хэрэглэхийн тулд FreeBSD уг хэлбэрийг дэмжих нь зөв гэж шийдсэн юм. ELF хэлбэр нь a.out хэлбэрийг бодвол илүү өргөн хүрээтэй бөгөөд үндсэн системийг илүү өргөжүүлдэг. ELF хэрэгслүүд нь маш сайн зохион байгуулагдсан бөгөөд хөрвүүлэгчээс хамаардаггүй болохоор хүмүүсийн хүсэлд яг тохирдог. ELF нь a.out хэлбэрийг бодвол жаахан удаан байж болох боловч үүнийг хэмжиж тодорхойлно гэдэг нь хэцүү билээ. Мөн энэ хоёрыг санах ойд хуудас зохицуулах, эхлэн ажиллах зарчим зэргийг нь харьцуулсан маш олон шинж чанарууд байдаг. Тэдгээр шинж чанарууд нь тийм ч чухал биш бөгөөд энэ нь зөвхөн ялгаа нь билээ. Одоо бол a.out хэлбэр нь GENERIC цөмөөс хасагдсан бөгөөд a.out хэлбэрийг ажиллуулдаг байсан цөм нь хуучны цөмд тооцогдоно. Нэмэлт мэдээлэл олж авах нь Гарын авлага гарын авлага Ихэнх дэлгэрэнгүй мэдээллүүд нь FreeBSD дээр гарын авлага хэлбэрээр оршиж байдаг. Систем дээр ажиллаж байгаа бараг бүх програмууд нь ажиллах болон авдаг шинж чанараа тодорхойлсон товч заавар буюу гарын авлагатай хамт ирдэг. Тийм гарын авлагыг man тушаалаар харна. man тушаалын хэрэглээ нь тун хялбар: &prompt.user; man тушаал тушаал нь судалж уншихыг хүссэн тушаалын нэр байх ёстой. Жишээлбэл ls тушаалын тухай мэдээлэл харахыг хүсвэл: &prompt.user; man ls Гарын авлага нь дотроо дараах хэсгүүдэд дугаарлагдаж хуваагддаг: Хэрэглэгчийн тушаал. Системийн дуудлага болон алдааны дугаар. C програмын хэлний санд байрлах функц нь. Төхөөрөмжийн драйвер. Файлын хэлбэр. Тоглоом болон бусад салбар. Төрөл бүрийн бусад мэдээлэл. Системээс санаа тавьж үйлдэх тушаал. Цөм хөгжүүлэгч. Зарим тохиолдолд гарын авлагын зарим бүлэг нь саяны хуваасан хэсэгт бүрд ижил байдаг. Жишээлбэл chmod тушаалыг хэрэглэгч нэг янзаар хэрэглэж байхад систем бас chmod() тушаалыг өөр зорилгоор хэрэглэдэг. Энэ тохиолдолд та системд аль сэдвээ сонгож байгаагаа ойлгуулахын тулд харгалзах дугаарыг нь өгөх ёстой: &prompt.user; man 1 chmod Энэ тохиолдолд chmod тушаалыг хэрэглэгч яаж дуудаж хэрэглэх тухай харуулна. Гарын авлагын тухайн хэсгийг нь харахын тулд голдуу хаалт дотор тухайн хэсгийн дугаарыг нь бичиж ханддаг. Тэгэхээр &man.chmod.1; гэвэл хэрэглэгчид хамаатай хэсэг нь, &man.chmod.2; гэвэл системд хамаатай хэсэг харуулагдана. Хэрэв та тушаалынхаа нэрийг мэдэж байвал энэ аргаар маш амархан хэрэглэх зааврыг уншиж чадахаар боллоо. Гэтэл та тушаалынхаа нэрийг мэдэхгүй тохиолдолд яах вэ? Энэ үед та man тушаалд тухайн хэрэгтэй тушаалын зааварт хайх түлхүүр үгийг сонголт ашиглан зааж өгч болдог. : &prompt.user; man -k mail Энэ тохиолдолд, заавартаа mail гэдэг үг агуулсан тушаалуудыг жагсааж танд харуулна. Энэ арга нь үндсэндээ apropos тушаалын үүрэгтэй ижил болно. За тэгэхээр, таны /usr/bin санд маш их олон тушаалууд байгааг та мэддэг мөртлөө ямар үйлдэл хийдгийг нь сайн мэдэхгүй тохиолдолд яах вэ? Хамгийн амархан арга бол: &prompt.user; cd /usr/bin &prompt.user; man -f * эсвэл &prompt.user; cd /usr/bin &prompt.user; whatis * энэ хоёр хоёулаа ижилхэн үйлдэл хийдэг. GNU Info файлууд Free Software Foundation FreeBSD нь Free Software Foundation (FSF) буюу Чөлөөт Програмын Сангаас бүтээсэн маш олон програмуудыг агуулж байдаг. Гарын авлага хуудаснаас гадна эдгээр програмууд нь мөн нэмэлт текст загвартай info файл агуулж байдаг бөгөөд уг төрлийн мэдээлэл нь info тушаалаар харуулагддаг. Хэрэв та emacs-г суулгасан бол emacs-н info горимд бас харж болно. &man.info.1; тушаалыг хэрэглэхийн тулд ердөө: &prompt.user; info тушаал Товч тайлбарыг нь харахын тулд h дарна. Тушаалын түргэн зааврыг харахын тулд ? гэж дараарай.
diff --git a/mn_MN.UTF-8/books/handbook/book.sgml b/mn_MN.UTF-8/books/handbook/book.sgml index 6a1bc563db..40a90535c1 100644 --- a/mn_MN.UTF-8/books/handbook/book.sgml +++ b/mn_MN.UTF-8/books/handbook/book.sgml @@ -1,352 +1,358 @@ %books.ent; %chapters; %txtfiles; + + + %pgpkeys; ]> FreeBSD гарын авлага FreeBSD баримтжуулах төсөл 1999 оны хоёрдугаар сар 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 FreeBSD баримтжуулах төсөл 2006 2007 2008 FreeBSD-г Монголоор баримтжуулах төсөл &bookinfo.legalnotice; &tm-attrib.freebsd; &tm-attrib.3com; &tm-attrib.3ware; &tm-attrib.arm; &tm-attrib.adaptec; &tm-attrib.adobe; &tm-attrib.apple; &tm-attrib.corel; &tm-attrib.creative; &tm-attrib.cvsup; &tm-attrib.heidelberger; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.intuit; &tm-attrib.linux; &tm-attrib.lsilogic; &tm-attrib.m-systems; &tm-attrib.macromedia; &tm-attrib.microsoft; &tm-attrib.netscape; &tm-attrib.nexthop; &tm-attrib.opengroup; &tm-attrib.oracle; &tm-attrib.powerquest; &tm-attrib.realnetworks; &tm-attrib.redhat; &tm-attrib.sap; &tm-attrib.sun; &tm-attrib.symantec; &tm-attrib.themathworks; &tm-attrib.thomson; &tm-attrib.usrobotics; &tm-attrib.vmware; &tm-attrib.waterloomaple; &tm-attrib.wolframresearch; &tm-attrib.xfree86; &tm-attrib.xiph; &tm-attrib.general; FreeBSD-д тавтай морилно уу! Энэ гарын авлага нь FreeBSD &rel2.current;-RELEASE болон FreeBSD &rel.current;-RELEASE хувилбаруудын суулгацаас эхлээд өдөр тутмын хэрэглээг тайлбарласан билээ. Энэ гарын авлага нь төгс дуусаагүй бөгөөд маш олон хүний хамтын бүтээл юм. Зарим хэсэг нь хуучирч шинэчлэгдэх шаардлагатай байж болзошгүй. Хэрэв та энэ төсөлд хувь нэмрээ оруулж, бидэнд туслахыг хүсвэл &a.doc; хаяг руу захиа бичнэ үү. Энэ гарын авлагын хамгийн сүүлийн хувилбарыг FreeBSD вэб хуудаснаас татаж авч болно. (энэ гарын авлагын өмнөх хувилбаруудыг -с авах боломжтой). Мөн янз бүрийн шахаж бэлтгэсэн хэлбэрээр FreeBSD FTP серверээс эсвэл толин тусгал хуудаснаас татаж авагдаж болно. Хэрэв та энэ гарын авлагын хэвлэсэн хуулбарыг авахыг хүсвэл FreeBSD Mall хуудсанд зорчино уу. Та мөн гарын авлага дотор хайлт хийх боломжтой. &chap.preface; Эхлэл FreeBSD гарын авлагын энэ хэсэг нь FreeBSD-тэй шинээр танилцаж байгаа администратор болон хэрэглэгчдэд зориулагдсан. Энд гарах бүлгүүд нь: FreeBSD-н танилцуулга. FreeBSD-г суулгах үйл явц. &unix;-ийн үндсийн ойлголт. FreeBSD-тэй хамт ирдэг гуравдагч-этгээдийн програмыг хэрхэн суулгах болон &unix; цонхот систем X-ийг танд танилцуулж, илүү үр бүтээлтэй ажиллахын тулд ажлын ширээний орчноо хэрхэн тохируулах талаар тайлбарлана. Бид Гарын авлагынхаа энэ хэсгийг аль болох цөөхөн хуудас дамжихаар бодолцсон бөгөөд ингэснээр танд энэ гарын авлагыг эхнээс нь дуустал хуудаснаас хуудас уруу үсрэлгүйгээр уншиж дуусгахад зориулсан билээ. Нийтлэг асуудлууд Үндсэн ойлголтуудыг нэгэнт тайлбарласан болохоор одоо FreeBSD-ийн гарын авлагын энэ хэсэгт FreeBSD-ийн зарим байнга ашиглагддаг боломжуудыг авч үзэх болно. Эдгээр бүлгүүд нь: Түгээмэл хэрэглэгддэг ширээний програмуудыг танд танилцуулах болно: хөтчүүд, бүтээмжийн багажууд, баримт үзэгчид гэх мэт. FreeBSD-н хэд хэдэн мультимедиа багажуудыг танд танилцуулах болно. Тусгайлан тохируулсан FreeBSD цөмийг бүтээх үйл явц болон, системд нэмэлт функцуудыг хэрхэн идэвхжүүлэхийг тайлбарлах болно. Ширээний болон сүлжээнд холбогдсон хэвлэгчийн тохируулгуудын хувьд хэвлэх системийг дэлгэрэнгүй тайлбарлах болно. FreeBSD систем дээр Линукс програмуудыг хэрхэн ажиллуулахыг танд үзүүлэх болно. Эдгээр бүлгүүдийн заримд таныг зарим нэг ойлголтуудын талаар урьдаар уншихыг зөвлөх бөгөөд энэ нь бүлэг бүрийн эхэнд ерөнхий агуулгад дурдсан байгаа болно. Системийн Удирдлага FreeBSD гарын авлагын үлдсэн бүлгүүд нь FreeBSD системийн удирдлагын бүх ойлголтуудыг хамрах болно. Бүлэг бүрийн эхэнд, уг бүлгийг уншсанаар таны юу сурч авахыг тайлбарлах бөгөөд уншиж эхлэхээс өмнө юуг мэдсэн байх ёстойг бас хэлж өгөх болно. Эдгээр бүлгүүд нь танд мэдээлэл хэрэгтэй үед уншигдахаар зориулагдсан юм. Та ямар нэгэн тодорхой дарааллаар унших хэрэггүй бөгөөд FreeBSD ашиглаж эхлэхээсээ өмнө бүгдийг нь унших шаардлагагүй болно. + + Сүлжээний Холболт FreeBSD нь өндөр ажиллагаатай сүлжээний серверүүдэд зориулагдсан хамгийн өргөн хэрэглэгддэг үйлдлийн системүүдийн нэг юм. Энэ хэсэгт дараах сэдвүүдийг хамрах болно: Сериал холболт PPP болон Ethernet дээгүүрх PPP (PPP over Ethernet) Цахим захидал Сүлжээний серверүүдийг ажиллуулах Галт хананууд Бусад дээд түвшний сүлжээний сэдвүүд Эдгээр бүлгүүд нь танд мэдээлэл хэрэгтэй үед уншигдахаар зориулагдсан юм. Та ямар нэгэн тодорхой дарааллаар унших хэрэггүй бөгөөд FreeBSD ашиглаж эхлэхээсээ өмнө бүгдийг нь унших шаардлагагүй болно. + Хавсралтууд &chap.colophon; diff --git a/mn_MN.UTF-8/books/handbook/chapters.ent b/mn_MN.UTF-8/books/handbook/chapters.ent index ed68fd032f..f392b30b03 100644 --- a/mn_MN.UTF-8/books/handbook/chapters.ent +++ b/mn_MN.UTF-8/books/handbook/chapters.ent @@ -1,67 +1,70 @@ + + + diff --git a/mn_MN.UTF-8/books/handbook/geom/chapter.sgml b/mn_MN.UTF-8/books/handbook/geom/chapter.sgml index 1aa6331cbf..8f6b06e7b5 100644 --- a/mn_MN.UTF-8/books/handbook/geom/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/geom/chapter.sgml @@ -1,656 +1,675 @@ Том Рөүдс Бичсэн Цагаанхүүгийн Ганболд Орчуулсан GEOM: Модульчлагдсан Диск Хувиргах Тогтолцоо Ерөнхий агуулга GEOM GEOM Дискний Тогтолцоо GEOM Энэ бүлэг нь &os; дээр GEOM тогтолцооны хүрээнд дискийг хэрхэн хэрэглэх талаар хамарсан. Энэ нь тохиргоонд зориулж тогтолцоог ашигладаг гол RAID хянагч хэрэгслүүдийг багтаадаг. Энэ бүлэг нь I/O, доор нь байгаа дэд систем, эсвэл кодыг GEOM хэрхэн зохицуулж эсвэл хянадаг талаар гүнзгий хэлэлцэхгүй. Энэхүү мэдээлэл нь &man.geom.4; гарын авлагын хуудас болон төрөл бүрийн SEE ALSO баримтуудын тусламжтай хангагддаг. Бас энэ бүлэг нь RAID тохиргоонуудын дэлгэрэнгүй заавар биш юм. Зөвхөн GEOM-дэмжигдсэн RAID ангиллуудын талаар хэлэлцэх болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Ямар төрлийн RAID дэмжлэг GEOM-ийн хүрээнд байдаг талаар. Хэрхэн үндсэн хэрэгслүүдийг ашиглаж тохиргоо хийх, ажиллагааг хангах, болон төрөл бүрийн RAID түвшнүүдийг удирдах талаар. Хэрхэн толин тусгал болон судал үүсгэх, шифрлэх, алсаас GEOM-ийн хүрээнд диск төхөөрөмжүүдийг холбох талаар. GEOM тогтолцоонд хавсаргасан дискнүүдийн алдааг хэрхэн олж засварлах талаар. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: &os; диск төхөөрөмжүүдийг хэрхэн үздэг талаар ойлгох (). Шинэ &os; цөм хэрхэн тохируулж суулгах талаар мэдэх (). GEOM-ийн Танилцуулга GEOM нь Мастер Ачаалалтын Бичлэгүүд (MBR), BSD хаягууд, гэх мэт — ангиллуудад тухайн ангиллын дэмжигчид (providers) эсвэл /dev дахь тусгай файлуудын тусламжтайгаар хандах хандалт ба хяналтыг уг ангилалд зөвшөөрдөг. GEOM нь төрөл бүрийн програм хангамжийн RAID тохиргоонуудыг ашиглаж үйлдлийн систем болон үйлдлийн системийн хэрэгслүүдэд саадгүйгээр хандах боломж олгодог. Том Рөүдс Бичсэн Мюррей Стөүкли Цагаанхүүгийн Ганболд Орчуулсан RAID0 - Судал үүсгэх GEOM Судал үүсгэх Судал үүсгэх нь хэд хэдэн дискнүүдийг нэг эзлэхүүн болгодог арга юм. Олон тохиолдолд энэ нь тоног төхөөрөмжийн хянагчуудыг ашиглан хийгддэг. GEOM дэд систем нь диск судал үүсгэх гэж бас нэрлэгддэг RAID0-д зориулсан програмыг хангаж өгдөг. RAID0 системд, дараалсан дискнүүдэд байгаа өгөгдлүүд нь багц болж хуваагддаг. Систем дээр нэг диск рүү 256k-ийг бичихийг хүлээснээс 64k-ийг 4 өөр диск рүү зэрэг бичих дээд зэргийн I/O буюу оруулах гаргах ажиллагааг RAID0 систем нь санал болгодог. Энэ ажиллагааг олон дискний хянагчуудыг ашиглан нэмэгдүүлж болдог. Багцалсан олон дискнүүдээс I/O хүсэлтүүд нь зэрэгцэж унших болон бичигддэг учраас RAID0 дискний хуваагдал нь бүгд ижил хэмжээтэй байх ёстой. Диск судал үүсгэж байгаа зураг Хэлбэржүүлэгдээгүй ATA дискнүүдийн судал үүсгэх geom_stripe модулийг ачаална: &prompt.root; kldload geom_stripe Тохирох холболтын цэг байгааг шалгаарай. Хэрэв энэ эзлэхүүн нь root хуваалт болох ёстой бол түр зуур өөр /mnt гэх мэт холболтын цэгийг ашиглаарай: &prompt.root; mkdir /mnt Судал үүсгэх дискнүүдэд зориулсан төхөөрөмжийн нэрийг тодорхойлоод шинэ судал төхөөрөмж үүсгэ. Жишээ нь хоёр ашиглагдаагүй, хуваалт хийгдээгүй /dev/ad2 болон /dev/ad3 гэсэн ATA дискнүүдэд судал үүсгэхийн тулд: &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3 Хуваалтын хүснэгт гэгддэг стандарт хаягийг шинэ эзлэхүүн дээр бичээд анхдагч ачаалагдах кодыг суулгаарай: &prompt.root; bsdlabel -wB /dev/stripe/st0 Энэ процесс хоёр төхөөрөмжийг st0 төхөөрөмжийн хамт /dev/stripe санд үүсгэх ёстой. Тэдгээр нь st0a болон st0c юм. Ингэсний дараа файлын системийг st0a төхөөрөмж дээр newfs хэрэгслийн тусламжтайгаар үүсгэж болно: &prompt.root; newfs -U /dev/stripe/st0a Олон тоонууд дэлгэц дээр урсан өнгөрөх бөгөөд хэдхэн хормын дараа процесс төгсөнө. Ингээд эзлэхүүн үүсэж холболт хийгдэхэд бэлэн болно. Гараар үүсгэсэн дискний судлаа холбохын тулд: &prompt.root; mount /dev/stripe/st0a /mnt Энэ судал үүсгэсэн файлын системдээ ачаалах үед автоматаар холболт хийхийн тулд эзлэхүүний мэдээллийг /etc/fstab файлд хийгээрэй: &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \ >> /etc/fstab /boot/loader.conf файлд мөр нэмж geom_stripe модулийг систем эхлэхэд автоматаар ачаалагдахаар болгох ёстой: &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf RAID1 - Толин тусгал үүсгэх GEOM Диск Толин тусгал үүсгэх Толин тусгал үүсгэх нь олон корпорациуд болон гэрийн хэрэглэгчдийн ашигладаг өгөгдлийг тасалдалгүйгээр нөөцлөх технологи юм. Толин тусгал байх үед энэ нь diskB нь diskA-г хувилж байгаа гэсэн үг. Эсвэл магадгүй diskC+D нь diskA+B-г хувилж байгаа байж болно. Дискний тохиргооноос хамааралгүй чухал ойлголт бол нэг диск дээрх мэдээлэл болон хуваалт нь хувилагдах явдал юм. Сүүлд нь, хадгалсан өгөгдөл нь үйлчилгээ болон хандалтын тасалдалгүйгээр, амархан сэргээгдэж, нөөцлөгдөж бараг өгөгдлийн төмөр авдарт хадгалсан юм шиг байх болно. Эхлээд системд ижил хэмжээтэй хоёр диск байгааг шалгаарай, энэ дасгалд уг дискнүүдэд шууд хандах (&man.da.4;) SCSI дисктэй гэж үзэж байгаа болно. - &os; үйлдлийн системийг нэг дэх диск дээр хоёр хуваалттайгаар суулгаарай. - Нэг нь RAM-ийн хэмжээг хоёр дахин авсан swap - хуваалт байх ёстой бөгөөд үлдэж байгаа зай нь root - (/) файлын системд - зориулагдана. Бусад холболтын цэгүүдэд зориулсан тусдаа хуваалтуудтай - байж болох бөгөөд гэхдээ энэ нь &man.bsdlabel.8; болон &man.fdisk.8; - тохиргоонуудыг гараар өөрчилдгөөс болж төвөгтэй байдлыг 10 дахин ихэсгэдэг. + + Үндсэн дискүүдийг тольдох нь + + &os; эхний da0 дискийн төхөөрөмж дээр + суулгагдсан гэж үзвэл &man.gmirror.8;-д өөрийн үндсэн өгөгдлийг + тэнд хадгал гэж зааж өгсөн байх ёстой. + + Толь бүтээхээсээ өмнө kern.geom.debugflags + гэсэн &man.sysctl.8;-ийн тохиргоог дараах утгаар тохируулж + нэмэлт дибаг мэдээллийг идэвхжүүлж төхөөрөмжид хандах хандалтыг + нээж өгнө: - Дахин ачаалаад системийг бүрэн эхэлтэл хүлээгээрэй. Энэ үйлдэл дууссаны дараа - root хэрэглэгчээр нэвтэрнэ. + &prompt.root; sysctl kern.geom.debugflags=17 - /dev/mirror/gm төхөөрөмж үүсгээд - /dev/da1 файлтай холбоорой: + Одоо толь үүсгэнэ. + /dev/mirror/gm + төхөөрөмжийг үр ашигтайгаар үүсгэн мета өгөгдлийг үндсэн дискийн төхөөрөмж + дээр хадгалан процессийг дараах тушаал ашиглан + эхлүүлнэ: - &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1 + &prompt.root; gmirror label -vb round-robin gm0 /dev/da0 Систем дараах хариуг өгнө: - -Metadata value stored on /dev/da1. + Metadata value stored on /dev/da0. Done. GEOM-ийг эхлүүлэхэд /boot/kernel/geom_mirror.ko цөмийн модулийг ачаална: &prompt.root; gmirror load - Энэ тушаал нь gm0 төхөөрөмжийн + Энэ тушаал бүрэн ажиллаж дууссаны дараа + gm0 төхөөрөмжийн цэгийг /dev/mirror санд үүсгэх ёстой. - Ерөнхий fdisk-ийн хаяг болон ачаалах кодыг - шинэ gm0 төхөөрөмжид суулгаарай: - - &prompt.root; fdisk -vBI /dev/mirror/gm0 - - Одоо ерөнхий bsdlabel мэдээллийг суулгаарай: - - &prompt.root; bsdlabel -wB /dev/mirror/gm0s1 - - - Хэрэв олон зүсмэлүүд болон хуваалтууд байвал түрүүчийн хоёр тушаалын - тугуудыг өөрчлөх шаардлагатай. Тэд нөгөө дискний зүсмэл болон хуваалтын - хэмжээтэй тохирох ёстой. - - - Анхдагч UFS файлын системийг - gm0s1a төхөөрөмжийн цэг дээр байгуулахдаа - &man.newfs.8; хэрэгслийг ашиглана: - - &prompt.root; newfs -U /dev/mirror/gm0s1a - - Ингэснээр систем зарим мэдээлэл болон тоонуудыг үзүүлэх болно. - Энэ нь сайн гэсэн үг. Дэлгэц дээр алдаа байгаа эсэхийг шалгаад - төхөөрөмжийг /mnt - холболтын цэгт холбож өгөөрэй: - - &prompt.root; mount /dev/mirror/gm0s1a /mnt - - Одоо ачаалах дискний бүх өгөгдлийг энэ шинэ файлын систем уруугаа - шилжүүлээрэй. Энэ жишээ нь &man.dump.8; болон &man.restore.8; - тушаалуудыг ашиглаж байгаа; гэхдээ &man.dd.1; бас энэ тохиолдолд - ажиллах боломжтой. - - &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-) - - Үүнийг файлын систем бүрийн хувьд хийх шаардлагатай. Дээр дурдсан тушаалыг - ажиллуулахдаа тохирох файлын системийг зөв газар нь байрлуулна. - - Одоо хувилагдсан /mnt/etc/fstab файлыг засаад - swap файлтай мөрийг устгаж эсвэл тайлбар болгоорой. - - fstab дахь swap файлын оруулгыг тайлбар - болгосноор танд өөр замаар swap зайг дахин нээх шаардлагатай болно. - Дэлгэрэнгүй мэдээллийн талаар -д - хандана уу. - . Нөгөө файлын системийн мэдээллийг шинэ диск ашиглахаар - өөрчилж дараах жишээн дээрх шиг сольно: + Системийг эхлүүлэх үед geom_mirror.ko + цөмийн модулийг дуудахыг идэвхжүүлнэ: - # Device Mountpoint FStype Options Dump Pass# -#/dev/da0s2b none swap sw 0 0 -/dev/mirror/gm0s1a / ufs rw 1 1 - - geom_mirror.ko модулийг ачаалагдах үед ажиллуулахын - тулд дараах тушаалыг ажиллуулна: - - &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf + Хуучин байсан da0-г + gm0 толин төхөөрөмжийн шинэ төхөөрөмжийн цэгээр + сольж /etc/fstab файлыг засварлах хэрэгтэй. + root хэрэглэгчээр + /etc/fstab файлыг засварлана: + + &prompt.root; vi /etc/fstab + + &man.vi.1; дээр :w /etc/fstab.bak + гэж бичин fstab-ийн одоо байгаа агуулгыг + нөөцөлнө. Дараа нь хуучин байсан бүх da0-г + gm0-р + :%s/da/mirror\/gm/g гэж бичин + сольно. + + fstab файл дараахтай төстэй + харагдах ёстой. Дискийн хөтчүүд SCSI эсвэл + ATA байх нь хамаагүй бөгөөд эдгээрээс + үл хамааран RAID төхөөрөмж нь + gm байх болно. + + # Device Mountpoint FStype Options Dump Pass# +/dev/mirror/gm0s2b none swap sw 0 0 +/dev/mirror/gm0s2a / ufs rw 1 1 +#/dev/mirror/gm0s2d /store ufs rw 2 2 +/dev/mirror/gm0s2e /usr ufs rw 2 2 +/dev/acd0 /cdrom cd9660 ro,noauto 0 0 + Системийг дахин эхлүүлнэ: &prompt.root; shutdown -r now - Ачаалах дэлгэц дээр ганц хэрэглэгчийн горим уруу хандахын тулд - дөрөв (4) сонголтыг сонгоно. Консол дээр систем - gm0s1a-ээс ачаалсан эсэхийг шалгаарай. - Үүнийг &man.df.1; тушаалын үр дүнг харан хийж болно. - - Хэрэв бүгд зүгээр болбол систем gm0s1a - төхөөрөмжөөс ачаалагдана. Эндээс анхдагч дискийг цэвэрлэж - толин тусгал уруу доор дурдсан тушаалуудыг ашиглан нэмж болно: + Системийг эхлүүлэх үед gm0-г + da0 төхөөрөмжийн оронд ашиглах + ёстой. Бүрэн эхэлж дууссаны дараа үүнийг + mount + тушаалаас гарах үр дүнг хянаснаар шалгаж болно: - &prompt.root; dd if=/dev/zero of=/dev/da0 bs=512 count=79 + &prompt.root; mount +Filesystem 1K-blocks Used Avail Capacity Mounted on +/dev/mirror/gm0s1a 1012974 224604 707334 24% / +devfs 1 1 0 100% /dev +/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home +/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr +/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var +devfs 1 1 0 100% /var/named/dev - &prompt.root; gmirror configure -a gm0 -&prompt.root; gmirror insert gm0 /dev/da0 + Үр дүн санасны дагуу зөв харагдаж байна. Төгсгөлд нь + синхрончлолыг эхлүүлэхийн тулд da1 + дискийг толь руу дараах тушаал ашиглан хийнэ: - туг нь &man.gmirror.8;-г автомат синхрончлолыг - ашиглах ёстойг хэлж байна; өөрөөр хэлбэл дискэнд бичих бичилтүүдийг автоматаар - толин тусгалаар хуулна гэсэн үг юм. Гарын авлагын хуудас дискнүүдийг хэрхэн - дахин бүтээх болон солих талаар тайлбарлах бөгөөд - gm0-ийн оронд data-г - хэрэглэсэн байгаа. + &prompt.root; gmirror insert gm0 /dev/da1 Толин тусгал бүтээгдсэний дараа түүнийн төлвийг доор дурдсан тушаал ашиглан шалгаж болно: &prompt.root; gmirror status + Толь бүтээгдэж одоо байгаа бүх өгөгдөл + синхрончлогдсоны дараа дээрх тушаалаас гарах + үр дүн иймэрхүү байх ёстой: + + Name Status Components +mirror/gm0 COMPLETE da0 + da1 + + Ямар нэг асуудал байх юм уу эсвэл толь нь + бүтээх процессоо хийсээр байвал уг жишээ + COMPLETE-ийн оронд + DEGRADED гэж харуулах болно. + + Алдааг олж засварлах нь Систем ачаалахгүй байх Хэрэв систем дараах тушаал хүлээх мөр хүртэл ачаалсан бол: ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot> Унтраах болон дахин эхлүүлэх товчийг дарж машиныг дахин эхлүүл. Ачаалах үеийн цэснээс (6) сонголтыг сонго. Ингэхэд системийг &man.loader.8; тушаал хүлээх мөрд аваачна. Цөмийн модулийг гараар ачаал: OK? load geom_mirror OK? boot Хэрэв энэ нь ажилласан бол модул ямар нэг шалтгаанаар буруу - ачаалагдсан байна. Дараах мөрийг: + ачаалагдсан байна. Дараах: options GEOM_MIRROR - цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай. + мөрийг цөмийн тохиргооны файлд байрлуулж дахин бүтээж суулгаарай. Ингэх нь энэ асуудлыг арилгах ёстой. + + + Дискийн эвдрэлээс буцаж сэргээх нь + + Дискийг тольдохын гайхамшигтай тал нь диск + эвдрэхэд ямар ч өгөгдөл алдалгүйгээр түүнийг сольж болоход + оршино. + + Өмнөх RAID1 тохиргоог байна гэж + үзээд da1 эвдэрсэн бөгөөд + солих хэрэгтэй байгаа гэж үзье. Солихын тулд аль диск + эвдэрснийг мэдээд системийг унтраана. + Одоо дискийг шинээр сольж системийг асааж болно. + Системийг дахин ачаалсны дараа дискийг солихын тулд + дараах тушаалуудыг ашиглаж болно: + + &prompt.root; gmirror forget gm0 + + &prompt.root; gmirror insert gm0 /dev/da1 + + Дахин бүтээлтийн явцыг хянахын тулд + gmirror тушаалыг + ашиглана. Энэ нь ийм амархан юм. + GEOM Хаалга Сүлжээний Төхөөрөмжүүд GEOM нь хаалга хэрэгслүүдийг ашиглан дискнүүд, CD-ROM-ууд, файлууд гэх мэт төхөөрөмжүүдийг алсаас ашиглахыг дэмждэг. Энэ нь NFS-тэй адил юм. Экспортын файл эхэлж үүсгэх шаардлагатай. Энэ файл нь экспорт хийгдсэн эх үүсвэрүүдэд хэнийг хандахыг зөвшөөрсөн болон ямар түвшний хандалтыг тэд өгч байгааг тусгадаг. Жишээ нь эхний SCSI диск дээр 4 дэх зүсмэлийг экспорт хийхийн тулд дараах /etc/gg.exports нь хангалттай: 192.168.1.0/24 RW /dev/da0s4d Энэ нь дотоод сүлжээний бүх хостууд da0s4d хуваалт дээрх файлын системд хандах хандалтыг зөвшөөрнө. Энэ төхөөрөмжийг экспорт хийхдээ тухайн үед холболт хийгдээгүй эсэхийг шалгаад &man.ggated.8; сервер дэмонг ажиллуулаарай: &prompt.root; ggated Хэрэглэх машинаас уг экспортлогдсон төхөөрөмжид холболт хийхдээ дараах тушаалыг өгнө үү: &prompt.root; ggatec create -o rw 192.168.1.1 /dev/da0s4d ggate0 &prompt.root; mount /dev/ggate0 /mnt Эндээс эхлэн төхөөрөмжид /mnt холболтын цэгийг ашиглан хандаж болно. Хэрэв төхөөрөмж тухайн үед сервер машин эсвэл сүлжээн дэх өөр бусад машин дээр холболт хийгдсэн байсан бол энэ нь амжилтгүй болохыг сануулъя. Төхөөрөмж дахин шаардлагагүй болоход бусад дискний төхөөрөмжүүдийн нэгэн адил &man.umount.8; тушаалын тусламжтайгаар салгаж болно. Дискний төхөөрөмжүүдийг хаяглах нь GEOM Дискний хаяг/шошгонууд Системийг эхлүүлэх явцад &os; цөм төхөөрөмжүүдийг олж төхөөрөмжийн цэгүүдийг үүсгэдэг. Төхөөрөмжүүдийг илрүүлэх энэ арга нь зарим нэг асуудлуудтай байдаг, жишээ нь шинэ дискний төхөөрөмж USB-ээр нэмэгдсэн бол яах вэ? Флэш төхөөрөмжид da0 гэсэн төхөөрөмжийн нэр өгөгдөж хуучин байсан da0 нь da1 болж өөрчлөгдөх болов уу. Энэ нь хэрэв файлын системүүд /etc/fstab-д жагсаагдсан бол тэдгээрийг холбоход асуудал гаргах бөгөөд бүр системийг ачаалахгүй байдалд хүргэж болох юм. Энэ асуудлын нэг шийдэл нь SCSI карт руу нэмэгдсэн шинэ төхөөрөмжид төхөөрөмжийн ашиглагдаагүй дугаарууд өгөгдөхөөр болгож SCSI төхөөрөмжүүдийг гинжин цуваа болгох явдал юм. Гэхдээ анхдагч SCSI дискийг сольж болзошгүй USB төхөөрөмжүүдийн хувьд яах вэ? Яагаад гэвэл USB төхөөрөмжүүд нь ихэвчлэн SCSI картнуудаас өмнө шалгагддаг. Үүний нэг шийдэл нь эдгээр төхөөрөмжүүдийг системийг ачаалсны дараа залгах явдал юм. Өөр нэг арга нь зөвхөн ганц ATA хөтөч ашиглаж SCSI төхөөрөмжүүдийг /etc/fstab файлд хэзээ ч жагсаахгүй байх тийм шийдэл байж болох юм. Илүү сайн шийдэл байдаг. glabel хэрэгсэл ашиглан администратор эсвэл хэрэглэгч өөрсдийн дискний төхөөрөмжүүдийг хаяглаж эдгээр хаяг/шошгонуудыг /etc/fstab файлд ашиглаж болох юм. glabel нь өгөгдсөн үзүүлэгчийн сүүлийн секторт хаяг/шошгыг хадгалдаг болохоор хаяг/шошго нь дахин ачаалахад хэвээр байх болно. Энэ хаяг/шошгыг төхөөрөмж маягаар ашигласнаар ямар төхөөрөмжийн цэгээр дамжин хандаж байгаагаас үл хамааран файлын систем нь үргэлж холбогдох юм. Хаяг/шошгыг байнгын болгохыг энд дурдсангүй. glabel хэрэгсэл нь түр зуурын болон байнгын хаяг/шошгыг үүсгэхэд ашиглагдаж болно. Зөвхөн байнгын хаяг/шошго нь дахин ачаалахад хэвээр үлдэх болно. Хаяг/шошгонуудын ялгаануудын тухай дэлгэрэнгүй мэдээллийг &man.glabel.8; гарын авлагын хуудаснаас үзнэ үү. Хаяг/шошгоны төрлүүд болон жишээнүүд Ерөнхий ба файлын системийн гэсэн хоёр төрлийн хаяг/шошго байдаг. Хаяг/шошгонуудын ялгаа нь байнгын хаяг/шошготой холбоотой автомат илрүүлэлт бөгөөд энэ төрлийн хаяг/шошго нь дахин ачаалахад хэвээр үлддэг явдал юм. Эдгээр хаяг/шошгонуудад тэдгээрийн файлын системийн төрөл дээр суурилсан нэр бүхий тусгай сан /dev сан дотор өгөгддөг. Жишээ нь UFS2 файлын системийн хаяг/шошгонууд /dev/ufs санд үүсгэгддэг. Ерөнхий хаяг/шошго нь дараагийн удаа ачаалахад арилдаг. Эдгээр хаяг/шошгонууд нь /dev/label санд үүсгэгдэх бөгөөд туршилтад сайн тохирсон байдаг. Байнгын хаяг/шошгонуудыг файлын систем дээр tunefs эсвэл newfs хэрэгслүүд ашиглан байрлуулж болно. Өгөгдлийг устгалгүйгээр UFS2 файлын системийн хувьд байнгын хаяг/шошго үүсгэхийн тулд доор дурдсан тушаалуудыг ажиллуулна: &prompt.root; tunefs -L home /dev/da3 Хэрэв файлын систем дүүрэн бол энэ нь өгөгдлийн эвдрэлд хүргэж болох юм; гэхдээ хэрэв файлын систем дүүрэн бол гол зорилго нь хуучирсан файлуудыг устгаж хаяг/шошгонуудыг нэмэхгүй байх явдал юм. Хаяг/шошго одоо /dev/ufs санд үүссэн байх ёстой бөгөөд түүнийг /etc/fstab файлд нэмж болох юм: /dev/ufs/home /home ufs rw 2 2 tunefs-г ажиллуулахдаа файлын системийг холбох ёсгүй. Одоо файлын системийг ердийнхөөрөө холбож болно: &prompt.root; mount /home Эндээс эхлэн ачаалах явцад /boot/loader.conf файлын тусламжтайгаар geom_label.ko цөмийн модуль дуудагдсан байхад эсвэл GEOM_LABEL цөмийн тохируулга байхад төхөөрөмжийн цэг системд ямар нэгэн буруу нөлөөлөлгүйгээр өөрчлөгдөж болох юм. Файлын систем нь newfs тушаалд өгөгдсөн тугны тусламжтайгаар анхдагч хаяг/шошготой үүсгэгдэж бас болно. Дэлгэрэнгүй мэдээллийг &man.newfs.8; гарын авлагын хуудаснаас үзнэ үү. Доор дурдсан тушаалыг хаяг/шошгыг устгахдаа ашиглаж болно: &prompt.root; glabel destroy home GEOM-ийн тусламжтай UFS тэмдэглэл GEOM Journaling &os; 7.0 хувилбар гарснаар удаан хүсэн хүлээсэн UFS тэмдэглэлийн боломж бүрдсэн билээ. Энэхүү шийдэл нь өөрөө GEOM дэд системийн тусламжтайгаар хийгдсэн бөгөөд &man.gjournal.8; хэрэгслийн тусламжтай хялбар тохируулж болдог. Journaling буюу тэмдэглэл гэж юу вэ? Тэмдэглэх чадвар нь файлын системийн шилжүүлгүүдийн бүртгэлийг хадгалдаг, өөрөөр хэлбэл мета өгөгдөл болон файлын бичилтүүд дискэнд зөвөөр хийгдэхээс өмнө дискний бүрэн гүйцэд бичих үйлдлийг бүтээдэг өөрчлөлтүүдийн бүртгэлийг хадгалдаг. Файлын системийн бүрэн бус байдлаас хамгаалахын тулд файлын системийн шилжүүлгүүдийг дахин гүйцэтгэхийн тулд энэхүү шилжүүлгүүдийн бүртгэлийг дараа нь дахин ажиллуулж болдог. Энэхүү арга нь файлын системийн бүрэн бус байдал болон өгөгдлийн алдагдлын эсрэг хамгаалах өөр нэг арга зам юм. Мета өгөгдлийн шинэчлэлүүд болон файлын системийн дүрс болох Хормын хувилбаруудыг хянаж мөрдүүлж байдаг Зөөлөн Шинэчлэлүүдээс ялгаатай нь бүртгэлийн файл нь төгсгөлийн секторт хадгалагддаг бөгөөд зарим тохиолдолд өөр диск дээр тэр чигээрээ хадгалагдаж болдог. Өөр бусад файлын системийн тэмдэглэлийн шийдлүүдээс ялгаатай нь gjournal арга нь блок дээр тулгуурласан бөгөөд файлын системийн хэсэг болж хийгдээгүй, зөвхөн GEOM өргөтгөлийн хүрээнд хийгдсэн. gjournal-д зориулсан дэмжлэгийг идэвхжүүлэхийн тулд &os; цөм нь 7.X системүүд дээр анхдагчаар байдаг доор дурдсан тохируулгатай байх ёстой: options UFS_GJOURNAL da4 нь шинэ SCSI диск гэж тооцвол чөлөөтэй файлын систем дээр тэмдэглэл үүсгэхийн тулд одоо доор дурдсан алхмуудыг ашиглан хийж болно: &prompt.root; gjournal label /dev/da4 &prompt.root; gjournal load Энэ үед /dev/da4 төхөөрөмжийн цэг болон /dev/da4.journal төхөөрөмжийн цэг үүссэн байх ёстой. Одоо энэ төхөөрөмж дээр файлын системийг үүсгэж болно: &prompt.root; newfs -O 2 -J /dev/da4.journal Өмнө ажиллуулсан тушаал UFS2 файлын системийг тэмдэгдэл идэвхжсэнээр үүсгэх болно. Төхөөрөмжийг хүссэн цэгтээ доор дурдсан тушаалаар mount хийнэ: &prompt.root; mount /dev/da4.journal /mnt Хэд хэдэн зүсмэлүүдийн тухайд тэмдэглэл нь зүсмэл бүр дээр үүсгэгдэх болно. Жишээ нь хэрэв ad4s1 болон ad4s2 нь хоёулаа зүсмэл бол gjournal нь ad4s1.journal болон ad4s2.journal үүсгэх болно. Хэрэв тушаалыг хоёр ажиллуулбал үр дүн нь тэмдэглэлүүд байх болно. Зарим тохиолдолд тэмдэглэлийг өөр диск дээр байлгах шаардлагатай байдаг. Энэ тохиолдолд тэмдэглэл хангагч эсвэл хадгалалтын төхөөрөмж нь тэмдэглэлийг идэвхжүүлэхийн тулд уг төхөөрөмжийнхөө дараа жагсаагдах ёстой. tunefs тушаал ашиглан тухайн байгаа файлын систем дээр тэмдэглэлийг идэвхжүүлж болдог; гэхдээ файлын системийг өөрчлөхөөсөө өмнө нөөц үргэлж хийж байх хэрэгтэй. Ихэнх тохиолдолд gjournal нь яг тэмдэглэлийг үүсгэж чадаагүй бол амжилтгүй болох бөгөөд гэхдээ энэ нь tunefs-ийг буруугаар ашигласнаас болоод үүссэн өгөгдлийн алдагдлаас хамгаалж чадахгүй юм. diff --git a/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml index 2aa82c23dc..3d034a0bf5 100644 --- a/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml @@ -1,3234 +1,3068 @@ FreeBSD-г олж авах нь CDROM болон DVD Нийтлэгчид Жижиглэнгийн хайрцагласан бүтээгдэхүүнүүд FreeBSD нь хайрцагласан бүтээгдэхүүн хэлбэрээр (FreeBSD CD-үүд, нэмэлт програм хангамж, болон хэвлэсэн баримт) хэд хэдэн жижиглэн худалдаалагчдаас гардаг:
CompUSA WWW:
Frys Electronics WWW:
CD болон DVD цуглуулгууд FreeBSD CD болон DVD цуглуулгуудыг олон жижиглэн худалдаалагчдаас шууд худалдан авах боломжтой байдаг:
BSD Mall by Daemon News PO Box 161 Nauvoo, IL 62354 USA Утас: +1 866 273-6255 Факс: +1 217 453-9956 Email: sales@bsdmall.com WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Утас: +1 925 240-6652 Факс: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Утас: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Утас: 353 1 6291282 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Утас: +44 1491 837010 Факс: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Утас: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Утас: +61 3 9857 5918 Факс: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Утас: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Түгээгчид Хэрэв та дахин худалдагч бөгөөд FreeBSD CDROM бүтээгдэхүүнүүдийг тараахыг хүсэж байгаа бол түгээгч буюу дистрибьюторт хандана уу:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Утас: +1 650 694-4949 Факс: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Утас: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Утас: +1 952 947-0822 Факс: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Утас: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Утас: +1 763 535-8333 Факс: +1 763 535-0341 WWW:
FTP сайтууд FreeBSD-д зориулсан абан ёсны эхүүдийг дэлхий даяар байрласан толин тусгал сайтуудаас авч болно. сайт нь сайн холбогдсон бөгөөд маш олон тооны холболтуудыг зөвшөөрдөг. Гэхдээ та илүү ойр толин тусгал сайтыг хайж олсон нь дээр биз ээ (ялангуяа хэрэв та ямар нэгэн толин тусгал маягийн сайт тохируулж ажиллуулахыг хүсвэл). FreeBSD толин тусгал сайтуудын мэдээллийн бааз нь Гарын авлага дахь толин тусгалын жагсаалтаас илүү зөв байдаг. Учир нь энэ нь хостуудын статик жагсаалтад тулгуурлалгүй өөрийн мэдээллээ DNS серверээс авдаг юм. Мөн FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээс авч болохоор байдаг. Хэрэв та нэргүй FTP-ээс FreeBSD-г авахыг сонговол өөртөө аль болох ойр сайтыг ашиглаад үзээрэй. Primary Mirror Sites буюу үндсэн толин тусгал сайтууд дахь толин тусгал сайтууд нь бүхэл FreeBSD архивыг (архитектур болгонд зориулсан одоо байгаа бүх хувилбарууд) ихэвчлэн агуулдаг боловч танай улс юм уу эсвэл бүсэд байрлаж байгаа сайтаас татаж авахад танд илүү хурдан байх болов уу. Бүсийн сайтууд нь хамгийн түгээмэл архитектуруудад зориулсан хамгийн сүүлийн үеийн хувилбаруудыг агуулдаг боловч FreeBSD-ийн бүх архивыг агуулаагүй байж болох юм. Бүх сайтууд нь нэргүй FTP-ээр хандах боломжийг олгодог. Зарим сайтууд нь бас бусад аргуудаар хандах боломжийг олгодог. Сайт болгоны хувьд хандах аргууд нь хостын нэрийн дараа хаалтанд өгөгдсөн байгаа болно. &chap.mirrors.ftp.inc; Нэргүй CVS <anchor id="anoncvs-intro">Танилцуулга CVS нэргүй Нэргүй CVS (эсвэл өөрөөр anoncvs гэгддэг) нь алсын CVS архивтай синхрончлол хийгдэхэд зориулагдсан FreeBSD-тэй цуг багцлагдсан CVS хэрэгслүүдийн үзүүлдэг боломж юм. Мөн FreeBSD-ийн хэрэглэгчдэд ямар нэгэн зөвшөөрлүүдгүйгээр зөвхөн унших эрхтэй CVS үйлдлүүдийг FreeBSD төслийн албан ёсны anoncvs серверүүдийн аль нэг дээр хийх боломжийг олгодог. Ашиглахын тулд CVSROOT орчны хувьсагчийг тохирох anoncvs сервер руу зааж cvs login тушаалд бүгдийн мэддэг anoncvs нууц үгийг өгч дараа нь &man.cvs.1; тушаал ашиглан локал архивт хандаж байгаа шигээр хандана. cvs login тушаал нь CVS серверт өөрийгээ таниулан нэвтрэхэд хэрэглэгдсэн нууц үгсийг таны HOME санд .cvspass файлд хадгалдаг.Хэрэв энэ файл байхгүй бол таныг cvs login тушаалыг эхний удаа ашиглахаар оролдоход алдаа гарч болох юм. Ердөө л хоосон .cvspass файл үүсгээд нэвтрэхийг оролдоорой. CVSup болон anoncvs үйлчилгээнүүд нь хоюул үндсэндээ адил үүргийг гүйцэтгэдэг гэж бас хэлж болох боловч синхрончлол хийх аргуудын хэрэглэгчийн сонголтод нөлөөлж болох төрөл бүрийн сул болон давуу талуудтай байдаг. Товчхондоо CVSup нь өөрийн сүлжээний эх үүсвэрүүдийн хэрэглээндээ илүү үр ашигтай бөгөөд техникийн хувьд хамгийн ухаалаг нь боловч ажиллагаа ихтэй байдаг. CVSup-г ашиглахын тулд эхүүдийг авч эхлэхээсээ өмнө тусгай клиентийг эхлээд суулгаж тохируулсан байх ёстой бөгөөд зөвхөн дараа нь нэлээн том хэмжээтэй хэсгүүдээр CVSup нь цуглуулгуудыг дууддаг. Харин Anoncvs-г нэг файлаас авахуулаад тусгай програм (ls эсвэл grep гэх зэрэг) хүртэлх бүгдийг CVS модулийн нэрээр нь шалгахад ашиглаж болно. Мэдээж anoncvs нь CVS архив дээрх зөвхөн уншигдах үйлдлүүдэд бас сайн болохоор хэрэв та FreeBSD төслийн хэсгүүдтэй хуваалцсан нэг архив дахь локал хөгжүүлэлтийг дэмжих зорилготой байгаа бол CVSup нь таны цорын ганц сонголт байх юм. <anchor id="anoncvs-usage">Нэргүй CVS-г ашиглах нь Ердөө л CVSROOT орчны хувьсагчийг FreeBSD төслийн anoncvs серверүүдийн аль нэг уруу зааснаар &man.cvs.1;-ийг нэргүй CVS архив ашиглахаар тохируулах юм. Биднийг энэ баримтыг бичиж байх үед дараах серверүүд байгааг дурдав: Франц: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (нууц үг anoncvs), ssh (нууц үггүй)) Япон: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (cvs login тушаалыг ашиглаж асуух үед нь anoncvs нууц үгийг оруулна.) Тайвань: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (cvs login тушаалыг ашиглаж асуух үед нь дурын нууц үг оруулна), ssh (нууц үггүй)) SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub АНУ: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (зөвхөн ssh - нууц үггүй) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub АНУ: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (зөвхөн ssh2 - нууц үггүй) SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub CVS нь FreeBSD-ийн хэзээ нэгэн цагт байсан (эсвэл зарим тохиолдолд ирээдүйд байх) эхүүдийн бараг л дурын хувилбарыг check out буюу шалгаж авах боломжийг олгодог болохоор та &man.cvs.1;-ийн залруулалт () туг болон түүнд зориулагдсан зарим зөвшөөрөгдөх ямар утгууд FreeBSD төслийн архивт байдгийг мэддэг байх хэрэгтэй. Залруулалтын хаягууд болон салбарын хаягууд гэсэн хоёр төрлийн хаяг байдаг. Залруулалтын хаяг нь тухайн залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм. нь хэрэглэгчдийн сонирхож болох залруулалтуудын хаягуудыг агуулдаг. Дахин хэлэхэд портын цуглуулга нь хөгжүүлэлтийн олон салбаргүй учир эдгээрийн аль нь ч портын цуглуулгын хувьд зөв биш юм. Та салбарын хаягийг заах юм бол тэр хөгжүүлэлтийн шугам дахь файлуудын сүүлийн хувилбаруудыг хүлээн авах болно. Хэрэв та ямар нэг өнгөрсөн хувилбарыг хүлээн авахыг хүсэж байгаа бол тугаар огноог заан тэгж хийж болно. Илүү дэлгэрэнгүйг &man.cvs.1; гарын авлагын хуудаснаас үзнэ үү. Жишээнүүд Ямар нэг юм хийхээсээ өмнө &man.cvs.1;-ийн гарын авлагын хуудсыг нэг бүрчлэн уншихыг зөвлөдөг хэдий ч нэргүй CVS-ийг хэрхэн ашиглахыг харуулж байгаа зарим жишээнүүдийг энд үзүүлэв: -CURRENT-с ямар нэгэн зүйл шалгаж авах нь (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs co ls <filename>src/</filename> модыг шалгаж авахын тулд SSH-г ашиглах нь: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. 6-STABLE салбар дахь &man.ls.1;-ийн хувилбарыг шалгаж авах нь: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs co -rRELENG_6 ls &man.ls.1;-д хийгдсэн өөрчлөлтүүдийн жагсаалтыг (нэгдсэн ялгаанууд хэлбэрээр) үүсгэх нь &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Өөр бусад ямар модулийн нэрс ашиглагдаж болохыг олох нь: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs co modules &prompt.user; more modules/modules Бусад эх үүсвэрүүд Дараах нэмэлт эх үүсвэрүүд нь CVS-ийг сурахад тус болж болох юм: Кал Полигийн CVS заавар. CVS гэр, CVS-ийн хөгжүүлэлт болон дэмжлэгийн нийгэм. CVSweb нь FreeBSD төслийн CVS-д зориулсан вэб интерфэйс юм. CTM-г ашиглах нь CTM CTM нь алсын сангийн модыг төвтэй синхрончлол хийхэд зориулсан арга юм. Энэ нь FreeBSD-ийн эх моднуудтай ашиглахад зориулагдаж хөгжүүлэгдсэн бөгөөд цаг хугацаа өнгөрөх тусам бусад хүмүүс бусад зорилгоор хэрэглэхэд ашигтайг мэдэж болох юм. Дельтанууд үүсгэх процессийн талаар бараг баримт байхгүй болохоор бас хэрэв та CTM-г бусад зүйлсэд зориулж ашиглахыг хүсэж байгаа бол дэлгэрэнгүй мэдээллийн талаар &a.ctm-users.name; захидлын жагсаалтад хандана уу. <application>CTM</application>-г би яагаад ашиглах ёстой вэ? CTM нь танд FreeBSD эх моднуудын локал хуулбарыг өгдөг. Модны төрөл бүрийн хэлбэрүүд байдаг. Таны бүхэл CVS мод эсвэл аль нэг салбаруудын нэгийг дагахыг хүсэж байгаагаас хамаарч CTM нь танд мэдээлэл өгч чадна. Та FreeBSD-ийн идэвхтэй хөгжүүлэгч боловч олиггүй юм уу эсвэл TCP/IP холболт байхгүй эсвэл өөрчлөлтүүдийг автоматаар тан руу илгээгддэг байлгахыг хүсэж байгаа бол CTM нь танд зориулагджээ. Та хамгийн идэвхтэй салбаруудын хувьд өдөрт гурав хүртэлх дельтануудыг авах хэрэгтэй болно. Гэхдээ та тэдгээрийг автомат цахим захидлаар илгээгддэг байхыг бодох хэрэгтэй. Шинэчлэлтүүдийн хэмжээг үргэлж аль болох бага байлгадаг. Энэ ихэвчлэн 5K-с бага байдаг, хааяа (арваас нэгт) 10-50K хэмжээтэй байдаг бөгөөд заримдаа том 100K+ эсвэл илүү бас байдаг. Та урьдчилан багцалсан хувилбарын оронд хөгжүүлэлтийн эхүүд дээр шууд ажиллахтай холбоотой гардаг төрөл бүрийн анхааруулгуудын талаар бас мэдэж байх хэрэгтэй болно. Энэ нь таныг current эхүүдийг сонгох тохиолдолд ялангуяа үнэн байдаг. Таныг FreeBSD-ийн одоо үеийн хэлбэрт байх нь хэсгийг уншихыг зөвлөдөг. <application>CTM</application>-г ашиглахад надад юу хэрэгтэй вэ? Танд хоёр зүйл хэрэгтэй: CTM програм болон түүнийг тэжээх эхний дельтанууд (current түвшингүүдэд хүрэхийн тулд). CTM програм нь хувилбар 2.0 гарснаас хойш FreeBSD-ийн хэсэг болж ирсэн бөгөөд хэрэв танд эх байгаа бол энэ нь /usr/src/usr.sbin/ctm санд байдаг. CTM-г тэжээх дельтануудыг нь FTP эсвэл цахим захидал гэсэн хоёр аргаар авч болно. Хэрэв танд Интернет уруу хандах ерөнхий FTP хандалт байгаа бол дараах FTP сайтууд нь CTM-д хандахыг дэмждэг: эсвэл толин тусгалууд хаягийг үзнэ үү. тохирох сан руу FTP хийгээд README файлыг татаж аваад тэндээс эхлээрэй. Хэрэв та өөрийн дельтануудыг цахим захидлаар авахыг хүсэж байгаа бол: CTM түгээлтийн жагсаалтуудын аль нэгэнд бүртгүүлэх хэрэгтэй. &a.ctm-cvs-cur.name; нь бүхэл CVS модыг дэмждэг. &a.ctm-src-cur.name; нь хөгжүүлэлтийн салбарын толгойг дэмждэг. &a.ctm-src-4.name; нь 4.X хувилбарыг дэмждэг, гэх мэт. (Хэрэв та өөрийгөө жагсаалтад хэрхэн бүртгүүлэхийг мэдэхгүй байгаа бол дээрх жагсаалтын нэрэн дээр дарах юм уу эсвэл &a.mailman.lists.link; уруу очоод өөрийн хүсэж байгаа жагсаалтан дээрээ дарах хэрэгтэй. Бүртгэхэд шаардлагатай бүгдийг жагсаалтын хуудас агуулсан байх ёстой.) Өөрийн CTM шинэчлэлтүүдийг хүлээн авч эхлэхдээ та тэдгээрийг задалж ашиглахдаа ctm_rmail тушаал ашиглаж болох юм. Хэрэв та процессийг бүрэн автомат загвараар ажилладаг байлгахыг хүсэж байгаа бол /etc/aliases файл дахь оруулгаас ctm_rmail програмыг шууд ашиглаж болох юм. Илүү дэлгэрэнгүйг ctm_rmail-ийн гарын авлагын хуудаснаас шалгана уу. CTM дельтануудыг авах ямар аргыг ашиглаж байгаагаас үл хамааран та &a.ctm-announce.name; захидлын жагсаалтад бүртгүүлэх хэрэгтэй. Ирээдүйд CTM системийн ажиллагааны тухай зарлалууд илгээгдэх газар нь зөвхөн энэ болох юм. Дээрх жагсаалтын нэрэн дээр дарж жагсаалтад бүртгүүлэхийн тулд заавруудыг дагах хэрэгтэй. <application>CTM</application>-г эхний удаа хэрэглэх CTM дельтануудыг ашиглаж эхлэхээсээ өмнө дельтанууд дараа дараагийн удаа үүсгэгдэхэд нь зориулж та эхлэх цэг дээр ирэх хэрэгтэй болно. Танд юу байгааг эхлээд тодорхойлох хэрэгтэй. Бүгд хоосон сангаас эхэлж болно. Өөрийн CTM-ээр дэмжигдсэн модыг эхлүүлэхийн тулд та эхний Empty буюу хоосон дельтаг ашиглах ёстой. Тодорхой нэг цэгт эдгээр started буюу эхэлсэн дельтануудын аль нэгийг өөрийн хүслээр CD дээр түгээж болохоор энэ нь зориулагдсан боловч одоогоор тийм юм болоогүй байгаа билээ. Моднууд нь хэдэн арван мегабайт байдаг болохоор өөртөө байгаагаас эхлэхийг эрхэмлэх ёстой юм. Хэрэв танд -RELEASE CD байгаа бол та эхний эхийг түүнэс хуулж эсвэл задалж болох юм. Энэ нь өгөгдлийн чухал дамжуулалтыг хэмнэх болно. Та эдгээр starter буюу эхлэх дельтануудыг дугаарт нэмэгдсэн X-ээр таньж болно (жишээ нь src-cur.3210XEmpty.gz). X-ийн дараах тэмдэглээс нь таны эхний seed буюу үрийн үүсэлд харгалзана. Дүрмээр бол Empty буюу хоосноос шилжих үндсэн шилжилт нь 100 дельта бүрээс үүсгэгдэнэ. Ингэхэд тэдгээр нь том байна! XEmpty дельтануудын хувьд 70-аас 80 мегабайт gzip хийгдсэн өгөгдөл нь нийтлэг байдаг. Эхлэх анхдагч дельтаг сонгосны дараа танд түүний дараах өндөр дугааруудтай бүх дельтанууд хэрэгтэй болно. Өөрийн өдөр тутмын амьдралдаа <application>CTM</application>-г ашиглах нь Дельтануудыг өгөхийн тулд ердөө л доор дурдсаныг хийнэ: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM нь gzip-ээр тавигдсан дельтануудыг ойлгодог болохоор та тэдгээрийг эхлээд gunzip хийх хэрэггүй юм. Энэ нь дискний зай хэмнэх болно. Бүх процессийн талаар маш нууцлаг гэж бодоогүй л бол CTM нь таны модыг хөндөхгүй байх болно. Дельтаг шалгахын тулд та тугийг бас ашиглаж болох бөгөөд CTM нь таны модыг үнэндээ хөндөхгүй; энэ нь зөвхөн дельтаны бүрэн бүтэн байдлыг шалгаж таны одоогийн модонд цэвэр хийгдэх эсэхийг л үздэг. CTM-д өгөгдөх бусад сонголтууд бас байдаг бөгөөд эдгээрийг гарын авлагын хуудаснуудаас үзнэ үү, эсвэл илүү дэлгэрэнгүйг эхүүдээс хайна уу. Ингээд л бүгд бараг болж байна. Шинэ дельта авах бүртээ өөрийн эхүүдийг хамгийн сүүлийн хувилбарт аваачихын тулд түүнийг CTM-ээр ажиллуулах хэрэгтэй. Дельтануудыг дахин татаж авахад хэцүү байгаа бол битгий устгаарай. Ямар нэг муу юм болж болзошгүй гэж үзээд тэдгээрийг та хаа нэгтэй хадгалахыг хүсэж болох юм. Танд зөвхөн уян диск байсан ч гэсэн fdwrite тушаалыг ашиглан хуулбар хийх нь зүйтэй. Өөрийн локал өөрчлөлтүүдийг хадгалах нь Хөгжүүлэгчийн хувьд эх модыг өөрчлөх эсвэл түүн дээр турших хүсэл төрж болох юм. CTM нь локал өөрчлөлтүүдийг хязгаарлалттайгаар дэмждэг: foo файлыг байгаа эсэхийг шалгахын өмнө foo.ctm файлыг эхлээд хайдаг. Хэрэв энэ файл байвал CTM нь foo-ийн оронд энэ файл дээр ажилладаг. Энэ нь бидэнд локал өөрчлөлтүүдийг хялбараар арчлах боломжийг олгодог: өөрийн өөрчлөх төлөвлөгөөтэй байгаа файлуудаа .ctm өргөтгөлтэй болгон хуулах хэрэгтэй. Дараа нь та кодыг чөлөөтэй оролдож болох бөгөөд CTM нь .ctm файлыг хамгийн сүүлийн хэлбэрт байлгах болно. <application>CTM</application>-ийн бусад сонирхолтой сонголтууд Шинэчлэлтээр яг юу хөндөгдөхийг олох Та өөрийн эх архивт CTM-ийн хийх өөрчлөлтүүдийн жагсаалтыг сонголтыг CTM-д өгөн тодорхойлж болно. Та өөрчлөлтүүдийн бүртгэлүүдийг хадгалах, өөрчлөгдсөн файлуудад урьдчилан эсвэл дараа нь боловсруулалт хийх эсвэл ердөө л хэтэрхий зовниж байгаа бол энэ нь ашигтай юм. Шинэчлэхээсээ өмнө нөөцлөлтүүд хийх Заримдаа та CTM шинэчлэлтээр өөрчлөгдөх бүх файлуудыг нөөцөлж авахыг хүсэж болох юм. сонголтыг зааснаар CTM-ийг өгөгдсөн CTM дельтагаар хөндөгдөх бүх файлуудыг нөөцөлж backup-file руу хадгалахад хүргэнэ. Шинэчлэлтээр хөндөгдөх файлуудыг хязгаарлах Заримдаа та өгөгдсөн CTM шинэчлэлтийн хүрээг хязгаарлах сонирхолтой эсвэл дельтануудын дарааллаас цөөн хэдэн файлуудыг задлах сонирхолтой байж болох юм. CTM-ийн ажилладаг файлуудын жагсаалтыг та болон сонголтуудыг ашиглан шүүлт хийх регулар илэрхийллүүдийг заан хянаж болно. Жишээ нь өөрийн хадгалсан CTM дельтануудын цуглуулгаас lib/libc/Makefile-ийн хамгийн сүүлийн хуулбарыг задалж авахын тулд дараах тушаалуудыг ажиллуулна: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* CTM дельтанд заагдсан файл бүрийн хувьд тушаалын мөрөнд өгөгдсөн дарааллаар болон сонголтуудыг өгсөн. Файл нь бүх болон сонголтууд түүнд өгөгдсөний дараа зөвхөн сонгогдох эрхтэй гэж тэмдэглэгдсэн бол CTM-ээр боловсруулагддаг. <application>CTM</application>-ийн ирээдүйн төлөвлөгөөнүүд Маш их: CTM-ийн хуурамч шинэчлэлтүүдийг илрүүлэхийн тулд CTM системд ямар нэгэн нэвтрэлт танилт ашиглах. CTM-ийн сонголтуудыг цэвэрлэх, тэдгээр нь толгой эргүүлэм, зөн совингийн эсрэг болсон. Бусад зүйлс ports цуглуулгад зориулсан дельтануудын дараалал бас байдаг боловч сонирхол тийм ч өндөр байдаггүй. CTM толин тусгалууд CTM/FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээр хандаж авах боломжтой байдаг. Хэрэв та CTM-г нэргүй FTP-ээр авахыг сонгосон бол өөртөө ойр сайтыг оролдож үзнэ үү. Асуудал гарсан тохиолдолд &a.ctm-users.name; захидлын жагсаалтад хандана уу. Калифорни, Bay Area, албан ёсны эх Өмнөд Африк, хуучин дельтануудад зориулсан нөөц сервер Тайвань/R.O.C. Хэрэв та өөртөө ойрхон толин тусгалыг олоогүй бол эсвэл толин тусгал нь бүрэн биш байгаа бол alltheweb зэрэг хайлтын системийг ашиглаад үзээрэй. CVSup-г ашиглах нь Танилцуулга CVSup нь алсын сервер хост дээр байгаа мастер CVS архиваас эх модыг шинэчлэх болон түгээхэд зориулагдсан програм хангамжийн багц юм. FreeBSD-ийн эхүүд Калифорни дахь төв хөгжүүлэлтийн машин дээрх CVS архивт арчлагдаж байдаг. CVSup-ийн тусламжтай FreeBSD хэрэглэгчид өөрсдийн эх модыг хялбараар хамгийн сүүлийн хэлбэрт аваачиж чаддаг байна. CVSup нь шинэчлэлтийн pull буюу татах загварыг ашигладаг. Татах загвар дээр клиент бүр серверээс шинэчлэлтийг хүссэн үедээ эсвэл хэрэгтэй үедээ асуудаг. Сервер нь өөрийн хэрэглэгчдээс ирэх хүсэлтүүдийг идэвхгүйгээр хүлээж байдаг. Сервер хэзээ ч хүсээгүй шинэчлэлтүүдийг илгээдэггүй. Хэрэглэгчид нь шинэчлэлтийг авахын тулд CVSup клиентийг гараар ажиллуулах юм уу эсвэл түүнийг автоматаар давтамжтайгаар ажиллуулахын тулд cron ажил тохируулах ёстой болно. Ингэж том үсгээр бичсэн CVSup ухагдахуун нь бүхэл програм хангамжийн багцыг хэлнэ. Түүний гол бүрэлдэхүүн хэсгүүд нь хэрэглэгч бүрий машин дээр ажилладаг cvsup клиент, ба FreeBSD-ийн толин тусгал сайтууд дээр ажиллаж байдаг cvsupd сервер юм. FreeBSD-ийн баримт болон захидлын жагсаалтуудыг уншиж байхдаа та sup гэж хэлснийг харж болох юм. Sup нь CVSup-ийн өмнөх үе бөгөөд ижил зорилгоор ашиглагддаг байсан. CVSup нь sup-тай бараг л адилаар ашиглагддаг бөгөөд үнэндээ sup ашиглаж болохоор тохиргооны файлуудыг ашигладаг. CVSup нь илүү хурдан бөгөөд уян хатан учраас Sup нь FreeBSD төсөлд ашиглагдахаа больсон. csup хэрэгсэл нь CVSup-г C дээр бичсэн хувилбар юм. Үүний хамгийн том давуу тал бол илүү хурдан бөгөөд Modula-3 хэлээс хамаардаггүй, тиймээс та түүнийг суулгах шаардлагагүй байдаг. Мөн хэрэв та &os; 6.2 юм уу эсвэл түүнээс хойшх хувилбаруудыг ашиглаж байгаа бол түүнийг шууд ашиглаж болно, учир нь энэ нь үндсэн системд орсон байдаг. Хуучин &os; хувилбаруудын үндсэн системд &man.csup.1; байдаггүй, гэхдээ та net/csup портууд юм уу эсвэл урьдчилан эмхэтгэсэн багцыг хялбархан суулгаж болно. csup хэрэгсэл нь гэхдээ CVS горимыг дэмждэггүй. Хэрэв та бүрэн архивыг толин тусгал хийхийг хүсэж байгаа бол CVSup-г ашиглах хэрэгтэй болно. Хэрэв та csup-г ашиглахаар шийдсэн бол CVSup-ийн суулгалт дахь алхмуудыг алгасаж энэ нийтлэлийн үлдсэн хэсгийг дагаж байхдаа CVSup гэснийг csup болгож солиорой. Суулгалт CVSup-г суулгах хамгийн хялбар арга бол FreeBSD-ийн багцын цуглуулгаас урьдчилан эмхэтгэсэн net/cvsup багцыг ашиглах явдал юм. Хэрэв та CVSup-г эхээс бүтээхийг эрхэмлэж байгаа бол net/cvsup портыг ашиглаарай. Гэхдээ урьдчилан анхааруулъя: net/cvsup порт нь Modula-3 системээс хамаардаг бөгөөд үүнийг татан авч суулгахад ихээхэн хэмжээний дискний зай болон хугацаа шаарддаг. Хэрэв та &xfree86; эсвэл &xorg; зэрэг суулгагдаагүй сервер машин дээр CVSup-г ашиглах гэж байгаа бол CVSup GUI-г агуулаагүй net/cvsup-without-gui портыг ашиглах хэрэгтэй. Хэрэв та csup-г FreeBSD 6.1 эсвэл түүнээс өмнөх хувилбаруудад суулгахыг хүсэж байгаа бол FreeBSD-ийн багцын цуглуулгаас урьдчилан эмхэтгэсэн net/csup багцыг ашиглаж болно. Хэрэв та csup-г эхээс бүтээхийг эрхэмлэж байгаа бол net/csup портыг ашиглаж болно. CVSup тохиргоо CVSup-ийн ажиллагаа supfile гэгддэг тохиргооны файлаар хянагддаг. /usr/share/examples/cvsup/ санд зарим жишээ supfiles байдаг. supfile дахь мэдээлэл CVSup-д зориулж дараах асуултуудад хариулдаг: Ямар файлуудыг та хүлээн авахыг хүсэж байна вэ? Тэдгээрийн ямар хувилбаруудыг та хүсэж байна вэ? Тэдгээрийг та хаанаас авахыг хүсэж байна вэ? Та тэдгээрийг өөрийн машиныхаа хаана байрлуулахыг хүсэж байна вэ? Та өөрийн төлвийн файлуудыг хаана байрлуулахыг хүсэж байна вэ? Дараах хэсгүүдэд бид эдгээр асуултуудад хариулан түгээмэл supfile-г бүтээх болно. Эхлээд бид supfile-ийн ерөнхий бүтцийг тайлбарлах болно. supfile нь текст файл юм. Тайлбарууд нь # тэмдэгтээс эхэлж мөр дуустал үргэлжилнэ. Хоосон мөрнүүд болон зөвхөн тайлбараас тогтох мөрүүдийг орхидог. Үлдэж байгаа мөр болгон хэрэглэгчийн авахыг хүсэж байгаа файлуудын цуглуулгыг тайлбарладаг. Мөр нь файлуудын цуглуулга буюу файлуудын логик бүлэглэлийн нэрээс эхэлдэг бөгөөд эдгээрийг сервер тодорхойлдог. Цуглуулгын нэр таны аль файлуудыг хүсэж байгааг серверт хэлдэг. Цуглуулгын нэрийн дараа талбарууд байхгүй эсвэл байж болох бөгөөд зайгаар тусгаарлагдсан байна. Эдгээр талбарууд нь дээрх асуултуудад хариулдаг. Хоёр төрлийн талбар байдаг: тугны талбарууд ба утгын талбарууд. Тугны талбар нь ганцаараа байгаа түлхүүр үгнээс тогтдог, өөрөөр хэлбэл delete эсвэл compress байна. Утгын талбар нь бас түлхүүр үгээс эхлэх боловч хоосон зайгаар тусгаарлагдалгүйгээр = болон хоёр дахь үгээс тогтоно. Жишээ нь release=cvs нь утгын талбар юм. supfile ихэвчлэн нэгээс илүү цуглуулгыг хүлээн авахаар заасан байдаг. supfile-г зохион байгуулах нэг арга нь цуглуулга бүрийн хувьд харгалзах бүх талбаруудыг зааж өгөх явдал юм. Гэхдээ энэ нь supfile-ий мөрүүдийг нэлээн урт болгодог бөгөөд supfile дахь цуглуулгуудын бүгдийн хувьд ихэнх талбарууд нь ижил байдаг болохоор таагүй юм. CVSup нь эдгээр асуудлуудыг тойрон гарах анхдагч болгох арга замтай байдаг. Тусгай псевдо цуглуулгын нэр *default-р эхэлсэн мөрүүд нь тугнууд болон supfile дахь дараа дараачийн цуглуулгуудын хувьд анхдагч болж ашиглагдах утгуудыг заахад хэрэглэгддэг. Анхдагч утгыг цуглуулгатай цуг өөр утгыг заан өгч тухайн цуглуулгын хувьд өөрчилж болдог. Анхдагчуудыг дундын supfile-д нэмэлт *default мөрүүдээр өөрчилж эсвэл дарж болдог. Ийм мэдээлэлтэйгээр бид одоо FreeBSD-CURRENT-ийн гол эх модыг хүлээн авч шинэчлэхэд зориулсан supfile-г бүтээх болно. Ямар файлуудыг та хүлээн авахыг хүсэж байна вэ? CVSup-аар авах боломжтой файлууд нь collections буюу цуглуулгууд гэгддэг бүлгүүдэд хуваагдан зохион байгуулагддаг. Байгаа цуглуулгууд нь дараах хэсэгт тайлбарлагдсан байгаа. Энэ жишээн дээр бид FreeBSD-ийн хувьд бүх гол эхийг авахыг хүсэж байна. src-all гэсэн ганц том цуглуулга бидэнд үүнийг өгөх болно. supfile-аа бүтээх эхний алхам болгож бид цуглуулгуудыг нэг мөрөнд нэгийг тавьж жагсаана (энэ тохиолдолд зөвхөн нэг мөр байна): src-all Тэдгээрийн ямар хувилбаруудыг та хүсэж байна вэ? CVSup-ийн тусламжтай та хэзээ ч юм байсан эхүүдийн бараг ямар ч хувилбарыг хүлээн авч чадна. cvsupd сервер нь бүх хувилбаруудыг агуулсан CVS архиваас шууд ажилладаг болохоор энэ нь боломжтой юм. Та тэдгээрийн алийг хүсэж байгаагаа tag= болон утга талбаруудыг ашиглан зааж өгч болно. tag= талбарыг зөв зааж өгөхдөө анхааралтай байх хэрэгтэй. Зарим хаягууд нь зөвхөн файлуудын зарим цуглуулгуудын хувьд зөв байдаг. Хэрэв та буруу эсвэл буруу бичсэн хаягийг зааж өгөх юм бол магадгүй таны устгахыг хүсээгүй файлуудыг CVSup нь устгах юм. Ялангуяа ports-* цуглуулгуудын хувьд зөвхөн tag=.-г ашиглаарай. tag= талбар нь симболын хаягийг архивт нэрлэдэг. Хоёр төрлийн хаяг байдаг бөгөөд эдгээр нь залруулалтын хаягууд болон салбарын хаягууд юм. Залруулалтын хаяг нь тухайн нэг залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм. нь хэрэглэгчдийн сонирхож болох салбарын хаягуудыг агуулдаг. CVSup-ийн тохиргооны файлд хаягийг зааж өгөхдөө өмнө нь tag= гэж өгөх ёстой (RELENG_4 нь tag=RELENG_4 болно). Зөвхөн tag=. нь портын цуглуулгад хамааралтай болохыг санаарай. Хаягийн нэрийг яг үзүүлсэн шиг бичихдээ анхааралтай байгаарай. CVSup нь зөв болон буруу хаягуудыг ялгаж чаддаггүй. Хэрэв та хаягийг буруу бичвэл CVSup нь таныг зөв хаяг өгсөн гэж ойлгон ажиллах бөгөөд энэ нь ямар ч файлуудыг заагаагүйд хүргэж болох юм. Энэ тохиолдолд энэ нь танд байгаа эхүүдийг устгах болно. Салбарын хаягийг заахад та тэр хөгжүүлэлтийн шугамын файлуудын хамгийн сүүлийн хувилбаруудыг авах болно. Хэрэв та ямар нэг өнгөрсөн хувилбарыг авахыг хүсвэл талбарт огноог заан хийж өгч болно. &man.cvsup.1; гарын авлагын хуудас үүнийг хэрхэн хийхийг тайлбарладаг. Бидний жишээний хувьд FreeBSD-CURRENT-г авахыг бид хүсэж байна. Бид энэ мөрийг өөрсдийн supfile-ийн эхэнд нэмнэ: *default tag=. Хэрэв та tag= талбар эсвэл date= талбарын алийг ч зааж өгөөгүй бол чухал тусгай тохиолдол гарч ирнэ. Энэ тохиолдолд тодорхой нэг хувилбарыг хүлээн авахын оронд серверийн CVS архиваас RCS файлуудыг шууд хүлээн авдаг. Ажиллагааны ийм горимыг хөгжүүлэгчид ерөнхийдөө эрхэмлэдэг. Өөрсдийн системүүд дээр архивын хуулбарыг арчилснаар тэд залруулалтын түүхийг хайж файлуудын өнгөрсөн хувилбаруудыг шалгах боломжтой болох юм. Гэхдээ энэ хонжоо нь дискний зайны хувьд их өртөгтэйгээр орж ирдэг. Тэдгээрийг та хаанаас авахыг хүсэж байна вэ? Бид host= талбарыг ашиглан cvsup-д өөрийн шинэчлэлтүүдийг хаанаас авахыг хэлж өгдөг. CVSup толин тусгал сайтуудын аль нь ч болох боловч та өөрийн кибер ертөнцдөө ойрхныг турших хэрэгтэй. Энэ жишээн дээр бид зохиомол FreeBSD түгээлтийн сайт cvsup99.FreeBSD.org-г ашиглах болно: *default host=cvsup99.FreeBSD.org Та CVSup-г ашиглахаасаа өмнө үнэн хэрэг дээрээ байгаа жинхэнэ хостоор солих хэрэгтэй болно. cvsup-г ажиллуулах үедээ та хостын тохируулгыг тушаалын мөрөөс сонголтоор өөрчлөн дарж болно. Та тэдгээрийг өөрийн машиныхаа хаана байрлуулахыг хүсэж байна вэ? prefix= талбар нь хүлээн авсан файлуудыг хаана байрлуулахыг cvsup хэлнэ. Энэ жишээн дээр бид эх файлуудыг өөрсдийн гол эх модны /usr/src байрлалд шууд байрлуулах болно. src сан нь бидний хүлээн авахаар сонгосон цуглуулгад далд байгаа болохоор энэ нь зөв юм: *default prefix=/usr cvsup өөрийн төлвийн файлуудыг хаана арчлах ёстой вэ? CVSup клиент нь base буюу үндсэн гэгддэг сан дахь зарим төлвийн файлуудыг арчилж байдаг. Эдгээр файлууд нь ямар шинэчлэлтүүдийг та аль хэдийн хүлээн авсныг хянаж CVSup-ийг илүү үр ашигтай ажиллахад тусалдаг. Бид стандарт үндсэн сан /var/db-г ашиглах болно: *default base=/var/db Хэрэв таны үндсэн сан байхгүй байгаа бол одоо түүнийг үүсгэх хугацаа болсон байна. Хэрэв үндсэн сан байхгүй бол cvsup ажиллахаас татгалзах болно. supfile-ийн бусад тохиргоонууд: supfile-д ерөнхийдөө байх ёстой бас нэг мөр байдаг: *default release=cvs delete use-rel-suffix compress release=cvs нь сервер гол FreeBSD CVS архиваас өөрийн мэдээллийг авах ёстойг зааж байна. Энэ нь бараг үргэлж тохиолддог, хэдийгээр бусад боломжууд байдаг боловч энэ хэлэлцүүлгийн хүрээнээс хальдаг. delete нь CVSup-д файлууд устгах зөвшөөрөл өгдөг. CVSup нь таны эх модыг байнга хамгийн сүүлийн хэлбэрт байлгадаг байхын тулд та үүнийг үргэлж зааж өгөх хэрэгтэй. CVSup нь өөрийн хариуцдаг зөвхөн тэр файлуудыг устгах тал дээр их анхааралтай ажилладаг. Танд байж болох нэмэлт файлууд тэр хэвээрээ үлддэг. use-rel-suffix нь ... ойлгоход төвөгтэй юм. Хэрэв та үүний тухай жинхэнээсээ мэдье гэж хүсэж байгаа бол &man.cvsup.1; гарын авлагын хуудаснаас үзнэ үү. Хэрэв тийм биш бол ердөө заагаад л тэгээд санаа зовох хэрэггүй юм. compress нь холбооны суваг дээр gzip загварын шахалтын хэрэглээг идэвхжүүлдэг. Хэрэв таны сүлжээний холболт T1 эсвэл түүнээс хурдан бол та магадгүй шахалтыг ашиглах хэрэггүй юм. Хэрэв үгүй бол энэ нь бодитойгоор тусалдаг. Бүгдийг нийлүүлбэл: Энд бидний жишээнд зориулсан бүхэл supfile байна: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all <filename>refuse</filename> файл Дээр дурдсанаар CVSup нь татах аргыг ашигладаг. Энэ нь юу гэсэн үг вэ гэхээр та CVSup сервер руу холбогдох бөгөөд энэ нь Над дээрээс татаж авах боломжтой зүйлс энэ байна... гэж хэлэх бөгөөд таны клиент OK, Би энэ,энэ, энийг авна. гэж хариулна гэсэн үг юм. Анхдагч тохиргоон дээр CVSup клиент нь таны тохиргооны файлд сонгосон хаяг болон цуглуулгатай холбоотой бүх файлыг авна. Гэхдээ үүнийг та үргэлж хүсэхгүй байх, ялангуяа хэрэв та doc, ports, эсвэл www моднуудыг авч байгаа бол үүнийг хийхийг хүсэхгүй байх — ихэнх хүмүүс дөрөв эсвэл таван хэлийг уншиж чаддаггүй бөгөөд тиймээс тэдэнд хэлтэй холбоотой файлуудыг татаж авах хэрэггүй байдаг. Хэрэв та портын цуглуулгыг CVSup хийж байгаа бол та цуглуулга бүрийг тусад нь заан өгч үүнийг тойрон гарч болно (өөрөөр хэлбэл, ports-astrology, ports-biology, гэх мэтээр ports-all гэхийн оронд). Гэхдээ doc болон www моднууд нь хэлтэй холбоотой цуглуулгуудтай байдаггүй болохоор та CVSup-ийн олон сайн боломжуудын нэгийг ашиглах ёстой нь refuse юм. refuse файл нь үндсэндээ CVSup-д цуглуулгаас файл болгоныг татаж авахгүй гэдгийг хэлдэг; өөрөөр хэлбэл клиентэд серверээс зарим файлууд татаж авахаас татгалзахыг хэлж өгдөг. refuse файл нь base/sup/ сангаас олдож болно (эсвэл хэрэв танд ийм файл байхгүй байгаа бол түүнийг дээрх санд байрлуулах хэрэгтэй). base нь таны supfile-д тодорхойлогдсон байдаг; бидний тодорхойлсон base нь /var/db бөгөөд энэ нь анхдагчаар refuse файл нь /var/db/sup/refuse гэсэн үг юм. refuse файл нь маш хялбар хэлбэршилттэй байдаг; энэ нь таны татаж авахыг хүсээгүй файлууд эсвэл сангуудын нэрийг агуулдаг. Жишээ нь хэрэв та Англи болон Германаар бага зэрэг ярьдгаас өөр хэлээр ярьдаггүй бөгөөд баримтын Герман орчуулгыг авах сонирхолгүй байвал өөрийн refuse файлд дараах: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* мөрүүд болон гэх мэтээр бусад хэлнүүдийн хувьд оруулж өгөх хэрэгтэй (та бүрэн жагсаалтыг FreeBSD CVS архивыг шалган олж болно). Энэ ашигтай боломжийг ашиглан удаан холболттой юм уу эсвэл өөрсдийн Интернэтийн холболтод минутаар төлдөг хэрэглэгчид үнэ цэнэтэй хугацаагаа хэмнэх болно. Учир нь тэд өөрсдийн хэзээ ч ашиглахгүй файлаа татаж авах шаардлагагүй болох юм. CVSup-ийн refuse файлууд болон бусад сайхан боломжуудын талаар илүү мэдээллийг түүний гарын авлагын хуудаснаас үзнэ үү. <application>CVSup</application>-г ажиллуулах нь Одоо та шинэчлэлт хийж үзэхэд бэлэн боллоо. Үүнийг хийх тушаалын мөр их амархан: &prompt.root; cvsup supfile энд байгаа supfile нь таны дөнгөж үүсгэсэн supfile-ийн нэр юм. Таныг X11 дээр ажиллаж байна гэж үзвэл cvsup нь энгийн зүйлсийг хийх зарим товчлууруудтай GUI цонхыг үзүүлэх болно. go товчлуурыг дарж ажиллахыг нь хараарай. Та энэ жишээн дээр өөрийн жинхэнэ /usr/src модыг шинэчилж байгаа болохоор cvsup нь таны файлуудыг шинэчлэхэд шаардлагатай зөвшөөрлүүдтэй байхын тулд та програмыг root эрхээс ажиллуулах хэрэгтэй болно. Өөрийн тохиргооны файлыг дөнгөж үүсгэсэн бөгөөд урьд нь энэ програмыг хэзээ ч ашиглаж байгаагүй бол таныг бухимдуулж магадгүй юм. Өөрийн файлуудыг хөндөлгүйгээр туршилтын журмаар ажиллуулах хялбар арга байдаг. Хаа нэгтээ хоосон сан үүсгээд түүнийг тушаалын мөрөнд нэмэлт өгөгдлөөр оруулж өгнө: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest Таны заасан сан бүх файлын шинэчлэлтүүдийн хувьд очих сан болдог. CVSup нь /usr/src сан доторх таны энгийн файлуудыг шалгадаг, гэхдээ тэдгээрийн алийг ч өөрчлөх буюу устгахгүй. Файлын шинэчлэлтүүд харин /var/tmp/dest/usr/src санд хийгдэнэ. CVSup нь ингэж ажиллахдаа бас өөрийн үндсэн сангийн төлвийн файлуудыг өөрчлөлгүйгээр үлдээдэг. Тэдгээр файлуудын шинэ хувилбарууд заагдсан сан уруу бичигдэх болно. Танд /usr/src сан уруу унших эрх л байхад иймэрхүү туршилтын ажиллагааг гүйцэтгэхэд root эрх байх заавал шаардлагагүй юм. Хэрэв та X11-г ажиллуулахгүй байгаа юм уу эсвэл танд GUI таалагддаггүй бол cvsup-г ажиллуулахдаа тушаалын мөрөн дээр хоёр сонголтыг нэмж өгөх хэрэгтэй: &prompt.root; cvsup -g -L 2 supfile сонголт нь CVSup-д өөрийн GUI-г ашиглахгүйг хэлнэ. Хэрэв та X11-ийг ажиллуулахгүй байгаа бол энэ автомат байдаг, үгүй бол та үүнийг зааж өгөх хэрэгтэй. нь CVSup-д хийж байгаа бүх шинэчлэлтүүдийнхээ талаар дэлгэрэнгүй мэдээллийг үзүүлэхийг хэлж өгнө. Гурван түвшний харуулах горим байдаг бөгөөд энэ нь хүртэл байна. Анхдагч нь 0 байх бөгөөд энэ нь алдааны мэдэгдлээс бусдыг харуулахгүй. Бусад олон сонголтууд байдаг. Тэдгээрийн товч жагсаалтыг үзэхийн тулд cvsup -H гэж бичнэ. Илүү дэлгэрэнгүй тайлбаруудын талаар гарын авлагын хуудсыг үзнэ үү. Шинэчлэлт ажилладаг аргад сэтгэл ханамжтай болсныхоо дараа та CVSup-г давтамжтайгаар ажиллуулахын тулд &man.cron.8; ашиглан хийж өгч болно. Мэдээж та &man.cron.8;-с CVSup-г ажиллуулахдаа өөрийнхөө GUI-г ашиглахгүй болгох хэрэгтэй. <application>CVSup</application>-ийн файлын цуглуулгууд CVSup-ийн файлын цуглуулгууд нь шатлалтайгаар зохион байгуулагдсан байдаг. Цөөн том цуглуулгууд байдаг бөгөөд тэдгээр нь арай жижиг дэд цуглуулгуудад хуваагддаг. Том цуглуулгыг хүлээн авах нь түүний дэд цуглуулгууд тус бүрийг хүлээн авахтай адил юм. Цуглуулга хоорондын шаталсан холбоонууд нь доорх жагсаалт дахь догол ашиглалтаар тусгагддаг. Хамгийн түгээмэл хэрэглэгддэг цуглуулгууд нь src-all, болон ports-all юм. Бусад цуглуулгуудыг тусгай зорилгоор зөвхөн жижиг бүлэг хүмүүс ашигладаг бөгөөд зарим толин тусгал сайтууд тэдгээрийг бүгдийг агуулдаггүй байж болох юм. cvs-all release=cvs Криптограф кодыг оролцуулаад FreeBSD-ийн гол CVS архив. distrib release=cvs FreeBSD-ийн түгээлт болон толин тусгал хийхтэй холбоотой файлууд. doc-all release=cvs FreeBSD гарын авлагын эхүүд ба бусад баримт. Энэ нь FreeBSD-ийн вэб сайтын файлуудыг агуулдаггүй. ports-all release=cvs FreeBSD-ийн портын цуглуулга. Хэрэв та бүхэл ports-all-г (бүх портын мод) шинэчлэхийг хүсэхгүй байгаа бөгөөд доор жагсаагдсан дэд цуглуулгуудын нэгийг ашиглаж байгаа бол ports-base дэд цуглуулгыг шинэчилсэн эсэхээ үргэлж шалгаж байх хэрэгтэй. ports-base-ээр танилцуулагдсан портын бүтээлтийн дэд бүтцэд ямар нэгэн өөрчлөлт орох болгонд тэдгээр өөрчлөлтүүд нь жинхэнэ портуудад тун удахгүй ашиглагдах нь бараг л тодорхой байдаг юм. Тиймээс хэрэв та зөвхөн жинхэнэ портуудыг шинэчилж тэдгээр нь шинэ боломжуудын заримыг ашигладаг бол тэдгээрийн бүтээлт нь зарим нэг ид шидийн алдааны мэдэгдэлтэйгээр амжилтгүй болох маш их магадлалтай юм. Энэ тохиолдолд хамгийн эхэнд хийх зүйл бол таны ports-base дэд цуглуулга хамгийн сүүлийн үеийнх эсэхийг шалгах хэрэгтэй юм. Хэрэв та ports/INDEX-ийн өөрийн локал хуулбарыг бүтээх гэж байгаа бол ports-all буюу бүх портыг хүлээж авах ёстой (бүх портын мод). ports/INDEX-г хэсэг модтой бүтээхийг дэмждэггүй. FAQ хаягийг үзнэ үү. ports-accessibility release=cvs Хөгжлийн бэрхшээлтэй хэрэглэгчдэд туслахад зориулсан програм хангамж. ports-arabic release=cvs Араб хэлний дэмжлэг. ports-archivers release=cvs Архивлах хэрэгслүүд. ports-astro release=cvs Одон оронтой холбоотой портууд. ports-audio release=cvs Дууны дэмжлэг. ports-base release=cvs Портын цуглуулгын бүтээх дэд бүтэц - төрөл бүрийн файлууд /usr/ports сангийн Mk/ болон Tools/ дэд сангуудад байрладаг. Дээрх чухал анхааруулгыг үзнэ үү: та FreeBSD-ийн портын цуглуулгын ямар ч хэсгийг шинэчлэхдээ энэ дэд цуглуулгыг үргэлж шинэчилж байх хэрэгтэй! ports-benchmarks release=cvs Бенчмаркууд. ports-biology release=cvs Биологи. ports-cad release=cvs Компьютерийн тусламжтай дизайн хийх хэрэгслүүд. ports-chinese release=cvs Хятад хэлний дэмжлэг. ports-comms release=cvs Холбооны програм хангамж. ports-converters release=cvs тэмдэгтийн код хөрвүүлэгчид. ports-databases release=cvs Мэдээллийн баазууд. ports-deskutils release=cvs Компьютер зохион бүтээгдэхээс өмнө ширээн дээр байдаг байсан зүйлс. ports-devel release=cvs Хөгжүүлэлтийн багажууд. ports-dns release=cvs DNS-тэй холбоотой програм хангамж. ports-editors release=cvs Засварлагчид. ports-emulators release=cvs Бусад үйлдлийн системүүдэд зориулсан эмуляторууд. ports-finance release=cvs Банк, санхүү болон тэдгээртэй холбоотой програмууд. ports-ftp release=cvs FTP клиент ба серверийн багажууд. ports-games release=cvs Тоглоомууд. ports-german release=cvs Герман хэлний дэмжлэг. ports-graphics release=cvs Графикийн багажууд. ports-hebrew release=cvs Хэбрю хэлний дэмжлэг. ports-hungarian release=cvs Унгар хэлний дэмжлэг. ports-irc release=cvs Internet Relay Chat буюу чалчих багажууд. ports-japanese release=cvs Япон хэлний дэмжлэг. ports-java release=cvs &java; багажууд. ports-korean release=cvs Солонгос хэлний дэмжлэг. ports-lang release=cvs Програмчлалын хэлнүүд. ports-mail release=cvs Захидлын програмууд. ports-math release=cvs Тоо тооцоолох програм хангамж. ports-mbone release=cvs MBone програмууд. ports-misc release=cvs Бусад багажууд. ports-multimedia release=cvs Мультимедиа програм хангамж. ports-net release=cvs Сүлжээний програм хангамж. ports-net-im release=cvs Шуурхай мэдэгдэл (instant messaging) илгээх програм хангамж. ports-net-mgmt release=cvs Сүлжээний удирдлагын програм хангамж. ports-net-p2p release=cvs p2p сүлжээ. ports-news release=cvs USENET мэдээний програм хангамж. ports-palm release=cvs Palm төрлийн төхөөрөмжүүдэд зориулсан програм хангамжийн дэмжлэг. ports-polish release=cvs Польш хэлний дэмжлэг. ports-ports-mgmt release=cvs Портууд болон багцуудыг удирдах багажууд. ports-portuguese release=cvs Португал хэлний дэмжлэг. ports-print release=cvs Хэвлэлтийн програм хангамж. ports-russian release=cvs Орос хэлний дэмжлэг. ports-science release=cvs Шинжлэх ухаан. ports-security release=cvs Аюулгүй байдлын хэрэгслүүд. ports-shells release=cvs Тушаалын мөрийн бүрхүүлүүд. ports-sysutils release=cvs Системийн хэрэгслүүд. ports-textproc release=cvs текст боловсруулах хэрэгслүүд (ширээний хэвлэл ордоггүй). ports-ukrainian release=cvs Украйн хэлний дэмжлэг. ports-vietnamese release=cvs Вьетнам хэлний дэмжлэг. ports-www release=cvs World Wide Web-тэй холбоотой програм хангамж. ports-x11 release=cvs X Цонхны системийг дэмжих портууд. ports-x11-clocks release=cvs X11 цагнууд. ports-x11-drivers release=cvs X11 драйверууд. ports-x11-fm release=cvs X11 файл менежерүүд. ports-x11-fonts release=cvs X11 үсгийн маягууд ба үсгийн маягийн хэрэгслүүд. ports-x11-toolkits release=cvs X11 багажны цуглуулгууд. ports-x11-servers release=cvs X11 серверүүд. ports-x11-themes release=cvs X11 харуулах маягууд. ports-x11-wm release=cvs X11 цонхны менежерүүд. projects-all release=cvs FreeBSD төслийн архив дахь эхүүд. src-all release=cvs Криптограф кодыг оролцуулаад FreeBSD-ийн гол эхүүд. src-base release=cvs /usr/src сангийн дээр байрлах бусад файлууд. src-bin release=cvs Ганц хэрэглэгчийн горимд хэрэг болох хэрэглэгчийн багажууд (/usr/src/bin). src-cddl release=cvs CDDL лицензийн доор байдаг хэрэгслүүд болон сангууд (/usr/src/cddl). src-contrib release=cvs Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах хэрэгслүүд ба сангууд (/usr/src/contrib). src-crypto release=cvs Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах криптограф хэрэгслүүд ба сангууд (/usr/src/crypto). src-eBones release=cvs Kerberos ба DES (/usr/src/eBones). FreeBSD-ийн одоогийн хувилбаруудад ашигладаггүй. src-etc release=cvs Системийн тохиргооны файлууд (/usr/src/etc). src-games release=cvs Тоглоомууд (/usr/src/games). src-gnu release=cvs GNU Нийтийн Лицензтэй хэрэгслүүд (/usr/src/gnu). src-include release=cvs Толгой файлууд (/usr/src/include). src-kerberos5 release=cvs Kerberos5 аюулгүй байдлын багц (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV аюулгүй байдлын багц (/usr/src/kerberosIV). src-lib release=cvs Сангууд (/usr/src/lib). src-libexec release=cvs Бусад програмуудаар ажилладаг системийн програмууд (/usr/src/libexec). src-release release=cvs FreeBSD хувилбар гаргахад шаардагдах файлууд (/usr/src/release). src-rescue release=cvs Яаралтай сэргээлт хийхэд зориулсан статикаар холболт хийгдсэн програмууд; &man.rescue.8;-г үзнэ үү (/usr/src/rescue). src-sbin release=cvs Ганц хэрэглэгчийн горимд зориулсан системийн хэрэгслүүд (/usr/src/sbin). src-secure release=cvs Криптограф сангууд ба тушаалууд (/usr/src/secure). src-share release=cvs Олон системүүдийн хооронд хуваалцаж болох файлууд (/usr/src/share). src-sys release=cvs Цөм (/usr/src/sys). src-sys-crypto release=cvs Цөмийн криптограф код (/usr/src/sys/crypto). src-tools release=cvs FreeBSD-г арчлахад зориулсан төрөл бүрийн хэрэгслүүд (/usr/src/tools). src-usrbin release=cvs Хэрэглэгчийн хэрэгслүүд (/usr/src/usr.bin). src-usrsbin release=cvs Системийн хэрэгслүүд (/usr/src/usr.sbin). www release=cvs FreeBSD WWW сайтын эх. distrib release=self CVSup серверийн өөрийн тохиргооны файлууд. CVSup толин тусгал сайтуудад хэрэглэгддэг. gnats release=current GNATS алдаа мөрдөх мэдээллийн бааз. mail-archive release=current FreeBSD захидлын жагсаалтын архив. www release=current Урьдчилан боловсруулсан FreeBSD WWW сайтын файлууд (эх файлууд биш). WWW толин тусгал сайтуудад хэрэглэгддэг. Дэлгэрэнгүй мэдээллийг CVSup FAQ болон бусад CVSup-ийн тухай мэдээллийг CVSup гэрийн хуудас хаягаас үзнэ үү. Ихэнх FreeBSD-тэй холбоотой CVSup-ийн хэлэлцүүлэг &a.hackers;-д болдог. Програмын шинэ хувилбар тэнд, бас &a.announce;-д зарлагддаг. CVSup-ийн талаар асуултууд эсвэл алдааны тайлангуудыг CVSup FAQ холбоосоос үзнэ үү. CVSup сайтууд FreeBSD-д зориулсан CVSup серверүүд дараах хаягууд дээр ажиллаж байгаа: &chap.mirrors.cvsup.inc; - - - Portsnap-г ашиглах нь - - - Танилцуулга - - Portsnap нь &os;-ийн портын модыг - аюулгүйгээр түгээхэд зориулагдсан систем юм. Дунджаар цаг тутам - портын модны snapshot буюу хормын хувилбар үүсгэгдэж - дахин багцлагдаж криптографын хувьд баталгаажуулагддаг. Үүний үр дүнд гарсан - файлууд нь дараа нь HTTP-ээр түгээгддэг. - - CVSup-ийн адил - Portsnap нь шинэчлэлтийн - pull буюу татах - загварыг ашигладаг: Багцлагдаж баталгаажуулагдсан портын моднууд - клиентүүдээс ирэх файлын хүсэлтийг идэвхгүйгээр хүлээж байдаг вэб сервер дээр - байрлуулагддаг. Хэрэглэгчид шинэчлэлтүүдийг татаж авахын тулд - &man.portsnap.8;-г гараар ажиллуулах эсвэл шинэчлэлтүүдийг автоматаар - тогтмол татаж авдгаар &man.cron.8; ажлыг тохируулах ёстой. - - Техникийн шалтгаануудаас болоод Portsnap - нь амьд портын модыг /usr/ports/ - санд шууд шинэчилдэггүй; харин анхдагчаар /var/db/portsnap/ - санд хадгалагдсан портын модны шахагдсан хуулбараар дамжуулан ажилладаг. - Энэ шахагдсан хуулбар нь дараа нь амьд портын модыг шинэчлэхэд хэрэглэгддэг. - - - Хэрэв Portsnap нь &os;-ийн - портын цуглуулгаас суулгагдсан бол түүний шахагдсан хормын хувилбарт - зориулсан анхдагч байрлал нь /var/db/portsnap/-ийн - оронд /usr/local/portsnap/ байх болно. - - - - - Суулгалт - - &os; 6.0 болон сүүлийн хувилбарууд дээр Portsnap нь - &os; үндсэн систем дээр байдаг. &os;-ийн хуучин хувилбарууд дээр үүнийг - ports-mgmt/portsnap портыг - ашиглан суулгаж болно. - - - - Portsnap-ийн тохиргоо - - Portsnap-ийн ажиллагаа - /etc/portsnap.conf тохиргооны файлаар хянагддаг. - Ихэнх хэрэглэгчдийн хувьд анхдагч тохиргооны файл хангалттай; илүү дэлгэрэнгүйг - &man.portsnap.conf.5; гарын авлагын хуудаснаас лавлана уу. - - - Хэрэв Portsnap нь &os;-ийн - портын цуглуулгаас суулгагдсан бол /etc/portsnap.conf-ийн - оронд /usr/local/etc/portsnap.conf тохиргооны файлыг - ашиглах болно. Энэ тохиргооны файл нь порт суулгагдах үед үүсгэгддэггүй, гэхдээ - жишээ тохиргооны файл түгээгддэг; түүнийг байрлал уруу нь хуулаад дараах - тушаалыг ажиллуулна: - - &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf - - - - - <application>Portsnap</application>-г эхний удаа ажиллуулах нь - - &man.portsnap.8; эхний удаа ажиллахдаа бүхэл портын модны шахагдсан - хормын хувилбарыг /var/db/portsnap/ (хэрэв - Portsnap нь портын цуглуулгаас суулгагдсан бол - /usr/local/portsnap/ байна) руу татаж - авах хэрэгтэй болдог. 2006 оны эхнээс эхлээд энэ нь ойролцоогоор 41 MB - татаж авахаар байна. - - &prompt.root; portsnap fetch - - Шахагдсан хормын хувилбар татагдсаны дараа портын модны амьд - хуулбарыг /usr/ports/ руу задалж болно. Энэ нь - портын модны аль хэсгүүд сүүлд шинэчлэгдэх ёстойг portsnap тодорхойлж - чадах үндсэн шугамыг тогтоож өгдөг болохоор портын мод (өөрөөр хэлбэл - CVSup ашиглан) энэ сан уруу үүсгэгдсэн - байсан ч гэсэн энэ үйлдэл шаардлагатай байдаг. - - &prompt.root; portsnap extract - - - Анхдагч суулгалтад /usr/ports - сан үүсгэгддэггүй. Хэрэв та &os; 6.0-RELEASE-г ажиллуулж байгаа бол - энэ нь portsnap-г ашиглаж эхлэхээс өмнө үүсгэгдсэн - байх ёстой. &os; эсвэл Portsnap-ийн сүүлийн - хувилбарууд дээр энэ үйлдэл нь portsnap тушаалыг - эхлэн ашиглахад автоматаар хийгдэх болно. - - - - - Портын модыг шинэчлэх нь - - Портын модны эхний шахагдсан хормын хувилбар татагдаж - /usr/ports/ руу задлагдсаны дараа - портын модыг шинэчлэх явц хоёр алхмаас тогтоно: шинэчлэлтүүдийг - шахагдсан хормын хувилбар руу татан авч - амьд портын модыг шинэчлэхийн - тулд тэдгээрийг ашиглана. Эдгээр хоёр алхмыг portsnap - руу нэг тушаалаар зааж өгч болно: - - &prompt.root; portsnap fetch update - - - portsnap-ийн зарим хуучин хувилбарууд - энэ бичлэгийг дэмждэггүй; хэрэв энэ нь амжилтгүй болвол доор дурдсаныг - туршаад үзээрэй: - - &prompt.root; portsnap fetch -&prompt.root; portsnap update - - - - - Portsnap-г cron-с ажиллуулах нь - - Portsnap серверүүдэд - хандахад олон хүн холбогдсон асуудлуудыг - тойрон гарахын тулд portsnap fetch - тушаал нь &man.cron.8; ажлаас ажиллахгүй. Харин - тусгай portsnap cron тушаал байх - бөгөөд энэ нь шинэчлэлтүүдийг татаж авахаасаа өмнө - 3600 секунд хүртэл санамсаргүй хугацаагаар хүлээдэг. - - Мөн энэ нь порт бүтээгдэж байх үед юм уу эсвэл суулгагдаж байх үед ажиллавал - асуудлууд үүсгэх магадлалтай болохоор portsnap update - тушаалыг cron ажлаас ажиллуулахгүй - байхыг тууштай зөвлөдөг. Гэхдээ портын INDEX - файлуудыг шинэчлэх нь аюулгүй байдаг бөгөөд үүнийг - тугийг portsnap тушаалд өгч хийж болно. - (Мэдээж хэрэв portsnap -I update нь - cron-с ажиллавал үлдсэн модыг шинэчлэхийн - тулд portsnap update тушаалыг - туггүйгээр дараа нь ажиллуулах хэрэгтэй болно.) - - Дараах мөрийг /etc/crontab файлд - нэмэхэд portsnap-ийг өөрийн шахагдсан хормын - хувилбар болон INDEX файлуудыг - /usr/ports/ санд шинэчлэж - суулгагдсан портуудаас хуучин портууд байвал цахим захидал илгээхэд - хүргэх болно: - - 0 3 * * * root portsnap -I cron update && pkg_version -vIL= - - - Хэрэв системийн цагийг локал цагийн бүс гэж тохируулаагүй бол - Portsnap серверүүд дээр ачааллыг - тэгш хуваарилахын тулд 3 гэдгийг 0-с 23-ын - хоорондох санамсаргүй утгаар сольно уу. - - - portsnap-ийн зарим хуучин хувилбарууд - portsnap-тай цуг зэрэг олон тушаалуудыг жагсаахыг дэмждэггүй - (өөрөөр хэлбэл cron update). Хэрэв - дээрх мөр амжилтгүй болвол portsnap -I cron update - тушаалыг portsnap cron && portsnap -I update - тушаалуудаар солиод үзээрэй. - - - CVS Tags буюу хаягууд cvs эсвэл CVSup ашиглан эхийг авах юм уу эсвэл шинэчилж байгаа үед revision tag буюу залруулалтын хаягийг зааж өгөх ёстой байдаг. Залруулалтын хаяг нь &os; хөгжүүлэлтийн тодорхой нэг байх юм уу эсвэл хугацааны тодорхой нэг цэг байдаг. Эхнийх нь branch tags буюу салбарын хаягууд гэгддэг бөгөөд хоёр дахь нь хувилбарын хаягууд гэгддэг. Салбарын хаягууд HEAD-с (энэ нь үргэлж зөв хаяг байдаг) бусад бүх хаягууд зөвхөн src/ модонд хамаардаг. ports/, doc/, болон www/ моднууд нь салбарладаггүй. HEAD Гол шугамын симболын нэр, эсвэл FreeBSD-CURRENT. Залруулалт заагаагүй тохиолдолд бас анхдагч байдаг. CVSup-д энэ хаяг нь . гэсэн тэмдэгтээр илэрхийлэгддэг (цэг биш харин . тэмдэгт). CVS-д энэ нь залруулалт заагаагүй тохиолдолд анхдагч байдаг. Хэрэв та өөрөө хүсээгүй л бол STABLE машин дээр CURRENT эхийг татан авч шинэчлэх нь ихэвчлэн тийм ч сайн санаа биш юм. RELENG_7 FreeBSD-7.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 7-STABLE гэгддэг RELENG_7_0 FreeBSD-7.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6 FreeBSD-6.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 6-STABLE гэгддэг RELENG_6_3 FreeBSD-6.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_2 FreeBSD-6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_1 FreeBSD-6.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_0 FreeBSD-6.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5 FreeBSD-5.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 5-STABLE гэгддэг. RELENG_5_5 FreeBSD-5.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_4 FreeBSD-5.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_3 FreeBSD-5.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_2 FreeBSD-5.2 болон FreeBSD-5.2.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_1 FreeBSD-5.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_0 FreeBSD-5.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4 FreeBSD-4.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 4-STABLE гэгддэг. RELENG_4_11 FreeBSD-4.11-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_10 FreeBSD-4.10-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_9 FreeBSD-4.9-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_8 FreeBSD-4.8-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_7 FreeBSD-4.7-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_6 FreeBSD-4.6 болон FreeBSD-4.6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_5 FreeBSD-4.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_4 FreeBSD-4.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_3 FreeBSD-4.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_3 FreeBSD-3.X-д зориулсан хөгжүүлэлтийн шугам, бас 3.X-STABLE гэгддэг. RELENG_2_2 FreeBSD-2.2.X-д зориулсан хөгжүүлэлтийн шугам, бас 2.2-STABLE гэгддэг. Энэ салбар нь гол төлөв хуучирсан. Хувилбарын хаягууд Эдгээр хаягууд нь &os;-ийн тодорхой нэг хувилбар гарсан үеийн цагийн тодорхой цэгийг заадаг. Хувилбар инженерчлэлийн процессийн талаар Хувилбар инженерчлэлийн мэдээлэл болон Хувилбарын процесс баримтуудад илүү дэлгэрэнгүй баримтжуулагдсан байдаг. src мод нь RELENG_ гэж эхэлсэн хаягийн нэрсийг ашигладаг. ports болон doc моднууд нь RELEASE гэж эхэлсэн хаягийн нэрсийг ашигладаг. Төгсгөлд нь www мод нь хувилбаруудад зориулсан ямар нэг тусгай нэрээр хаяглагддаггүй. RELENG_7_0_0_RELEASE FreeBSD 7.0 RELENG_6_3_0_RELEASE FreeBSD 6.3 RELENG_6_2_0_RELEASE FreeBSD 6.2 RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 AFS сайтууд FreeBSD-д зориулсан AFS серверүүд нь дараах сайтууд дээр ажиллаж байна: Швед Файлуудад хүрэх зам нь: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Арчлагч ftp@stacken.kth.se rsync сайтууд Дараах сайтууд нь FreeBSD-г rsync протоколоор түгээгдэх боломжийг бүрдүүлдэг. rsync хэрэгсэл нь &man.rcp.1; тушаалтай бараг төстэйгөөр ажилладаг боловч илүү олон тохируулгуудтай бөгөөд хоёр талын файлуудын зөвхөн ялгаатайг нь дамжуулдаг. Ингэснээр сүлжээгээр хийх хамгийн сүүлийн хэлбэрт аваачих үйлдлийг ихээхэн хурдасгадаг байна. Хэрэв та FreeBSD FTP сервер юм уу эсвэл CVS архивын толин тусгал сайт бол энэ нь их ашигтай байдаг. rsync цуглуулга нь олон үйлдлийн системүүд дээр байдаг. FreeBSD-ийн хувьд net/rsync порт эсвэл багцыг үзнэ үү. Бүгд Найрамдах Чех Улс rsync://ftp.cz.FreeBSD.org/ Байгаа цуглуулгууд: ftp: FreeBSD FTP серверийн хэсэгчилсэн толин тусгал. FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Герман rsync://grappa.unix-ag.uni-kl.de/ Байгаа цуглуулгууд: freebsd-cvs: Бүрэн FreeBSD CVS архив. Үүнээс гадна энэ машин нь NetBSD болон OpenBSD төслүүдийн CVS архивуудыг бас толин тусгал хийдэг. Нидерланд rsync://ftp.nl.FreeBSD.org/ Байгаа цуглуулгууд: vol/4/freebsd-core: FreeBSD FTP серверийн бүрэн толин тусгал. Орос rsync://cvsup4.ru.FreeBSD.org/ Байгаа цуглуулгууд: FreeBSD-gnats: GNATS цох хянах мэдээллийн сан. Тайвань rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Байгаа цуглуулгууд: FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Их Британи rsync://rsync.mirror.ac.uk/ Байгаа цуглуулгууд: ftp.FreeBSD.org: FreeBSD FTP серверийн бүрэн толин тусгал. Америкийн Нэгдсэн Улс rsync://ftp-master.FreeBSD.org/ Энэ серверийг FreeBSD-ийн анхдагч толин тусгал сайтууд зөвхөн хэрэглэж болно. Байгаа цуглуулгууд: FreeBSD: FreeBSD FTP серверийн мастер архив. acl: FreeBSD-ийн мастер ACL жагсаалт. rsync://ftp13.FreeBSD.org/ Байгаа цуглуулгууд: FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.
diff --git a/mn_MN.UTF-8/books/handbook/ports/chapter.sgml b/mn_MN.UTF-8/books/handbook/ports/chapter.sgml index aa9c4dcf98..72568de6a3 100644 --- a/mn_MN.UTF-8/books/handbook/ports/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/ports/chapter.sgml @@ -1,1473 +1,1473 @@ Шагдарын Нацагдорж Орчуулсан Програм суулгах: Багцууд болон портууд Ерөнхий агуулга портууд багцууд Маш олон системийн хэрэгслүүд FreeBSD-н үндсэн системтэй нь хамт суугддаг. Гэхдээ зарим хүмүүст ажлаа гүйцээхийн тулд маш олон гуравдагчдын бэлтгэсэн програмыг суулгах шаардлага гардаг билээ. Таны систем дээр гуравдагчийн бүтээсэн програмуудыг суулгах хоёр үндсэн маш сайн аргыг FreeBSD хангаж өгдөг нь: FreeBSD-н портын цуглуулга (эх бичлэгээс нь суулгахад зориулагдсан), ба багцууд (урьдчилан хөрвүүлсэн хоёртын хэлбэрийн файлаас суулгахад зориулагдсан) юм. Энэ хоёр арга нь хоёулаа таны суулгахыг хүссэн програмын хамгийн сүүлийн хувилбарыг сүлжээ юм уу дотоод төхөөрөмжөөс суулгахад хэрэглэгдэнэ. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Гуравдагчдын бүтээсэн програмын багцыг хэрхэн суулгах. Портын цуглуулга ашиглаж гуравдагчдын програмыг эх бичлэгээс нь хэрхэн бүтээх. Өмнө суугдсан багц юм уу эсвэл портуудыг хэрхэн устгах. Портын цуглуулгын хэрэглэдэг анхдагч утгуудыг хэрхэн дарж бичих. Шаардлагатай програмын багцаа хэрхэн хайж олох. Програмаа хэрхэн шинэчилсэн түвшинд авчрах. Програм суулгацын ерөнхий ойлголт Хэрэв та урьд нь &unix; системийг хэрэглэж байсан бол, гуравдагчдын бүтээсэн програмыг суулгах явц дараах маягаар явагддаг билээ: Програмыг татаж авах. Энэ нь голдуу эх бичлэг хэлбэрээрээ юм уу эсвэл хөрвүүлэгдсэн хоёрт файлын хэлбэрээр байдаг. Авсан програмаа задлах (ихэнх нь &man.compress.1;, &man.gzip.1;, эсвэл &man.bzip2.1; нараар шахагдсан байдаг). Бичиг баримт нь хаана байгааг олоод (голдуу INSTALL юм уу README файлууд байдаг ба, эсвэл doc/ гэсэн дэд санд буй бичиг баримтууд) хэрхэн суулгах зааврыг нь унших. Хэрэв програм нь эх бичлэг хэлбэрээрээ байгаа бол, түүнийг хөрвүүлэх. Ингэхийн тулд магадгүй Makefile файлыг засварлах, эсвэл configure скриптийг ажиллуулах зэрэг ажлууд байдаг. Програмыг шалгаад, дараа нь суулгах. Хэрэв бүх зүйл сайхан бүтсэн үед л ийм явц үйлдэгддэг. Хэрэв та тусад нь FreeBSD-д зориулж порт болгоогүй програмыг суулгахыг хүсвэл, магадгүй та уг програмыг ажиллуулахын тулд тухайн програмын эх кодыг засварлах хэрэг гарна. Хэрэв та хүсэж байгаа бол, иймэрхүү уламжлалт аргаар програмыг FreeBSD дээр суулгаж болно. Гэхдээ FreeBSD дээр таны нөр их хөдөлмөрийг хөнгөлөх хоёр арга байдаг нь: багцууд болон портууд юм. Энэ баримтжуулалтыг бэлтгэж байх үед &os.numports; гаран гуравдагчийн бэлтгэсэн програмууд ийм аргаар бэлэн болсон байгаа. Ямар ч програм байсан, FreeBSD дээрх уг програмын багц гэж ердөө нэг л файлыг та татаж авах ёстой байдаг. Уг багц дотор тухайн програмын урьдчилан хөрвүүлсэн хувилбар, бичиг баримт болон тохируулга хийх скриптүүд зэрэг нь багтсан байгаа. Татаж авагдсан багц файлыг &man.pkg.add.1;, &man.pkg.delete.1;, &man.pkg.info.1; зэрэг FreeBSD-н багц зохицуулагч програмаар өөрчилж болдог. Шинэ програм суулгах явцыг нэг л тушаалаар гүйцэтгэхийг эрмэлзсэн байдаг билээ. Програмуудын FreeBSD порт гэдэг нь, тухайн програмуудыг эх бичлэгээс хөрвүүлж автоматаар суулгах зориулалттай бүлэглэгдсэн файлуудыг хэлдэг. Програмыг эх бичлэгээс нь хөрвүүлж суулгахад хэд хэдэн үйлдэл (татаж авах, задлах, нөхөх, хөрвүүлэх, суулгах) хийдгийг та санаж байгаа байх. Портын агуулж буй файлууд нь яг энэ явцыг танд зориулж автоматжуулахад зориулагдсан мэдээлэл агуулсан байдаг. Та энгийн хэдэн тушаалыг гарнаас оруулахад л, уг програм татагдаж авагдаад, задлагдан, нөхөгдөж, хөрвүүлэгдээд суугдах болно. Яг үнэн хэрэгтээ, портлох арга нь тухайн програмыг дараа нь pkg_add болон бусад багц зохицуулагч програмуудад хэрэглэгдэж болохоор багц үүсгэж хэрэглэгдэж бас болдог. Багц болон портлох энэ хоёр арга нь хоёулаа, тухайн програмын dependencies буюу хамаатан програмуудыг мэдэж байдаг. Та нэг програм суулгах шаардлагатай байгаа бөгөөд уг програм нь бас нэг програмын сан файлыг суугдсан байхыг шаарддаг байна хэмээн авч үзье. Уг хоёр програм хоёулаа FreeBSD-н порт ба багц хэлбэрээр танд байгаа гэж бодъё. Хэрэв та pkg_add тушаалыг хэрэглэх юм уу эсвэл портын аргыг хэрэглэж уг програмыг суулганэ гэвэл, энэ хоёр арга нь хоёулаа уг програмыг суулгахад шаардагдах сан файл суугдаагүй байвал суугдаагүй байна гэж мэдээлээд, тэр сан файлыг эхлээд суулгадаг. Энэ хоёр аргыг харах юм бол хоорондоо тун ижилхэн үйлдэл хийдгийг та ажиглаж магадгүй юм. Тэгээд яагаад FreeBSD гуай энэ хоёр аргатай хоёулантай нь зууралдаад байгаа юм бол гэж гайхаж мададгүй. Багц болон порт хоёр нь таны суулгах нөхцлөөс шалтгаалан өөрсдийн гэсэн хүчирхэг давуу талтай. Багцын давуу тал Програмын шахсан багц файл нь уг програмын эх бичлэгийг агуулдаггүй болохоор хэмжээний хувьд бага байдаг. Багцууд нэмэлт хөрвүүлэх үйлдэл шаарддаггүй. Mozilla, KDE, эсвэл GNOME зэрэг том програмуудыг удаавтар систем дээр суулгахаар бол, энэ арга нь тун их давуу талтай юм. Багцууд нь FreeBSD дээрх ямар нэгэн хөрвүүлэх явцын тухай мэдээлэл шаарддаггүй. Портын давуу талууд Багцыг аль болох олон систем дээр тохирогдон суулгах гэж хичээсэн болохоор, ийм багц нь маш өргөн дэлгэр сонголттойгоор хөрвүүлэгдэж бэлтгэгдсэн байдаг. Порт хэрэглэн програм суулгахаар бол, (жишээ нь) Pentium 4 эсвэл Athlon процессордоо зориулж програмын тохируулгыг өөрчилж болдог. Зарим програмууд өөрийнхөө чадах болон чадахгүй зэрэг нөхцлөөсөө хамаараад хөрвүүлэгдэх явцад өөрчлөлт хийгдэх тохиолдлууд байдаг. Жишээ нь, Apache програм нь маш олон төрлийн өөртөө агуулсан тохиргоотой ирдэг. Ийм програмыг та портоос бүтээх үедээ анхдагч тохиргоонуудыг нь өөрчилж өөртөө тохируулж болно. Заримдаа, ижил төрлийн програмууд өөрсдийнхөө онцгой тохиргооноос хамаараад хэдэн хэдэн янзаар хөрвүүлэгдэж багцлагдсан байдаг. Жишээ нь, Х11 сервер суусан эсэхээс хамаараад Ghostscript програм нь ghostscript гэсэн нэртэй багцлагдсан байдаг ба бас ghostscript-nox11 гэсэн нэрээр мөн багц хэлбэртэй байдаг. Багцлах аргад иймэрхүү явцуу тохируулгаас хамаарсан арга байдаг боловч, хэрэв хөрвүүлэх үеийн тохиргоо нь ихсэх болбол энэ арга нь тун явуургүй болдог билээ. Зарим програмын лицензэнд, уг програмыг хөрвүүлэгдсэн хэлбэрээр түгээхийг хорьсон байдаг. Тийм програмуудыг эх бичлэг хэлбэрээр нь түгээх ёстой болдог билээ. Зарим хүмүүс хөрвүүлэгдсэн хоёртын файлын түгээлтэнд дургүй байдаг. Ядаж эх бичлэг нь байвал, та (онолын хувьд) эх бичлэгийг уншиж болзошгүй аюулыг илрүүлж болох юм. Хэрэв танд нөхөлт бичлэг (засвар) байгаа бол, та уг нөхөлтийг зөвхөн эх бичлэг дээр л хийж чадна. Зарим хүмүүс эх бичлэгээр наадах дуртай байдаг. Тэд нар эх бичлэгийг уншаад залхуу нь хүрээд ирэхээрээ уг бичлэгийг өөрчилж эвдэх, эсвэл зээлдэж өөрчлөх ( мэдээж лицензийн дагуу ) гэх мэтээр оролддог. Портын шинэчлэлийн тухай мэдээлэл авч байхыг хүсвэл &a.ports; болон &a.ports-bugs; зэрэг захианы жагсаалтад бүртгүүлэх хэрэгтэй. Ямар нэгэн програм суулгахаасаа өмнө -с програмын нууцлалын тухай мэдээллийг харах нь зүйтэй. Та мөн ports-mgmt/portaudit-г суулгаж болох бөгөөд энэ нь, програмыг суулгахын өмнө уг програмын хуучралт болон аюулгүй байдалтай хамаатай шаардлагатай шалгалтуудыг хийж өгдөг. Иймэрхүү шалгалтыг зарим багц суулгасны дараа та portaudit -F -a гэсэн тушаал хэрэглэн үйлдэж болно. Энэ бүлгийн үлдсэн хэсэгт FreeBSD дээр порт юм уу багц ашиглан хэрхэн програм суулгах талаар өгүүлэх болно. Програмаа олох нь Ямар нэгэн програм суулгахаасаа өмнө та ямар програм суулгахыг хүсэж байгаа болон ямар нэртэй гэдгийг нь мэдсэн байх хэрэгтэй. FreeBSD-н програмын жагсаалт нь цаг тутамд нэмэгдэж байдаг. Аз болж таны хүссэн програмыг олох хэд хэдэн арга бий: FreeBSD-н вэб хуудас нь http://www.FreeBSD.org/ports/ хаяг дээр бүх байгаа програмын шинэчлэгдсэн хувилбаруудыг нь хайж болох хэлбэрээр арчилж байдаг. Портууд нь төрөлжиж хуваагдсан байдаг бөгөөд та хүссэн програмаа хайж олох (хэрэв та нэрийг нь мэдэж байвал) эсвэл тухайн төрөлд байгаа бүх програмуудын нэрсийн жагсаалтыг харж болно. FreshPorts буюу шинэхэн портууд Dan Langille гэгч нь FreshPorts хуудсыг хаяг дээр арчлан эрхэлдэг. FreshPorts нь порт дээр гарсан өөрчлөлтүүдийг хянаж байдаг бөгөөд хэрэв таныг хүсвэл таны сонгосон хэд хэдэн портуудыг ажиглаж байгаад өөрчлөлт гарангуут танд захиагаар мэдэгддэг. FreshMeat Хэрэв та програмынхаа нэрийг нь мэдэхгүй байгаа бол FreshMeat () хуудсан дээр хайж үзэх хэрэгтэй. Хэрэв уг хуудсан дээр шинэ програм олдсон бол буцаад FreeBSD хуудсанд очиж уг хуудсыг порт болсон эсэхийг магадлах нь зүйтэй. Хэрэв та портынхоо нэрийг яг мэддэг боловч ямар төрөлд багтдагийг нь мэдэх хэрэгтэй бол &man.whereis.1; тушаалыг ашиглаарай. Ердөө л whereis файлын_нэр гэж бичих бөгөөд файлын_нэр нь суулгахыг хүссэн програмын нэр билээ. Хэрэв уг програм нь олдвол, танд хаана байгааг нь дараах маягаар харуулна: &prompt.root; whereis lsof lsof: /usr/ports/sysutils/lsof Энэ нь бидэнд lsof (системийн нэгэн хэрэгсэл) програмыг /usr/ports/sysutils/lsof санд буй гэж мэдэгдэж байна. Мөн портын модонд тухайн порт хаана байгааг олохын тулд ердийн &man.echo.1; тушаалыг ашиглаж болно. Жишээ нь: &prompt.root; echo /usr/ports/*/*lsof* /usr/ports/sysutils/lsof Энэ нь /usr/ports/distfiles сан уруу татаж авагдсан таарсан файлуудыг харуулах болно гэдгийг анхаараарай. Хүссэн портоо олох бас нэг арга бол портын цуглуулга дотор нь байдаг өөрийнх нь хайгчийг нь ашиглах билээ. Уг хайгчийг нь хэрэглэхийн тулд та /usr/ports сан дотор байх шаардлагатай. Уг сан дотроос make search name=програмын-нэр гэж бичих бөгөөд програмын-нэр нь таны олохыг хүссэн програмын нэр байх ёстой. Жишээлбэл lsof програмыг олохын тулд: &prompt.root; cd /usr/ports &prompt.root; make search name=lsof Port: lsof-4.56.4 Path: /usr/ports/sysutils/lsof Info: Lists information about open files (similar to fstat(1)) Maint: obrien@FreeBSD.org Index: sysutils B-deps: R-deps: Уг хайлтын үр дүнд та Path: гэсэн мөрөнд анхаарлаа хандуулах хэрэгтэй бөгөөд энэ нь хаана байгааг илэрхийлж байдаг. Бусад харуулж байгаа мэдээллүүд нь програм суулгахад хэрэглэгддэггүй болохоор энд дэлгэн ярихгүй. Бүр нарийвчилан хайхыг хүсвэл make search key=хайх-мөр гэх бөгөөд хайх-мөр нь тухайн програмтай холбоотой мөр байдаг. Энэ нь портын нэр, тайлбар, тодорхойлолт болон хамааралтай програм зэргүүдэд хайлт хийдэг болохоор тухайн програмынхаа талаар дэлгэрэнгүй мэдээлэл байхгүй хүнд хайхад тун тохиромжтой. Дээрх хоёр тохиолдолд хайх мөр тань жижиг болон том бичсэнээс хамаардаггүй. LSOF гэж хайх нь lsof гэж хайсантай ижилхэн үр дүнд хүргэнэ. Chern Lee Хамтран бичсэн Багцалсан системийг хэрэглэх нь Багц суулгах багц суулгах pkg_add Та &man.pkg.add.1; хэрэгслийг ашиглан өөртөө хадгалагдсан юм уу эсвэл сүлжээнд буй серверээс FreeBSD-н програмын багц суулгаж болдог. Багц татаж аваад суулгах явц &prompt.root; ftp -a ftp2.FreeBSD.org Connected to ftp2.FreeBSD.org. 220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. 331 Guest login ok, send your email address as password. 230- 230- This machine is in Vienna, VA, USA, hosted by Verio. 230- Questions? E-mail freebsd@vienna.verio.net. 230- 230- 230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /pub/FreeBSD/ports/packages/sysutils/ 250 CWD command successful. ftp> get lsof-4.56.4.tgz local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz 200 PORT command successful. 150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes). 100% |**************************************************| 92375 00:00 ETA 226 Transfer complete. 92375 bytes received in 5.60 seconds (16.11 KB/s) ftp> exit &prompt.root; pkg_add lsof-4.56.4.tgz Хэрэв танд багц суулгах дотоод эх үүсвэр ( FreeBSD CD-ROM гэх мэт) байхгүй бол &man.pkg.add.1; хэрэгслийг сонголттой хамт хэрэглэх нь зүйтэй. Энэ нь тухайн програмыг төрөл болон хувилбар зэрэг мэдээллийг нь автоматаар таньж мэдээд FTP хуудаснаас татан авч суулгадаг. pkg_add &prompt.root; pkg_add -r lsof Дээрх жишээн дээр уг хэрэгсэл нь хэрэглэгчийн оролцоогүйгээр татаж аваад суулгаж буйг харуулж байна. Хэрэв та татаж авах алс хаягийг нь адилхан толин тусгал болох өөр нэг &os; багцын хаягаар солихыг хүсвэл PACKAGESITE орчны хувьсагчийн утгад анхных нь утгыг нь дарж өөр хаяг өгөх хэрэгтэй. &man.pkg.add.1; нь &man.fetch.3;-г ашиглаж файл татаж авдаг бөгөөд янз бүрийн орчны хувьсагчийн утга хэрэглэдэг. Тэд нар нь FTP_PASSIVE_MODE, FTP_PROXY, мөн FTP_PASSWORD гэх мэт хувьсагчид байдаг. Хэрэв та галт хананы цаана байгаа юм уу эсвэл FTP/HTTP прокси хэрэглэж байгаа бол уг хувьсагчдыг өөрчлөх ёстой. Хувьсагчдын бүрэн жагсаалтыг &man.fetch.3; хуудаснаас харна уу. Дээрх жишээн дээр lsof нь lsof-4.56.4 оронд хэрэглэгдэв. Хэрэв та алсаас автоматаар татаж авах үйлдэл хийж байгаа бол багцны хувилбарын дугаарыг оруулалгүй бичих хэрэгтэй. &man.pkg.add.1; нь тухайн програмын сүүлийн хувилбарыг автоматаар таньж суулгадаг. Хэрэв та &os.current; эсвэл &os.stable; хувилбарыг хэрэглэж байгаа бол &man.pkg.add.1; нь програмын хамгийн сүүлийн хувилбарыг татаж авч суулгадаг. Хэрэв та -RELEASE хувилбар хэрэглэж байгаа бол таны хэрэглэж байгаа тухайн хувилбарт тохирсон хувилбарыг нь татаж авч суулгадаг. Гэхдээ иймэрхүү үйлдлийг нь өөрчлөхийг хүсвэл PACKAGESITE-г өөрчлөөрэй. Жишээлбэл та &os; 5.4-RELEASE систем дээр &man.pkg.add.1; хэрэгслийг ажиллуулбал анхдагч хаяг нь ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/ байх болно. Хэрэв та &man.pkg.add.1;-г &os; 5-STABLE багц суулгахаар тохируулахыг хүсвэл PACKAGESITE хувьсагчийг ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/ гэж зааж өгөх хэрэгтэй. Багц файлууд нь .tgz болон .tbz гэсэн хэлбэртэй байдаг. Та тэдгээрийг хаягнаас олж болох бөгөөд эсвэл FreeBSD CD-ROM дээр бас буй. FreeBSD-н 4 ширхэг CD тус бүрийн /packages сан дотор багц байрлаж байгаа. Багц байрлуулалт нь /usr/ports-н загвартай ижил модлог байдаг. Төрөл болгон өөрийн гэсэн сантай ба багц болгон бас All буюу бүгд гэсэн сангаас олддог. Багцны сангийн бүтэц нь портын бүтэцтэй таарч багц портын системийг бүрэлдүүлдэг юм. Багц зохицуулалт багц зохицуулах &man.pkg.info.1; хэрэгсэл нь суугдсан багцтай холбоотой мэдээллүүдийг харуулдаг. pkg_info &prompt.root; pkg_info cvsup-16.1 A general network file distribution system optimized for CV docbook-1.2 Meta-port for the different versions of the DocBook DTD ... &man.pkg.version.1; хэрэгсэл нь суугдсан бүх багцны ерөнхий мэдээллийг харуулж байдаг. Энэ нь багцны хувилбарыг портын санд буй програмын хувилбартай жишиж харьцуулдаг. pkg_version &prompt.root; pkg_version cvsup = docbook = ... Хоёр дахь баганад буй тэмдэгт нь порт доторх програмын хувилбартай харьцуулсан харьцуулалт юм. Тэмдэг Утга = Суугдсан багцны хувилбар нь портын хувилбартай адилхан байна. < Суугдсан хувилбар нь портын хувилбараас хуучин байна. >Суугдсан хувилбар нь портын хувилбараас шинэ байна. (Дотоод порт тань хуучирсан байж болзошгүй) ?Суугдсан багц нь портын жагсаалтад олдсонгүй. (Энэ тохиолдож болох юм. Жишээлбэл суугдсан порт нь устгагдах юм уу нэр нь өөрчлөгдсөн байж болзошгүй.) *Багц олон хувилбартай байна. !Суулгагдсан багц жагсаалтад байгаа боловч ямар нэг шалтгааны улмаас pkg_version тушаал нь суулгагдсан багцын хувилбарын дугаарыг жагсаалт дахь харгалзах оруулгатай харьцуулж чадахгүй байна. Багц устгах pkg_delete багц устгах Өмнө суугдсан байгаа багцыг устгахдаа &man.pkg.delete.1; хэрэгслийг ашиглана. &prompt.root; pkg_delete xchat-1.7.1 &man.pkg.delete.1; нь багцын бүрэн нэр болон дугаарыг шаарддагийг тэмдэглэе; xchat-1.7.1-ийн оронд xchat өгөгдсөн бол дээр дурдсан тушаал ажиллахгүй. Гэхдээ суулгагдсан багцын хувилбарыг олохын тулд &man.pkg.version.1;-ийг ашиглах хялбар байдаг. Ингэхийн оронд та бүгдийг орлуулах тэмдэгт ашиглаж болох юм: &prompt.root; pkg_delete xchat\* Энэ тохиолдолд xchat-аар эхэлсэн нэртэй бүх багцуудыг устгах болно. Бусад мэдүүштэй зүйлс Бүх багцтай холбоотой мэдээллүүд /var/db/pkg сан дотор хадгалагдаж байдаг. Суугдсан багцны жагсаалт болон холбогдох тодорхойлолтууд нь уг санд буй файл дотроос уншигдах боломжтой. Портын цуглуулгыг хэрэглэх нь Дараах хэсэгт системдээ портын цуглуулгыг ашиглан хэрхэн програм суулгах болон устгах талаар өгүүлэх болно. make хөрвүүлэгчийн байршил болон орчны хувьсагчийн тухай нэмэлт тодорхой мэдээллийг &man.ports.7; хуудаснаас харна уу. Портын цуглуулгыг суулгах нь Порт суулгахаасаа өмнө нь /usr/ports сан дотор Makefiles, patches буюу нөхөгч файл, мөн тодорхойлолт файлуудыг агуулсан портын цуглуулгыг суулгах хэрэгтэй. FreeBSD-г суулгах үед sysinstall програм танаас портын цуглуулгыг суулгах эсэхийг тань асуудаг. Хэрэв та тэр үед үгүй гэж хариулсан бол энэ хэсэгт хэрхэн суулгах талаар тайлбарлана: CVSup арга Энэ арга нь CVSup протоколыг ашиглан портын цуглуулгаа суулгаж мөн байнга шинэчилж болох хамгийн түргэн арга юм. Хэрэв та CVSup-н талаар дэлгэрэнгүй мэдэхийг хүсэж байвал CVSup-г хэрэглэх нь хэсгээс хараарай. &os; системд орсон CVSup протоколын шийдэл нь csup гэж нэрлэгддэг. Энэ нь &os; 6.2-т анх удаа орсон. Хуучин &os; хувилбарын хэрэглэгчид үүнийг net/csup порт/багцын тусламжтайгаар суулгаж болно. csup-г анх удаагаа ажиллуулахынхаа өмнө /usr/ports санг хоосон байлгах хэрэгтэй. Хэрэв уг сан дотор өөр эх сурвалжаас суулгасан портын цуглуулга байвал, csup нь уг файлуудыг шинэчилж нөхдөггүй билээ. csup тушаалыг ажиллуулна: &prompt.root; csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile cvsup.FreeBSD.org гэдгийг өөртэйгээ ойрхон орших CVSup серверийн нэрээр солих хэрэгтэй. CVSup толин тусгалууд () хэсгээс толин тусгал хуудаснуудын бүрэн жагсаалтыг хараарай. Зарим нэг нь өөрийнхөө бэлтгэсэн ports-supfile файлыг хэрэглэхийг хүсэж болох юм. Ингэсэн үед тушаал бичих мөрөнд CVSup серверийн нэрийг бичих шаардлага гардаггүй. Ингэхийг хүссэн үед root эрхээр ороод /usr/share/examples/cvsup/ports-supfile файлыг шинэ сан уруу хуулах хэрэгтэй. Жишээлбэл /root юм уу эсвэл өөрийнхөө эхлэл санд хуулж болно. ports-supfile файлыг засварлана. CHANGE_THIS.FreeBSD.org мөрийг өөртэйгөө ойрхон буй CVSup серверийн нэрээр сольно. CVSup Толин тусгалууд () хэсэгт толин тусгалуудын бүрэн жагсаалтыг харж болно. Одоо csup-г ажиллуулахын тулд дараах алхмыг хийх хэрэгтэй: &prompt.root; csup -L 2 /root/ports-supfile Дараа нь &man.csup.1; тушаалыг ажиллуулснаар тухайн үед хөрвүүлж байгаа портуудыг эс оруулаад бүх портын цуглуулгыг татаж аван сүүлд орсон өөрчлөлтүүдийг мөн шинэчилдэг. Portsnap арга Portsnap нь портын цуглуулгыг шинэчлэх бас нэг арга билээ. Энэ програм нь анх &os; 6.0 хувилбарт эхлэн хэрэглэгдсэн. Хуучин хувилбаруудад үүнийг ports-mgmt/portsnap гэсэн багцыг суулгаж ашиглана: &prompt.root; pkg_add -r portsnap - Portsnap-г хэрэглэх нь хэсгээс + Portsnap-г хэрэглэх нь хэсгээс Portsnap-тай холбоотой бүх мэдээллийг харна уу. &os; 6.1-RELEASE хувилбар болон Portsnap порт юм уу багцын сүүлийн хувилбартай бол энэ хэсгийг та алгасаж болно. /usr/ports сан нь &man.portsnap.8; тушаалыг анх удаагаа хэрэглэх үед автоматаар үүсгэгддэг. Portsnap-н өмнөх хувилбаруудтай бөгөөд /usr/ports сан байхгүй бол хоосон ийм сан үүсгэх хэрэгтэй: &prompt.root; mkdir /usr/ports Шахсан хэлбэртэй портын цуглуулгыг /var/db/portsnap сан дотор татаж авах хэрэгтэй. Хэрэв та хүсвэл энэ алхмын дараа интернэтээс салгаатай ажиллаж болдог. &prompt.root; portsnap fetch Хэрэв та Portsnap-г анх удаагаа ажиллуулж байгаа бол шахагдсан уг цуглуулгыг /usr/ports сан дотор задална: &prompt.root; portsnap extract Хэрэв та өмнө нь /usr/ports сан дотор цуглуулгыг суулгасан бөгөөд энэ үед зөвхөн шинэчлэхийг хүсэж байгаа бол дараах тушаалыг өгөх хэрэгтэй: &prompt.root; portsnap update Sysinstall арга Энэ арга нь суулгацын төхөөрөмжөөс sysinstall-г ашиглан портын цуглуулгыг суулгах арга юм. Гэхдээ тухайн төхөөрөмж дээр байгаа цуглуулга нь тухайн хувилбарыг гаргасан өдрийн хувилбартай байдгийг анзаарах хэрэгтэй. Хэрэв танд интернэт холболт байдаг бол дээр өгүүлсэн хоёр аргыг урьтал болгох нь зүйтэй. root эрхээр ороод sysinstall гэсэн тушаал өгөх хэрэгтэй (/stand/sysinstall гэж &os; -н 5.2-с хуучин хувилбаруудад бичих ёстой): &prompt.root; sysinstall Configure гэдгийг сонгоод Enter товч дарна. Distributions цэсийг сонгоод Enter дээр дарна. ports гэж сонгон Space товч дээр дарах хэрэгтэй. Дээр буй Exit гэдгийг олж сонгон Enter дээр дарна. CDROM юм уу FTP гэх мэт суулгах төхөөрөмжөө сонгоно. Дээр буй Exit цэсийг сонгоод Enter дээр дарна. X дээр дарж sysinstall-с гарах болно. Порт суулгах нь портууд суулгах Портын цуглуулгын талаар яриа хийхийн өмнө портын skeleton буюу араг ясны талаар ойлголт авах хэрэгтэй. Хамгийн энгийн ойлголтоор бол энэ нь FreeBSD системд програмыг цэвэрхэн хөрвүүлээд суулгахыг зааварласан товч заавар байдаг. Порт болгоны араг яс дараах зүйлсийг агуулж байдаг: Makefile. Makefile нь янз бүрийн заавар бичлэгүүд агуулж байдаг бөгөөд энэ нь програм хэрхэн хөрвүүлэгдэх, бас хаана суугдах зэрэг үйлдлүүдийг тодорхойлсон байгаа. distinfo файл. Энэ файл нь хөрвүүлж бүтээгдэх ёстой файлуудын татаж авалт болон тэдгээрийн алдаагүй татагдсан эсэхийг (&man.md5.1; болон &man.sha256.1; хэрэгслүүдийг ашиглан) шалгах зэрэг мэдээллүүдийг агуулж байдаг. files нэртэй сан. Энэ санд таны FreeBSD систем дээр суугдах програмуудын хөрвүүлэгдэхэд хэрэглэгддэг patches буюу нөхөөс файлуудыг агуулна. Нөхөөс файлууд нь жижигхэн хэмжээний файл бөгөөд тодорхой зарим файлд гарсан өөрчлөлтүүдийг агуулдаг. Нөхөөсүүд текст хэлбэрээр оршдог ба голдуу 10 дугаар мөрийг устга эсвэл 26 дугаар мөрийг үүгээр соль ... гэсэн зааврууд байдаг. Нөхөөсүүдийг мөн diffs буюу ялгааны төрлийн файл гэж ярьцгаадаг. Ийм ялгааг нь илэрхийлсэн файлыг үүсгэхдээ &man.diff.1; програмыг хэрэглэдэг юм. Энэ санд портыг бүтээхэд шаардагдах өөр төрлийн файлууд бас байж болох юм. pkg-descr файл. Энэ файл дотор тухайн програмын тухай нэлээн дэлгэрэнгүй тодорхойлолт агуулагдаж байдаг. pkg-plist файл. Энэ файл дотор порт суугдах явцад хуулагдаж суугдах файлуудын жагсаалт байдаг. Энэ нь мөн портыг устгах үед портын системд мэдэгдэх файлуудын жагсаалт билээ. Зарим портууд pkg-message гэх мэтийн өөр файлууд агуулж байдаг. Портын систем нь онцгой тохиолдолд уг файлуудтай хандаж тухайн портод харгалзах үйлдлүүдийг хийх болно. Хэрэв та ийм файлуудын тухай дэлгэрэнгүй мэдээлэл мөн портын тухай үндсэн ойлголт авахыг хүсвэл FreeBSD порт бүтээгчийн гарын авлага хуудаснаас харна уу. Порт дотор програмын эх бичлэгийг хэрхэн хөрвүүлж бүтээх тухай заавар байдаг болохоос уг програмын эх бичлэг нь байдаггүй. Та уг програмын эх бичлэгийг CD-ROM эсвэл интернэтээс уг зохиогчийнх нь гаргасан хэлбэрээр татаж авч болно. Голдуу эх бичлэгүүд нь tar болон gzip шахалтаар шахаж бэлдсэн байдаг боловч заримдаа өөр төрлийн хэрэгсэл ашиглан шахсан тохиолдол тулгарч магадгүй. Ямар ч хэлбэрээр програмын эх бичлэгийг авсан байг, түүнийг distfile гэж нэрийддэг. Доор &os; порт суулгах хоёр аргыг танилцуулж байна. Порт суулгахын тулд та root эрхэнд сэлгэсэн байх ёстой. Ямар нэгэн портыг суулгахаасаа өмнө портынхоо цуглуулгыг та шинэчилсэн байх хэрэгтэй бөгөөд хуудсанд тухайн порттой холбоотой аюул нууцлалын тухай сэдэв хөндөгдсөн эсэхийг шалгах хэрэгтэй. Ямар ч порт суулгахаасаа өмнө аюулгүйн нууцлалын хувьд сул тал буй эсэхийг portaudit-р автоматаар шалгаж болно. Энэ хэрэгслийг портын цуглуулга дотор олох боломжтой (ports-mgmt/portaudit). Шинэ портыг суулгахаасаа өмнө portaudit -F гэж ажиллуулснаар аюулгүйн нууцлалд гарсан сул тал нүхнүүдийн тухай мэдээллийн өгөгдлийн баазаас мэдээллүүдийг авч нөхөлт хийдэг. Аюулгүйн нууцлалын мэдээллийн өгөгдлийн баазын шинэчлэх явц өдөр болгон давтагдаж хийгдэх болно. Нэмэлт дэлгэрэнгүй мэдээллийг &man.portaudit.1; болон &man.periodic.8; хуудаснаас харна уу. Портын цуглуулга таныг интернэт холболттой гэж авч үздэг. Хэрэв танд интернэт холболт байхгүй бол distfile файлуудыг /usr/ports/distfiles санд хуулах хэрэгтэй. Эхлэхийн өмнө суулгах гэж буй портын санд орох хэрэгтэй: &prompt.root; cd /usr/ports/sysutils/lsof Тэгээд lsof санд орсон хойноо уг сан дотор та тухайн портын араг ясыг харах болно. Дараагийн алхам бол портыг хөрвүүлэх буюу бүтээх билээ. Ингэхийн тулд тушаал бичих мөрөнд make гэж бичнэ. Ингэж гүйцэтгэсний дараа дараах маягийн явцын мэдээллийг та харах болно: &prompt.root; make >> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/. >> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/. ===> Extracting for lsof-4.57 ... [extraction output snipped] ... >> Checksum OK for lsof_4.57D.freebsd.tar.gz. ===> Patching for lsof-4.57 ===> Applying FreeBSD patches for lsof-4.57 ===> Configuring for lsof-4.57 ... [configure output snipped] ... ===> Building for lsof-4.57 ... [compilation output snipped] ... &prompt.root; Хөрвүүлэлт дуусаад та буцаад тушаал бичих мөрөнд ирэнгүүт хийх ёстой дараагийн алхам бол портыг суулгах билээ. Ингэхийн тулд таны хийх ёстой зүйл бол make тушаалыг өөр нэг үгтэй хамт бичих ёстой бөгөөд тэр үг нь install юм: &prompt.root; make install ===> Installing for lsof-4.57 ... [installation output snipped] ... ===> Generating temporary packing list ===> Compressing manual pages for lsof-4.57 ===> Registering installation for lsof-4.57 ===> SECURITY NOTE: This port has installed the following binaries which execute with increased privileges. &prompt.root; Ингээд тушаал бичих мөр боломжтой болонгуут суулгасан портоо ажиллуулах боломжтой болдог. Бид нарын жишээ авч суулгасан lsof програм нь нууцлалын давуу эрх шаарддаг болохоор аюулгүйн нууцлалын анхааруулга харуулагддаг. Порт суулгах үед хэрэв анхааруулга харуулагдваас түүнийг тун анхааралтай уншиж ойлгох хэрэгтэй. Програмыг хөрвүүлж бүтээхэд хэрэглэгдсэн түр файлуудыг хадгалсан дэд сангуудыг устгах нь зүйтэй. Энэ нь дискний зайг хэмнэхээс гадна тухайн портыг шинэчлэх үед алдаа гаргуулахгүй маш сайн зуршил юм. &prompt.root; make clean ===> Cleaning for lsof-4.57 &prompt.root; Та make, make install мөн make clean гэсэн дамжлагуудыг make install clean гэж товчилж бичиж болно. Зарим shells буюу бүрхүүлийн орчнууд нь PATH орчны хувьсагч дотор буй сангууд доторх ачаалагдаж болдог програмуудын тушаалын хайлтыг түргэвчлэх зорилгоор түр хадгалагчид хадгалсан байдаг. Та хэрэв ийм төрлийн бүрхүүлийн орчин ашиглаж байгаа бол порт суулгасны дараа rehash тушаалыг хэрэглэн портын ачаалагдах файлыг бүрхүүлийн таних сан дотор нэмдэг. Энэ тушаал нь tcsh маягийн бүрхүүлд ажилладаг. sh төрлийн бүрхүүлд hash -r гэж ашигладаг. Тухайн бүрхүүлд хамаатай нэмэлт мэдээллийг нь харна уу. FreeBSD Mall зэрэг зарим гуравдагчдын гаргасан DVD-ROM дээр distfiles файлууд агуулагдсан байдаг. Тэдгээрийг портын цуглуулганд хэрэглэж болно. DVD-ROM-г /cdrom санд таниулж холбоно. Хэрэв та өөр санд холбосон бол уг сангийн нэрийг CD_MOUNTPTS орчны хувьсагчид зааж өгөөрэй. Шаардлагатай distfiles файлууд нь дискнээс автоматаар хэрэглэгддэг. Зарим нэг цөөн тооны портуудын лицензийг нь анхаарах хэрэгтэй. Ийм төрлийн портуудын эх бичлэг нь CD-ROM дээр байдаггүй. Тэдгээрийг татаж авах юм уу цааш нь түгээхийн тулд ямар нэгэн гэрээ бөглөх илгээх ёстой болдог. Хэрэв таны суулгах порт CD-ROM дээр байхгүй байгаа бол интернэт рүү орон хэлсний дагуу гүйцэтгэх хэрэгтэй. Портын систем нь &man.fetch.1; хэрэгслийг ашиглан файлуудыг татаж авдаг. Уг хэрэгсэл нь FTP_PASSIVE_MODE, FTP_PROXY, мөн FTP_PASSWORD гэх мэтчилэн төрөл бүрийн орчны хувьсагчдыг ашиглаж ажилладаг. Хэрэв та галт хана юм уу FTP/HTTP прокси хэрэглэдэг бол эдгээр хувьсагчдад тохирох утгыг нь зааж өгөх хэрэгтэй. &man.fetch.3; хуудаснаас хувьсагчдын бүрэн жагсаалтыг харна уу. Интернэтэд байнга холбогддоггүй хэрэглэгчдэд зориулж make fetch тушаал байдаг. Уг тушаалыг портын дээд сан (/usr/ports) дотор гүйцэтгэхэд шаардагдах бүх файлуудыг татаж авдаг. Уг тушаалыг мөн /usr/ports/net гэх зэргийн дэд сан дотор гүйцэтгэж болно. Хэрэв тухайн порт өөр сан юм уу портоос хамаардаг бол fetch гүйцэтгэл нь тэдгээр хамаарлыг нь нөхөж татдаггүйг анхаараарай. Харин fetch гэдгийг fetch-recursive гэж орлуулснаар тухайн портын хамааралтай порт болон сангуудыг давхар татаж авдаг. Та бүх портуудыг хөрвүүлж бүтээнэ гэвэл make тушаалыг make fetch тушаалыг тайлбарласан шиг дээд санд гүйцэтгэж болдог. Гэвч зарим порт байхгүй тохиолдолд ийм үйлдэл бол аюултай. Мөн зарим портууд хоёр өөр файлыг нэг нэрээр суулгах хүндрэл гаргаж болзошгүй. Мөш цөөхөн тохиолдолд хэрэглэгчид MASTER_SITES (татаж авах файлуудын байршил) хаягнаас өөр байршил ашиглан эх файлуудыг татаж авах шаардлага гарч болох юм. Ийм үед MASTER_SITES хувьсагчийн утгыг дараах тушаалаар өөрчилдөг: &prompt.root; cd /usr/ports/directory &prompt.root; make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch Энэ жишээн дээр бид MASTER_SITES-н утгыг ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ гэж өөрчиллөө. Зарим порт нь өөрийнхөө зарим хэсгийг шаардлагагүй гэж үзэх тохиолдолд, эсвэл аюулгүйн нууцлалын шалтгаанаар ч юм уу өөрчлөлт хийх боломж (эсвэл шаарддаг) өгдөг. www/mozilla, security/gpgme, мөн mail/sylpheed-claws зэргүүдийг жишээ болгож болох юм. Иймэрхүү мэдэгдлүүд байвал тухайн үед танд харуулагдах болно. Портын анхдагч санг дарж бичих Заримдаа портыг хөрвүүлэх болон суулгах өөр санг хэрэглэх нь хэрэгтэй (онц шаардлагатай) байдаг. WRKDIRPREFIX болон PREFIX хувьсагчдын утгыг өөрчилж анхдагч сангийн байршлыг сольдог. Жишээ нь: &prompt.root; make WRKDIRPREFIX=/usr/home/example/ports install гэсэн тушаал нь портыг /usr/home/example/ports сан дотор хөрвүүлээд хөрвүүлэгдэж бүтээгдсэн файлуудыг /usr/local санд суулгадаг. &prompt.root; make PREFIX=/usr/home/example/local install гэсэн тушаал нь портыг /usr/ports санд хөрвүүлж бэлдээд /usr/home/example/local санд суулгана. Мэдээж &prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local install гэж хоёр хувьсагчийг хослуулан хэрэглэж бас болно (танд зөвхөн ерөнхий ойлголт өгөх зорилгоор урт мөрийг товчилж харуулсан билээ). Мөн та уг хувьсагчдыг өөрийнхөө орчны хувьсагч болгож зарлаж болно. Тухайн бүрхүүлийнхээ орчны тухай зааврыг эхлээд уншиж танилцах нь зүйтэй. <command>imake</command>-г хэрэглэх Зарим порт imake-г хэрэглэдэг ( X цонхот системийн хэсэг) бөгөөд PREFIX хувьсагч ашиглалгүй /usr/X11R6 санд суулгадаг. Үүнтэй ижил зарим Perl портууд PREFIX хувьсагч хэрэглэлгүй Perl-н санд суулгадаг. Эдгээр портуудыг PREFIX хувьсагчтай хамтран ажиллуулж энэ хувьсагчийг ойлгож хүндэтгэдэг болгоно гэдэг бол тун хэцүү бөгөөд бараг боломжгүй ажил юм. Портуудыг дахин тохируулах нь Тухайн портуудыг бүтээж байхад чинь танд бүтээх тохируулгуудаас сонгож болох ncurses дээр тулгуурласан цэс харуулагддаг. Портыг нэгэнт бүтээсний дараа тэдгээр тохируулгуудыг нэмэх, хасах, эсвэл өөрчлөхийн тулд энэ цэсэнд дахин орохыг хүсэх нь хэрэглэгчдийн хувьд тийм ч нийтлэг биш юм. Үүнийг хийх олон аргууд байдаг. Нэг арга нь портыг агуулж байгаа сан уруу ороод урьдын адил тохируулгуудыг сонгосон хэвээр байгаа цэсийг дахин харуулах make config гэж тушаалыг ажиллуулах явдал юм. Өөр нэг арга нь портын хувьд бүх тохиргооны сонголтуудыг харуулах make showconfig тушаалыг ашиглах явдал юм. Бас нэг өөр арга нь бүх сонгогдсон тохируулгуудыг арилгаад танд дахин эхлэх боломж олгох make rmconfig тушаалыг ажиллуулах явдал юм. Эдгээр бүх аргууд болон бусдын талаар &man.ports.7; гарын авлагын хуудсанд илүү дэлгэрэнгүй тайлбарласан байгаа. Суугдсан портыг устгах нь портууд устгах Та одоо портыг хэрхэн суулгах талаар мэдсэн юм чинь хэрэв буруу портоо суулгасан бол түүнийг хэрхэн утсгадаг талаар мэдэхийг хүсэж байгаа байх. Өмнөх жишээнд суулгасан портоо бид устгацгаая (анхааралгүй уншсан нэгэнд нь lsof програм гэж сануулъя). Портууд багцтай ижилхэн &man.pkg.delete.1; тушаалаар устгагдаж болно ( Багц сонголт хэсэгт тайлбарласан буй): &prompt.root; pkg_delete lsof-4.57 Порт шинэчлэх порт шинэчлэх Хамгийн түрүүнд &man.pkg.version.1; тушаал ашиглан портын цуглуулгаас шинэ хувилбар агуулсан портуудыг жагсаах хэрэгтэй: &prompt.root; pkg_version -v <filename>/usr/ports/UPDATING</filename> Портыг шинэчлэхээсээ өмнө портын цуглуулгаа шинэчлээд /usr/ports/UPDATING файлыг шалгана. Энэ файл дотор портыг шинэчлэхэд шаардагдах үйлдлүүд болох өөрчлөгдсөн төрөл, тохируулгын өөрчлөлт, эсвэл өмнөх хувилбартайгаа зөрчилдөх хэсгүүд гэх мэтийн чухал мэдээллүүд агуулагдаж байдаг. Хэрэв UPDATING файлд саяны таны уншсан зүйлүүдээс өөр юм агуулагдаж байвал уг файлд буй зааврыг дагах нь зүйтэй. Portupgrade ашиглан порт шинэчлэх нь portupgrade portupgrade хэрэгсэл нь портыг амархан шинэчлэхэд зориулагдсан. Үүнийг ports-mgmt/portupgrade портоос суулгаж болно. Бусад портын нэгэн адил порт суулгадаг журмаар make install clean гэсэн тушаалаар суулгадаг: &prompt.root; cd /usr/ports/ports-mgmt/portupgrade &prompt.root; make install clean Суугдсан портын жагсаалтыг pkgdb -F тушаал ашиглан шалгаад үр дүнгийн мэдээлэлд байгаа зөрчлүүдийг нь залруулж засах хэрэгтэй. Шинэчлэл хийхээсээ өмнө ингэж зөрчлүүдийг арилгах нь тун сайн санаа билээ. Хэрэв та portupgrade -a гэж ажиллуулбал таны системд суугдсан бүх хуучирсан портуудыг portupgrade шинэчилж эхэлдэг. Хэрэв та суугдах шинэчлэл болгонд лавлаж асуух үйлдэл хийлгэхийг хүсвэл сонголт нэмээрэй. &prompt.root; portupgrade -ai Хэрэв та бүх шинэчлэгдэх порт биш харин зөвхөн тодорхой нэгэн портыг шинэчлэх хүсэлтэй бол portupgrade багцны-нэр гэж бичнэ. сонголт нэмснээр тухайн програмд шаардагдах портуудыг portupgrade эхлээд нь шинэчлэдэг. &prompt.root; portupgrade -R firefox Портын оронд багц хэрэглэж суулгахыг хүсвэл сонголт хэрэглэнэ. Энэ сонголттой үед portupgrade нь PKG_PATH хувьсагчид зааж өгсөн жагсаалтад буй сан дотроос багцуудыг хайх ба хэрэв уг санд байхгүй байгаа бол сүлжээнээс татаж нөхдөг. Хэрэв дотоод сан болон сүлжээнээс багц олдоогүй тохиолдолд portupgrade нь портоор суулгахыг оролдох болно. Порт хэлбэрээр суулгах үйлдлийг зогсоохын тулд сонголтыг нэмж өгдөг. &prompt.root; portupgrade -PP gnome2 Хэрэв хөрвүүлж суулгалгүйгээр зөвхөн distfiles файлыг татаж авах (хэрэв сонголттой бол багц файлыг ) шаардлагатай бол сонголтыг ашиглаарай. Дэлгэрэнгүй мэдээллийг &man.portupgrade.1; хэсэгт харна уу. Portmanager ашиглан портыг шинэчлэх нь portmanager Portmanager бол портыг суулгаж шинэчлэхийг амарчилсан өөр нэг хэрэгсэл билээ. Үүнийг ports-mgmt/portmanager портноос суулгаж болно: &prompt.root; cd /usr/ports/ports-mgmt/portmanager &prompt.root; make install clean Бүх суугдсан портууд дараах энгийн тушаалаар шинэчлэгдэж болдог: &prompt.root; portmanager -u Та мөн сонголт нэмснээр Portmanager-н гүйцэтгэх алхам бүрийг лавлах асуух хэлбэрт оруулан хянаж болдог. Portmanager-г ашиглан системд шинэ портыг суулгаж болно. make install clean гэсэн ердийн тушаалаас ялгаатай нь тухайн сонгосон портыг суулгахаасаа өмнө түүнд хамааралтай бүх портуудыг шинэчлэдэг. &prompt.root; portmanager x11/gnome2 Хэрэв сонгосон портын хамааралтай портод ямар нэгэн хүндрэл гарвал Portmanager-г тэр хүндрэл гарсан портоос эхлэн дахин шинээр хөрвүүлж бэлд гэж зааж өгч болдог. Ингэсэн үед хүндрэл гаргасан портыг эхлэж хөрвүүлээд дараа нь портоо шинэчлэх явцаа цааш нь үргэлжлүүлдэг. &prompt.root; portmanager graphics/gimp -f Дэлгэрэнгүй мэдээллийг &man.portmanager.1;-с харна уу. Portmaster ашиглан портыг шинэчлэх нь portmaster Portmaster нь үндсэн системд байдаг (бусад портуудаас хамаардаггүй) хэрэгслүүдийг ашиглахаар хийгдсэн бөгөөд аль портыг шинэчлэхээ тогтоохын тулд /var/db/pkg/ сан доторхийг ашигладаг. Тэрээр ports-mgmt/portmaster порт хэлбэрээр байдаг: &prompt.root; cd /usr/ports/ports-mgmt/portmaster &prompt.root; make install clean Portmaster нь портуудыг дөрвөн төрөлд бүлэглэдэг: Root буюу язгуур портууд (хамаарсан портууд байхгүй, бусдаас хамаардаггүй) Trunk буюу гол портууд (хамаарсан портууд байхгүй, бусдууд хамаардаг) Салбар портууд (хамаарсан портуудтай, бусдууд хамаардаг) Навч портууд (хамаарсан портуудтай, бусдаас хамаардаггүй) Та суулгагдсан бүх портуудыг жагсааж болох бөгөөд тохируулга ашиглан шинэчлэлт байгаа эсэхийг хайж болно: &prompt.root; portmaster -L ===>>> Root ports (No dependencies, not depended on) ===>>> ispell-3.2.06_18 ===>>> screen-4.0.3 ===>>> New version available: screen-4.0.3_1 ===>>> tcpflow-0.21_1 ===>>> 7 root ports ... ===>>> Branch ports (Have dependencies, are depended on) ===>>> apache-2.2.3 ===>>> New version available: apache-2.2.8 ... ===>>> Leaf ports (Have dependencies, not depended on) ===>>> automake-1.9.6_2 ===>>> bash-3.1.17 ===>>> New version available: bash-3.2.33 ... ===>>> 32 leaf ports ===>>> 137 total installed ports ===>>> 83 have new versions available Бүх суулгагдсан портуудыг энэ хялбар тушаал ашиглан шинэчилж болно: &prompt.root; portmaster -a Анхдагчаар Portmaster нь байгаа портыг устгахаасаа өмнө нөөц багц үүсгэдэг. Хэрэв шинэ хувилбар суулгалт амжилттай болсон бол Portmaster нөөц багцыг устгана. сонголтыг ашиглаж Portmaster-т нөөцийг автоматаар устгахгүй байхыг тушаана. сонголтыг ашигласнаар порт бүрийг шинэчлэхээс өмнө асууж лавлан Portmaster-ийг интерактив горимд эхлүүлнэ. Хэрэв шинэчлэх процессийн явцад алдаа гарвал та бүх портыг шинэчлэх буюу дахин бүтээхийн тулд -г ашиглаж болно: &prompt.root; portmaster -af Шинэ порт бүтээж суулгахаасаа өмнө бүх хамааралтай портуудыг шинэчилж Portmaster-ийг системд шинэ порт суулгахдаа та бас ашиглаж болно: &prompt.root; portmaster shells/bash Дэлгэрэнгүй мэдээллийг &man.portmaster.8;-с үзнэ үү. Порт ба дискний хэмжээ порт дискний хэмжээ Портын цуглуулга нь дискний хэмжээг байнга идэж байдаг. Портоос програмыг хөрвүүлж суулгасны дараа бэлдэж байсан work санг make clean тушаалаар цэвэрлэхээ үргэлж санах хэрэгтэй. Та портын цуглуулгыг бүхлээр нь дараах тушаалаар цэвэрлэж болно: &prompt.root; portsclean -C Маш олон эх файлууд distfiles санд явцын үр дүнд хадгалагдаж байдаг. Та тэдгээрийг гар аргаар устгаж болох ба дараах тушаал хэрэглэн ямар нэгэн порттой холбоогүй болсон бүх distfiles устгаж болно: &prompt.root; portsclean -D Эсвэл таны системд одоо суугдсан байгаа порттой хамаагүй бүх distfiles-уудыг дараах тушаалаар устгана: &prompt.root; portsclean -DD portsclean хэрэгсэл нь portupgrade програмын нэг бүрдэл хэсэг. Суулгасан портоо хэрэглэхгүй болсон үедээ устгахаа мартаж болохгүй. Иймэрхүү автоматжуулалтыг гүйцэтгэдэг эвтэйхэн програм бол ports-mgmt/pkg_cutleaves порт билээ. Порт суулгасны дараах үйлдлүүд Ердийн програмыг суулгасны дараа тухайн програмтай холбоотой бичиг баримтыг унших, ямар нэгэн тохиргооны файл засварлах, эсвэл уг програм компьютер ачаалагдах үед эхлэх (хэрэв энэ нь далд чөтгөр бол) эсэхийг нь шалгах шаардлага гарч болзошгүй. Суулгасан програм болгоныг тохируулах зарчим өөр өөр. Гэхдээ та шинэ програм суулгачихаад Одоо яах вэ? гэсэн асуулттай тулгарах үед дараах зүйлс тусалж магадгүй: &man.pkg.info.1; тушаалыг ашиглан ямар файл хаана яаж суугдсаныг харна. Жишээ нь та саяхан FooPackage version 1.0.0, програмыг суулгасан бол &prompt.root; pkg_info -L foopackage-1.0.0 | less гэсэн тушаал нь уг програмыг суулгах явцад хуулсан бүх файлуудыг харуулдаг. man/ санд хуулсан файл байвал тун анхааралтай харах хэрэгтэй. Энэ нь гарын авлага файлууд байдаг. Мөн etc/ санд хуулсан файлууд нь тохируулгын файлууд байдаг бөгөөд doc/ санд бол дэлгэрэнгүй бичиг баримтуудыг хадгалсан байдаг. Хэрэв та програмынхаа хувилбарын талаар сайн мэдэхгүй байгаа бол &prompt.root; pkg_info | grep -i foopackage гэсэн тушаал нь бүх суугдсан програм дотор foopackage гэсэн нэртэй програм байвал харуулдаг. foopackage-н оронд хүссэн програмынхаа нэрийг бичээрэй. Програмын гарын авлага хаана суугдсаныг мэдсэн үедээ &man.man.1;-г ашиглан харах хэрэгтэй. Мөн түүнчлэн ийм аргаар тохируулга болон нэмэлт мэдээллийн файлуудыг нь тухай бүрд нь харах хэрэгтэй. Хэрэв уг програм өөрийн гэсэн вэб хуудастай бол түүнд нь зорчин нэмэлт мэдээлэл авах, байнгын асуулт хариултыг нь үзэх гэх мэтчилэн оролдоорой. Уг програмын вэб хуудасны хаяг нь &prompt.root; pkg_info foopackage-1.0.0 тушаалын гаралт дээр WWW: гэсэн хэсэгт байдаг. Эхлэн ачаалагдах үед эхлэх ёстой портууд (Интернэт сервер гэх мэт) голдуу /usr/local/etc/rc.d сан дотор эхлүүлэх файлаа хуулдаг. Та уг файлыг шаардлагатай бол засварлах юм уу өөрчилж болно. Үйлчилгээг эхлүүлэх хэсгээс дэлгэрэнгүй мэдэээллийг харна уу. Эвдрэлтэй портыг засах нь Хэрэв та портыг ажиллуулж чадаагүй тохиолдолд хийж болох хэд хэдэн алхам бий: Problem Report database хуудсанд уг портын засварлах заавар бий эсэхийг шалгах. Хэрэв байвал уг зааврын дагуу засварлах хэрэгтэй. Уг портыг арчилж сайжруулдаг хүнээс тусламж авах. make maintainer тушаал ашиглаад юм уу эсвэл Makefile файл дотроос тухайн арчлагчийн захианы хаягийг нь олох хэрэгтэй. Захиандаа портынхоо нэр болон хувилбарыг оруулан (Makefile файлд буй $FreeBSD: мөрийг илгээх хэрэгтэй ) хэрэв боломжтой бол алдаа заасан явцын мэдээллүүдийг явуулах хэрэгтэй. Зарим порт нь хувь хүнээр биш харин захианы жагсаалтаар арчлагдаж байдаг. Энэ жагсаалтад бүгд биш ч гэсэн ихэнх хүмүүс нь freebsd-listname@FreeBSD.org маягийн захианы хаягтай байдаг. Ийм хүмүүс рүү захиагаа явуулах хэрэгтэй. Голдуу freebsd-ports@FreeBSD.org-р арчлагдаж байгаа гэсэн портууд нэг тодорхой хүнээр арчлагдаагүй байдаг. Завсарлалт болон тусламж зэргүүд нь ихэнхдээ захианы жагсаалтад буй хүмүүсээс ирдэг. Туслан дэмжих хүмүүс бидэнд үргэлж хэрэгтэй байгаа! Хэрэв та ямар нэгэн хариулт аваагүй бол &man.send-pr.1;-г ашиглан алдааны мэдэгдэл ( FreeBSD-н алдааг мэдээлэх хэсгийг харна уу) хийж болно. Өөрөө засаад үз! Порт хийгчдийн гарын авлага дотор портын ажиллах зарчим болон бүтэц заавар, засах дараалал, тэр байтугай өөрөө порт зохиох талаар дурдсан байгаа! Ойрхон байгаа FTP хуудаснаас багцыг татаж авах хэрэгтэй. Үндсэн багцны цуглуулга ftp.FreeBSD.org хуудасны багцны санд байдаг бөгөөд орон нутгийн толин тусгалуудыг эхлээд турш! Ингэсэн нь эх бичлэгийг хөрвүүлэхээс түргэн бэлэн болсон багцыг татаж аван цаг хэмнэж байдаг. &man.pkg.add.1; програмыг ашиглан өөртөө хадгалсан багцаа систем дээрээ суулгана.