* Iata 3 linii magice prin care se instaleaza un program in Linux. Sa-mi explice si mie cineva ce face fiecare linie dintr-astea 3. Si de ce trebuie facuta treaba in ordinea asta.
De asemenea, ./configure are o gramada de parametri (ex: --with-mysql, --with-apache >> banuiesc ca difera de la aplicatie la aplicatie)
* O alta problema este dezinstalarea programelor din Linux. Cum se face?
Pentru RPM-uri e ceva mai clar (am folosit rpm si KPackage).
./configure verifica dependentele, pregateste sursele pentru procesul de compilare, genereaza fisierele make
./make compileaza sursele
./make install copiaza de obice in /usr/locale/bin binarele si prin celelalte directoare din /usr/locale celelalte fisiere (iconite, wav-uri, etc).
Unele programe merg dezinstalate cu ./make uninstall
Un pont in cazul in care instalezi mult soft prin compilare si dupa aia uiti sa-l dezinstalezi, cum mi se intampla mie mai tot timpul. La un moment dat va trebui sa-l stergi intr-un fel sau altul, si nici nu merge sa stii ce ai de fapt instalat sau ce fisiere sau bagat si unde, ca la rpm.
In cazul asta instalezi intr-un director separat, care sa porte numele programului si versiunea sa, eu fac asta in /opt (ii dai
./configure --prefix=/opt/blahblah). Deci mplayer va fi instalat spre exemplu in /opt/mplayer-0.90pre1. In interiorul vei gasi directoare ca bin, lib, man ... E usor de dezinstalat apoi:
rm -rf /opt/mplayer-0.90pre1. Trebuie ca dupa aia sa nu uiti sa reactualizezi $PATH, cu noua cale (editezi /etc/profile, spre exemplu) si apoi /etc/ld.so.conf, pentru librarii, dupa care rulezi ldconfig. Stiu ca suna mai complicat, dar in felul asta poti tine un sistem "curat". Ai evidenta si la programele instalate prin rpm (in cazul in care nu stii iti recomand calduros man rpm) si la cele compilate, care pot fi sterse apoi foarte usor. Si daca pentru /opt ai o partitie separata (ca in cazul meu), la o reinstalare de linux (sau upgrade) programele vor fi functionale in continuare, lucru ce te va scuti de o gramada de batai de cap.
P.S. Detalii poti optine la compilare dand ./configure --help
P.P.S Un program compilat si care e ceva mai CPU intensiv va fi mai rapid decat o varianta instalata din rpm (deoarece compilatorul va face unele optimizari functie de procesor, pe cate vreme rpm este ceva mai generic). Celelalte, memory intensive, nu vor avea cine stie ce salt de performanta.
__________________
Be strong, and remember: be yourself, cause you have to be someone, and everyone else is already taken.
daca nu ai nevoie de nshpe versiuni ale aceluiasi program, era pe net o aplicatie superba care se ocupa de instalarea programelor, se cheam make_uninstall si oate sa monitorizeze un process de "make install", dandu-ti pe urma posibilitatea dezinstalarii sau revenirii la o versiune mai veche, poate sa-ti creeze pakete de instalare (deb,rpm,pkg,tgz...) si inca cateva chestii misto
De ce as mai tine eu pe hard sursele, dupa ce programul s-a instalat???
Daca dezarhivez un tar.gz in /tmp si dupa ce rulez de acolo ./configure... sa fii sigur ca o sa sterg tot ce s-a scos din arhiva respectiva...
De obicei eu dezarhivez sursele in /usr/src/nume_program si le compilez acolo. Uneori nu mai dau ./make install si le rulez chiar din /usr/src/nume_program. Eventual pun un link in /usr/bin catre binar. Daca vreau sa dezinstalez programul il sterg pur si simplu din /usr/src
pentru ezekio: nu ai rezolvat nimic de fapt. Daca vrei sa-l dezinstalezi imediat dupa aia, aproape toate au un make uninstall. Problema era daca dupa aia mai instalezi inca vreo 10-20 de programe, si dupa aia nu mai stii ce ai bagat, ca s-au dus in ciorba din /usr, si nu mai ai nici sursele, ca de, cateodata mai faci curat. Metoda mea e mult mai eleganta (nu ca e brevetata de mine, doamne fereste, am citit prima oara de ea pe rlug ).
__________________
Be strong, and remember: be yourself, cause you have to be someone, and everyone else is already taken.
Pai si ce te faci cu diversele alte chestii care mai sint in /tmp? Le iei cu totul? Eu tot treaba cu --prefix=/opt/aplicatie zic ca e cel mai bun compromis daca nu folosesti manager de pachete (rpm). E adevarat ca trebuie sa-i pui tu de mina path-uri in /etc/profile si lib-uri in /etc/ld.so.conf si man-uri in /etc/man.config, dar cind e vorba de dezinstalare nu te doare capul, te duci in /opt si stergi directorul. Plus ca poti sa-ti faci scriptulete care sa faca treaba cu /etc. Plus ca pot sa-mi fac un tar.gz cu directorul ala si cind mai am nevoie de aplicatie o despachetez in /opt si-i dau drumul direct, nu mai stau sa compilez.