FreeBSD tarkvarapaketi paigaldamiseks, nii kohalikust failist kui ka üle võrgu, saad kasutada käsku pkg_add(1).
Example 4-1. Paki allalaadimine ja paigaldamine kohalikku masinasse
# 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 # pkg_add lsof-4.56.4.tgz
Juhul kui sul pole pakke mingil kohalikul kandjal (näiteks FreeBSD CDROM-ide komplekti), oleks lihtsam kasutada pkg_add(1) programmi võtit -r. Seda suvandit kasutades määrab utiil ise kindlaks sobiva objektiformaadi ja väljaande versiooni numbri ning seejärel laadib vajaliku paki FTP serverist alla ja paigaldab selle.
# pkg_add -r lsof
See käsk laadib soovitud paki alla ja paigaldab selle ilma mingisuguse kasutajapoolse lisasekkumiseta. Alternatiivse FreeBSD pakkide peegli kasutamiseks, peamise serveri asemel, peaksid sa vaikimisi seadete muutmiseks, sobivalt seadma PACKAGESITE muutuja. pkg_add(1) kasutab failide laadimiseks käsku fetch(3), mis omakorda kasutab hulka keskkonnamuutujaid, s.h. FTP_PASSIVE_MODE, FTP_PROXY ja FTP_PASSWORD. Kui oled tulemüüri taga, pead võib-olla neist ühe või mitu määrama; või pead kasutama FTP/HTTP puhvrit. Man-lehelt fetch(3) leiad täieliku nimekirja. Pane tähele, et ülaltoodud näiteks kasutati väärtust lsof väärtuse lsof-4.56.4 asemel. Kui kasutatakse kaugtoomise võtet, tuleb paki versiooninumber eemaldada. pkg_add(1) tõmbab automaatselt rakenduse uusima versiooni.
Pakke levitatakse .tgz ja .tbz formaatides. Sa võid nad leida aadressilt ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/ või FreeBSD CDROM-ide komplektist. Igal FreeBSD 4-CD komplekti kuuluval CD-l on kataloogis /packages pakid. Pakkide puu paigutus on sarnane portsude puu (/usr/ports) omaga. Igal kategoorial on oma kataloog ja kõik pakid on ühtlasi kataloogisAll.
Pakkide kataloogi struktuur põhineb portsude omal ja koos moodustavad nad terve pakkide/portsude süsteemi.
pkg_info(1) on utiil, mis toob ekraanile nimekirja erinevatest installitud pakkidest ning kirjeldab neid.
# 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 ...
pkg_version(1) on utiil, mis annab kokkuvõtte kõigi installitud pakkide versioonidest. Utiil võrdleb paki versiooni antud hetkel portsude puus leiduva versiooniga.
# pkg_version cvsup = docbook = ...
Teises tulbas asuvad sümbolid näitavad installitud versiooni suhtelist vanust ning kohalikust portsude puust saadaolevat versiooni.
| Sümbol | Tähendus |
|---|---|
| = | Installitud paki versioon on sama, mis antud paki versioon kohalikus portsude puus. |
| < | Installitud versioon on vanem kui see, mis saadaval portsude puust. |
| > | Installitud versioon on uuem kui see, mis leidub kohalikus portsude puus (mis on arvatavasti vananenud). |
| ? | Installitud pakki ei leidu portsude nimekirjas. (See võib näiteks juhtuda, kui installitud ports eemaldatakse kollektsioonist või nimetatakse ümber.) |
| * | Pakist leidub mitu versiooni. |
Eelnevalt paigaldatud pakke saab eemaldada utiili pkg_delete(1) abil.
# pkg_delete xchat-1.7.1
Kogu pakkide informatsiooni hoitakse kataloogis /var/db/pkg. Sellest kataloogist võib leida kõikide pakkide sisu nimekirjad ja kirjeldused.