El Com es fa de l'APT/Obtenir informació quant als paquets
Hi ha alguns programes d'interfície per al sistema APT que fan significativament fàcil l'aconseguir llistats dels paquets que estan disponibles per a la instal·lació o que ja ho estan, així com cercar la secció d'un paquet, prioritat, descripció, etc.
Però... el nostre objectiu aquí és el d'usar APT en estat pur. Així que: Com podreu conèixer el nom d'un paquet que voleu instal·lar?
Disposem d'un gran nombre de recursos per a realitzar aquesta tasca. Començarem exposant a apt-cache. Aquest programa és usat pel sistema APT per a manipular la seva base de dades. Nosaltres tan sols veurem algunes de les seves aplicacions més pràctiques.
Descobrir els noms dels paquets
[modifica]Per exemple, suposem que voleu reviure l'època daurada de l'Atari 2600. Voleu usar APT per a instal·lar un emulador Atari, i després descarregar-vos alguns jocs. Podeu fer el següent:
# apt-cache search atari atari-fdisk-cross - Partition editor for Atari (running on non-Atari) circuslinux - The clowns are trying to pop balloons to score points! madbomber - A Kaboom! clone tcs - Character set translator. atari800 - Atari emulator for svgalib/X/curses stella - Atari 2600 Emulator for X windows xmess-x - X binaries for Multi-Emulator Super System
Hem trobat diversos paquets relacionats amb el que estem cercant, junt amb les seves descripcions curtes. Per aconseguir més informació quant a un paquet específic, podem fer el següent:
# apt-cache show stella Package: stella Priority: extra Section: non-free/otherosfs Installed-Size: 830 Maintainer: Tom Lear <tom@trap.mtview.ca.us> Architecture: i386 Version: 1.1-2 Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1) Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb Size: 483430 MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5 Description: Atari 2600 Emulator for X windows Stella is a portable emulator of the old Atari 2600 video-game console written in C++. You can play most Atari 2600 games with it. The latest news, code and binaries for Stella can be found at: http://www4.ncsu.edu/~bwmott/2600
En aquesta eixida teniu molt detallada quant al paquet que voleu (o que no voldreu) instal·lar, junt amb una completa descripció del mateix. Si el paquet ja estigués instal·lat al vostre sistema i hagués una versió més recent, veuríeu l'informació d'ambdues versions. Per exemple:
# apt-cache show lilo Package: lilo Priority: important Section: base Installed-Size: 271 Maintainer: Russell Coker <russell@coker.com.au> Architecture: i386 Version: 1:21.7-3 Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate Suggests: lilo-doc Conflicts: manpages (<<1.29-3) Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb Size: 143052 MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel. Package: lilo Status: install ok installed Priority: important Section: base Installed-Size: 190 Maintainer: Vincent Renardias <vincent@debian.org> Version: 1:21.4.3-2 Depends: libc6 (>= 2.1.2) Recommends: mbr Suggests: lilo-doc Description: LInux LOader - The Classic OS loader can load Linux and others This Package contains lilo (the installer) and boot-record-images to install Linux, OS/2, DOS and generic Boot Sectors of other OSes. . You can use Lilo to manage your Master Boot Record (with a simple text screen) or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
Observeu que la primera en la llista és la del paquet disponible i que la segona correspon al paquet que ja està instal·lat. Per a informació més general quant a un paquet, podeu usar:
# apt-cache showpkg penguin-command Package: penguin-command Versions: 1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status) Reverse Depends: Dependencies: 1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) Provides: 1.4.5-1 - Reverse Provides:
I per a saber els paquets del que depèn:
# apt-cache depends penguin-command penguin-command Depends: libc6 Depends: libpng2 Depends: libsdl-mixer1.1 Depends: libsdl1.1 Depends: zlib1g
En resum, tenim una gran varietat d'armes que podem usar per a esbrinar el nom d'un paquet que desitgem instal·lar.
L'ús de dpkg per a cercar noms de paquet
[modifica]Una de les maneres per a localitzar el nom d'un paquet és coneixent el nom d'un fitxer important que es trobi dins d'aquest paquet. Per exemple, per a esbrinar el paquet que proveeix un fitxer ".h" en particular que necessiteu per a una compilació podeu executar:
# dpkg -S stdio.h libc6-dev: /usr/include/stdio.h libc6-dev: /usr/include/bits/stdio.h perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
o:
# dpkg -S /usr/include/stdio.h libc6-dev: /usr/include/stdio.h
Per a esbrinar els noms dels paquets instal·lats en el vostre sistema, el qual és d'utilitat, per exemple, si planegeu netejar el vostre disc dur, podeu executar:
# dpkg -l | grep mozilla ii mozilla-browse 0.9.6-7 Mozilla Web Browser
El problema amb aquest comandament és que pot "trencar" el nom del paquet. A l'anterior exemple, el nom complet del paquet és mozilla-browser. Per adobar això, podeu usar la variable d'entorn COLUMNS de la següent manera:
[kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla ii mozilla-browser 0.9.6-7 Mozilla Web Browser - core and browser
o la descripció o part d'aquesta de la següent manera:
# apt-cache search "Mozilla Web Browser" mozilla-browser - Mozilla Web Browser
Com instal·lar paquets "sota demanda"
[modifica]Esteu compilant un programa i de sobte, boom! Apareix un error perquè necessita una fitxer .h que no teniu. El programa auto-apt pot prevenir-vos d'aquestes situacions. Us demanarà d'instal·lar certs programes que són requerits, aturant els processos rellevants i continuant-los una vegada el paquet estiga instal·lat.
El que es fa, és bàsicament executar:
# auto-apt run comandament
A on "comandament" és el comandament que al ser executat podria necessitar d'alguns fitxers no disponibles. Per exemple:
# auto-apt run ./configure
Llavors us demanarà per a instal·lar els paquets necessaris i cridarà automàticament a apt-get. Si esteu executant X, una interfície gràfica substituirà a la interfície per defecte (mode text).
Auto-apt manté una sèrie de bases de dades que necessiten estar al dia perquè això siga efectiu. El qual es pot aconseguir cridant als comandaments auto-apt update, auto-apt updatedb i auto-apt update-local.
Com esbrinar a quin paquet pertany un fitxer
[modifica]Si voleu instal·lar un paquet i no podeu esbrinar com s'anomena aquest cercant-lo amb apt-cache, però coneixeu el nom d'un fitxer del mateix programa o el de cap altre fitxer que pertanyi a aquest paquet, llavors podeu usar apt-file per a cercar el nom del paquet. Això es fa de la següent manera:
$ apt-file search nom_fitxer
Funciona de mode similar a dpkg -S, però també us mostra paquets no instal·lats que contingan el fitxer. També pot usar-se per a esbrinar quins paquets contenen els fitxers "include" necessaris per a la compilació de certs programes, tot i que per aquests casos auto-apt és una solució millor per aquests casos, consulteu Com instal·lar paquets "sota demanda", Secció 5.3.
També podeu llistar el contingut d'un paquet executant:
$ apt-file list nom_paquet
apt-file manté una base de dades amb els fitxers que contenen tots els paquets, de la mateixa manera que ho fa auto-apt i per això necessita estar actualitzada. Això s'aconsegueix executant:
# apt-file update
Per defecte, apt-file usa la mateixa base de dades que auto-apt, consulteu Com instal·lar paquets "sota demanda", Secció 5.3.
Com mantindràs informat quant als canvis en els paquets.
[modifica]Cada paquet instal·la en el seu directori de documentació (/usr/share/doc/nom_paquet) un fitxer anomenat changelog.Debian.gz el qual conté una llista dels canvis realitzats al paquet des de l'última versió. Podeu llegir aquests fitxers amb l'ajuda de zless, per exemple, però no és gaire simple que després d'una actualització s'hagin d'estar cercant aquests registres de canvis per a cadascun dels paquets actualitzats.
Hi ha una manera per automatitzar aquesta tasca mitjançant una eina que s'anomena apt-listchanges. Per a començar primer es requereix que instal·leu el paquet apt-listchanges. Durant la seva instal·lació, Debconf la configurarà. Respongueu les preguntes com desitgeu.
L'opció "Voldreu que apt executi automàticament apt-listchanges?" és realment útil perquè mostra una llista dels canvis que s'han realitzat per a cadascun dels paquets que està instal·lant apt durant una actualització i us permet analitzar-los abans de continuar. L'opció "Tindrà apt-listchanges que demanar confirmació després de mostrar els canvis?" és d'utilitat perquè us demana si desitgeu continuar l'instal·lació després de llegir la llista de canvis. Si decidiu no continuar, apt-listchanges retornarà un error i avortarà l'instal·lació.
Una vegada instal·lat apt-listchanges, tan aviat com els paquets hagin estat descarregats (o llegits des d'un CD o dic muntat) per APT, es mostraran les llistes de canvis realitzats a dits paquets abans d'instal·lar-los.
Crèdits de la versió original - Projecte de documentació de Debian
Gustavo Noronha Silva kov@debian.org Traduït per: Antoni Bella Perez bella5 AT teleline DOT es Revisat per: Orestes Mas orestes AT tsc.upc DOT es |