This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
Дараах хэсэгт системдээ портын цуглуулгыг ашиглан хэрхэн програм
суулгах болон устгах талаар өгүүлэх болно. 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 extractPortsnap-г эхний удаа дээрх маягаар
ашиглаж эхэлсний дараа /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/portsSubversion-ий эхний удаагийн
таталтын дараа /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 extractdistfile-ууд болон хадгалсан багцуудыг шинэ портын мод руугаа зөөнө:
# 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-guiPortsnap ашиглан портын модыг шинэчлэх болон 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 мөн
installmake гэсэн дамжлагуудыг
cleanmake гэж товчилж бичиж болно.install clean
Зөвхөн make
тушаал
ашиглан порт суулгахад заримдаа хэрэглэгчээс
сонголт оруулахыг хүлээж удах тохиолдлууд байж болдог.
Учир нь зарим тохиолдолд анхдагчаар хэрэглэгчээс сонголт хийхийг
асуухаар хийгдсэн байдаг. Иймээс олон хамааралтай үед
заримдаа нэг портыг бүтээж эмхэтгэхэд төвөгтэй болгодог.
Үүнээс гарахын тулд installmake
тушаал ашиглан тохиргоог нэг удаагаар хийх хэрэгтэй.
Дараа нь config-recursivemake тушаалыг ажиллуулах
хэрэгтэй.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
гэж тушаалыг ажиллуулах явдал юм.
Өөр нэг арга нь портын хувьд бүх тохиргооны сонголтуудыг харуулах
configmake тушаалыг
ашиглах явдал юм. Бас нэг өөр арга нь бүх сонгогдсон тохируулгуудыг
арилгаад танд дахин эхлэх боломж олгох showconfigmake
тушаалыг ажиллуулах явдал юм.
Эдгээр бүх аргууд болон бусдын талаар ports(7) гарын авлагын
хуудсанд илүү дэлгэрэнгүй тайлбарласан байгаа.rmconfig
Та одоо портыг хэрхэн суулгах талаар мэдсэн юм чинь
хэрэв буруу портоо суулгасан бол түүнийг
хэрхэн утсгадаг талаар мэдэхийг хүсэж байгаа байх.
Өмнөх жишээнд суулгасан портоо бид устгацгаая (анхааралгүй
уншсан нэгэнд нь 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 cleanPortmaster нь портуудыг дөрвөн төрөлд бүлэглэдэг:
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>
хаягаар цахим захидал явуулна уу.