pkgng нь FreeBSD-н уламжлалт багц удирдах хэрэгсэл болох pkg_install-г сайжруулж сольсон хувилбар юм. Энэ нь бинар багцтай хурдан бөгөөд хялбараар ажиллах боломжийг олгодог олон боломжуудтай юм. pkgng-н эхний хувилбар нь 2012 оны 8 сард байсан.
pkgng нь ports-mgmt/portmaster эсвэл ports-mgmt/portupgrade гэх мэт порт удирдах хэрэгслүүдийг солихоор хийгдээгүй. ports-mgmt/portmaster ба ports-mgmt/portupgrade нь гуравдагч талын програм хангамжийг бинар багц болон портын цуглуулгаас суулгаж чаддаг бол pkgng нь зөвхөн бинар багцуудыг суулгадаг.
FreeBSD 9.1 ба түүнээс хойшхи хувилбарууд pkgng-д зориулсан "bootstrap" хэрэгсэлтэй байдаг. bootstrap хэрэгсэл нь pkgng-г татаж аваад суулгана.
Системийг эхлүүлэхийн тулд:
#
/usr/sbin/pkg
FreeBSD-н өмнөх хувилбаруудын хувьд pkgng-г портын цуглуулга эсвэл бинар багц хэлбэрээр суулгах ёстой.
pkgng портыг суулгахын тулд дараахийг ажиллуулна:
#
cd /usr/ports/ports-mgmt/pkg
#
make
#
make install clean
Бинар багцыг суулгахын тулд дараахийг ажиллуулна:
#
pkg_add -r pkg
pkgng багц удирдах хэрэгсэл нь
FreeBSD 7.X
эсвэл
FreeBSD 8.0 хувилбарууд дээр дэмжигдээгүй.
FreeBSD-г өмнөх суулгацын хувьд pkg_install багцын өгөгдлийн санг шинэ формат руу хувиргах шаардлагатай. Багцын өгөгдлийн санг хувиргахын тулд дараахийг ажиллуулна:
#
pkg2ng
Энэ алхам нь гуравдагч талын програм хангамж суугаагүй шинэ суулгацуудын хувьд шаардлагагүй.
Энэ алхмыг буцааж болохгүй. Багцын өгөгдлийн санг pkgng формат руу хөрвүүлсний дараа pkg_install хэрэгслүүдийг ашиглах ёсгүй.
Багцын өгөгдлийн санг шинэ хувилбар руу хувиргалт
хийх явцад алдаа гарч болох юм. Ерөнхийдөө эдгээр алдааг
хаях нь аюулгүй боловч амжилттай хөрвөгдөөгүй гуравдагч
талын програм хангамжийн жагсаалт pkg2ng
ажиллаж дууссаны дараа харагддаг. Эдгээрийг гараар засах
ёстой.
FreeBSD портын цуглуулга нь
pkg_install биш
pkgng ашиглан шинэ програмыг
бүртгэж байгаа эсэхийг шалгахын тулд
10.X
хувилбараас өмнөх
FreeBSD хувилбарууд доорх мөрийг
/etc/make.conf
файлд байхыг
шаарддаг:
WITH_PKGNG= yes
pkgng багц удирдах
систем нь ихэнх үйлдэлдээ багцын репозиторыг ашигладаг.
Багцын анхдагч репозиторын байрлал
/usr/local/etc/pkg.conf
юм уу эсвэл
тохиргооны файл дахь утгыг дарж бичдэг PACKAGESITE
орчны хувьсагчид тодорхойлогддог.
pkgng-н нэмэлт тохиргооны боломжуудыг pkg.conf(5)-д тайлбарласан байгаа.
pkgng-г хэрэглэх мэдээллийг
pkg(8) гарын авлагын хуудаснаас эсвэл pkg
-г
нэмэлт өгөгдөлгүйгээр ажиллуулж харж болно.
pkgng тушаалын аргумент бүрийг
тухайн тушаалын гарын авлагын хуудсанд тайлбарласан байдаг.
Жишээ нь pkg install
-н гарын авлагыг уншихын
тулд дараахийн аль нэгийг ажиллуулж болно:
#
pkg help install
#
man pkg-install
Систем дээр суусан багцуудын мэдээллийг
pkg info
тушаал ашиглан харж болно.
pkg_info(1)-н нэгэн адил багцын хувилбар болон
бүх багцын тайлбарыг харуулах болно.
Тухайн багцын мэдээллийг ингэж харж болно:
#
pkg info packagename
Жишээ нь систем дээр pkgng-н ямар хувилбар суулгасан байгааг харахын тулд дараахийг ажиллуулна:
#
pkg info pkg
pkg-1.0.2 New generation package manager
Ерөнхийдөө FreeBSD-н ихэнх хэрэглэгчид бинар багцыг дараахийг ажиллуулж суулгана:
#
pkg install packagename
pkg install
нь Хэсэг 5.5.2, «pkgng орчныг
тохируулах»-д
дурдсанаар репозиторын өгөгдлийг ашигладаг. Эсрэгээр pkg-add(8) нь
репозиторын өгөгдөл эсвэл PACKAGESITE
-д заасныг ашигладаггүй учир
хамаарлуудыг зөв хянадаггүй бөгөөд дутуу байгаа хамаарлуудыг
алсын эхээс татаж авдаггүй. Энэ хэсэг нь
pkg install
-г хэрхэн ашиглах талаар харуулна.
pkg add
-г хэрэглэх талаарх мэдээллийг
pkg-add(8)-с үзнэ үү.
pkg install
ашиглан нэмэлт бинар багцуудыг
суулгаж болно. Жишээ нь curl-г
суулгахын тулд:
#
pkg install curl
Updating repository catalogue Repository catalogue is up-to-date, no need to fetch fresh copy The following packages will be installed: Installing ca_root_nss: 3.13.5 Installing curl: 7.24.0 The installation will require 4 MB more space 1 MB to be downloaded Proceed with installing packages [y/N]:y
ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00 curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00 Checking integrity... done Installing ca_root_nss-3.13.5... done Installing curl-7.24.0... done
Шинэ багц болон хамаарлууд хэлбэрээр суусан нэмэлт багцуудыг суулгасан багцуудын жагсаалтаас харж болно:
#
pkg info
ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers pkg-1.0.2 New generation package manager
Хэрэгцээгүй болсон багцуудыг pkg delete
тушаалаар устгаж болно. Жишээ нь curl
хэрэггүй бол:
#
pkg delete curl
The following packages will be deleted: curl-7.24.0_1 The deletion will free 3 MB Proceed with deleting packages [y/N]:y
Deleting curl-7.24.0_1... done
Хуучирсан багцуудыг pkg version
тушаалаар олж болно. Хэрэв локал портын мод байхгүй бол
pkg-version(8) нь алсад байрлах репозиторын каталогийг
ашиглах бөгөөд хэрэв байгаа бол багцын хувилбарыг танихын
тулд локал портын модыг ашиглагддаг.
Багцыг шинэ хувилбар руу pkgng ашиглан шинэчилж болно. curl-н шинэ хувилбар гарсан гэж бодъё. Локал багцыг шинэ хувилбар руу шинэчилж болно:
#
pkg upgrade
Updating repository catalogue repo.txz 100% 297KB 296.5KB/s 296.5KB/s 00:00 The following packages will be upgraded: Upgrading curl: 7.24.0 -> 7.24.0_1 1 MB to be downloaded Proceed with upgrading packages [y/N]:y
curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00 Checking integrity... done Upgrading curl from 7.24.0 to 7.24.0_1... done
Багцыг устгаснаар дээрх жишээн дээрх security/ca_root_nss шиг хэрэггүй хамаарлуудыг үлдээж болох юм. Тийм багцууд нь суусан хэвээр байх боловч юу ч тэднээс хамааралгүй байдаг. Хамаарал болон суусан хэрэггүй багцуудыг автоматаар илрүүлж устгаж болно:
#
pkg autoremove
Packages to be autoremoved: ca_root_nss-3.13.5 The autoremoval will free 723 kB Proceed with autoremoval of packages [y/N]:y
Deinstalling ca_root_nss-3.13.5... done
pkg_install багц удирдах системээс ялгаатай нь pkgng өөрийн гэсэн өгөгдлийн санг нөөцлөх аргатай байдаг. Багцын өгөгдлийн сангийн агуулгыг гараар нөөцлөхийн тулд дараахийг ажиллуулна:
#
pkg backup -d pkgng.db
pkgng.db
файлын нэрийг тохирсон
файлын нэрээр солих хэрэгтэй.
Мөн нэмэлтээр pkgng нь
багцын өгөгдлийн санг өдөр тутам автоматаар нөөцөлж
байх periodic(8) скрипттэй байдаг. Гэхдээ энэ нь
periodic.conf(5) файлд
daily_backup_pkgng_enable
хувьсагчийг
YES
гэж тохируулж өгсөн тохиолдолд ажилладаг.
pkg_install-н
давтамжтайгаар ажиллах скрипт багцын өгөгдлийн санг нөөцлөхөөс
сэргийлэхийн тулд periodic.conf(5) файлд
daily_backup_pkgdb_enable
хувьсагчийг
NO
болгож тохируулна.
Өмнөх багцын өгөгдлийн сангийн нөөцийн агуулгыг сэргээхийн тулд дараахийг ажиллуулна:
#
pkg backup -r /path/to/pkgng.db
Анхдагчаар pkgng нь
бинар багцуудыг pkg.conf(5)-н PKG_CACHEDIR
-д
заасан кэш санд хадгалдаг. pkg upgrade
ашиглан багцуудыг шинэчлэх үед шинэчилсэн багцуудын
хуучин хувилбарууд автоматаар устдаггүй.
Хуучирсан бинар багцуудыг устгахын тулд:
#
pkg clean
FreeBSD-н портын цуглуулга дахь програм хангамжууд уламжлалаар
бол хувилбарын гол өөрчлөлтөд өртөх магадлалтай байдаг.
pkg_install-с ялгаатай нь
pkgng багцын эхийг шинэчлэх
тушаалтай байдаг. Жишээ нь хэрэв lang/php5 анхдагчаар
5.3
хувилбар дор байж байгаад
5.4
-г оруулах зорилгоор
lang/php53 руу өөрчлөгдсөн
бол pkg_install нь багцын өгөгдлийн
санг шинэчлэхийн тулд аль портоос эхэлж суусныг мэдэх
ports-mgmt/portmaster
гэх мэт нэмэлт програм хэрэглэхийг шаарддаг.
ports-mgmt/portmaster ба ports-mgmt/portupgrade портуудаас ялгаатай нь шинэ болон хуучин хувилбарууд ямар дарааллаар жагссанаас хамаарч өөр байдаг. pkgng-н хувьд синтакс нь:
#
pkg set -o category/oldport:category/newport
Жишээ нь дээрх жишээний багцын эхийг өөрчлөхийн тулд дараахийг ажиллуулна:
#
pkg set -o lang/php5:lang/php53
Бас нэг өөр жишээ нь lang/ruby18-г lang/ruby19 руу шинэчлэхийн тулд дараахийг ажиллуулна:
#
pkg set -o lang/ruby18:lang/ruby19
Төгсгөлийн жишээ нь
libglut
хуваалцсан сангийн эхийг graphics/libglut-с graphics/freeglut руу өөрчлөхийн
тулд дараахийг ажиллуулна:
#
pkg set -o graphics/libglut:graphics/freeglut
Багцын эхийг солих үед ихэнх тохиолдолд өөрчлөгдсөн эхийн багцаас хамаарсан багцуудыг дахин суулгах нь чухал байдаг. Хамаарсан багцуудыг дахин суулгахын тулд дараахийг ажиллуулна:
#
pkg install -Rf graphics/freeglut
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.