APT
De franhpWiki
Apt: Instal·lació de programari
Introducció
La instal·lació de programari té els següents problemes:
- Ha de ser fàcilment utilitzable per l'usuari
- Els programes s'han de desinstal·lar correctament
- Alguns programes depenen d'altres. Cal que les dependències siguen correctes.
- Algun programes necessiten llibreries comunes a altres programes. Les llibreries comunes sols s'han de desintal·lar si cap programa les utilitza.
La configuració de paquets en Debian es realitza amb APT, acrònim de "Advanced Packaging Tool" (eina avançada d'empaquetament).
Conceptes previs
Versions de Debian: Estable, De Proves o Inestable
'Exercici 2.1.a: Contesta a aquestes preguntes referides a [[1]].
- Quin nom, data de llençament i versió té la última distribució estable de Debian? I la de proves? I la inestable?
Lenny 5.0, va sortir el 14 de febrer de 2009 Squeeze és la versió de proves Sid és la versió inestable
- Perquè la versió Inestable sempre s'anomena Sid?
Perqué és el personatge dolent de Toy Story
- Quina distribució és l'adequada per a muntar un servidor d'internet? I per a un ordinador d'escriptori? I per a provar les últimes versions de KDE o GNOME?
Per a servidors Lenny Escriptori la Squeeze Per a proves és millor la Sid
- Què passa un mes després de que la versió de proves s'haja congelat?
Que es converteix en estable.
Cicle de Vida
Les distribucions Linux són mantingudes durant un cert període de temps anomenat 'Cicle de Vida':
- En Debian el cicle de vida és d'aproximadament 4 anys. La propera versió estable de Debian eixirà 'quan estiga preparada'.
- En Ubuntu, les versions LTS (Long Term Support) tenen un cicle de vida de 3 anys per a la versió Desktop i de 5 anys per a la versió Server. L'última versió LTS és la Ubuntu 8.04 Hardy Heron (Abril-2008). Les versions de Ubuntu ixen cada 6 mesos.
Elements de configuració
Sintaxi dels fitxers de configuració
El fitxer de configuració d'apt és /etc/apt/sources.list té la següent sintaxi:
tipus_deb oritge://lloc.http.org/distribució versió secció_1 secció2 secció_3
On:
- tipus_deb= deb per a localitzar executables o deb-src per a localitzar fitxers font.
- oritge=ftp o http o ssh o cdrom o file
- distribució=debian o ubuntu
- versió= Nom de la versió. En Debian: stable, unstable o sid. En Ubuntu: breezy, eft, edgy, ...
Exercici 3.1.a: Explica cadascuna de les següents línies d'aquest fitxer sources.list:
# 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.
Tots els paquets de la branca estable
deb http://http.us.debian.org/debian stable main contrib non-free
Paquets que no son legals dins els estats units
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
Actualitzacions de seguretat
deb http://security.debian.org stable/updates main contrib non-free
Exercici 3.1.b: Explica les línies del teu sources.list
debian-gandalf:~# cat /etc/apt/sources.list deb http://ftp.de.debian.org/debian lenny main contrib non-free Només hi ha els paquets normals per a lenny concretament
Triant un mirror
Debian i Ubuntu copien el seu programari a diferents servidors d'Internet anomenats mirrors.
Exercici 3.2.a: Sols si tens Debian. Quin mirror ha triat netselect-apt?
The fastest server seems to be:
http://ftp.rediris.es/debian/
Writing sources.list. Done.
Primerament, farem una còpia de sources.list:
- cp /etc/apt/sources.list /etc/apt/sources.list.copia
Instal·larem el paquet netselect-apt:
- apt-get install netselect-apt
Farem que automàticament s'actualitze sources.list
- netselect-apt
Cal paciència per a que netselect-apt trie el mirror més ràpid.
APT
Els noms dels paquets
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
Heu 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
Comprovació de la versió d'un paquet
Instal·lem el programa
* apt-get install apt-show-versions
Exercici 4.2.a: Quina és la versió instal·lada de bash?
debian-gandalf:~# apt-show-versions bash bash/lenny uptodate 3.2-4
Veure els fitxers d'un paquet
Instal·lem el programa
- apt-get install apt-file
Aquest paquet mostra els fitxers que composen un paquet i les seues dependències.
Les accions amb apt-file són:
- update: Actualitza la base de dades de fitxers de paquets.
- search: Cerca un fitxer.
- list: Mostra els fitxers d'un paquet.
- purge: Elimina la base de dades de fitxers de paquets.
Exercici 4.3.a: Quants fitxers té el paquet apache2 i les seues dependències?
debian-gandalf:~# apt-file list apache | wc -l 4937
Veure les dependències d'un paquet
Exemple:
# apt-cache depends penguin-command
penguin-command
Depends: libc6
Depends: libpng2
Depends: libsdl-mixer1.1
Depends: libsdl1.1
Depends: zlib1g
Exercici 4.4.a: Quines dependències té el paquet apache2?
debian-gandalf:~# apt-cache depends apache2 apache2 |Depén: apache2-mpm-worker |Depén: apache2-mpm-prefork Depén: apache2-mpm-event
Desinstal·lació de paquets
Desinstal·lant un paquet, excepte els fitxers de configuració:
- apt-get remove paquet
Desinstal·lant un paquet totalment:
- apt-get --purge remove paquet
Actualització de paquets
Actualitzar la llista de paquets:
- apt-get update
Actualitzar els paquets:
- apt-get upgrade
Exercici 4.6.a: Avantatges i inconvenients de fer un apt-get update;apt-get upgrade -y amb cron.
Avantatges: * No t'has de preocupar mai més per actualitzar el sistema * El sistema sempre serà segur, ja que disposa de les actualitzacions de seguretat ràpidament Inconvenients: * És possible que un dels canvis que hem acceptat automàticament pugui afectar al funcionament d'alguna aplicació vital * Es produeixen talls de servei, ja que molts serveis es tornen a iniciar en el procés.
Actualització a una nova versió de la Distribució
Amb aquesta opció podem passar d'una versió de Debian a altra. Per exemple, de stable a unstable.
Primerament, actualitzarem /etc/apt/sources.list i, després:
* apt-get dist-upgrade
Exercici 4.7.a: Com quedaria el fitxer sources.list per a passar de Debian Stable a Sid?
deb http://http.us.debian.org/debian sid main contrib non-free
deb http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free
deb http://security.debian.org sid/updates main contrib non-free
Esborrant la memòria cau de paquets
Quan instal·leu un paquet, APT descarregarà els fitxers necessaris des de les màquines llistades al /etc/apt/sources.list, llavors els desa en la memòria cau (cache) en /var/cache/apt/archives/, i des d'allí procedeix a la seva instal·lació.
Per a buidar la cache d'APT
# apt-get clean
Exercici 4.8.a: Explica avantatges i inconvenients de la instrucció anterior.
Avantatges: * Més espai disponible en el disc dur. Inconvenients: * Si volem reinstalar un paquet, l'haurem de tornar a descarregar
dpkg
Instal·lant paquets .deb des del disc dur
Sintaxi:
- dpkg -i fitxer.deb
Reconfigurar un paquet
Sintaxi
- dpkg-reconfigure paquet
Exercici 5.2.a: Instal·la ssh i tria les opcions per defecte. Modifica la configuració amb dpkg-reconfigure
debian-gandalf:~# dpkg-reconfigure openssh-server Restarting OpenBSD Secure Shell server: sshd. El procés no te gaire cosa a reconfigurar ...
Compilació de paquets: apt-build
Paquets binaris vs paquets compilats per l'usuari
Debian proporciona els paquets per a l'arquitectura pc compilats en format binari per al microprocessador i386. D'aquesta manera, s'assegura la compatibilitat per a tot tipus de CPU, però es desaprofita la potència de càlcul de la CPU, com pot ser l'ús d'instruccions per a multimèdia. Afortunadament, Debian permet a l'usuari descarregar el codi font dels paquets i compilar-lo amb l'arquitectura del seu processador.
Perquè compilar?
Si compilem un programa i l'optimitzem per a la CPU del nostre ordinador, obtindrem un programa més petit i ràpid. Per contra, optimitzar un programa requereix temps i perdrem l'opció d'actualització automàtica.
Exercici 6.2.a:
- Justifica l'anterior afirmació.
Si compilem un programa especificament per a les característiques del nostre ordinador, ens assegurem que les instruccions utilitzades són les específiques i ràpides, no les opcions de compatibilitat. Flame!
- Paga la pena optimitzar vi?
És un progrorama prou petit i ràpid, no cal més optimització
- Paga la pena optimitzar OpenOffice?
Es tracta d'un programa molt gran i per tant val la pena, encara que també s'actualitza molt sovint, fent aquesta opció inviable si es disposa d'un ordinador lent
- Paga la pena optimitzar mplayer per a fer còpies de seguretat de dvd a xvid?
És un programa que no s'actualitza i que fa un ús excessiu de CPU, per tant necessitarem la màxima optimització disponible
Instal·lació d'apt-build
Executarem:
- apt-get install apt-build
Triarem les opcions per defecte.
Configuració
Llegeix http://cronopios.net/Traducciones/apt-build.es.html fins el punt "Con los si, se rehace el mundo, también con apt-build". Tria una màquina virtual amb Debian Etch i386 i configura apt-build per a optimitzar per a una CPU Pentium 3 o Atlon xp amb la màxima optimització.
Nota: Tant Debian com Ubuntu configuren la tarja de xarxa basant-se en la MAC. Quan descomprimiu la màquina virtual, la MAC de la màquina virtual no coincidirà amb la MAC assignada per VirtualBox o VMware. Per a corregir aquest problema:
- rm /etc/udev/rules.d/z25_persistent-net.rules
- reboot
Exercici 6.4.a: Quines opcions cal posar a /etc/apt/apt-build.conf
build-dir = /var/cache/apt-build/build repository-dir = /var/cache/apt-build/repository Olevel = -O2 mtune = -mtune=pentium3 options = " " make_options = " "
Compressió d'àudio sense pèrdua d'informació
Els formats més utilitzats per a l'intercanvi de música amb pèrdua d'informació són:
- MP3: Format propietari. Es necessita pagar royalties per al seu ús.
- OGG: Format lliure. Millor qualitat que MP3 i fitxers més reduïts.
Els formats més utilitzats per a l'intercanvi de música sense pèrdua d'informació són:
- Monkey's audio o APE: Format propietari i gratuït. L'empresa sols dona suport a la versió Windows.
- FLAC: Free Lossless Audio Codec
- True Audio o TTA
- WavPack
Podeu trobar més informació a: http://en.wikipedia.org/wiki/Comparison_of_audio_codecs
Exercici 6.5.a: Quina és la millor opció de distribució de música per a un grup d'afeccionats amb pocs recursos?
OGG/Vorbis, ja que és completament gratis i lliure
Exercici apt-build
L'exercici consistirà en comprovar les millores produïdes per la optimització del codi del paquet FLAC.
Primerament, utilitzarem el paquet flac oficial de Debian. Documenta tots els passos:
- Instal·la el paquet flac. - Cronometra amb date el temps que tarda el programa flac en comprimir amb la màxima compressió els fitxers d'àudio de la pràctica. - Desinstal·la flac i libflac6. - Reinicia el sistema.
Després, optimitzarem el paquet flac. Documenta tots els passos.
- Compila flac amb Optimització de Nivell 3 per a Pentium III - Cronometra amb date el temps que tarda el programa flac en comprimir amb la màxima compressió els fitxers d'àudio de la pràctica a rebost/practiques_xcardona/bolet_peret.zip.
Exercici 6.6.a: Quin avantatge té flac oficial sobre flac recompilat? I desavantatge?
Precompilat:Compilat:
![]()
Exercici 6.6.b: Quin avantatge té fer un apt-build world? I desavantatge?
Avantatge: Optimització màxima de tot el sistema al complert Desavantatge: Pot tardar molta estona a compilar-ho tot i per cada actualització de programari, s'ha de tornar a compilar.
Exercici 6.6.c: Per què cal fer pinning dels paquets que optimitzem?
Pq cada vegada que surti una nova versió del programa, es tornarà a compilar automàticament (gastant temps i CPU). En canvi, si li posem el Pin, ho haurem de fer voluntàriament.


