IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 101 (torneu a la resta de temes)
Fitxers: LPI102.4_Utilitzar_gestors_paquets_tipus_Debian.pdf (LPI102.4_Utilitzar_gestors_paquets_tipus_Debian.odp)
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_101_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_101/102.4
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Objectius del tema

102.4. Utilitzar els gestors de paquets tipus Debian
Objective.jpg
  • Objectiu: Els candidats han de ser capaços de gestionar els paquets de programari utilitzant les eines per paquets de Debian.
  • Pes: 3
060317 Icon - Theory of Knowledge v01 pdc.jpg

Àrees Clau de Coneixement:

Icon list.jpg

La següent és una llista parcial de fitxers, termes i utilitats utilitzades:

Text-editor.svg

Apunts: LPI 102.4. Utilitzar els gestors de paquets tipus Debian

Plantilla

Plantilla102.4


DEBIAN

  • És un projecte l'objectiu del qual es crear un sistema operatiu lliure complet basat en el treball del projecte GNU.
  • El formen voluntaris d'arreu del món.
  • Debian és conegut per la seva per ser una distribució molt lligada a la filosofia del Programari Lliure.
  • És una de les distribucions amb més opcions de programari amb més de 15.000 paquets per a més de 15 arquitectures de computadors.
  • Debian GNU/Linux és la base d'altres distribucions com Knoppix, Linspire, SkoleLinux (Debian-edu) i Ubuntu.
  • Debian esta suportat per les donacions a Software in the Public Interest, Inc.
  • Creat el 16 Agost de 1993 per Ian Murdock
  • L'origen del nom Debian és la combinació del nom de la novia (ara ex-dona) d'Ian Murdock (Debra) amb el seu propi nom (Ian).
  • Debian Manifesto: document que defineix la filosofia de Debian.
  • Debian Social Contract: contracte entre Debian i els seus usuaris.
  • Debian Free Software Guidelines: defineix que és programari lliure i que no és programari lliure segons Debian.

UBUNTU

  • Distribució Linux molt utilitzada actualment.
  • Basada en Debian GNU/Linux.
  • Darrera d'Ubuntu esta Canonical Ltd, una companyia privada fundada per el Sud Africa Mark Shuttleworth.
  • L'origen del nom bé dels conceptes Zulu i Xhosa: "humanity towards others".
  • Slogan d'ubuntu : “Linux for Human Beings
  • El seu principal objectiu és apropar Linux als usuaris, facilitar-ne l'accés, millorar-ne la usabilitat i fent-lo més fàcil d'utilitzar.
  • Distribució ideal per als iniciats a Linux
  • Ubuntu releases
  • Ubuntu té el compromís d'alliberar una nova versió cada 6 mesos.
  • Les versions d'Ubuntu són suportades com a mínim durant 18 mesos. Les versions LTS (Long Term Support) són suportades durant un mínim de 3 anys (desktop) o 5 (servidors).
  • La versió actual és Ubuntu 6.10 (Edgy Eft).
  • A l'abril de 2007 ha de sortir la versió 7.04 (Feisty Fawn).
  • És va fer milionari al vendre l'empresa Thawte per 575 milions de $ a Verisign.
  • Va ser un dels primers turistes espacials (20 milions de $).
  • Va crear l'empresa Canonical.

Paquets de programari

Un paquet de programari és una sèrie de fitxers que es distribueixen de forma conjunta. La raó principal per agrupar aquest fitxers sol ser que el funcionament de cadascun complementa o requereix d'uns altres.

També pot realitzar el procés de compressió. El problema de la compressió és la dedicació de CPU. En xarxes d'alta velocitat, potser no seria convenient comprimir (però igual sí que ho seria empaquetar).

Els paquets estan relacionats entre ells i són capaços d'instal·lar paquets que et fan falta.

El sistema de paquets Debian/Ubuntu són més potents ja que els repositoris centralitzats són millors.

Tipus de Paquets:

* .rpm (RedHat): format dels paquets en distribucions Linux de la familiar Red Hat.
* .deb (Debian): format dels paquets en distribucions Linux de la familiar Debian.
* .slp (Stampede): format de paquets Stampede.
* .tgz (Slackware): format de paquet utilitzat a la distribució Linux Slackware.
* .pkg (Solaris): format de paquet en sistemes operatius Unix Solaris.

Els més importants són el 2 primers.

Conceptes

Hi ha diferents Paquets:

  • Paquet binari: són paquets que contenen aplicacions binaries sense el seu codi font. El paquet inclou els fitxers executables/binaris (a les carpetes estàndards segons FHS: /bin/, /usr/bin, /sbin, etc.)
  • Paquets font: paquets que inclouen codi font. Normalment cada paquet font té un paquet equivalent binari.

Els paquets font solen estar optimitzats per a la màquina a la que s'ha compilat. Es podrien compilar a la màquina on s'hagin de necessitar, però moltes vegades no val la pena l'esforç tenint en compte l'augment de rendiment obtingut.

  • Dependència: Es parla de dependència quan un paquet requereix que s'instal·li prèviament una altre paquet o paquets, els quals són anomenats dependències.

Les dependències comproven els paquets que depenen entre ells i en cas de Linux baixa/instal·la els paquets (o aplicacions) necessaris. Llibreries comunes, la mateixa llibreria serveix per a diverses aplicacions. (en Windows, serien les .dll i en Linux .so). Les dependències són les que fan que els programes utilitzen les llibreries (es reutilitza el codi).

  • Gestor de paquets: Són les aplicacions que es permeten gestionar paquets. Són eines que faciliten les tasques més habituals relacionades amb la gestió de paquets (instal·lació, cerques, eliminacions, etc.)
Exemples: apt-get, Synaptic, dpkg, etc.
  • Diposit: un dipòsit (de l'anglès "repository") és un arxiu que a on s'emmagatzemen paquets. Normalment es troba a Internet. Els dipòsits estan preparats per a ser distribuïts habitualment servint-se d'una xarxa informàtica com Internet, però també els podem trobar en servidors de xarxa LAN (Intranet) o en un mitjà físic com un disc compacte (CD) o DVD.
  • Paquet virtual (tonto o dummy): es tracta d'un paquet buit de continguts amb un nom genèric que proveïx altres paquets mitjançant dependències.

(ex. News-reader). Poden haver-hi múltiples aplicacions possibles que es poden configurar amb update-alternatives.

És un paquet que per ell sol no fa res, però és important per les dependències que instal·la. Existeix el problema que al desinstalar-lo, es desinstal·la el paquet tonto, però no les dependències instal·lades.

Per exemple: Si instal·les Apache 2, s'instal·len uns quants paquets necessaris.
  • Tasques: Les tasques són agrupacions de paquets que instal·lats de forma conjunta proveeixin una funcionalitat comuna. Per exemple hi ha tasques per a instal·lar un sistema LAMP o entorns d'escriptori com Gnome o KDE. Es poden gestionar les tasques amb tasksel.

Paquets Debian

Tenen l'extensió .deb.

  • Molt conegut per les seves estrictes polítiques de qualitat abans de alliberar noves versions de paquets.
  • Faciliten l'aplicació d'actualitzacions sense necessitat de reiniciar la màquina.
  • Permet configurar l'aplicació en el moment de la instal·lació (debconf).
  • Permet tasques prèvies a l'eliminació, instal·lació i/o configuració d'un paquet.
  • Són utilitzats ens totes les distribucions de la família Debian.
  • El programa principal (canònic) utilitzat per gestionar aquest tipus de fitxers és dpkg, tot i que sovint dpkg es utilitzat mitjançant el front-end apt.

L'apt acaba utilitzant el dpkg per tu.

L'única eina que toca paquets en Debian és el dpkg

  • Característiques

Exemple de paquet:

$ sudo apt-get clean 

neteja el contingut de la carpeta /var/cache/apt/archives/

$ sudo apt-get install hello
Hola, món!

Podem veure el contingut dels paquets baixats a la carpeta /var/cache/apt/archives/

Si fem

$ ls /var/cache/apt/archives/ 

apareixen els paquets que s'han baixat.

hello_2.6-1_i386.deb  lock  partial

Amb la comanda

$ file-roller /var/cache/apt/archives/hello_2.6-1_i386.deb

apareixen 2 carpetes.

Oscaradan paquet hello.png


La carpeta DEBIAN conté el fitxer control (metadades) on apareix la següent informació:

Package: hello
Version: 2.6-1
Architecture: i386
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Santiago Vila <[email protected]>
Installed-Size: 96
Depends: libc6 (>= 2.4), dpkg (>= 1.15.4) | install-info
Section: devel
Priority: optional
Homepage: http://www.gnu.org/software/hello/
Description: The classic greeting, and a good example
The GNU hello program produces a familiar, friendly greeting.  It
allows non-programmers to use a classic computer science tool which
would otherwise be unavailable to them.
.
Seriously, though: this is an example of how to do a Debian package.
It is the Debian version of the GNU Project's `hello world' program
(which is itself an example for the GNU Project).

Aquesta informació la podrem veure també en entorn gràfic amb

$ synaptic 

i buscar el software hello. Un cop localitzat amb el botó dret i Propiedades, apareix la informació.

Oscaradan Synaptic hello.png

La carpeta usr és al lloc on s'instal·laran els fitxers.

Exemple:

Instal·lem el paquet Apache2

$ sudo apt-get install --reinstall apache2.2-common

Si només volem baixar el paquet posariem

 $ sudo apt-get install -d apache2.2-common

Si anem a veure la carpeta /var/cache/apt/archives/

Podem veure el fitxer amb

$ file-roller /var/cache/apt/archives/hello_2.6-1_i386.deb


Oscaradan apache2.png

Dintre de la carpeta Debian existeix el fitxer control i altres metadades. El fitxer md5sums conté tots els md5 de tots els fitxers que s'han d'instal·lar i així comprovar l'integritat.

Aquests 2 fitxers control i md5sums són els obligatoris, els altres que apareixen són opcionals.

Al fitxer conffiles apareixen tots els fitxers de configuració. Al desinstal·lar l'aplicació aquests fitxers no s'esborren.

Podem veure les dependències a la següent imatge

Oscaradan Synaptic apache2.png

Esborrem el paquet Apache 2 amb l'opció purge per a que borri també els fitxers de configuració.

$ sudo apt-get remove --purge apache2.2-common

Instal·lar Apache 2

Si tornem a instal·lar Apache 2

$ sudo apt-get install apache2.2-common

ens mostra aquests passos

S'està llegint la llista de paquets... Fet
S'està construint l'arbre de dependències       
S'està llegint la informació de l'estat... Fet
Paquets suggerits:
  apache2-doc apache2-suexec apache2-suexec-custom
S'instal·laran els paquets NOUS següents:
  apache2.2-common
0 actualitzats, 1 nous a instal·lar, 0 a suprimir i 1 no actualitzats.

Si hi ha paquets no actualitzats t'avisa i els hauries d'instal·lar amb

$ sudo apt-get upgrade
Es necessita obtenir 0 B/220 kB d'arxius.

Posa que s'han de baixar 0 B perquè al haver-lo descarregat abans ja esta en la memòria cache.

Després d'aquesta operació s'empraran 2224 kB d'espai en disc addicional.
S'està seleccionant el paquet apache2.2-common prèviament no seleccionat.
(S'està llegint la base de dades… hi ha 193849 fitxers i directoris instaŀlats actualment.)
S'està desempaquetant apache2.2-common (de …/apache2.2-common_2.2.17-1ubuntu1_i386.deb)…

S'executen els activadors (triggers) següents:

S'estan processant els activadors per a ufw…
S'estan processant els activadors per a ureadahead…
S'estan processant els activadors per a man-db…
S'està configurant apache2.2-common (2.2.17-1ubuntu1)…
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
Enabling module reqtimeout.

A la carpeta DEBIAN també trobem els Scripts de manteniment que Permeten dur a terme accions en moment concrets del procés d'instal·lació/desinstal·lació:

La instal·lació de un paquet és simplement descomprimir els fitxers a les carpetes necessàries, però abans o després d'instal·lar el paquet es poden fer una sèrie de coses.

  • preinst: S'executa abans d'extreure els fitxers del paquet al sistema.
  • postinst: S'executa després d'extreure els fitxers del sistema.
  • prerm: S'executa abans d'esborrar els fitxers del sistema.
  • postrm: S'executa després d'esborrar els fitxers del sistema.


Oscaradan creacio paquets debian.png

Al instal·lar un paquet s'executa l'ordre dpkg-i.

A l'esborrar el paquet, si volem que s'esborre del tot s'ha de fer un purge.

Al instal·lar un programa, es poden produir problemes al preinst o al postinst i llavors el programa donara problema i no es podrà ni instal·lar ni desinstal·lar.

exemple amb el moodle

$ sudo apt-get install moodle

Apareix la finestra de configuració del programa


Oscaradan instal·lacio fallida moodle 1.png


Si anem a la carpeta /var/cache/apt/archives i mirem el fitxer de moodle veurem el contingut


Oscaradan instal·lacio fallida moodle 2.png

a la carpeta /var/lib/dpkg/info si mirem els fitxers del moodle ens mostra els paquets que utilitza.

$ ls moodle.* |more

moodle.conffiles
moodle.config
moodle.list
moodle.md5sums
moodle.postinst
moodle.postrm
moodle.prerm
moodle.templates

Si modifiquem el fitxer postrm, no es podrà desinstal·lar el programa i fallarà.

Oscaradan postrm.png


Si ara intento desinstal·lar amb la comanda

$ sudo apt-get remove moodle

ens mostra el següent error

E: Sub-process /usr/bin/dpkg returned an error code (1)

Podem solucionar l'error afegint al fitxer postrm a la primera línea el text exit 0 amb lo qual no executarà l'script, però constarà com a desinstal·lat.


Coses que fan els paquets de forma automàtica.

  • base de dades centralitzades.
  • Llegeix les metadades del paquets per a mirar les dependències o l'estat del paquet.
  • Obtenir el paquet dels repositoris d'internet (els baixa a la carpeta /var/cache/apt/archives).
A la carpeta var es guarden coses que varien sovint (registres, logs, bases de dades, memòries).
La cache és una memòria que la CPU ha usat fa poca estona i és més ràpida que la RAM. (El problema de la cache és que si s'actualitza un programa et pot instal·lar alguna versió antiga d'algun fitxer o dependència).

Un cop baixat el paquet, es pot instal·lar de forma manual, però te inconvenients de que no s'instal·len dependències, no es fan actualitzacions automàtiques.

Amb la comanda $ sudo apt-get clean esborra la cache (la caché no s'esborra automàticament).
  • instal·lar el paquet.
  • instal·lar les dependències necessàries.
  • preconfigurar.

Comparació de la informació del fitxer control del paquet amb la informació de l'instal·lador de paquets Synaptics


Oscaradan instala paquet amor.png


Oscaradan instala paquet amor 2.png

Configurador de paquets Debconf

Debconf és l'encarregat de configurar els paquets Debian.

Si a l'instal·lació del programa ens fa unes preguntes de configuració i ens hem equivocat i ho volem reconfigurar per línea de comandes farem

$ sudo dpkg-reconfigure nom_paquet

ens torna a demanar les preguntes que es van fer a la instal·lació.


Oscaradan reconfigure comanda.png


si ho provem de fer amb synaptics


Oscaradan reconfigure synaptics.png

Relacions entre paquets

Els paquets estan rel·lacionats uns amb uns altres seguint alguna de les següents condicions. Veiem exemples de dependències amb el paquet firefox ($ sudo dpkg -s firefox)

  • El paquet A depèn del Paquet B: Implica que és absolutament necessari que el paquet B estigui instal·lat abans de poder instal·lar A. També pot ser que A depengui d'una versió especifica de B.
(firefox) Depends: fontconfig, psmisc, lsb-release, debianutils (>= 1.16), libasound2 (>> 1.0.24.1), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.11), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.24.0), libgtk2.0-0 (>= 2.18.0), libpango1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.10), libstdc++6 (>= 4.5), libx11-6, libxext6, libxrender1, libxt6, zlib1g (>= 1:1.1.4)
  • El paquet A recomana B: B no és necessari però el desenvolupador de A creu que la majoria d'usuaris d'A trobaran útil B.
(firefox) Recommends: ubufox, firefox-globalmenu
  • El paquet A suggereix B: El paquet A suggereix el B per què B conté funcionalitats relacionades amb A (sovint milloren la seva funcionalitat).
(firefox) Suggests: firefox-gnome-support | firefox-kde-support, latex-xft-fonts, libthai0
  • El paquet A entra en conflicte amb el paquet B: El paquet A no pot operar al sistema si existeix B. Sovint per què tots dos proporcionen el

mateix fitxer.

(firefox) Breaks: abrowser (<= 4.0~b11+build3+nobinonly-0ubuntu1), abrowser-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1), firefox-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1)
  • El paquet A reemplaça B: Al instal·lar A s'esborren els fitxers de B i en alguns casos es sobreescriuen.


  • El paquet A proveeix de B: Quan tots els fitxers i funcionalitats de B han estar incorporades a A.

Importància d'un paquet

DEFINIT A LA DEBIAN POLICY:

  • Required: Paquets imprescindibles per al correcte funcionament del sistema. Inclou totes les eines necessàries per reparar els defectes d'un sistema. Sense aquests paquets el sistema estarà trencat i no es podrà utilitzar dpkg per arreglar-lo. Els sistemes que només tenen paquets requerits no són utilitzables, però tenen les suficients funcionalitats per permetre que l'administrador del sistema pugui iniciar la màquina i instal·lar més programari.

Un exemple de paquet required és el dpkg.

  • Important: Paquets que s'haurien de trobar en tot sistema. Aquests paquets no inclouen Emacs o X11 o TeX ni cap altre "gran" aplicació. Aquests paquets només constitueixen la infraestructura bàsica.
  • Standard: Els paquets Standard, són aquells paquets mínims que s'haurien de trobar a tota màquina. Hi han les eines bàsiques per navegar per la web (w3m), enviar correus electrònics (mutt) o descarregar fitxers o servidors FTP. Aquests paquets (i els de prioritat superior) són els que s'instal·len per defecte. No inclou moltes aplicacions importants.
  • Optional: Paquets que possiblement molta gent voldrà instal·lar però que no són imprescindibles pel sistema. Aquí trobem paquets tant importants com X11.
  • Extra: Paquets que entren en conflicte amb altres de major prioritat però que en certes condicions els usuaris poden preferir.
  • Una instal·lació per defecte de Debian instal·la tots els paquets de prioritat estàndard o inferior.

Dipòsits

Dipòsits a Debian

Els dipòsits o repositoris' són pàgines on esta guardada la informació. Estan dividits per parts, els paquets estan classificats.

  • Apartats dels repositoris debian


Main: Distribució principal/oficial i que sigui software lliure.

També s'ofereix servei als usuaris amb seccions que no es poden incloure en la distribució main

contrib: són paquets amn llicència lliura, però que depenen de programari que no és lliure.
Non-free: són paquets que tenen alguna condició en la llicencia que restringeix l'ús o la redistribució del programari.
Non-US/Main: Paquets lliures però que no es poden redistribuir des d'un servidor dels EUA.
Non-US/Non-Free: No lliures i no es poden distribuir des de EUA.

En un mateix repositori tens diferents versions del mateix software.


Debian té una política de llançament de versions segons l'estat (maduresa) de la versió.

Existeixen sempre 3 versions diferents en funcionament:

stable: La distribució «stable» conté la última distribució llançada oficialment. Recomanada per a producció. Nom codi Sarge. Des del 08-10-2011 la versió stable es diu squeeze
testing: conté paquets que no han estat encara acceptats a una distribució «stable», però que estan a la cua per a fer-ho. Té versions més recents de programari. Nom en codi etch. Normalment l'utilitza en els programadors per a veure per on fallen i on es poden corregir. La versio actual es wheezy
unstable: El desenvolupament actiu de Debian té lloc a la distribució «inestable». Nom codi sid. Ubuntu sempre es basa en aquesta versió i és la que la majoria de gent te al seu escriptor.

Els noms tenen origen en els protagonistes de Toy Story (1995).


Dipòsits a Ubuntu

En els dipòsits d'Ubuntu, es pot veure al Synaptics, que les aplicacions que són main són les que apareix el logotip de ubuntu.

Els components estan escollits segons la possibilitat que té Ubuntu de donar suport

main: Aplicacions lliures i plenament suportades per l'equip d'Ubuntu. Aplicacions populars.
restricted: Programari d'ús comú (drivers) que no és PL (Programari Lliure). Suportat per l'equip d'Ubuntu tot i que no tenen el codi font

(només poden reportar els errors)

universe: Aplicacions lliures no suportades per Ubuntu però que formen part de l'univers d'aplicacions Linux. No donen suport explícit. Els suport s'ha de buscar als creadors de l'aplicació.
multiverse: Programari Linux no lliure. Sense suport per part d'Ubuntu.


Els software esta organitzat per tipus d'actualitzacions.

Ubuntu treu una versió nova cada 6 mesos.

  • Tipus d'actualitzacions
Security: Actualitzacions de seguretat importants. S'actualitzen encara que no hagin passat els 6 mesos.
Updates: Actualitzacions recomanades. Ubuntu dona suport .
Proposed: Actualitzacions disponibles abans del seu alliberament a la primera versió. Versions noves que poden ser interessants.
Backports: És la última versió d'un programa (Actualitzacions no suportades).

Amb el Synaptics podem veure quines opcions tenim activades

Oscaradan parametres synaptics.png


Oscaradan parametres synaptics 1.png

El fitxer que te els orígens o sources és

/etc/apt/sources.list

és on anirà a buscar els orígens dels repositoris que s'instal·laran.

el contingut del fitxer (en el mes cas és)

# deb cdrom:[Ubuntu 11.04 _Natty Narwhal_ - Release i386 (20110427.1)]/ natty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://es.archive.ubuntu.com/ubuntu/ natty main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ natty main restricted 

## Major bug fix updates produced after the final release of the
## distribution.

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://es.archive.ubuntu.com/ubuntu/ natty universe
deb-src http://es.archive.ubuntu.com/ubuntu/ natty universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://es.archive.ubuntu.com/ubuntu/ natty multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ natty multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://es.archive.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse
# deb-src http://es.archive.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu natty partner
# deb-src http://archive.canonical.com/ubuntu natty partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu natty main
deb-src http://extras.ubuntu.com/ubuntu natty main

deb http://download.virtualbox.org/virtualbox/debian natty contrib
deb http://security.ubuntu.com/ubuntu/ natty-security restricted main multiverse universe
deb http://es.archive.ubuntu.com/ubuntu/ natty-updates restricted main multiverse universe

cada línia indica a quin lloc s'anirà a buscar els repositoris per a quina versió són.

Gestors de paquets Debian

dpkg

És l'aplicació important, és la base de tot. Totes les aplicacions que instal·len paquets acaben fent cap a aquest paquet.

Debian package (dpkg)

És una Eina de baix nivell. Normalment com a usuaris utilitzarem altres eines a nivell més alt (com apt-get o aptitude). El dpkg instal·la aplicacions però aquestes aplicacions les has de tenir tu, ell no les buscarà. Si s'ha d'instal·lar aplicacions amb dependències no te l'instal·lara a no ser que tinguis tu els altres paquets dels que depèn.

L'apt-get té com a avantatge que el busca, baixa els paquets, busca dependències.

La sintaxis és:

$ sudo dpkg [options][action] [package-files|package-name]

en la instal·lació a vegades s'haurà de donar el nom del fitxer i altres el nom del paquet

L'ordre proporciona pel paquet del mateix nom

$ whereis dpkg

dpkg: /usr/bin/dpkg /etc/dpkg /usr/lib/dpkg /usr/share/dpkg
/usr/share/man/man1/dpkg.1.gz
$/usr/share/man/man1/dpkg.1.gz

$ dpkg -S /usr/bin/dpkg
dpkg: /usr/bin/dpkg

Les opcions es divideixen en:

  • Opcions de consulta (dpkg-query-actions)
dpkg -l | --list package-name-pattern : Llista els paquets que compleixen amb un determinat patró.

amb

$ dpkg -l |wc ens mostra les línies caràcters i paraules que conté
   1678   15016  212522

per exemple amb

$ echo -n hola |wc
      0       1       4

Si vull buscar si tinc un programa instal·lat puc fer

$ dpkg -l | grep openoffice
ii'  openoffice.org-hyphenation            0.6

està instal·lat si apareix "ii". Ens mostrarà en roig el text que haguem posat.

dpkg -L | --listfiles package : Mostra la llista de fitxers instal·lats per un programa.

per exemple amb

$ dpkg -L hello

apareixen els canvis que ha fet el programa hello al sistema

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/hello
/usr/share/doc/hello/NEWS
/usr/share/doc/hello/copyright
/usr/share/doc/hello/changelog.gz
/usr/share/doc/hello/changelog.Debian.gz
/usr/share/info
/usr/share/info/hello.info.gz
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/hello.1.gz
/usr/bin
/usr/bin/hello

per exemple amb

$ dpkg -L hello | grep bin

puc averiguar quin és l'executable

/usr/bin
/usr/bin/hello
dpkg -s | --status package-name : mostra l'estatus actual d'un paquet i la metainformació del paquet.

amb la comanda

$ dpkg -s firefox

ens mostra la metainformació del paquet firefox

Package: firefox
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 29508
Maintainer: Ubuntu Mozilla Team <[email protected]>
Architecture: i386
Version: 7.0.1+build1+nobinonly-0ubuntu0.11.04.1
Replaces: abrowser, abrowser-branding, firefox-branding, kubuntu-firefox-installer
Provides: gnome-www-browser, iceweasel, www-browser
Depends: fontconfig, psmisc, lsb-release, debianutils (>= 1.16), libasound2 (>> 1.0.24.1), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.11), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.24.0), libgtk2.0-0 (>= 2.18.0), libpango1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.10), libstdc++6 (>= 4.5), libx11-6, libxext6, libxrender1, libxt6, zlib1g (>= 1:1.1.4)
Recommends: ubufox, firefox-globalmenu
Suggests: firefox-gnome-support | firefox-kde-support, latex-xft-fonts, libthai0
Breaks: abrowser (<= 4.0~b11+build3+nobinonly-0ubuntu1), abrowser-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1), firefox-branding (<= 4.0~b11+build3+nobinonly-0ubuntu1)
Conffiles:
/etc/apparmor.d/usr.bin.firefox 402bf932cbb95b39d190c1f12df444d9
/etc/apport/native-origins.d/firefox 7c26b75c7c2b715c89cc6d85338252a4
/etc/apport/blacklist.d/firefox 15009b73650ee36b461d533cf39fa222
/etc/firefox/syspref.js 09e457e65435a1a043521f2bd19cd2a1
Description: Safe and easy web browser from Mozilla
Firefox delivers safe, easy web browsing. A familiar user interface,
enhanced security features including protection from online identity theft,
and integrated search let you get the most out of the web.

Xul-Appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}

dpkg -S | --search filename-search-pattern : Busca un fitxer concret dins dels paquets instal·lats

(posar algun exemple)

dpkg -p | --print-avail package : Mostra detalls sobre un paquet instal·lat.

(posar algun exemple)

dpkg -I | --info package-name: Mostra informació sobre un paquet desinstal·lat.

(posar algun exemple)


  • Aplicacions de modificació. Cal ser superusuari
dpkg -i | --install package-file: Instal·la un paquet a partir d'un fitxer .deb
dpkg --configure package-name: Torna a configurar un paquet ja instal·la. Executa l'script de post-instal·lació.
dpkg -r | --remove package_name: Elimina un paquet, però deixa els fitxers de configuració de sistema.
dpkg -P | --purge package_name: Elimina un paquet incloent els fitxers de configuració.
dpkg -C | --audit: busca fitxers instal·lats parcialment al sistema i suggereix que fer amb ells.

Exercici per fer (Instal·lació del paquet hello de forma manual)

Primer esborrem completament el paquet hello

$ sudo apt-get remove --purge hello

un cop esborrat fer:

  • Mirar la versió d'ubuntu que tenim
$ lsb_release -a 
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 11.04
Release:	11.04
Codename:	natty

INSTAL·LACIÓ MANUAL

Passos:

Aconseguir el paquet

Al fitxer Package.gz, he trobat:

Package: hello
Priority: optional
Section: devel
Installed-Size: 96
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Santiago Vila <[email protected]>
Architecture: i386
Version: 2.6-1
Depends: libc6 (>= 2.4), dpkg (>= 1.15.4) | install-info
Filename: pool/main/h/hello/hello_2.6-1_i386.deb

He escollit Natty perquè es correspon amb la meva versió d'Ubuntu.

Ara que ja se a quina carpeta està el paquet .deb podem baixar-lo.

  • Un cop aconseguit el paquet provem totes les opcions de dpkg
  • Instal·lar (dpkg -i)
$ sudo dpkg -i hello_2.6-1_i386.deb
S'està seleccionant el paquet hello prèviament no seleccionat.
(S'està llegint la base de dades… hi ha 197477 fitxers i directoris instaŀlats actualment.)
S'està desempaquetant hello (de hello_2.6-1_i386.deb)…
S'està configurant hello (2.6-1)…
S'estan processant els activadors per a install-info…
S'estan processant els activadors per a man-db…
  • Configurar el paquet (dpkg --configure)
$ sudo dpkg --configure hello
dpkg: s'ha produït un error en processar hello (--configure):
el paquet hello ja està instaŀlat i configurat

Ens diu que no es pot configurar, ja que el paquet hello no te opcions de configuració.

  • Eliminar el paquet (dpkg -r)
$ sudo dpkg -r hello
(S'està llegint la base de dades… hi ha 197484 fitxers i directoris instaŀlats actualment.)
S'està desinstaŀlant hello…
S'estan processant els activadors per a man-db…
S'estan processant els activadors per a install-info…
  • Eliminar el paquet incloent els fitxers de configuració (dpkg -P)

Per tal de poder fer-ho, necessitem tornar a instal·lar el paquet (ho fem amb $ sudo dpkg -i -i hello_2.6-1_i386.deb)

Ara ja el podem Eliminar

$ sudo dpkg -P hello 
(S'està llegint la base de dades… hi ha 197484 fitxers i directoris instaŀlats actualment.)
S'està desinstaŀlant hello…
S'estan processant els activadors per a man-db…
S'estan processant els activadors per a install-info…
  • Buscar Fitxers Instal·lats parcialment
$ sudo dpkg -C

Aquesta comanda ens retornara solament aquells paquets que no s'hagin instal·lat completament, com no ha hagut problemes al instal·lar-lo no mostrarà informació.

apt

APT (Advanced Packaging Tool)

  • Utilitat per a la gestió de paquets en sistemes Debian GNU/Linux o derivats.
  • Apt simplifica molt la feina de l'administració de paquets en sistemes UNIX, per què automatitza el procés d'obtenció, instal·lació i configuració de programari.
  • Apt és un front-end de dpkg.
  • Actualment ja hi ha versions modificades d'apt per treballar amb paquets rpm.
  • A diferencia de dpkg apt instal·la les dependències.
  • No existeix un programa apt en si mateix, sinó que APT és una biblioteca de funcions C++ que s'empra per diversos programes de Línia de comandes per a distribuir paquets.

Apt és un conjunt d'eines proporcionades pel paquet apt:

  • Ordres:
$ sudo dpkg -L apt | grep bin
/usr/bin
/usr/bin/apt-cache
/usr/bin/apt-cdrom
/usr/bin/apt-config
/usr/bin/apt-get
/usr/bin/apt-key
/usr/bin/apt-mark
  • Fitxers de configuració:
$ sudo dpkg -L apt | grep etc
/etc
/etc/apt
/etc/apt/apt.conf.d
/etc/apt/apt.conf.d/01autoremove
/etc/apt/apt.conf.d/20changelog
/etc/apt/preferences.d
/etc/apt/sources.list.d
/etc/apt/trusted.gpg.d
/etc/logrotate.d
/etc/logrotate.d/apt
/etc/cron.daily
/etc/cron.daily/apt

aptitude

Interfície gràfica ncurses

  • Accepta les mateixes opcions que apt-get.
  • L'únic diferència es que esborra les dependències als esborrar un paquet (no necessita l'ordre clean).
$ sudo aptitude


Oscaradan aptitude.png


Tecles

u: $ sudo aptitude update.
U: $ sudo aptitude upgrade.
q: quit.
+: Marcar per instal·lar.
-: Marcar per desinstal·lar.
gg: El primer g mostra les tasques pendents. Els segon g aplica.
?: Ajuda.
/nom: Cercar un paquet per nom.

Instal·lar un paquet

  • Localitzem el paquet en la categoria «Paquets no instal·lats», usant les tecles del cursor del teclat i la tecla INTRO.
  • Seleccionem el paquet que desitgem instal·lar i premem la tecla + el paquet es posarà en verd.
  • Premem la tecla g i es presentarà un resum de les accions que es van a realitzar.
  • Premem g altra vegada, i començarà la descàrrega i posterior instal·lació del paquet.
  • La primera columna reflexa l'estat actual de cada paquet, s'usa la següent llegenda:
  • i: Paquet instal·lat.
  • c: Paquet no instal·lat, però la configuració del paquet roman en el sistema.
  • p: Eliminat del sistema.
  • v: Paquet virtual.
  • B: Paquet trencat.
  • o: Arxius desempaquetats, però el paquet aquesta sense configurar.
  • C: A mig configurar - La configuració va fallar i requereix ser reparada.
  • H: A mig configurar - Va fallar l'eliminació i requereix ser reparada.

Synaptic

Update-manager

software-center

Ordres

dpkg

dpkg --configure

  • No és el mateix que dpkg-reconfigure.
  • Només s'aplica quan un paquet ha quedat pendent de configurar durant la instal·lació. Es poden buscar paquets d'aquest tipus amb l'opció auditar dpkg -C:
$ sudo dpkg -C
Els paquets següents només estan configurats a mitges, probablement a causa de problemes en la configuració inicial. S'ha de reintentar 
la configuració amb dpkg --configure <paquet> o l'opció configurar en el menú de dselect:
linux-image-2.6.31.6-custom Linux kernel binary image for version 2.6.31.6-cus
$ sudo dpkg --configure linux-image-2.6.31.6-custom
S'està configurant linux-image-2.6.31.6-custom (2.6.31.6-custom-10.00.Custom) ...
Running depmod.
...

dpkg-reconfigure

Es poden tornar a configurar els paquets Debian amb l'ordre.

$ sudo dpkg-reconfigure <nom_paquet>

Té les següents Opcions:

ftype, --frontend=type: Seleccioneu el frontend a utilitzar.
-pvalue, --priority=value: Especifica el llindar mínim de prioritat. Tots les opcions de configuració igual o per sobre d'aquest llindar, seran mostrades.
--default-priority: Utilitzar la prioritat per defecte.
-a, --all: Configurar tots els paquets del sistema que utilitzen debconf.
-u, --unseen-only: Només mostra les qüestions que no han esta contestades prèviament.
--force: Força un dpkg-reconfigure inclús si el paquet està en un estat inconsistent o trencat.
--no-reload: No torna a carregar les plantilles.


Està basat amb la llibreria Dialog'

La diferència entre fer-ho per línia de comandes o fer-ho amb entorn gràfic, és la finestra que utilitza.

Al moment de fer una finestra es poden escollir diferents tipus.

Algun exemple de plantilla és

Template: echod/port
Type: string
Default: 8001
Description: Port Number:
 Please enter the port number for echod.
Description-es.UTF-8:el puerto del servidor echod
 por favor introducir
Description-ca.UTF-8: port del servidor echod
 Per favor introduiu el port del servidor echod

que mostra una finestra com la següent


Oscaradan reconfigure 1.png


Un altre tipus de plantilla és

Template: echod/notconfigured
Type: note
Description: Warning - echod is not configured
 Please note that you have not completed the echod configuration.
Description-es.UTF-8: Aviso - echod no se ha configurado correctamente
 Hay que tener en cuenta que si no se escoge un número de puerto echod no se configurarà correctamente.
Description-ca.UTF-8: Avis - echod no s'ha configurat correctament
 Tingueu en compte que si no escolliu un número de port echod no es configurarà correctament.


Oscaradan reconfigure 2.png


  • Hi ha diferents tipus de qüestions (seleccionables, preguntes si/no, camps de text, etc...)
  • Tenen suport per a múltiples idiomes (suporten fitxers po)

La comanda

$ sudo dpkg-reconfigure debconf

mostra les següents pantalles de configuració


Oscaradan reconfigure debconf 1.png


Oscaradan reconfigure debconf 2.png

Aquí podriem escollir diferents formats de finestra.

Per exemple, una finestra gnome es veuria així

Oscaradan reconfigure debconf Gnome.png


Oscaradan reconfigure debconf 3.png


Oscaradan reconfigure debconf 4.png

apt-get

SINCRONITZAR LA BASE DE DADES DE PAQUETS

  • Opció update:
$ sudo apt-get update
  • La base de dades de paquets (package cache) es local i no es sincronitza automàticament amb els dipòsits. La base de dades es pot gestionar amb apt-cache.
  • Cada cop que fem un canvi als repositoris, o volem comprovar si tenim les últimes versions dels paquets als repositoris hem d'executar abans un update.
  • S'ha d'executar regularment i sinó tenim paquets com l'update-manager que comprova periòdicament si tenim actualització.
  • Hi ha una tasca cron diaria
$ sudo dpkg -L apt| grep cron
/etc/cron.daily
/etc/cron.daily/apt


INSTAL·LAR UN PAQUET

$ sudo apt-get install <nom_programa>
  • Recordeu que l'eina suporta autocompletar en les opcions i en els noms de paquets.
  • Es pot simular la instal·lació:
$ sudo apt-get --simulate install <nom_programa>
  • Altres opcions:
-d: Només descarrega el paquet.
-f: Força la instal·lació encara que falli el test d'integritat.
-y: Respon si a totes les preguntes.

INFORMACIÓ DURANT LA INSTAL·LACIÓ:

$ sudo apt-get install pingus
S'està llegint la llista de paquets... Fet 
S'està construint l'arbre de dependències       
S'està llegint la informació de l'estat... Fet
S'instal·laran els següents paquets extres:
 libboost-signals1.42.0 libmikmod2 libsdl-image1.2 libsdl-mixer1.2 libsmpeg0
 pingus-data
S'instal·laran els paquets NOUS següents:
 libboost-signals1.42.0 libmikmod2 libsdl-image1.2 libsdl-mixer1.2 libsmpeg0
 pingus pingus-data
0 actualitzats, 7 nous a instal·lar, 0 a suprimir i 1 no actualitzats.
Es necessita obtenir 12,6 MB d'arxius.
Després d'aquesta operació s'empraran 24,3 MB d'espai en disc addicional.
Voleu continuar [S/n]?

IMPORTANT: Una instal·lació pot esborrar altres paquets que no siguin compatibles amb el que esteu instal·lant!

ELIMINAR UN PAQUET

  • Eliminar un paquet no elimina els fitxers de configuració.
$ sudo apt-get remove <nom_programa>
  • Eliminar completament (purge)
$ sudo apt-get remove -purge <nom_programa>

IMPORTANT: al esborrar un paquet també es poden eliminar paquets els quals depenien del paquet esborrat.

  • A vegades s'esborren paquets virtuals que poden semblar perillosos de desinstal·lar però no ho son pas.
$ sudo apt-get remove gimp


AUTOREMOVE

  • Borra paquets del sistema que ja no s'utilitzen:
Paquets marcat com instal·lats automàticament i que ja no s'utilitzen.
$ sudo apt-get autoremove
S'està llegint la llista de paquets... Fet
S'està construint l'arbre de dependències
Reading state information... Fet
The following packages were automatically installed and are no longer required:
libzzip-0-12 memcached php4-common
S'ELIMINARAN els següents paquets:
libzzip-0-12 memcached php4-common
0 actualitzats, 0 nous a instal·lar, 3 a eliminar i 2 no actualitzats.
Es necessita obtenir 0B d'arxius.
Després de desempaquetar s'alliberaran 664kB d'espai en disc.
Voleu continuar [S/n]? s
(S'està llegint la base de dades ... hi ha 159735 fitxers i directoris instal·lats actualment.)
S'està desinstal·lant libzzip-0-12 ...
S'està desinstal·lant memcached ...
Stopping memcached: memcached.
S'està desinstal·lant php4-common ...


UPGRADE

Actualitza els paquets instal·lats al sistema dels quals es disposa d'una nova versió al repositori:

$ sudo apt-get upgrade

També es pot fer una simulació

$ sudo apt-get --simulate upgrade


DIST-UPGRADE

  • Utilitzat per actualitzar paquets a una nova versió del sistema (canvis de versió a la distribució).
  • Instal·la els paquets mantinguts.


ESBORRAR PAQUETS DESCARREGATS

  • Opció clean
$ df -h
S. fitxers            Mida En ús Lliure %Ús Muntat a
/dev/sda1             456G   59G  374G  14% /
none                  1,5G  640K  1,5G   1% /dev
none                  1,5G  196K  1,5G   1% /dev/shm
none                  1,5G  100K  1,5G   1% /var/run
none                  1,5G     0  1,5G   0% /var/lock
$ sudo apt-get clean
$ df -h
S. fitxers            Mida En ús Lliure %Ús Muntat a
/dev/sda1             456G   59G  375G  14% /
none                  1,5G  640K  1,5G   1% /dev
none                  1,5G  196K  1,5G   1% /dev/shm
none                  1,5G  100K  1,5G   1% /var/run
none                  1,5G     0  1,5G   0% /var/lock
  • Els paquets es troben a /var/cache/apt/archives
$ ls /var/cache/apt/archives/
libgnome2-canvas-perl_1.002-2build1_i386.deb
libgnome2-perl_1.042-2build1_i386.deb
libgnome2-vfs-perl_1.081-1build1_i386.deb
libgnomevfs2-extra_1%3a2.24.4-0ubuntu4_i386.deb
lock
moodle_1.9.9.dfsg2-2_all.deb
partial
virtualbox-4.1_4.1.8-75467~Ubuntu~natty_i386.deb
xvnc4viewer_4.1.1+xorg4.3.0-37ubuntu2_i386.deb


OPCIÓ SOURCE

  • Descarrega paquets de codi font.
  • Exemple de com descarregar un codi font, compilar-lo i instal·lar-lo:
$ sudo apt-get build-dep coreutils
$ sudo apt-get -b source coreutils
$ sudo ln -s ~/sources/coreutils-7.4/src /usr/src/coreutils-7.4 
$ whereis ls
ls: /usr/src/coreutils-7.4/ls.c /usr/src/coreutils-7.4/ls.o ...
L'opció build-dep instal·la les dependències necessàries per compilar el codi font.

apt-cache

  • És l'eina que permet manipular la memòria cau (cache) dels paquets Debian. L'ordre només serveix per proporcionar informació sobre la base de dades de paquets Debian (també coneguda com package cache).
  • Buscar paquets:
$ sudo apt-cache search word
  • Dependències:
$ sudo apt-cache depends <nom_del_paquet>

exemple

$ sudo apt-cache depends hello
hello
  Depèn: libc6
 |Depèn: dpkg
  Depèn: install-info
  • Informació d'un paquet:
$ sudo apt-cache show <nom_del_paquet>

exemple

$ sudo apt-cache show hello
Package: hello
Priority: optional
Section: devel
Installed-Size: 96
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Santiago Vila <[email protected]>
Architecture: i386
Version: 2.6-1
Depends: libc6 (>= 2.4), dpkg (>= 1.15.4) | install-info
...


  • Informació detallada:
$ apt-cache showpkg <nom_paquet>

exemple

$ apt-cache showpkg hello
Package: hello
Versions: 
2.6-1  (/var/lib/apt/lists/es.archive.ubuntu.com_ubuntu_dists_natty_main_binary-i386_Packages)  (/var/lib/dpkg/status)
 Description Language: 
                 File:  /var/lib/apt/lists/es.archive.ubuntu.com_ubuntu_dists_natty_main_binary-i386_Packages
                  MD5: b7df6fe7ffb325083a3a60819a7df548

Reverse Depends: 
  junior-system,hello
  hello-debhelper,hello
  hello-debhelper,hello
Dependencies: 
2.6-1 - libc6 (2 2.4) dpkg (18 1.15.4) install-info (0 (null)) 
Provides: 
2.6-1 - 
Reverse Provides: 
hello-debhelper 2.6-2
  • Noms dels paquets:
$ apt-cache pkgnames
...
python-mididings
meep
libsteptalk0
libserial0
libmedimportcxx0
xulrunner-dev
gdb64
kompozer
diatheke
cyrus-admin-2.2
aspell-bg
libsmpeg0
wordnet-sense-index
thunderbird-locale-sv-se
openoffice.org-l10n-oc
libjtds-java
libdbus-c++-dev


$ apt-cache pkgnames |wc -l

33652


  • Dependències no satisfetes:
$ sudo apt-cache unmet

...
El paquet zope-scriptablefields versió 1.1.3-1 té una dependència sense satisfer:
Depèn: zope3 | zope2.10 | zope2.9 | zope2.8 | zope2.7 | zope2.6
El paquet qemu-common versió 0.14.0+noroms-0ubuntu4.4 té una dependència sense satisfer:
Suggereix: mol-drivers-macosx
Suggereix: openbios-sparc
El paquet qemu-common versió 0.14.0+noroms-0ubuntu4 té una dependència sense satisfer:
Suggereix: mol-drivers-macosx
Suggereix: openbios-sparc
El paquet apsfilter versió 7.2.6-1.3 té una dependència sense satisfer:
Suggereix: dvips

aptitude

Veure aptitude

Conversió de paquets

Vegeu també

Enllaços externs