Programu pkg_add(1) można użyć do instalacji programów zarówno z dysku lokalnego, jak i z sieci.
#
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
Jeśli nie posiadamy lokalnego źródła programów (np na
płytach CD FreeBSD), będzie Ci prawdopodobnie łatwiej użyć komendy
pkg_add(1) z opcją -r
. Spowoduje to,
że program samodzielnie określi odpowiednią wersję oprogramowania
dla naszej wersji systemu. Następnie pobierze odpowiedni plik
z sieci oraz go zainstaluje.
#
pkg_add -r lsof
W powyższym przykładzie program pobierze właściwy pakiet
i zainstaluje go bez jakiejkolwiek dalszej ingerencji użytkownika.
Jeśli chcemy wskazać programowi alternatywny serwer lustrzany,
należy odpowiednio zdefiniować zmienną środowiskową
PACKAGESITE
. Program pkg_add(1) do pobierania
plików z serwerów wykorzystuje fetch(3), który z kolei
wykorzystuje różnorodne zmienne środowiskowe, m.in.
FTP_PASSIVE_MODE
, FTP_PROXY
oraz
FTP_PASSWORD
. Może się okazać, że będziemy musieli
zdefiniować niektóre z nich jeśli nasz komputer znajduje się za
zaporą ogniową, bądź musi korzystać z serwera pośredniczącego
FTP/HTTP proxy. Więcej informacji znaleźć można w podręczniku
systemowym programu fetch(3). Warto zauważyć, iż w
powyższym przykładzie jako nazwę pakietu podano jedynie
lsof
zamiast lsof-4.56.4
.
Przy zdalnym pobieraniu pakietów nie należy podawać numeru wersji
pakietu. Program pkg_add(1) automatycznie pobierze najnowszą
wersję aplikacji.
Program pkg_add(1) pobierze najnowszą wersję aplikacji
jedynie, gdy wykorzystujemy FreeBSD-CURRENT albo FreeBSD-STABLE. W przypadku
-RELEASE pobrana zostanie wersja pakietu zbudowana dla danego wydania.
Ograniczenie to można obejść modyfikując zmienną środowiskową
PACKAGESITE
. Na przykład, jeśli korzystamy z
FreeBSD 5.4-RELEASE domyślnie pkg_add(1) będzie pobierał
pakiety z
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/
.
By zmusić go do pobierania pakietów zbudowanych dla
FreeBSD 5-STABLE należy zmodyfikować zmienną PACKAGESITE
by wskazywała na
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/
.
Pakiety rozpowszechniane są w formacie .tgz
oraz .tbz
. Możemy je pobrać z
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/,
w Polsce z ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/ports/packages/,
bądź odnaleźć na płytach CDROM FreeBSD. Każda płyta z cztero płytowej
dystrybucji (także PowerPak'a itp) zawiera pakiety w katalogu
/packages
. Struktura katalogu podobna jest
do drzewa portów /usr/ports
. Każda kategoria ma
swój własny katalog, ponadto każdy pakiet może zostać odnaleziony
w katalogu All
(Wszystkie).
Struktura katalogów pakietów jest identyczna względem struktury katalogów portów. Porty i pakiety kooperują za sobą, tworząc wspólnie cały system pakietów/portów.
Narzędziem służącym do przedstawienia informacji o zainstalowanych pakietach oraz wyświetlającym ich krótki opis jest 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
...Program pkg_version(1) jest natomiast narzędziem, które podsumowuje wersje wszystkich zainstalowanych pakietów. Porównuje je następnie z tymi które znajdują się w drzewie portów.
#
pkg_version
cvsup =
docbook =
...Symbol w drugiej kolumnie określa wiek zainstalowanej wersji oprogramowania względem wersji odnalezionej w portach.
Symbol | Znaczenie |
---|---|
= | Wersja odnaleziona w portach jest identyczna. |
< | Wersja jest starsza, niż ta odnaleziona w portach. |
> | Zainstalowana wersja jest nowsza, niż znaleziona w portach. (Prawdopodobnie lokalne drzewo portów nie zostało zaktualizowane.) |
? | Zainstalowany pakiet nie może zostać odnaleziony w drzewie portów. (Może to mieć miejsce np. w sytuacji gdy zainstalowany port został usunięty z kolekcji portów, bądź zmienił nazwę.) |
* | Istnieje wiele wersji tego programu. |
This, and other documents, can be downloaded from http://ftp.FreeBSD.org/pub/FreeBSD/doc/
For questions about FreeBSD, read the
documentation before
contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.