icona encisamL'encisam
enrere


Instal·lació d'aplicacions en linux. Debian i l'aplicació apt.


· Sóc nou en linux...
^
     Si sou nous usuaris del GNU/linux i veniu del totpoderós windows, segur que us haureu preguntat com s'instal·len els programes en Linux. En aquesta secció intentaré donar resposta a aquesta pregunta i veureu que el sistema de paquets de la distribució Debian i el programa apt, per a gestionar-los, fan que aquesta tasca siga molt senzilla.

· Què és un paquet? ^
     Primer de tot hauríeu de saber que Debian va ser el primer sistema operatiu Linux en fer servir la gestió de paquets per a actualitzar el seu sistema operatiu. Després li van seguir altres com ara RedHat.
     Els paquets en debian tenen l'extensió .deb, mentre que els de RedHat tenen l'extensió .rpm. Hi ha més sistemes operatius que fan servir la gestió de paquets, però aquestos dos tipus de paquets són els principals.
     Un paquet debian simplement és un programa empaquetat, d'una manera i estructura molt determinada, amb tots els fitxers necessaris, amb un sistema de directoris determinat i amb la informació necessària perquè el programa apt, per exemple, puga instal·lar i desinstal·lar-lo correctament, solucionant totes les seues dependències.

· Què són les dependències? ^
     Doncs són tots els programes que necessita un altre per funcionar correctament. Per exemple, suposem que volem instal·lar un navegador, i aquest navegador necessita unes llibreries determinades per gestionar la seua aparença gràfica i unes altres llibreries per a poder baixar fitxers d'Internet. Si instal·lem el navegador sense haver instal·lat abans les dues llibreries esmentades, segurament el navegador no funcionarà o ho farà de manera incorrecta.
    El programador quan fa un paquet .deb afegeix al fitxer la informació necessària per a solucionar les dependències. Així, el programa apt, quan llegeix les dependències sap que ha d'instal·lar les dues llibreries abans d'instal·lar el navegador. I ho farà avisant al propietari, perquè tot propietari ha de saber exactament el que estan instal·lant en el seu ordinador.

· Com ho fa Debian?
^
     Debian és, a hores d'ara, la distribució GNU/Linux més lliure que hi ha. Milers de programadors treballen en el seu temps lliure per afegir-hi paquets, més de 8000 en l'actualitat. Si no utilitzara aquesta distribució la gestió de paquets, seria molt complicat que tingueres al teu ordinador la versió més moderna d'un navegador o els paquets que solucionen problemes de seguretat trobats recentment, per exemple.
     Els paquets en Debian i, per suposat, en totes les distribucions amb sabor Debian, com ara Knoppix, són gestionats per aplicacions com ara dpkg, potent eina que ja veurem més endavant en la gestió de paquets individuals, dselect, programa molt intuïtiu, KPackage, un gestor gràfic també molt intuitiu i el que anem a veure ara: l'apt.

· El programa apt... ^
     El programa apt el que fa, per explicar-ho que s'entenga, és preguntar-te d'on vols que actualitze paquets, és a dir, la font dels paquets. Crea una base de dades amb tots els paquets que tens instal·lats al teu ordinador i els que pots actualitzar des de la font. Si li dius que instal·le un programa, instal·larà la versió més moderna que trobe si n'hi ha, instal·larà les dependències si tu vols i actualitzarà la base de dades per poder desinstal·lar o tornar a instal·lar altra versió més moderna més endavant.
     En realitat, el programa apt sols gestiona la configuració i actualització de l'origen dels paquets, i quan li demanes instal·lar un programa aquest executa el programa dpkg. Però ho fa de manera transparent per a l'usuari, de manera que no sembla que estigues fent servir el dpkg.

· Les comandes de l'apt. ^
     Les comandes o programes de l'apt són:
apt-config, que llegeix l'arxiu de configuració de l'apt.
apt-setup, per configurar l'apt.
apt-cache, per gestionar la cache de l'apt.
apt-cdrom, per a gestionar els cdroms.
apt-get, per actualitzar el paquets i instal·lar-los.
     De totes aquestes, les que més fareu servir són apt-setup i apt-get.

·Com es fa tot això? ^
     Tot açò es fa en dues fases: la primera és la configuració de les fonts dels paquets. Aquesta tasca sols la fareu una vegada o quan vulgueu canviar el servidor des d'on actualitzar el paquets. La segona fase és la instal·lació pròpiament dita d'una aplicació. Veiem-ho.

· 1) Configuració de la font de paquets. ^
     Generalment, quan instal·les una distribució amb sabor Debian, ella mateixa durant la instal·lació et crea un fitxer sources.list al directori /etc/apt on hi ha tots els servidors que creuen adients per fer l'actualització dels paquets deb. Tu pots fer dues coses: fiar-te d'això (normalment així és) o posar tu les fonts que vulgues.
     Jo tinc la versió 3.3 del Knoppix en català i vull fer servir un servidor català. I per a exemple del que volem fer anem a suposar que no tenim aquest fitxer (l'apt el crearà de nou). Per tant, li canvie el nom a aquest fitxer amb la comanda
mv sources.list sources.antic
des del directori /etc/apt com a superusuari.

     Pots actualitzar paquets des d'Internet, fent servir un servidor http o ftp, des de cdroms o des d'algun fitxer que tingues al disc dur.
     Has de tenir en compte que si és des d'un cdrom o des d'algun fitxer del teu disc dur, el fitxer ha d'estar en un directori molt determinat perquè el programa apt puga entendre de quin tipus de paquet es tracta.
     Has d'entendre també que l'actualització de paquets és tan ràpida (cada poc de temps tens una nova versió d'una aplicació o una versió que corregeix problemes de seguretat), que si tries sols l'opció d'actualització de paquets des de cdrom o des de fitxers locals, prompte aquestos paquets quedaran obsolets. Per això us recomane que poseu, si podeu, com a font dels paquets algun servidor d'Internet.

· Comencem... ^
     Com que volem que la font dels paquets siga un servidor d'Internet, necessitem estar connectats. Així ho fem amb la comanda kppp des d'una finestra de comandes.

Una vegada connectats ens convertim en superusuaris.

Executem el programa per configurar la font dels paquets amb la comanda apt-setup.

Ens eixirà una finestra com aquesta preguntant-nos per la font dels paquets. Triem l'opció de http.

Ens eixirà una llista de païssos amb servidor http des d'on actualitzar els paquets debian. Triem Spain.

Ens eixirà una llista de servidors http situats a Espanya. Triem l'opció de ftp.caliu.info, un servidor català.

Com que la meua connexió a internet és directa, no faig servir cap proxy. Deixe aquest camp en blanc.

Una vegada acceptem ja podem actualitzar la llista de paquets, però abans ens pregunta el programa si volem afegir més fonts. Podem afegir tantes fonts com vulguem. Això no és cap problema. Normalment molts servidors són mirrors o rèpliques d'altres, és a dir, a efectes pràctics tenen els mateixos fitxers. La tria o no d'un servidor depén de la velocitat a la que et pugues connectar. Per exemple, un servidor http és més ràpid que un ftp. En teoria també com més prop, més ràpid, però això depén de molts factors. El que heu d'entendre és que us aneu a trobar amb els mateixos fitxers en un servidor o en un altre. Si poseu dos servidors, segurament duplicareu els paquets i l'apt us demanarà que l'executeu un parell de vegades per arreglar-ho. Vosaltes trieu... Com a exemple ací teniu el meu fitxer sources.list després d'aquest procés i alguna correcció manual:

#servidor català
deb http://ftp.caliu.info/debian/ stable main
deb-src http://ftp.caliu.info/debian/ stable main
#servidor debian
deb http://ftp.es.debian.org/debian/ stable main
deb-src http://ftp.es.debian.org/debian/ stable main
# actualitzacions de seguretat
deb http://security.debian.org/ stable/updates main
deb http://security.debian.org testing/updates main contrib non-free
#servidor americà
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

     Fixeu-vos que totes les línies comencen per deb o deb-src.
Les línies que comencen per deb són per actualitzar els binaris. Les línies que comencen per deb-src són per actualitzar els codis fonts de les aplicacions.
     Després tenim en cada línia el directori on mirarà l'aplicació apt la informació dels paquets.
     Fixeu-vos també que després de cada directori tenim la paraula stable, per exemple. Hi ha almenys 3 possibles valors: stable, testing i unstable, depenent de si el paquet es considera estable, de prova o inestable. Amb els paquets stable quasi segur que no tindreu problemes en la seua execució, però tindreu versions de programes menys avançades. Si trieu les altres opcions us trobareu amb programes que potser us fallen més, però seran versions més actuals. Jo crec que la idea s'entén.
     Cada línia acaba amb tres possibles valors: main, contrib, non-free, depenent de si el paquet forma part principal de la distribució, de si és una contribució de programadors que no pertanyen a l'equip de desenvolupament o de si és un paquet no lliure. Debian té molts paquets lliures, però té un percentatge de paquets que no són lliures però que formen part d'ella. Això és un tema de molta discussió i fins i tot s'ha votat si deixar o continuar amb aquestos paquets. En la votació es va decidir continuar amb aquestos paquets.
     També hi ha alguna línia que acaba amb non-US. Això és perquè hi ha paquets prohibits als Estats Units perquè utilitzen tècniques d'encriptació no permeses, per exemple. Ja sabeu, per seguretat, ells han de saber el que tu fas...
     Les línies de les actualitzacions de seguretat convé tenir-les perquè són importants. De fet, el mateix programa apt ens demanarà si afegim la línia o no. Convé dir-li que sí.
     Finalment dir-vos que si trieu que la font siga un cdrom, per exemple, el programa afegirà una línia semblant a aquesta:
deb cdrom:[Debian GNU/Linux 3.0 r0 _Woody_ - Official i386 Binary-2 (20020718)]/ unstable contrib main non-US/contrib non-US/main
que és la obtinguda amb un cdrom del woody. Supose que amb aquesta explicació ja enteneu la utilitat del fitxer sources.list.

     Una vegada tenim el fitxer sources.list degudament configurat, ja podem actualitzar els nostres paquets. Posem la comanda apt-get update en una finestra de comandes.
     Després d'un procés més o menys llarg depenent de la nostra connexió a Internet i del nostre processador, ja podem actualitzar els paquets amb la comanda apt-get upgrade, el resultat de la qual podeu veure en aquesta imatge. El paquet va a actualitzar 3 paquets: mpg321, nano i xboxing, m'avisa de l'espai que em va a suposar l'actualització d'aquestos paquets i em demana permís. Hi ha 2 paquets, telnet-ssl i telnetd-ssl, que no estan actualitzats. Els instal·laré després.
     Una vegada acceptada la instal·lació dels tres paquets, ja tinc el sistema operatiu actualitzat amb les condicions que he especificat al fitxer sources.list. Ben fàcil no??

· 2) Instal·lació d'un programa. ^
     Com a exemple d'instal·lació d'un programa, suposem que volem instal·lar el programa bluefish, un editor html en el nostre ordinador.
     Simplement amb la comanda apt-get install bluefish, i estant connectats a Internet, instal·larem la versió més actual i instal·larem totes les dependències que necessite el programa per funcionar.
     Anem a la barra de menús del nostre ordinador i dins dels editors ja tenim instal·lat el programa. El mateix hauríem de fer amb els programes no actualitzats que ens havia donat el programa apt durant el apt-get upgrade, perquè són dos programes necessaris per fer servir el protocol telnet.
     Ben senzill, no?

3) Desinstal·lació d'un programa. ^
     El procés de desinstal·lació tampoc no podia ser complicat. Sols amb la comanda apt-get remove bluefish aconseguim desfer el procés sencer d'instal·lació. Com veieu en aquesta imatge, ens avisen de tot el procés.

· Què més... ^
     Ara pot ser un bon moment per pegar-li una ullada al fitxer sources.antic que va crear la vostra distribució durant la seua instal·lació i que vam canviar de nom més amunt. En aquest fitxer veureu que hi ha línies comentades i sense comentar. Les línies que comencen amb #, les comentades, no són llegides per el programa apt i no farà cas d'elles durant la seua execució. Tal vegada és ara quan podeu entendre el significat de cadascuna de les línies i afegir-ne alguna al vostre sources.list segons les vostres necessitats. Vosaltres decidiu.

     Encara us quedaran moltes incògnites sobre la instal·lació de programes, però espere que aquesta xicoteta introducció us ajude a entendre el procés. Hi ha eines més intuïtives que el programa apt, en el sentit que els usuaris de windows us trobareu més segurs, com ara el dselect o el KPackage. Però és un bon començament aquest, crec. Recordeu que sempre teniu l'ajuda del linux amb la comanda man apt.

Fins l'altra.


Modificació 08/06/2004:
Aquest és el meu fitxer sources.list a hores d'ara. Fixeu-vos que tinc línies comentades:

# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.

# Security updates for "stable"
deb http://security.debian.org stable/updates main contrib non-free
deb http://security.debian.org testing/updates main contrib non-free

# Stable
deb http://ftp.caliu.info/debian stable main contrib non-free
deb http://ftp.caliu.info/debian-non-US stable/non-US main contrib non-free

# Sources
deb-src http://ftp.caliu.info/debian stable main contrib non-free
deb-src http://ftp.caliu.info/debian-non-US stable/non-US main contrib non-free

# Testing
deb http://ftp.caliu.info/debian testing main contrib non-free
deb http://ftp.caliu.info/debian-non-US testing/non-US main contrib non-free

# Sources
deb-src http://ftp.caliu.info/debian testing main contrib non-free
deb-src http://ftp.caliu.info/debian-non-US testing/non-US main contrib non-free

# Unstable
deb http://ftp.caliu.info/debian unstable main contrib non-free
deb http://ftp.caliu.info/debian-non-US unstable/non-US main contrib non-free

# Sources
deb-src http://ftp.caliu.info/debian unstable main contrib non-free
deb-src http://ftp.caliu.info/debian-non-US unstable/non-US main contrib non-free

# Experimental
#deb http://debian.uni-essen.de/debian ../project/experimental main contrib non-free
#deb-src http://debian.uni-essen.de/debian ../project/experimental main contrib non-free

# Mozilla
#deb http://non-us.debian.org/~kitame/mozilla ./
#deb-src http://non-us.debian.org/~kitame/mozilla ./

# GNOME 2.0
#deb http://www.gnome.de/debian/ ./

# KDE 3
# deb http://ktown.kde.org/~nolden/kde stable main
# deb-src http://ktown.kde.org/~nolden/kde stable main
# We get packages from testing/unstable for now

# cdbakeoven
# deb http://coyote.asoc.euitt.upm.es/mud/debian/ ./

# XFree 4.2/4.3
#deb http://people.debian.org/~branden/packages sid/i386/
#deb-src http://people.debian.org/~branden/packages sid/source/
#deb http://www.penguinppc.org/~daniels/sid/i386 ./
#deb-src http://www.penguinppc.org/~daniels/sid/source ./

# Java
#deb ftp://ftp.gwdg.de/pub/languages/java/linux/debian woody main non-free
#deb-src ftp://ftp.gwdg.de/pub/languages/java/linux/debian woody main non-free
#deb ftp://ftp.gwdg.de/pub/languages/java/linux/debian unstable main non-free
#deb-src ftp://ftp.gwdg.de/pub/languages/java/linux/debian unstable main non-free
# deb http://people.debian.org/~sgybas/jdk13

# LyX & others (now in debian/unstable)
# deb ftp://ntama.uni-mainz.de/pub/debian unofficial/
# deb-src ftp://ntama.uni-mainz.de/pub/debian unofficial/

# Evolution
#deb ftp://ftp.ximian.com/pub/debian stable main
#deb-src ftp://ftp.ximian.com/pub/debian stable main

# Blades Repository (pppoeconf & co)
#deb http://people.debian.org/~blade/testing ./
#deb-src http://people.debian.org/~blade/testing ./

# Wine CVS snapshot
#deb http://people.debian.org/~andreas/debian wine main
#deb-src http://people.debian.org/~andreas/debian wine main

Modificació 23/06/2004:
Fixeu-vos que el primer souces.list que us he ensenyat, es correspon amb l'idoni per a una distribució estable, com ara la distribució Debian Woody, mentre que amb l'últim sources.list que us he posat, estem aconseguint paquets que formen part de la distribució Debian inestable (línies amb unstable), la Debian Sid, i la Debian de prova (línies amb testing), la Debian Sarge. Des que vaig canviar el meu sources.list per poder actualitzar el meu sistema amb paquets stable i testing, quan tanque el meu sistema operatiu (Knoppix 3.3 en català) apareix una línia d'informació on diu: Debian GNU/Linux testing/unstable, indicant-me que el meu sistema ha deixat de ser estable.
Si voleu un sistema operatiu segur i sense caigudes, per exemple per un servidor, hauríeu de fer servir el primer sources.list. Si voleu experimentar amb l'ordinador de casa i tenir les últimes versions dels programes més coneguts, llavors us convé el segon sources.list. Més informació ací.

puja

Última actualització: 23/06/2004.