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
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

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.

  • 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.

Distribucions

Tot i que evidentment hi ha diferències entre distribucions, comparteixen unes característiques bàsiques que faciliten la interoperabilitat.

Sergicardonadistribucions.png

Conceptes

  • 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
  • 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.

  • 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.)

  • Dipòsit: 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. Un exemple d'aquest paquets són per a aplicacions complexes, exemple l'apache2
  • 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.

Sistema de Paquets Debian

  • Debian Package (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 elfront-end apt.

Debian

  • Debian GNU/Linux
    • És un projecte l'objectiu del qual es crear un sistemaoperatiu 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 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

  • 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).
  • Creat per Mark Shutleworth
    • És va fer milionari al vendre l'empresa Thawte per 575 milions de $ aVerisign.
    • Va ser un dels primers turistes espacials (20 milions de $)
    • Va crear l'empresa Canonical

Anatomia d'un paquet Debian

  • Estructura. Format GNU ar:
    • data.tar.gz: Fitxers a instal·lar al sistema
    • control.tar.gz: Scripts de manteniment i metadades
    • debian-binary: Conté la versió del format de paquets Debian (actualment al 2009 2.0).

Control.tar.gz

  • Scripts de manteniment
  • md5sums
  • Llista de fitxers de configuració (conffiles)
  • Metadades (fitxer control)

Instal·lem un paquet

 $ sudo apt-get install amor

Quan instal·lem el paquet, el primer que fa és llegir la base de dades (llegeix les metadades, és a dir, qui ha fet aquest programa, quina versió hi ha ara, quins paquets necessita per funcionar etc..) gràcies a això pot mirar l'estat del paquet, per exemple si ja ha estat instal·lat. Una vegada descarregat, ens informa exactament de la pàgina on s'ha descarregat.

  • On queden guardats els fitxers descarregats?

Quan descarreguem un fitxer, queden guardats a la carpeta /var/cache/apt/archive (Aquesta memòria cache és troba en el disc dur). Si tornem a instal·lar el fitxer anterior, podem veure que ens l'instal·la molt més ràpid ja que no el va a buscar a internet, sinó a la memòria cache).

  • Com s'esborra la memòria cache?

Podem esborrar la memòria cache entran d'ins d'ella, i posant-li la comanda següent:

 $ sudo apt-get clean

Metadades

S'emmagatzement al fitxer control.

Sergicardonacontrol.png

Sergicardonametadades.png

Com podem comprovar, si anem al fitxer control, ens apareix el mateix:

 Package: apache2.2-common
 Source: apache2
 Version: 2.2.17-1ubuntu1.4
 Architecture: i386
 Maintainer: Ubuntu Developers <[email protected]>
 Installed-Size: 2172
 Depends: apache2.2-bin (= 2.2.17-1ubuntu1.4), apache2-utils, libmagic1, mime-support, lsb-base, procps, perl
 Recommends: ssl-cert
 Suggests: www-browser, apache2-doc, apache2-suexec | apache2-suexec-custom, ufw
 Conflicts: apache, apache2-common
 Replaces: apache2-common
 Section: httpd
 Priority: optional
 Homepage: http://httpd.apache.org/
 Description: Apache HTTP Server common files
  The Apache Software Foundation's goal is to build a secure, efficient and
  extensible HTTP server as standards-compliant open source software. The
  result has long been the number one web server on the Internet.
  .
  This package contains the configuration and support scripts.
  However, it does *not* include the server itself; for this you need to
  install one of the apache2-mpm-* packages, such as worker or prefork.
  Original-Maintainer: Debian Apache Maintainers <[email protected]>
  Original-Vcs-Browser: http://svn.debian.org/wsvn/pkg-apache/trunk/apache2
  Original-Vcs-Svn: svn://svn.debian.org/pkg-apache/trunk/apache2

Sergicardonacontrol1.png

  • md5sums:
    • Permeten assegurar la integritat del fitxers que composen un paquet.
  • conffiles:
    • Indica quins fitxers son de configuració. Típicament són fitxers de la carpeta /etc. No s'eliminen a l'eliminar el paquet (a no ser que s'utilitzi la opció --purge que elimina completament).

Scripts de manteniment

  • Permeten dur a terme accions en moment concrets del procés d'instal·lació/desinstal·lació:
    • 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.


Sergicardonascripts.png


Pràctica

 $ sudo apt-get install moodle
  • El primer pas és la configuració, ens fa una sèrie de preguntes sobre com s'ha de realitzar l'instal·lació.
  • Anem a la carpeta de la cache, i comprovem que s'ha instal·lat el paquet moodle tal i com podem veure en la següent captura de pantalla:

Sergicardonamoodle.png

Entrem a la carpet DEBIAN:

Sergicardonapost.png

Modifiquem el fitxer moodle.postrm per tal de que quant el reinstal·lem, ens doni un error.

 cd /var/lib/dpkg/info
 sudo geany moodle.postrm

Sergicardonamoodle1.png

Per assegurar-nos que no peta, podem borrar el fitxer moodle.postrm.

Debconf

  • Debconf
    • És l'encarregat de configurar els paquets Debian
    • Proporciona de diferents interfícies de comunicació amb l'usuari.
 $ sudo dpkg-reconfigure nom_paquet
  • Basat en una llibreria anomenada Dialog (ncurses).
 $ sudo apt-get install dialog
 (dialog --stdout --inputbox "Digues el teu nom" 10 30)

Sergicardonadialog.png

  • Fitxer debian/templates
    • Plantilles de les qüestions a fer durant la configuració.
 Template: echod/port
 Template: echod/port
 Type: string
 Type: string
 Default: 8001
 Default: 8001
 Description: Port Number:
 Description: Port Number:
 Please enter the port number for echod.
 Please enter the port number for echod.
 Description-es.UTF-8:
 Description-es.UTF-8:el puerto del servidor echod
 por favor introducir
 por favor introducir
 Description-ca.UTF-8: el puerto del servidor echod
 Description-ca.UTF-8: port del servidor echod
 Per favor introduiu el
 Per favor introduiu el port del servidor echo

Relacions entre paquets

  • 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.
  • 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.
  • El paquet A suggereix B: El paquet A suggereix el B per què B conté funcionalitats relacionades amb A (sovint milloren la seva funcionalitat).
  • 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.
  • 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.
    • 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 Debian

Els repositoris són les pàgines d'internet d'on esta guardada l'informació (és d'on ens baixem els paquets). Aquests repositoris estan divdits per parts:

  • Seccions:
    • Main: La distribució Debian oficial és el que està contingut en aquesta secció.
    • Com a servei als usuaris, hi ha seccions separades que no es poden incloure en la distribució main degut o a una llicència restrictiva o a temes legals:
      • Contrib: Paquets amb llicència lliure però que depenen de programari que no és lliure.
      • Non-Free: 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.
  • Versions de Debian:
    • Debian té una política de llançament de versions segons l'estat (maduresa) de la versió.
    • stable: La distribució «stable» conté la última distribució llançada oficialment. Recomanada per a producció. Nom codi Sarge.
    • 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.
    • unstable: (La versió d'ubuntu està basada en la unstable). El desenvolupament actiu de Debian té lloc a la distribució «inestable». Nom codi sid.
    • Noms tenen origen en els protagonistes de Toy Story (1995).

Dipòsits Ubuntu

  • Components
    • 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. 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.
      • multiverse: Programari Linux no lliure. Sense suport.
  • Tipus d'actualitzacions
    • Security: Actualitzacions de seguretat importants
    • Updates: Actualitzacions recomanades
    • Proposed: Actualitzacions disponibles abans del seu alliberament a la primera versió.
    • Backports: (Actualitzacions no suportades)

Sergicardonaparametres.png

Sergicardonaupdate.png

Gestors de paquets Debian

dpkg

  • Debian package (dpkg).
    • Aplicació encarregada de gestionar els paquets Debian.
    • Eina de baix nivell. Normalment com a usuaris utilitzarem altres eines a nivell més alt (com apt-get o aptitude)
    • La sintaxi és:
  $ dpkg [options][action] [package-files|package-name]
  • Accions
    • Només consulta (dpkg-query-actions).
      • dpkg -l | --list package-name-pattern : Llista els paquets que compleixen amb un determinat patró.
  $ dpkg -l | wc
    1686(línies)   15071 (paraules)  213225 (caràcters)
   (Ens consta la quantitat de paquets que tenim instal·lats al sistema)
  $  dpkg -l | grep firefox (Ens diu la versió que tenim instal·lada de firefox).
     ii (ii significa que el paquet està instal·lat)  
      • dpkg -s | --status package-name : mostra l'estatus actual d'un paquet i la metainformació del paquet.
 $ dpkg -s hello  
 
 Package: hello
 Status: install ok installed
 Priority: optional
 Section: devel
 Installed-Size: 96
 Maintainer: Ubuntu Developers <[email protected]>
 Architecture: i386
 Version: 2.6-1
 Depends: libc6 (>= 2.4), dpkg (>= 1.15.4) | install-info
 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.
      • dpkg -L | --listfiles package : Mostra la llista de fitxers instal·lats
      • dpkg -S | --search filename-search-pattern : Busca un fitxer concret dins dels paquets instal·lats
      • dpkg -p | --print-avail package : Mostra detalls sobre un paquet instal·lat.
      • dpkg -I | --info package-name: Mostra informació sobre un paquet desinstal·lat
      • 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

Borro el fitxer hello.

 $ sudo apt-get remove --purge hello

Comprovo la versió d'ubuntu que tinc.

 $ lsb_release -a
 No LSB modules are available.
 Distributor ID:	Ubuntu
 Description:	Ubuntu 11.04
 Release:	11.04
 Codename: natty

A continuació, per a poder trobar el paquet, cliquem en l'enllaç http://es.archive.ubuntu.com/ubuntu/, els paquets es troben d'ins la carpeta dists, una vegada d'ins aquesta carpeta, cliquem en la nostra versió, (aquesta l'hem descobert utilitzant la comanda anterior). Continuem amb la busqueda del fitxer clicant en la carpeta main, tot seguit cliquem en la carpeta binary-i386/. Una vegada estem aquí, ens descarreguem el fitxer Packages.gz, l'obrim i busquem el fitxer anomenat hello, d'aquest fitxer en traiem l'informació següent:


 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
 Size: 34540
 MD5sum: 4807adaa89be59feb1bf0614290e5beb
 SHA1: a885d1357a188e55aa32bcc0dd7a87a30653e90d
 SHA256: 7532d64c60ded3fdc47734d803dfc64af2567318268efc159d23b509a0b23c45
 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).
 Homepage: http://www.gnu.org/software/hello/
 Bugs: https://bugs.launchpad.net/ubuntu/+filebug
 Origin: Ubuntu
 Supported: 18m

L'informació que ens importa és troba en l'apartat que com podem veure esta senyalat amb negreta, cliquem una altra vegada en l'enllaç que ens apareix en l'apartat anterior i anem seguint el recorregut fins que el trobem i ens els descarreguem:

Sergicardonahello.png

  • Instal·lem el fitxer descarregat anteriorment posant-nos al director en el qual ens l'hem descarregat i utilitzant la següent comanda:
  $ sudo dpkg --install hello_2.6-1_i386.deb 
 (Reading database ... 255755 files and directories currently installed.)
 Preparing to replace hello 2.6-1 (using hello_2.6-1_i386.deb) ...
 Unpacking replacement hello ...
 Setting up hello (2.6-1) ...
 Processing triggers for install-info ...
 Processing triggers for man-db ...
 locale: Cannot set LC_CTYPE to default locale: No such file or directory
 locale: Cannot set LC_MESSAGES to default locale: No such file or directory
 locale: Cannot set LC_ALL to default locale: No such file or directory
  • Amb la comanda següent configurem el paquet ja instal·lat, com que ja està configurat al executar la comanda ens dona un error.
   $ sudo dpkg --configure hello 
 dpkg: error processing hello (--configure):
 package hello is already installed and configured
 Errors were encountered while processing:
 hello
  • Eliminem un paquet, encara que deixa els fitxers de configuració del sistema.
 $ sudo dpkg -r hello
  • Eliminem el paquet, juntament amb els fitxers de configuració.
 $ sudo dpkg -P hello
  • Amb aquesta comanda, busque fitxers parcialment instal·lats al sistema i suggereix que fer amb ells, com que amb aquest cas no hi ha cap fitxer que ens done conflictes, al executar la comansa no ens apareix res.
 $ dpkg --audit

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

Sergicardonaaptitude.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

NOTA: No entra al examen 101 de LPI. Recordeu que de fet a aquest examen no entra cap eina gràfica.

Consulteu synaptic.

Update-manager

NOTA: No entra al examen 101 de LPI. Recordeu que de fet a aquest examen no entra cap eina gràfica.

Consulteu update-manager.

software-center

NOTA: No entra al examen 101 de LPI. Recordeu que de fet a aquest examen no entra cap eina gràfica.

Consulteu software-center.

Ordres

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

dpkg-reconfigure

  • Torna a configurar un paquet ja instal·lat
   $ sudo dpkg-reconfigure
  • Ordre proporcionada per debconf
  • 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.
  • Exemple
 $ sudo dpkg-reconfigure debconf

Sergicardonaddd1.png

Sergicardonahight.png

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:
 $ dpkg -L apt | grep bin
 /usr/bin
 /usr/bin/apt-config
 /usr/bin/apt-cdrom
 /usr/bin/apt-mark
 /usr/bin/apt-key
 /usr/bin/apt-cache
 /usr/bin/apt-get
  • Fitxers de configuració:
 $ 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/trusted.gpg.d
 /etc/apt/sources.list.d
 /etc/logrotate.d
 /etc/logrotate.d/apt
 /etc/cron.daily
 /etc/cron.daily/apt

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ó
  • Instal·lar un paquet:
 $ sudo apt-get install (Nom_del_paquet)
  • 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_del_paquet)
  • 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 supertux

Sergicardonajff.png

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

  • Eliminar un paquet
  • No elimina els fitxers de configuració
  $ sudo apt-get remove (Nom_del_paquet)
  • Eliminar completament (purge)
  $ sudo apt-get remove –purge (Nom_del_paquet)

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

Sergicardonaauto.png

  • upgrade
    • Actualitza els paquets instal·lats al sistema dels quals es disposa d'una nova versió al repositori:
 $ sudo apt-get upgrade
 $ 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
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda1             457G   27G  407G   7% /
 none                  936M  652K  936M   1% /dev
 none                  943M  284K  942M   1% /dev/shm
 none                  943M   96K  943M   1% /var/run
 none                  943M     0  943M   0% /var/lock
 /dev/sdb1             299G  5.9G  293G   2% /media/B25014035013CCCB
 $ sudo apt-get clean
  • Els paquets es troben a /var/cache/apt/archives
  • Opció source
    • Descarrega paquets de codi font
    • Exemple de com descarregar un codi font, compilar-lo i instal·lar-lo:

Sergicardonasource.png

  • 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:
 $ apt-cache search word
  • Dependències:
 $ apt-cache depends (Nom-del_paquet)
  • Informació d'un paquet:
 $ apt-cache show (Nom_del_paquet)
  • Informació detallada
 $ apt-cache showpkg package
  • Estadístiques de la base de dades de paquets:
 $ sudo apt-cache stats
  • Noms dels paquets:
 $ apt-cache pkgnames
  • Número de paquets
 $ apt-cache pkgnames | wc -l
  • Dependències no satisfetes:
 $ sudo apt-cache unmet
  • Informació detallada d'un paquet:
 $ sudo apt-cache showpkg paquet

Resolució de Problemes

  • Actualització aturada abruptament durant la instal·lació de paquets.
  $ apt-get -f install
  $ dpkg --configure -a
  • Mai poden haver-hi més d'una aplicació de gestió de paquets obertes al mateix temps.
    • Si una aplicació de gestió de paquets es penja pot deixar bloquejat l'accés a la base de dades de paquets:

Sergicardonaoo.png

  • No es pot eliminar un paquet. Error en algun del fitxers d'script (p. ex. Postrm).
  • Els fitxers d'script es troben a:
 /var/lib/dpkg/info
 $ ls /var/lib/dpkg/info/*.postrm
  • Es pot eliminar l'script o posar un return 0 al principi del fitxer.



Conversió de paquets

  • Alien:
  • Convertim el paquet "package.rpm" a format deb en el paquet "package.deb"
 $ alien --to-deb package.rpm
  • Convertim el paquet "package.deb" a format rpm en el paquet "package.rpm"
 $ alien --to-rpm package.deb
  • Podem fer conversions múltiples:
 $ alien --to-deb --to-rpm --to-tgz --to-slp foo.deb bar.rpm baz.tgz

Vegeu també

Enllaços externs