Можете да използвате програмата pkg_add(1), за да инсталирате FreeBSD софтуерни пакети от локален файл или от сървър в мрежата.
Example 4-1. Ръчно сваляне на пакет и локално инсталиране
# 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
Ако нямате локален източник на пакети (като набор от FreeBSD CD-ROM дискове), вероятно ще е по-лесно да използвате опцията -r на pkg_add(1). Това ще накара програмата автоматично да установи версията и правилния формат на обектния код (object format), и да свали и инсталира пакета от FTP сървър.
# pkg_add -r lsof
Горният пример свали нужния пакет и го добави към системата без нуждата от каквато и да е допълнителна намеса. Ако искате да зададете точно определен или различен от подразбиращия се огледален сървър за FreeBSD пакети, трябва да промените стойността на променливата PACKAGESITE, за да отхвърлите настройките по подразбиране. pkg_add(1) използва fetch(3), за да сваля файлове, а тя се съобразява с най-различни променливи на обкръжението, включително FTP_PASSIVE_MODE, FTP_PROXY, и FTP_PASSWORD. Може да се наложи да зададете някои от тях, ако сте зад защитна стена (firewall) или се налага да ползвате FTP/HTTP прокси. Вижте помощната страница на fetch(3) за пълен списък. Забележете, че в горния пример бе използван lsof вместо lsof-4.56.4. Когато използвате възможността за сваляне от отдалечен сървър, версията на пакета трябва да бъде пропусната. pkg_add(1) ще вземе автоматично най-новата версия на приложението.
Пакетите се разпоространяват във формати .tgz и .tbz. Можете да ги намерите на адрес ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ или на дистрибуционния FreeBSD CD-ROM. Всеки от четирите диск на FreeBSD комплекта (PowerPak, и др.) съдържа пакети в директория /packages. Местонахождението на пакетите е подобно на дървото на /usr/ports. Всяка категория има собствена директория и всеки пакет може да бъде намерен в директория All.
Директорийната структура на пакетната система съвпада с тази на портовете; те работят заедно, за да оформят цялата пакетна/портс система.
pkg_info(1) е програма, която изброява и описва инсталираните пакети.
# 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) е програма, която извлича информация за версиите на всички инсталирани пакети. Тя сравнява версията на пакета, с версията, която има съответното приложение в портс дървото.
# pkg_version cvsup = docbook = ...
Символът във втората колона обозначава разликата в относителната възраст на инсталираната версия и версията, която е на разположение в локалното портс дърво.
| Символ | Значение |
|---|---|
| = | Версията на инсталирания пакет съвпада с тази на намерения в локалното портс дърво. |
| < | Инсталираната версия е по-стара от тази на наличното в портс дървото приложение. |
| > | Инсталираната версия е по-нова от намерената в локалното портс дърво. (Вероятно локалното портс дърво е старо.) |
| ? | Инсталираният пакет не може да бъде намерен в портс индексите. (Това може да се случи, ако инсталирания порт бъде отстранен от портс колекцията или бъде преименуван.) |
| * | Съществуват няколко версии на пакета. |
За да отстваните по-рано инсталиран софтуерен пакет използвайте програмата pkg_delete(1).
# pkg_delete xchat-1.7.1
Цялата информация за пакетите се съхранява в директория /var/db/pkg. Там може да бъде намерен списък с инсталираните файлове и описание на всеки пакет.
Този и други документи можете да намерите в ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
За въпроси относно FreeBSD, прочетете документацията преди да попитате в <questions@FreeBSD.org>.
За въпроси относно този документ, e-mail <doc@FreeBSD.org>.