Дараах хэсэгт системдээ портын цуглуулгыг ашиглан хэрхэн програм суулгах болон устгах талаар өгүүлэх болно. make хөрвүүлэгчийн байршил болон орчны хувьсагчийн тухай нэмэлт тодорхой мэдээллийг ports(7) хуудаснаас харна уу.
Сануулга: 2012 оны дундаас эхлээд FreeBSD портын төсөл хувилбар удирдах системийн CVS-с Subversion рүү шилжсэн. Ерөнхийдөө портыг ашиглах арга бол Portsnap-г ашиглах явдал юм. Портын локал өөрчлөлт шаардлагатай (нэмэлт локал нөхөөс арчилдаг) хэрэглэгчид магадгүй Subversion-г ашиглахыг илүүд үзэж болох юм. CVSup үйлчилгээ 2013 оны 2 сарын 28-с эхлээд ашиглагдахаа болих тул цаашид ашиглахыг зөвлөхгүй.
Портын цуглуулга нь /usr/ports сан дотор Makefiles, patches буюу нөхөгч файл, мөн тайлбар файлуудын цуглуулга юм. Эдгээр файлууд нь FreeBSD дээр програмуудыг бүтээж суулгахад хэрэглэгддэг. Доор байгаа зааврууд нь FreeBSD суулгах явцад портын цуглуулга суугаагүй бол түүнийг авах хэд хэдэн аргуудыг харуулж байна.
Portsnap арга
Portsnap нь портын цуглуулгыг татаж аван шинэчлэхэд зориулагдсан бөгөөд ихэнх хэрэглэгчдийн хувьд сонголт болсон хурдан, хэрэглэхэд хялбар хэрэгсэл юм. Portsnap-н нэмэлт тайлбарын талаар Portsnap-г хэрэглэх нь хэсгээс үзнэ үү.
Шахсан хэлбэртэй портын цуглуулгыг /var/db/portsnap сан дотор татаж авах хэрэгтэй. Хэрэв та хүсвэл энэ алхмын дараа интернэтээс салгаатай ажиллаж болдог.
# portsnap fetch
Хэрэв та Portsnap-г анх удаагаа ажиллуулж байгаа бол шахагдсан уг цуглуулгыг /usr/ports сан дотор задална:
# portsnap extract
Portsnap-г эхний удаа дээрх маягаар ашиглаж эхэлсний дараа /usr/ports санг доорх тушаалаар шинэчилнэ:
# portsnap update
Subversion арга
Хэрэв портын цуглуулгыг илүү хянах шаардлагатай бол (жишээ нь локал өөрчлөлтийг арчлах бол) Subversion-г портын цуглуулгыг татахдаа ашиглаж болно. Subversion-ий талаар дэлгэрэнгүйг the Subversion Primer хуудаснаас үзнэ үү.
Subversion-г портын модыг татахаасаа өмнө суулгасан байх шаардлагатай. Хэрэв портын мод аль хэдийн байгаа бол Subversion-г иймэрхүү маягаар суулгаарай:
# cd /usr/ports/devel/subversion # make install clean
Хэрэв портын мод байхгүй бол Subversion-г багц хэлбэрээр суулгаж болно:
# pkg_add -r subversion
Хэрэв pkgng нь багцыг удирдахад хэрэглэгдэж байгаа бол Subversion-г ингэж суулгаж болно:
# pkg install subversion
Портын модыг татаж авна. Илүү ажиллагааг хурдан болгохын тулд доорх тушаалын svn.FreeBSD.org гэдгийн оронд танд газар зүйн байрлалын хувьд ойр байрлалыг Subversion толин тусгал хэсгээс харан сонгоорой. Итгэмжлэн нийлүүлэгчид зөв протокол сонгож ажиллахын тулд эхлээд Subversion Primer тусламжийг унших ёстой.
# svn checkout svn://svn.FreeBSD.org/ports/head /usr/ports
Subversion-ий эхний удаагийн таталтын дараа /usr/ports-г шинэчлэхийн тулд дараах тушаалыг ажиллуулна:
# svn update /usr/ports
Sysinstall арга
Энэ арга нь суулгацын төхөөрөмжөөс sysinstall-г ашиглан портын цуглуулгыг суулгах арга юм. Гэхдээ тухайн төхөөрөмж дээр байгаа цуглуулга нь тухайн хувилбарыг гаргасан өдрийн хувилбартай байдгийг анзаарах хэрэгтэй. Хэрэв танд интернэт холболт байдаг бол дээр өгүүлсэн хоёр аргыг урьтал болгох нь зүйтэй.
root эрхээр ороод sysinstall гэсэн тушаал өгөх хэрэгтэй:
# sysinstall
гэдгийг сонгоод Enter товч дарна.
цэсийг сонгоод Enter дээр дарна.
гэж сонгон Space товч дээр дарах хэрэгтэй.
Дээр буй
гэдгийг олж сонгон Enter дээр дарна.CDROM юм уу FTP гэх мэт суулгах төхөөрөмжөө сонгоно.
Дээр буй
цэсийг сонгоод Enter дээр дарна.X дээр дарж sysinstall-с гарах болно.
Сануулга: 2013 оны 2 сарын 28-аас эхлэн портын мод CVS рүү экспорт хийгдэхгүй учраас CVSup болон csup нь портын модны шинэчлэлийг хийхгүй.
Portsnap руу шилжүүлэх нь
Шилжүүлэлт нь 1 GB орчим дискний хэмжээ /usr дээр байхыг шаардах бөгөөд дээрээс нь Portsnap нь /var санд 150 MB дискний хэмжээ шаардана.
cron(8) дотор чинь автоматаар CVSup эсвэл csup-г дуудсан ажлууд байвал хааж болиулах хэрэгтэй.
Байгаа портын модоо өөр түр зуурын байр руу зөөнө:
# mv /usr/ports /usr/ports.old
Шинэ портын модыг Portsnap-р татаж /usr/ports-д задална:
# portsnap fetch extract
distfile-ууд болон хадгалсан багцуудыг шинэ портын мод руугаа зөөнө:
# mv /usr/ports.old/distfiles /usr/ports # mv /usr/ports.old/packages /usr/ports
Хуучин портын модыг устгана:
# rm -rf /usr/ports.old
Хэрэв CVSup өмнө нь ашиглагдаж байсан бол одоо устгаж болно:
# pkg_delete -r -v cvsup-without-gui-\*
pkgng хэрэглэгчид дараах тушаалыг ашиглаж болно:
# pkg delete cvsup-without-gui
Portsnap ашиглан портын модыг шинэчлэх болон Portsnap-н талаар дэлгэрэнгүйг Portsnap хэрэглэх нь хэсгээс үзнэ үү.
Портын цуглуулгын талаар яриа хийхийн өмнө портын “skeleton буюу араг яс”ны талаар ойлголт авах хэрэгтэй. Хамгийн энгийн ойлголтоор бол энэ нь FreeBSD системд програмыг цэвэрхэн хөрвүүлээд суулгахыг зааварласан товч заавар байдаг. Порт болгоны араг яс дараах зүйлсийг агуулж байдаг:
Makefile. Makefile нь янз бүрийн заавар бичлэгүүд агуулж байдаг бөгөөд энэ нь програм хэрхэн хөрвүүлэгдэх, бас хаана суугдах зэрэг үйлдлүүдийг тодорхойлсон байгаа.
distinfo файл. Энэ файл нь хөрвүүлж бүтээгдэх ёстой файлуудын татаж авалт болон тэдгээрийн алдаагүй татагдсан эсэхийг (sha256(1) ашиглан) шалгах зэрэг мэдээллүүдийг агуулж байдаг.
files нэртэй сан. Энэ санд таны FreeBSD систем дээр суугдах програмуудын хөрвүүлэгдэхэд хэрэглэгддэг patches буюу нөхөөс файлуудыг агуулна. Нөхөөс файлууд нь жижигхэн хэмжээний файл бөгөөд тодорхой зарим файлд гарсан өөрчлөлтүүдийг агуулдаг. Нөхөөсүүд текст хэлбэрээр оршдог ба голдуу “10 дугаар мөрийг устга” эсвэл “26 дугаар мөрийг үүгээр соль ...” гэсэн зааврууд байдаг. Нөхөөсүүдийг мөн “diffs буюу ялгааны” төрлийн файл гэж ярьцгаадаг. Ийм ялгааг нь илэрхийлсэн файлыг үүсгэхдээ diff(1) програмыг хэрэглэдэг юм.
Энэ санд портыг бүтээхэд шаардагдах өөр төрлийн файлууд бас байж болох юм.
pkg-descr файл. Энэ файл дотор тухайн програмын тухай нэлээн дэлгэрэнгүй тодорхойлолт агуулагдаж байдаг.
pkg-plist файл. Энэ файл дотор порт суугдах явцад хуулагдаж суугдах файлуудын жагсаалт байдаг. Энэ нь мөн портыг устгах үед портын системд мэдэгдэх файлуудын жагсаалт билээ.
Зарим портууд pkg-message гэх мэтийн өөр файлууд агуулж байдаг. Портын систем нь онцгой тохиолдолд уг файлуудтай хандаж тухайн портод харгалзах үйлдлүүдийг хийх болно. Хэрэв та ийм файлуудын тухай дэлгэрэнгүй мэдээлэл мөн портын тухай үндсэн ойлголт авахыг хүсвэл FreeBSD порт бүтээгчийн гарын авлага хуудаснаас харна уу.
Порт дотор програмын эх бичлэгийг хэрхэн хөрвүүлж бүтээх тухай заавар байдаг болохоос уг програмын эх бичлэг нь байдаггүй. Та уг програмын эх бичлэгийг CD-ROM эсвэл интернэтээс уг зохиогчийнх нь гаргасан хэлбэрээр татаж авч болно. Голдуу эх бичлэгүүд нь tar болон gzip шахалтаар шахаж бэлдсэн байдаг боловч заримдаа өөр төрлийн хэрэгсэл ашиглан шахсан тохиолдол тулгарч магадгүй. Ямар ч хэлбэрээр програмын эх бичлэгийг авсан байг, түүнийг “distfile” гэж нэрийддэг. Доор FreeBSD порт суулгах хоёр аргыг танилцуулж байна.
Тэмдэглэл: Порт суулгахын тулд та root эрхэнд сэлгэсэн байх ёстой.
Сануулга: Ямар нэгэн портыг суулгахаасаа өмнө портынхоо цуглуулгыг та шинэчилсэн байх хэрэгтэй бөгөөд http://vuxml.freebsd.org/ хуудсанд тухайн порттой холбоотой аюул нууцлалын тухай сэдэв хөндөгдсөн эсэхийг шалгах хэрэгтэй.
Ямар ч порт суулгахаасаа өмнө аюулгүйн нууцлалын хувьд сул тал буй эсэхийг portaudit-р автоматаар шалгаж болно. Энэ хэрэгслийг портын цуглуулга дотор олох боломжтой (ports-mgmt/portaudit). Шинэ портыг суулгахаасаа өмнө portaudit -F гэж ажиллуулснаар аюулгүйн нууцлалд гарсан сул тал нүхнүүдийн тухай мэдээллийн өгөгдлийн баазаас мэдээллүүдийг авч нөхөлт хийдэг. Аюулгүйн нууцлалын мэдээллийн өгөгдлийн баазын шинэчлэх явц өдөр болгон давтагдаж хийгдэх болно. Нэмэлт дэлгэрэнгүй мэдээллийг portaudit(1) болон periodic(8) хуудаснаас харна уу.
Портын цуглуулга таныг интернэт холболттой гэж авч үздэг. Хэрэв танд интернэт холболт байхгүй бол distfile файлуудыг /usr/ports/distfiles санд хуулах хэрэгтэй.
Эхлэхийн өмнө суулгах гэж буй портын санд орох хэрэгтэй:
# cd /usr/ports/sysutils/lsof
Тэгээд lsof санд орсон хойноо уг сан дотор та тухайн портын араг ясыг харах болно. Дараагийн алхам бол портыг хөрвүүлэх буюу “бүтээх” билээ. Ингэхийн тулд тушаал бичих мөрөнд make гэж бичнэ. Ингэж гүйцэтгэсний дараа дараах маягийн явцын мэдээллийг та харах болно:
# 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] ... #
Хөрвүүлэлт дуусаад та буцаад тушаал бичих мөрөнд ирэнгүүт хийх ёстой дараагийн алхам бол портыг суулгах билээ. Ингэхийн тулд таны хийх ёстой зүйл бол make тушаалыг өөр нэг үгтэй хамт бичих ёстой бөгөөд тэр үг нь install юм:
# 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. #
Ингээд тушаал бичих мөр боломжтой болонгуут суулгасан портоо ажиллуулах боломжтой болдог. Бид нарын жишээ авч суулгасан lsof програм нь нууцлалын давуу эрх шаарддаг болохоор аюулгүйн нууцлалын анхааруулга харуулагддаг. Порт суулгах үед хэрэв анхааруулга харуулагдваас түүнийг тун анхааралтай уншиж ойлгох хэрэгтэй.
Програмыг хөрвүүлж бүтээхэд хэрэглэгдсэн түр файлуудыг хадгалсан дэд сангуудыг устгах нь зүйтэй. Энэ нь дискний зайг хэмнэхээс гадна тухайн портыг шинэчлэх үед алдаа гаргуулахгүй маш сайн зуршил юм.
# make clean ===> Cleaning for lsof-4.57 #
Тэмдэглэл: Та make, make install мөн make clean гэсэн дамжлагуудыг make install clean гэж товчилж бичиж болно.
Тэмдэглэл: Зөвхөн make install тушаал ашиглан порт суулгахад заримдаа хэрэглэгчээс сонголт оруулахыг хүлээж удах тохиолдлууд байж болдог. Учир нь зарим тохиолдолд анхдагчаар хэрэглэгчээс сонголт хийхийг асуухаар хийгдсэн байдаг. Иймээс олон хамааралтай үед заримдаа нэг портыг бүтээж эмхэтгэхэд төвөгтэй болгодог. Үүнээс гарахын тулд make config-recursive тушаал ашиглан тохиргоог нэг удаагаар хийх хэрэгтэй. Дараа нь make install [clean] тушаалыг ажиллуулах хэрэгтэй.
Зөвлөгөө: config-recursive гэдгийг ашиглахад тохиргоо хийгдэх портуудын жагсаалт all-depends-list гэсэн make(1)-н нэмэлт боломжоор нэгтгэгддэг. Хамааралтай бүх портуудын тохиргоонууд тодорхой болтол буюу dialog(1) дэлгэц гарч ирэхгүй болж бүх портуудын тохиргоо зөвөөр хийгдтэл make config-recursive тушаалыг ажиллуулахыг ихэвчлэн зөвлөдөг.
Тэмдэглэл: Зарим бүрхүүлийн орчнууд нь PATH орчны хувьсагч дотор буй сангууд доторх ачаалагдаж болдог програмуудын тушаалын хайлтыг түргэвчлэх зорилгоор түр хадгалагчид хадгалсан байдаг. Та хэрэв ийм төрлийн бүрхүүлийн орчин ашиглаж байгаа бол порт суулгасны дараа rehash тушаалыг хэрэглэн портын ачаалагдах файлыг бүрхүүлийн таних сан дотор нэмдэг. Энэ тушаал нь tcsh маягийн бүрхүүлд ажилладаг. sh төрлийн бүрхүүлд hash -r гэж ашигладаг. Тухайн бүрхүүлд хамаатай нэмэлт мэдээллийг нь харна уу.
FreeBSD Mall зэрэг зарим гуравдагчдын гаргасан DVD-ROM дээр distfiles файлууд агуулагдсан байдаг. Тэдгээрийг портын цуглуулганд хэрэглэж болно. DVD-ROM-г /cdrom санд таниулж холбоно. Хэрэв та өөр санд холбосон бол уг сангийн нэрийг CD_MOUNTPTS орчны хувьсагчид зааж өгөөрэй. Шаардлагатай distfiles файлууд нь дискнээс автоматаар хэрэглэгддэг.
Тэмдэглэл: Зарим нэг цөөн тооны портуудын лицензийг нь анхаарах хэрэгтэй. Ийм төрлийн портуудын эх бичлэг нь CD-ROM дээр байдаггүй. Тэдгээрийг татаж авах юм уу цааш нь түгээхийн тулд ямар нэгэн гэрээ бөглөх илгээх ёстой болдог. Хэрэв таны суулгах порт CD-ROM дээр байхгүй байгаа бол интернэт рүү орон хэлсний дагуу гүйцэтгэх хэрэгтэй.
Портын систем нь fetch(1) хэрэгслийг ашиглан файлуудыг татаж авдаг. Уг хэрэгсэл нь FTP_PASSIVE_MODE, FTP_PROXY, мөн FTP_PASSWORD гэх мэтчилэн төрөл бүрийн орчны хувьсагчдыг ашиглаж ажилладаг. Хэрэв та галт хана юм уу FTP/HTTP прокси хэрэглэдэг бол эдгээр хувьсагчдад тохирох утгыг нь зааж өгөх хэрэгтэй. fetch(3) хуудаснаас хувьсагчдын бүрэн жагсаалтыг харна уу.
Интернэтэд байнга холбогддоггүй хэрэглэгчдэд зориулж make fetch тушаал байдаг. Уг тушаалыг портын дээд сан (/usr/ports) дотор гүйцэтгэхэд шаардагдах бүх файлуудыг татаж авдаг. Уг тушаалыг мөн /usr/ports/net гэх зэргийн дэд сан дотор гүйцэтгэж болно. Хэрэв тухайн порт өөр сан юм уу портоос хамаардаг бол fetch гүйцэтгэл нь тэдгээр хамаарлыг нь нөхөж татдаггүйг анхаараарай. Харин fetch гэдгийг fetch-recursive гэж орлуулснаар тухайн портын хамааралтай порт болон сангуудыг давхар татаж авдаг.
Тэмдэглэл: Та бүх портуудыг хөрвүүлж бүтээнэ гэвэл make тушаалыг make fetch тушаалыг тайлбарласан шиг дээд санд гүйцэтгэж болдог. Гэвч зарим порт байхгүй тохиолдолд ийм үйлдэл бол аюултай. Мөн зарим портууд хоёр өөр файлыг нэг нэрээр суулгах хүндрэл гаргаж болзошгүй.
Мөш цөөхөн тохиолдолд хэрэглэгчид MASTER_SITES (татаж авах файлуудын байршил) хаягнаас өөр байршил ашиглан эх файлуудыг татаж авах шаардлага гарч болох юм. Ийм үед MASTER_SITES хувьсагчийн утгыг дараах тушаалаар өөрчилдөг:
# cd /usr/ports/directory # make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Энэ жишээн дээр бид MASTER_SITES-н утгыг ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ гэж өөрчиллөө.
Тэмдэглэл: Зарим порт нь өөрийнхөө зарим хэсгийг шаардлагагүй гэж үзэх тохиолдолд, эсвэл аюулгүйн нууцлалын шалтгаанаар ч юм уу өөрчлөлт хийх боломж (эсвэл шаарддаг) өгдөг. www/firefox, security/gpgme, мөн mail/sylpheed-claws зэргүүдийг жишээ болгож болох юм. Иймэрхүү мэдэгдлүүд байвал тухайн үед танд харуулагдах болно.
Заримдаа портыг хөрвүүлэх болон суулгах өөр санг хэрэглэх нь хэрэгтэй (онц шаардлагатай) байдаг. WRKDIRPREFIX болон PREFIX хувьсагчдын утгыг өөрчилж анхдагч сангийн байршлыг сольдог. Жишээ нь:
# make WRKDIRPREFIX=/usr/home/example/ports install
гэсэн тушаал нь портыг /usr/home/example/ports сан дотор хөрвүүлээд хөрвүүлэгдэж бүтээгдсэн файлуудыг /usr/local санд суулгадаг.
# make PREFIX=/usr/home/example/local install
гэсэн тушаал нь портыг /usr/ports санд хөрвүүлж бэлдээд /usr/home/example/local санд суулгана.
Мэдээж
# make WRKDIRPREFIX=../ports PREFIX=../local install
гэж хоёр хувьсагчийг хослуулан хэрэглэж бас болно (танд зөвхөн ерөнхий ойлголт өгөх зорилгоор урт мөрийг товчилж харуулсан билээ).
Мөн та уг хувьсагчдыг өөрийнхөө орчны хувьсагч болгож зарлаж болно. Тухайн бүрхүүлийнхээ орчны тухай зааврыг эхлээд уншиж танилцах нь зүйтэй.
Зарим порт imake-г хэрэглэдэг ( X цонхот системийн хэсэг) бөгөөд PREFIX хувьсагч ашиглалгүй /usr/X11R6 санд суулгадаг. Үүнтэй ижил зарим Perl портууд PREFIX хувьсагч хэрэглэлгүй Perl-н санд суулгадаг. Эдгээр портуудыг PREFIX хувьсагчтай хамтран ажиллуулж энэ хувьсагчийг ойлгож хүндэтгэдэг болгоно гэдэг бол тун хэцүү бөгөөд бараг боломжгүй ажил юм.
Тухайн портуудыг бүтээж байхад чинь танд бүтээх тохируулгуудаас сонгож болох ncurses дээр тулгуурласан цэс харуулагддаг. Портыг нэгэнт бүтээсний дараа тэдгээр тохируулгуудыг нэмэх, хасах, эсвэл өөрчлөхийн тулд энэ цэсэнд дахин орохыг хүсэх нь хэрэглэгчдийн хувьд тийм ч нийтлэг биш юм. Үүнийг хийх олон аргууд байдаг. Нэг арга нь портыг агуулж байгаа сан уруу ороод урьдын адил тохируулгуудыг сонгосон хэвээр байгаа цэсийг дахин харуулах make config гэж тушаалыг ажиллуулах явдал юм. Өөр нэг арга нь портын хувьд бүх тохиргооны сонголтуудыг харуулах make showconfig тушаалыг ашиглах явдал юм. Бас нэг өөр арга нь бүх сонгогдсон тохируулгуудыг арилгаад танд дахин эхлэх боломж олгох make rmconfig тушаалыг ажиллуулах явдал юм. Эдгээр бүх аргууд болон бусдын талаар ports(7) гарын авлагын хуудсанд илүү дэлгэрэнгүй тайлбарласан байгаа.
Та одоо портыг хэрхэн суулгах талаар мэдсэн юм чинь хэрэв буруу портоо суулгасан бол түүнийг хэрхэн утсгадаг талаар мэдэхийг хүсэж байгаа байх. Өмнөх жишээнд суулгасан портоо бид устгацгаая (анхааралгүй уншсан нэгэнд нь lsof програм гэж сануулъя). Портууд багцтай ижилхэн pkg_delete(1) тушаалаар устгагдаж болно ( Багц сонголт хэсэгт тайлбарласан буй):
# pkg_delete lsof-4.57
Хамгийн түрүүнд pkg_version(1) тушаал ашиглан портын цуглуулгаас шинэ хувилбар агуулсан портуудыг жагсаах хэрэгтэй:
# pkg_version -v
Портыг шинэчлэхээсээ өмнө портын цуглуулгаа шинэчлээд /usr/ports/UPDATING файлыг шалгана. Энэ файл дотор портыг шинэчлэхэд шаардагдах үйлдлүүд болох өөрчлөгдсөн төрөл, тохируулгын өөрчлөлт, эсвэл өмнөх хувилбартайгаа зөрчилдөх хэсгүүд гэх мэтийн чухал мэдээллүүд агуулагдаж байдаг.
Хэрэв UPDATING файлд саяны таны уншсан зүйлүүдээс өөр юм агуулагдаж байвал уг файлд буй зааврыг дагах нь зүйтэй.
portupgrade хэрэгсэл нь портыг амархан шинэчлэхэд зориулагдсан. Үүнийг ports-mgmt/portupgrade портоос суулгаж болно. Бусад портын нэгэн адил порт суулгадаг журмаар make install clean гэсэн тушаалаар суулгадаг:
# cd /usr/ports/ports-mgmt/portupgrade # make install clean
Суугдсан портын жагсаалтыг pkgdb -F тушаал ашиглан шалгаад үр дүнгийн мэдээлэлд байгаа зөрчлүүдийг нь залруулж засах хэрэгтэй. Шинэчлэл хийхээсээ өмнө ингэж зөрчлүүдийг арилгах нь тун сайн санаа билээ.
Хэрэв та portupgrade -a гэж ажиллуулбал
таны системд суугдсан бүх хуучирсан
портуудыг portupgrade шинэчилж
эхэлдэг. Хэрэв та суугдах шинэчлэл болгонд
лавлаж асуух үйлдэл хийлгэхийг хүсвэл -i
сонголт нэмээрэй.
# portupgrade -ai
Хэрэв та бүх шинэчлэгдэх порт биш харин зөвхөн
тодорхой нэгэн портыг шинэчлэх хүсэлтэй бол
portupgrade багцны-нэр гэж бичнэ. -R
сонголт нэмснээр тухайн програмд
шаардагдах портуудыг portupgrade
эхлээд нь шинэчлэдэг.
# portupgrade -R firefox
Портын оронд багц хэрэглэж суулгахыг хүсвэл
-P
сонголт хэрэглэнэ. Энэ
сонголттой үед portupgrade нь PKG_PATH хувьсагчид зааж өгсөн жагсаалтад
буй сан дотроос багцуудыг хайх ба хэрэв уг
санд байхгүй байгаа бол сүлжээнээс татаж нөхдөг.
Хэрэв дотоод сан болон сүлжээнээс багц
олдоогүй тохиолдолд portupgrade нь
портоор суулгахыг оролдох болно. Порт
хэлбэрээр суулгах үйлдлийг зогсоохын тулд -PP
сонголтыг нэмж өгдөг.
# portupgrade -PP gnome2
Хэрэв хөрвүүлж суулгалгүйгээр зөвхөн distfiles
файлыг татаж авах (хэрэв -P
сонголттой бол багц файлыг ) шаардлагатай бол
-F
сонголтыг ашиглаарай.
Дэлгэрэнгүй мэдээллийг
portupgrade(1)
хэсэгт харна уу.
Portmaster нь “үндсэн” системд байдаг (бусад портуудаас хамаардаггүй) хэрэгслүүдийг ашиглахаар хийгдсэн бөгөөд аль портыг шинэчлэхээ тогтоохын тулд /var/db/pkg/ сан доторхийг ашигладаг. Тэрээр ports-mgmt/portmaster порт хэлбэрээр байдаг:
# cd /usr/ports/ports-mgmt/portmaster # make install clean
Portmaster нь портуудыг дөрвөн төрөлд бүлэглэдэг:
Root буюу язгуур портууд (хамаарсан портууд байхгүй, бусдаас хамаардаггүй)
Trunk буюу гол портууд (хамаарсан портууд байхгүй, бусдууд хамаардаг)
Салбар портууд (хамаарсан портуудтай, бусдууд хамаардаг)
Навч портууд (хамаарсан портуудтай, бусдаас хамаардаггүй)
Та суулгагдсан бүх портуудыг жагсааж болох
бөгөөд -L
тохируулга ашиглан
шинэчлэлт байгаа эсэхийг хайж болно:
# 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
Бүх суулгагдсан портуудыг энэ хялбар тушаал ашиглан шинэчилж болно:
# portmaster -a
Тэмдэглэл: Анхдагчаар Portmaster нь байгаа портыг устгахаасаа өмнө нөөц багц үүсгэдэг. Хэрэв шинэ хувилбар суулгалт амжилттай болсон бол Portmaster нөөц багцыг устгана.
-b
сонголтыг ашиглаж Portmaster-т нөөцийг автоматаар устгахгүй байхыг тушаана.-i
сонголтыг ашигласнаар порт бүрийг шинэчлэхээс өмнө асууж лавлан Portmaster-ийг интерактив горимд эхлүүлнэ.
Хэрэв шинэчлэх процессийн явцад алдаа гарвал
та бүх портыг шинэчлэх буюу дахин бүтээхийн
тулд -f
-г ашиглаж болно:
# portmaster -af
Шинэ порт бүтээж суулгахаасаа өмнө бүх хамааралтай портуудыг шинэчилж Portmaster-ийг системд шинэ порт суулгахдаа та бас ашиглаж болно:
# portmaster shells/bash
Дэлгэрэнгүй мэдээллийг portmaster(8)-с үзнэ үү.
Портын цуглуулга нь дискний хэмжээг байнга идэж байдаг. Портоос програмыг хөрвүүлж суулгасны дараа бэлдэж байсан work санг make clean тушаалаар цэвэрлэхээ үргэлж санах хэрэгтэй. Та портын цуглуулгыг бүхлээр нь дараах тушаалаар цэвэрлэж болно:
# portsclean -C
Маш олон эх файлууд distfiles санд явцын үр дүнд хадгалагдаж байдаг. Та тэдгээрийг гар аргаар устгаж болох ба дараах тушаал хэрэглэн ямар нэгэн порттой холбоогүй болсон бүх distfiles устгаж болно:
# portsclean -D
Эсвэл таны системд одоо суугдсан байгаа порттой хамаагүй бүх distfiles-уудыг дараах тушаалаар устгана:
# portsclean -DD
Тэмдэглэл: portsclean хэрэгсэл нь portupgrade програмын нэг бүрдэл хэсэг.
Суулгасан портоо хэрэглэхгүй болсон үедээ устгахаа мартаж болохгүй. Иймэрхүү автоматжуулалтыг гүйцэтгэдэг эвтэйхэн програм бол ports-mgmt/pkg_cutleaves порт билээ.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай
холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим
захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт
байвал <admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.