Inici de sessió d'usuari


Apt-get a Red Hat Linux


imatge de PaRaP

Tot i les avantatges de la discontinuada distribució Red Hat, els seus usuaris sempre ens hem trobat amb un greu problema que no existia en d'altres distribucions: el sistema de dependències.



Tots hem vist en alguna ocasió que al fer :

$ rpm -i foo.rpm

ens diu coses com:

error: Failed dependencies:
bar >= 0.45
bar-devel >= 0.45

Tots ho hem viscut, oi?



La solució per als Debianites sempre ha estat apt-get, els de Gentoo tenen emerge i els Mandrakeros gaudeixen del seu URPMI. Que fem els del barret vermell?



Red Hat va decidir en el seu temps crear coses com la Red Hat Network on amb programes com el up2date podíem estar al dia de les noves aplicacions. Però estar al dia en el món Red Hat és, com tots sabem, força diferent al què entenen els usuaris de d'altres distribucions.



L'esperit conservador de Red Hat feia que cada aplicació passés per mans de l'empresa i fos empaquetada amb cura després de ser comprovada varis cops. En definitiva, quan tots es meravellen del nou Kernel 2.6, nosaltres obtenim l'última versió 2.4.20-28.9. Això, òbviament, es fa per minimitzar les possibilitats d'obtenir noves versions amb bugs o errors de seguretat, però tampoc hem de ser tan paranoics per, igualment, trobar-nos errors de certa importància de tant en tant.



Alguns repositoris de RPMs per internet ens permeten obtenir paquets fets pels propis desenvolupadors i no per l'empresa, cosa que ens permet, en certa manera, estar al dia sense haver de compilar, però això no ens arregla, de cap manera, el tema de dependències amb el que iniciava el document.



El mal més gran s'obté quan, pel que sigui, programes que estem compilant es neguen a trobar biblioteques o aplicacions instal·lades en RPM o a l'inrevés:

$ cd bar-0.45
$ ./configure
$ make
$ make install
$ cd
$ rpm -i foo
error: Failed dependencies:
bar >= 0.45

Evidentment, coses com aquestes són força molestes i molt més molest és anar refent, un a un, els directoris de les diferents dependències.



Aquest problema, però, té sol·lució. I prové de la distribució Conectiva que, a l'hora, prové de Debian. Sí senyors, Debian i Red Hat es donen de la mà per un dia per compartir una de les aplicacions estrelles de la primera: apt-get (del paquet APT).



Aquest port d'APT, anomenat APT-RPM, passa dels DEB de Debian i es centra en els RPM de Red Hat.



Per començar podeu descarregar aquest programa a http://apt-rpm.tuxfamily.org/. El podeu baixar com a RPM, instal·lar-lo de la manera usual i, un cop fet això, ja podeu començar a fer els primers passos amb aquesta eina (aquí sols descriurem una petita part de les funcionalitats i possibilitats d'aquesta aplicació).

Configurant l'APT-RPM

Un cop instal·lat, podreu comprovar que disposeu del directori /etc/apt. En aquest directori hi ha els fitxers de configuració de l'eina, però ara sols descriurem el principal per començar a jugar amb ella, el sources.list.



En aquest fitxer trobem (o hi posarem) un seguit de línies amb direccions de repositoris de RPM. Si heu instal·lat l'APT des de la direcció d'abans, segurament ja tindreu un seguit de direccions, corresponents a la vostre distribució, descomentades. Sinó aquí teniu alguns repositoris: http://freshrpms.net/apt/repositories.html.



Podeu posar tants repositoris com vulgueu en ordre de preferència; jo, per exemple, en tinc sols un:

rpm http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms

Actualitzant el sistema

APT inclou varies eines, però en aquesta introducció sols comentaré la principal apt-get.



Sempre que vulguem actualitzar el nostre sistema, cal sincronitzar-nos amb el repositori, ho farem fent un update

$ apt-get update
Get:1 http://ayo.freshrpms.net redhat/9/i386 release [1170B]
Fetched 1170B in 1s (853B/s)
Hit http://ayo.freshrpms.net redhat/9/i386/os pkglist
Hit http://ayo.freshrpms.net redhat/9/i386/os release
Hit http://ayo.freshrpms.net redhat/9/i386/updates pkglist
Hit http://ayo.freshrpms.net redhat/9/i386/updates release
Hit http://ayo.freshrpms.net redhat/9/i386/freshrpms pkglist
Hit http://ayo.freshrpms.net redhat/9/i386/freshrpms release
Reading Package Lists... Done
Building Dependency Tree... Done

Ara ja tenim a la memòria cau de l'APT tota l'informació necessària per instal·lar aplicacions. Suposem que volem instal·lar el Gimp (un programa de disseny gràfic), podem fer un install

$ apt-get install gimp
Reading Package Lists... Done
Building Dependency Tree... Done
gimp is already the newest version.

L'APT em diu que ja tinc l'última versió que hi ha empaquetada al repositori, doncs res. Vull actualitzar el meu sistema, puc fer un upgrade

$ apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded
  XFree86 XFree86-100dpi-fonts XFree86-75dpi-fonts XFree86-Mesa-libGL
  XFree86-Mesa-libGLU XFree86-base-fonts XFree86-devel XFree86-font-utils
  XFree86-libs XFree86-libs-data XFree86-tools XFree86-truetype-fonts
  XFree86-twm XFree86-xauth XFree86-xdm XFree86-xfs gstreamer gstreamer-tools
  libxml2 libxml2-devel libxml2-python netpbm netpbm-devel netpbm-progs nmap
The following packages have been kept back
  grip gstreamer-plugins gthumb
25 packages upgraded, 0 newly installed, 0 removed and 3 not upgraded.
Need to get 45.6MB of archives.
After unpacking 461kB of additional disk space will be used.
Do you want to continue? [Y/n]

Si ara premo Y, l'APT descarregarà els paquets i els instal·larà sense demora. Si ens fixem en la sortida del upgrade podem veure com ens diu que 3 paquets no s'actualitzaran: que passa? Això és així perquè aquests paquets necessiten instal·lar paquets nous que no tenim al nostre sistema, és a dir, tenen dependències.



Efectivament si provo, per exemple, actualitzar el meu Grip (un ripejador de CDs), em diu:

$ apt-get install grip
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  id3lib
The following packages will be upgraded
  grip
The following NEW packages will be installed:
  id3lib
1 packages upgraded, 1 newly installed, 0 removed and 27 not upgraded.
Need to get 1711kB of archives.
After unpacking 3479kB of additional disk space will be used.
Do you want to continue? [Y/n]

Requereix el paquet etiquetador de les ID3 dels MP3. Però no havíem dit que APT solucionaria els nostres problemes de dependències? Doncs sí! Per fer-ho, hem de donar via lliure a l'APT perquè gestioni les dependències, i per fer-ho sols hem d'utilitzar l'opció dist-upgrade enlloc d'upgrade. Així doncs:

$ apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following packages will be upgraded
  XFree86 XFree86-100dpi-fonts XFree86-75dpi-fonts XFree86-Mesa-libGL
  XFree86-Mesa-libGLU XFree86-base-fonts XFree86-devel XFree86-font-utils
  XFree86-libs XFree86-libs-data XFree86-tools XFree86-truetype-fonts
  XFree86-twm XFree86-xauth XFree86-xdm XFree86-xfs grip gstreamer
  gstreamer-plugins gstreamer-tools gthumb libxml2 libxml2-devel
  libxml2-python netpbm netpbm-devel netpbm-progs nmap
The following NEW packages will be installed:
  Hermes aalib alsa-lib flac id3lib lame libavc1394 libdv libdvdcss libdvdread
  libexif libfame libid3tag libmad libmovtar libquicktime mjpegtools mpeg2dec
28 packages upgraded, 18 newly installed, 0 removed and 0 not upgraded.
Need to get 54.7MB of archives.
After unpacking 22.1MB of additional disk space will be used.
Do you want to continue? [Y/n] 

Us recomano que jugueu una mica amb l'eina i descobriu la comoditat de poder beneficiar-vos de les últimes novetats de programari en RPM.

Synaptic

Molta gent, però, és una mica alèrgica a això de les línies d'ordres. Bé, no passa res. Utilitzeu el vostre apt-get i feu un

$ apt-get install synaptic

Us contestarà d'una manera semblant a:

Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  synaptic
0 packages upgraded, 1 newly installed, 0 removed and 0 not upgraded.
Need to get 437kB of archives.
After unpacking 1372kB of additional disk space will be used.
Get:1 http://ayo.freshrpms.net redhat/9/i386/freshrpms synaptic 0.42-1.fr [437kB]
Fetched 437kB in 16s (25.9kB/s)
Executing RPM (-Uvh)...
warning: /var/cache/apt/archives/synaptic_0.42-1.fr_i386.rpm: V3 DSA signature:
NOKEY, key ID e42d547b
Preparing...                ########################################### [100%]
   1:synaptic               ########################################### [100%]

Molt bé, ara ja teniu l'aplicació Synaptic instal·lada.



[image:312,right]Synaptic no és res més que un front-end de APT realitzat en GTK2 que podeu veure a l'imatge de la dreta.



Des d'aquí podreu fer tot el que podeu fer des de la terminal, però amb més comoditat. Tot és molt intuïtiu per la qual cosa remenant-lo una mica de seguida en copsareu el funcionament.

Comentaris

Opcions de visualització de comentaris

Selecciona la vostra manera preferida de visualitzar els comentaris i feu clic en "Desa la configuració" per activar els canvis.

Haurem de fer una categoria per als instaladors!

O una secció Eye-wink
Un comentari, mes que discontinuat, el Red Hat continua en la branca d'enterprise, els usuaris continuen amb el Feedora, i amb Fedora també hi ha Synaptic Laughing out loud

imatge de PaRaP

Red Carpet

Jeje, tampoc estaria malament fer un article sobre Red Carpet de Ximian o Yum Sticking out tongue

De moment m'he instal·lat el primer, però sembla que no acaba d'enterar-se quins paquets són vells i quins no :/