Дараах хэсэгт системдээ портын цуглуулгыг ашиглан хэрхэн програм
суулгах болон устгах талаар өгүүлэх болно. make
хөрвүүлэгчийн байршил болон орчны хувьсагчийн тухай нэмэлт тодорхой мэдээллийг
ports(7) хуудаснаас харна уу.
2012 оны дундаас эхлээд FreeBSD портын төсөл хувилбар удирдах системийн CVS-с Subversion рүү шилжсэн. Ерөнхийдөө портыг ашиглах арга бол Portsnap-г ашиглах явдал юм. Портын локал өөрчлөлт шаардлагатай (нэмэлт локал нөхөөс арчилдаг) хэрэглэгчид магадгүй Subversion-г ашиглахыг илүүд үзэж болох юм. CVSup үйлчилгээ 2013 оны 2 сарын 28-с эхлээд ашиглагдахаа болих тул цаашид ашиглахыг зөвлөхгүй.
Портын цуглуулга нь /usr/ports
сан
дотор Makefiles
, patches буюу нөхөгч файл, мөн
тайлбар файлуудын цуглуулга юм. Эдгээр файлууд нь FreeBSD дээр програмуудыг
бүтээж суулгахад хэрэглэгддэг. Доор байгаа зааврууд нь FreeBSD суулгах явцад
портын цуглуулга суугаагүй бол түүнийг авах хэд хэдэн аргуудыг харуулж
байна.
Portsnap нь портын цуглуулгыг татаж аван шинэчлэхэд зориулагдсан бөгөөд ихэнх хэрэглэгчдийн хувьд сонголт болсон хурдан, хэрэглэхэд хялбар хэрэгсэл юм. Portsnap-н нэмэлт тайлбарын талаар Portsnap-г хэрэглэх нь хэсгээс үзнэ үү.
Шахсан хэлбэртэй портын цуглуулгыг
/var/db/portsnap
сан дотор
татаж авах хэрэгтэй. Хэрэв та хүсвэл энэ алхмын дараа интернэтээс
салгаатай ажиллаж болдог.
#
portsnap fetch
Хэрэв та Portsnap-г анх удаагаа
ажиллуулж байгаа бол шахагдсан уг цуглуулгыг /usr/ports
сан дотор задална:
#
portsnap extract
Portsnap-г эхний удаа дээрх маягаар
ашиглаж эхэлсний дараа /usr/ports
санг доорх тушаалаар
шинэчилнэ:
#
portsnap update
Хэрэв портын цуглуулгыг илүү хянах шаардлагатай бол (жишээ нь локал өөрчлөлтийг арчлах бол) 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-г ашиглан портын цуглуулгыг суулгах арга юм. Гэхдээ тухайн төхөөрөмж дээр байгаа цуглуулга нь тухайн хувилбарыг гаргасан өдрийн хувилбартай байдгийг анзаарах хэрэгтэй. Хэрэв танд интернэт холболт байдаг бол дээр өгүүлсэн хоёр аргыг урьтал болгох нь зүйтэй.
root
эрхээр ороод
sysinstall
гэсэн тушаал өгөх хэрэгтэй:
#
sysinstall
Enter товч дарна.
гэдгийг сонгоодEnter дээр дарна.
цэсийг сонгоодSpace товч дээр дарах хэрэгтэй.
гэж сонгонДээр буй Enter дээр дарна.
гэдгийг олж сонгонCDROM юм уу FTP гэх мэт суулгах төхөөрөмжөө сонгоно.
Дээр буй Enter дээр дарна.
цэсийг сонгоодX дээр дарж sysinstall-с гарах болно.
2013 оны 2 сарын 28-аас эхлэн портын мод CVS рүү экспорт хийгдэхгүй учраас CVSup болон csup нь портын модны шинэчлэлийг хийхгүй.
Шилжүүлэлт нь 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>
хаягаар цахим захидал явуулна уу.