Anketa

Ktorý návod by ste cheli ako ďalší?:

Partenské projekty

FreeBSD - Používanie sytému balíčkov

Verzia pre tlačSend by emailPDF verzia

Na správu balíčkov v systéme FreeBSD existuje niekoľko nástrojov:

  • Nástroj sysinstall sa dá v bežiacom systéme použiť na inštaláciu, odstránenie a výpis zoznamu dostupných a nainštalovaných balíkov. Viac informácií sa nachádza v časti 2.10.11.

  • Nástroje príkazového riadka na správu balíkov, ktoré budú predmetom opisu v ďalších častiach.

Inštalovanie balíkov

Na inštalovanie softvérových balíkov pre FreeBSD, ktoré sa nachádzajú priamo v počítači alebo na serveri v sieti, môžeme použiť  pkg_add(1).

Príklad 5-1. Stiahnutie a ručné nainštalovanie balíka

# 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

Ak nemáme zdroj miestnych balíkov (ako napríklad FreeBSD CD-ROM) potom bude zrejme jednoduchšie použiť voľbu -r pkg_add(1). Táto voľba zabezpečí, aby nástroj automaticky určil formát objektu a vydanie, a potom získal a nainštaloval balík z FTP stránky.

# pkg_add -r lsof

Predchádzajúci príklad stiahne správny balík a pridá ho bez potreby ďalších zásahov od používateľa. Ak chceme určiť iné zrkadlo balíkov FreeBSD, namiesto hlavnej distribučnej stránky, môžeme nastaviť premennú prostredia PACKAGESITE, a zmeniť jej predvolené nastavenie. Nástroj pkg_add(1) použije na stiahnutie súborov nástroj fetch(3), ktorý rešpektuje nastavenia rôznych premenných prostredia vrátane premenných FTP_PASSIVE_MODE, FTP_PROXYFTP_PASSWORD. Tieto premenné sa používajú, ak sme za firewallom alebo potrebujeme použiť sprostredkujúcu FTP/HTTP (proxy) stanicu. Úplný zoznam premenných nájdeme na man stránke príkazu fetch(3). V predchádzajúcom príklade sme ako parameter príkazu použili  lsof namiesto lsof-4.56.4. Keď chceme použiť príkaz na získanie balíka zo vzdialeného zdroja, nesmieme použiť číslo verzie balíka. Nástroj pkg_add(1) automaticky získa najnovšiu verziu aplikácie.

Poznámka: pkg_add(1) stiahne poslednú verziu aplikácie ak používame vydanie FreeBSD-CURRENT alebo FreeBSD-STABLE. Ak používam vydanie -RELEASE, stiahne tú verziu balíka, ktorá bola použitá pri zostavení vydania. Toto správanie je možné zmeniť pomocou premennej prostredia PACKAGESITE. Ak napríklad používame systém FreeBSD 8.1-RELEASE, bude sa nástroj pkg_add(1) snažiť stiahnuť balíky z adresy ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/. Ak chceme nástroj pkg_add(1) prinútiť, aby sťahoval balíky z vydania FreeBSD 8-STABLE, nastavíme do PACKAGESITE hodnotu ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/.

Súbory balíkov sú distribuované vo formátoch .tgz.tbz. Môžeme ich nájsť na adrese ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ alebo na disku FreeBSD CD-ROM. Každé CD zo sady 4 CD obsahuje balíky v adresári /packages. Rozloženie balíkov je podobné ako to, ktoré sa nachádza v strome /usr/ports. Každá kategória má vlastný adresár a všetky balíky sa dajú nájsť adresári All.

Štruktúra adresárov systému balíkov zodpovedá rozloženiu portov. Systémy navzájom spolupracujú a spolu tvoria jeden balíkovo-portový systém.

Správa balíkov

Nástroj pkg_info(1) dokáže zobraziť zoznam rôznych nainštalovaných balíkov aj ich popisy.

# 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
...

Nástroj pkg_version(1) zasa dokáže zobraziť sumár verzií nainštalovaných balíkov. Porovnáva verzie balíkov s aktuálnymi verziami v strome portov.

# pkg_version
cvsup                       =
docbook                     =
...

Symboly v druhom stĺpci predstavujú relatívny vek nainštalovaných verzií a verzií dostupných v strome portov.

Symbol Význam
= Verzia nainštalovaného balíka je zhodná s verziou v strome portov.
< Nainštalovaná verzia je strašia ako verzia v strome portov.
> Nainštalovaná verzia je novšia ako verzia v strome portov. (Stom portov v počítači je asi zastaraný.)
? Nainštalovaný balík sa v strome portov nedá nájsť. (Toto sa môže stať napríklad, ak je port odstránený z kolekcie portov alebo je premenovaný.)
* Existuje viacero verzií balíka.
! Nainštalovaný balík existuje v strome portov, no z nejakého dôvodu ho nástroj pkg_version nedokáže porovnať.

Odstránenie balíkov

Keď chceme nainštalovaný softvérový balík odstrániť, použijeme nástroj pkg_delete(1).

# pkg_delete xchat-1.7.1

Nástroj pkg_delete(1) si vyžaduje úplný názov a číslo verzie. Predchádzajúci príkaz by nefungoval, keby sme zadali xchat namiesto xchat-1.7.1. Číslo verzie nainštalovaného balíka môžeme jednoducho nájsť pomocou nástroja pkg_version(1). Môžeme však namiesto toho použiť zástupné znaky:

# pkg_delete xchat\*

v tomto prípade budú odstránené všetky balíky, ktoré sa začínajú slovom xchat.

Rôzne

Informácie o všetkých balíkoch sú uložené v adresári /var/db/pkg. Zoznam všetkých súborov a popisov každého balíka sa dá nájsť v súboroch v tomto adresári.