Soluții - PC Magazine Romania, Februarie 2003
Rețete Linux. Specialitatea zilei, programele de casă
Konstantin Klyagin
Există un mit că programele pe un calculator sub Linux pot fi instalate
numai de către "root" care de obicei este un fel de persoană unicat, vreun
șaman,
care-și folosește tamburina să instaleze ceva.
Dar într-adevăr, Linux-ul nici nu este atât de restrictiv sau misterios.
În acest articol vă dau o rețetă cum să vă descurcați fără șaman, și nu numai.
În plus vă spun și instrucțiunile pentru folosirea tamburinei.Acum, să vedem
despre ce este vorba. Tamburina se numește autoconf, care se folosește la aproape
toate programele făcute recent. Urmele lăsate de acest utilitar se determină
după existența scriptului standard configure din directorul cu sursele unui
program. Cu ajutorul lui vom instala aproape orice program în directorul nostru
home.
Procesul obișnuit de instalare al unui program este clar. Se dau următoarele
trei comenzi.
$ ./configure
$ make
$ make install
Iar ultimul pas e greu de făcut dacă nu avem permisiuni suficiente pentru
directorul /usr/local, care de fapt, este locul implicit unde se pun fișierele
pachetului.
Pentru a-l schimba, configure-ul are parametrul -prefix. El este tot ce ne
trebuie acum..
Astfel, mai întâi, trebuie creat un director separat pentru programe (mai
bine să facem așa), și apoi îl dăm configure-ului ca parametru.
$ mkdir $HOME/inst
$ ./configure -prefix=$HOME/instt
$HOME reprezintă numele directorului nostru de domiciliu. Așa se numește
variabila de mediu care-l conține. Pentru cei cărora nu le place semnul dolarului,
se
recomandă folosirea explicită a numelui directorului respectiv. Adică în loc
de $HOME se scrie /home/cucu/ sau cum se dorește să fie. Apoi se dă "make"
și "make install", după care instalarea este gata.
Dar nu m-aș fi apucat să scriu acest articol dacă totul era atât de ușor.
Multe
programe au nevoie de biblioteci suplimentare, care pot fi instalate tot cu
ajutorul parametrului -prefix undeva sub $HOME. Problemele de obicei
apar mai târziu, atunci când până la urmă pornim configure de la program care
are nevoie de ele. Încă de la primul pas, adică de la configure avem erori
peste care uneori este greu să treci fără niște cunoștințe. Însă se rezolvă
ușor.
Sună surprinzător, dar rezolvarea constă tot în parametrii scriptului configure
ai pachetului. De obicei toate căile se pot seta tot acolo. De exemplu, să
presupunem că programul "parizer" are nevoie de "libporc", și configure la
ultimul l-am făcut deja cu -prefix=$HOME/inst. Să ne uităm cu atenție la lista
de parametrii ai configure-ului de la "parizer".
$ ./configure -helpp
Sau chiar mai bine să-l pornim așa:
$ ./configure -help | lesss
Ca să putem face și scroll. Căutam aici un parametru prin care se poate da
locația bibliotecii libporc. De obicei așa ceva nu este greu de găsit. Deci,
aici căutam ceva similar cu "-with-porc==", "-with-libporc==" sau "-with-libporc-prefix==",
căci așa se numesc tipic parametrii respectivi.
Apropo, este foarte util să știi și alți parametrii ai configure-ului unui
anumit pachet, pentru că uneori sunt mai multe posibilități ascunse ce pot
apărea numai prin folosirea explicită a lor.
Rămânem în directorul care conține sursele programului "parizer" din exemplul
nostru, și începem să-l instalăm.
$ ./configure -with-libporc-prefix=$HOME/inst -prefix=$HOME/instst
$ make all install
Ultima comanda este egală cu "make" și apoi "make install", deoarece se pot
combina câteva target-uri pentru make în aceeași comandă. Fiți atenți că la
anumite sisteme de operare ca, de exemplu, SunOS sau FreeBSD se folosește "gmake"
în loc de "make", pentru că make-ul, ce se pornește implicit acolo, nu este
de standard GNU și de aceea nu este potrivit pentru compilarea și instalarea
unor pachete care vin cu configure.
Pentru a folosi programele compilate astfel, mai este nevoie să știți încă
ceva. Deoarece sunt folosite niște biblioteci dinamice, programul trebuie să
știe unde să le caute atunci când pornește. De aceea, deși le-am dat deja scriptului
configure, este nevoie de un pas suplimentar. De obicei se face doar o dată,
pentru că bibliotecile se instalează cu același prefix punându-se în același
director <prefix>/lib. Aceasta se face prin setarea corespunzatore a
variabilei
D_LIBRARY_PATH.
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH/inst/lib
S-a adăugat "/lib" deoarece el este directorul standard unde se pun fișierele
bibliotecilor dinamice. Dar ca să nu o facem acest lucru de fiecare dată
cănd intrăm în sistem, trebuie să adăugam această comanda în fișierul .profile
sau
.bash_profile (depinde de shell-ul folosit) din directorul home.
Gata, asta-i tot. Uneori, chestii care par extraordinar de dificile la
prima vedere, se dovedesc a fi foarte simple, doar este nevoie să știi
exact ce
anume trebuie făcut. La fel este și Linux. Dar după cum ați văzut în
acest articol,
îl poți folosi aproape din plin chiar dacă ai un cont fără drepturi de
administrator. Pinguinul e o ființă foarte prietenoasă. Nu mă crezi?
Încearcă și tu!
|