Introducere
FreeBSD managerul de pachete binare, pkg, poate fi utilizat pentru a gestiona cu ușurință instalarea de aplicații pre-compilate, FreeBSD este echivalentul Debian și pachetele RPM. În comparație cu alte metode răspândite de instalare software pe FreeBSD, alcătuirea porturilor cu Port Collection, folosirea pachetelor oferă o simplă și mai rapidă alternativă care funcționează în multe situații. Oricum pachetele nu sunt la fel de flexibile ca porturile pentru că instalarea pachetelor nu poate fi personalizată – dacă aveți nevoie să modificați opțiunile pachetului la instalare, folosiți port-uri în locul pachetelor.
În acest tutorial, vă vom arăta cum să gestionați pachetele pe FreeBSD 10.1. Aceasta include instalarea și ștergerea pachetelor, pe lângă alte sarcini
Condiție Prealabilă
Pentru a folosi comenzile în acest tutorial, trebuie să aveți acces root la server-ul FreeBSD. Trebuie să fiți capabil să vă logați la server cu drepturi root sau cu alt utilizator care are super privilegii cu ajutorul comenzii sudo.
Cum să instalăm noi pachete folosindu-ne de Pkg
Dacă cunoașteți numele pachetului pe care doriți să îl instalați, îl puteți instala utilizând comanda pkg ca mai jos:
sudo pkg install package_name
Puteți instala mai multe pachete, separate prin spațiu, ca mai jos:
sudo pkg install package1 package2 …
Ca un exemplu, să instalăm Nginx, un server web cunoscut cu ajutorul pkg:
sudo pkg install nginx
Rulând această comandă se va iniția instalarea pachetului specificat. În primul rând, sistemul va verifica catalogul cu actualizări. Dacă este deja complet actualizat, apoi caută pachetul dorit. Dacă pachetul este găsit, pachetul și pachetele de care depind vor fi listate. Va apărea un mesaj de confirmare.
În acest caz, doar pachetele nginx vor fi instalate. Răspundeți la mesaj cu y pentru a confirma:
New packages to be INSTALLED:
nginx: 1.6.2_1,2
The process will require 654 KB more space.
244 KB to be downloaded.
Proceed with this action? [y/N]: y
După confirmarea instalării pachetului, pachetul(e) listate vor fi descărcate și instalate în sistem. Unele pachete vor afișa informații importante post-instalare sau instrucțiuni privitoare la folosirea aplicației, după instalare – asigurați-vă că veți urma orice notă post-instalare.
Dacă folosiți protecția implicită, tcsh sau csh, va trebui să reconstruiți lista de binare în PATH cu ajutorul acestei comenzi:
rehash
Este de asemenea important să notăm că aplicațiile care nu sunt servicii nu pornesc automat, chiar dacă sunt activate ca servicii, după instalare. Haideți să vedem cum rulează serviciile acum.
Cum să Rulăm Serviciile
Pe FreeBSD serviciile care sunt instalate cu pachetele oferă un script de inițializare în /usr/local/etc/rc.d. De exemplu, în cazul Nginx, care rulează ca un serviciu, scriptul de început este numit nginx. Rețineți că trebuie să înlocuiți numele apropiat al scriptului server-ului, în loc să subliniați “nginx” când rulează comanda.
Pentru a vă demonstra ce se întâmplă dacă încercați să porniți un serviciu care nu este activat, încercați să folosiți comanda service pentru a porni software-ul imediat după instalare:
sudo service nginx start
Serviciul nu va porni și veți primi un mesaj ca cel de mai jos:
Cannot ‘start’ nginx. Set nginx_enable to YES in /etc/rc.conf or use ‘onestart’ instead of ‘start’.
Pentru a activa serviciul urmati instructiunile din mesaj si adaugati urmatoarea linie /etc/rc.conf:
nginx_enable=”YES”
Fie puteți deschide /etc/rc.conf în editorul dvs. și să adăugați linia, sau să folosiți utilitatea sysrc pentru a actualiza fișierul ca mai jos:
sudo sysrc nginx_enable=yes
Acum serviciul este activat. Va porni când sistemul va boota, și veți putea folosi sub-comanda start pentru a face acest lucru mai devreme:
sudo service nginx start
Dacă doriți să rulați acest serviciu o dată, fără a-l activa, puteți folosi sub-comanda onestart. Pornind un serviciu în acest mod scriptul de început va rula imediat, dar nu va porni odată la boot-ul sistemului. Încercați acum:
sudo service nginx onestart
Sub-comanda onestart vă ajută să testați configurarea serviciului înainte de a-l activa.
Cum să Vedem Informațiile Pachetului cu Pkg
Pentru a vedea informații despre pachetele instalate, puteți utiliza comanda pkg info, ca mai jos:
pkg info package_name
Acesta va afisa diverse informatii despre pachetul dorit inclusiv descrierea software-ului, optiunea cu care este compilat si o lista cu bibliotecile de care depinde.
Cum să Actualizăm Pachetele Instalate cu Pkg
Puteți instala ultimele versiuni disponibile ale pachetelor instalate folosind comanda:
sudo pkg upgrade
Rulând această comandă va compara pachetele dvs. instalate cu versiunile disponibile din catalogul arhivei, afișând o listă cu pachetele care pot fi actualizate cu o nouă versiune:
Updating FreeBSD repository catalogue…
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (2 candidates): 100%
Processing candidates (2 candidates): 100%
The following 2 packages will be affected (of 0 checked):
Installed packages to be UPGRADED:
python27: 2.7.8_6 -> 2.7.9
perl5: 5.18.4_10 -> 5.18.4_11
The process will require 2 MB more space.
23 MB to be downloaded.
Proceed with this action? [y/N]: y
Răspundeți y pentru a începe actualizarea pachetelor listate.
Cum să ștergem Pachetele cu Pkg
Dacă cunoașteți numele pachetului pe care doriți să îl ștergeți, îl puteți șterge folosind comanda pkg ca mai jos:
sudo pkg delete package_name
Puteți de asemenea specifica ștergerea mai multor pachete, separate prin spațiu, ca mai jos:
sudo pkg delete package1 package2 …
Haideți să ștergem pachetele Nginx instalate mai devreme:
sudo pkg delete nginx
Veți vedea un mesaj ca cel de mai jos, cu o casetă de confirmare:
Checking integrity… done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
nginx-1.6.2_1,2
The operation will free 654 KB.
Proceed with deinstalling packages? [y/N]: y
Răspundeți cu y pentru a confirma acțiunea de ștergere a pachetelor.
Cum să îndepărtăm Dependentele
Dacă ați șters un pachet care avea instalate dependențe, acestea vor rămâne instalate. Pentru a îndepărta pachetele care nu mai sunt cerute de nici un pachet instalat, rulați această comandă:
sudo pkg autoremove
Lista pachetelor care va fi îndepărtată va fi tipărită fiind urmată de o comandă. Răspundeți y la comanda de confirmare dacă doriți să ștergeți pachetele listate.
1. Cum să găsiți pachete cu Pkg
Pentru a găsi pachetele binare care sunt disponibile în arhivă folosiți comanda pkg search.
2. După Numele Pachetului
Metoda de bază pentru căutare este după numele pachetului. Dacă doriți să căutați numele pachetului folosiți comanda:
pkg search package_name
De exemplu, pentru a căuta pachetele care conțin „nginx” în nume, folosiți această comandă:
pkg search nginx
Se va afișa o listă cu pachete, inclusiv numerele versiunilor, care conțin „nginx” în nume:
nginx-1.6.2_1,2
nginx-devel-1.7.8
p5-Nginx-ReadBody-0.07_1
p5-Nginx-Simple-0.07_1
p5-Test-Nginx-0.24
Dacă doriți să citiți informațiile detaliate ale unui pachet din cele listate, folosiți opțiunea -f ca mai jos:
pkg search -f package_name
Acesta va afișa informația pentru fiecare pachet care se potrivește cu numele pachetului specificat.
3. După Descriere
Dacă nu știți cu siguranță numele pachetului pe care doriți să îl instalați, puteți căuta de asemenea folosind descrierea pachetelor care sunt disponibile în arhivă, specificând opțiunea -D. Implicit, potrivirea modelului nu este sensibilă pentru litere mari sau mici.
pkg search -D pattern
De exemplu, pentru a căuta toate pachetele care au în descriere cuvântul „java”, folosiți comanda de mai jos:
pkg search -D java
Acesta va afișa numele tuturor pachetelor disponibile cu modelul specificat în câmpul descriere, împreună cu descrierea.
Pkg este un serviciu flexibil care poate fi folosit în mai multe moduri care nu sunt cuprinse în acest tutorial. Din fericire, el oferă o modalitate mai simplă prin care putem căuta opțiuni și sub-comenzi disponibile și ceea ce fac ele.
Pentru a afișa opțiunile disponibile de opțiuni și sub-comenzi, folosiți această comandă:
pkg help
Pentru a citi paginile principale din manual ale diferitelor sub-comenzi, folosiți pkg help și specificați comanda despre care doriți informații, ca mai jos:
pkg help subcommand
De exemplu, dacă doriți să aflați mai multe despre folosirea pkg search, folosiți comanda:
pkg help search
Acesta va afișa o pagină în care va fi detaliată folosirea pkg search.
Concluzii
Ar trebui să cunoașteți suficiente informații despre utilizarea pkg pentru a gestiona pachetele de pe server-ul FreeBSD.