Version: 1.6
 



  Hosting by:


 
 
Tommy
1-Abr-09 01:05
ya, la muerte
cris_6
3-Abr-09 13:09
marxamos?? XD
Doc!
2-Jun-09 23:08
Que, no se hace seguimiento del E3?? JEJEJJEJEJEJE Noticia de portada: Xbox y PS presentan bombazos a cascoporro, por el otro lado, wii presenta un medidor de pulso JA Lo peor es que es cierto...
Devil Dragons
4-Jun-09 10:56
Samuel o que esta chulisisimo é o novo control da xbox de mocosoft, nn tes mingun tipo de mando ti eres o mando, recoñecemnto facial e de todo o corpo cunha camra 3d Flipante
Tommy
4-Jun-09 13:03
es una puta burrada
 
 


JuegosAdolor - Gestores de paquetes Debian/Ubuntu

Gestores de paquetes

En la mayoría de distribuciones Linux, es posible obtener los programas precompilados en formato de paquetes
  • Ventajas:
    • Fáciles de instalar y desinstalar
    • Fáciles de actualizar
    • Fácil control de los programas instalados
  • Inconvenientes
    • Binarios menos optimizados
    • Problemas de dependencias de paquetes
    • Problemas si la base de datos de paquetes se corrompe
Formatos de paquetes más populares
  • Paquetes DEB (distribución Debian)
  • Paquetes RPM (RedHat Package Manager, distribuciones Fedora, RedHat, Mandriva, etc.)

Gestión de paquetes en Debian

Subsecciones
La distribución Debian incluye un elevado número de paquetes (más de 17.000)
Varias herramientas para el manejo de esos paquetes.
  • dpkg - herramienta de bajo nivel, para gestionar directamente los paquetes DEB
  • apt-xxx - herramientas APT, permiten gestionar los paquetes, descargándolos de varias fuentes (CDs, ftp, http)
  • dselect - herramienta de administración de paquetes basada en menús (alto nivel)
  • tasksel - interfaz para instalación de tareas (grupos de paquetes relacionados)
  • aptitude - front-end de APT para usar en consola
  • synaptic - front-end de APT para usar en entorno gráfico
  • alien - permite convertir e instalar paquetes de otro tipo, p.e. RPMs
Para más información ver el capítulo Administración de paquetes Debian de la Guía de referencia Debian

dpkg

Permite instalar, actualizar o desinstalar paquetes DEB
Los paquetes DEB contienen:
  • Los binarios que se van a instalar
  • Metadatos, con información sobre el paquete, scripts para su configuración, lista de dependencias, etc.
Nombre de los paquetes:
  • paquete_versión-build_arquitectura.deb, donde
    • paquete - nombre de la aplicación
    • versión - número de versión de la aplicación
    • build - número de ``compilación'' (subversión)
    • arquitectura - plataforma para la que está compilado
  • Ejemplo:
    • ethereal_0.10.11-1_i386.deb
Instalación y eliminación de paquetes con dpkg:
  • Instalación de paquetes
    dpkg --install paquete.deb, o
    dpkg -i paquete.deb
    • la instalación chequea la existencia de dependencias, paquetes en conflicto, sobreescritura de ficheros existentes, etc.
    • se puede forzar la instalación usando la opción --force-cosas, donde cosas
      • conflicts - permite la instalación de paquetes en conflicto
      • overwrite - sobrescribe un fichero de un paquete con otro
      • overwrite-dir - sobrescribe el directorio de un paquete con uno nuevo
      • etc.
    • para ver todas las opciones de forzado hacer: dpkg --force-help
  • Eliminación de paquetes, manteniendo los ficheros de configuración
    dpkg --remove paquete, o
    dpkg -r paquete
  • Eliminación total de paquetes, eliminando los ficheros de configuración
    dpkg --purge paquete, o
    dpkg -P paquete
  • Reconfiguración de un paquete ya instalado
    dpkg-reconfigure paquete
Información sobre los paquetes
  • Listar paquetes
    dpkg --list [patrón], o dpkg -l [patrón]
    • si no se pone patrón muestra los paquetes instalados
    • ejemplo
  • Las tres primeras columnas representan:
    • Estado de selección: indica el estado del paquete para su uso con dselect
      • u, Unknown - estado no conocido
      • i, Install - paquete seleccionado para instalar (se instala con dselect install)
      • r, Remove - paquete seleccionado para eliminar (se elimina con dselect install)
      • p, Purge - paquete seleccionado para purgar (se elimina con dselect install)
      • h, Hold - paquete retenido (no puede actualizarse)
    • Estado actual: indica el estado actual del paquete
      • n, Not Installed - paquete no instalado
      • i, Installed - paquete instalado en el sistema
      • c, Config-files - paquete no instalado, pero ficheros de configuración presentes (p.e. después de un remove)
      • u, Unpacked - paquete desempaquetado y listo para instalación
      • f, Failed-config - durante la instalación falló la configuración del paquete
      • h, Half-installed - paquete a medio instalar debido a algún problema
    • Condiciones de error
      • h, Hold - paquete retenido, no puede instalarse o eliminarse
      • r, Reinstallation Required - necesita reinstalarse
  • Información y estado del paquete
    • información general
      dpkg --print-avail paquete, o dpkg -p paquete
    • estado del paquete
      dpkg --status paquete, o dpkg -s paquete
    • ejemplo
      # dpkg -s wget
      Package: wget
      Status: install ok installed
      Priority: important
      Section: web
      Installed-Size: 1428
      Maintainer: NoÚl Köthe <noel@debian.org>
      Architecture: i386
      Version: 1.10-2
      Depends: libc6 (>= 2.3.2.ds1-21), libssl0.9.7
      Conflicts: wget-ssl
      Conffiles:
       /etc/wgetrc a9465704a21e403be628d38e10b0e128
      Description: retrieves files from the web
       Wget is a network utility to retrieve files from the Web
        ....
      
      
  • Ficheros de un paquete
    dpkg --listfiles paquete, o dpkg -L paquete
    • ejemplo
      dpkg -L wget
      /.
      /etc
      /etc/wgetrc
      /usr
      /usr/bin
      /usr/bin/wget
      /usr/share
      /usr/share/doc
      /usr/share/doc/wget
      /usr/share/doc/wget/AUTHORS
      /usr/share/doc/wget/ChangeLog.README
      ...
      
  • Paquete al que pertenece un fichero
    dpkg --search fichero, o dpkg -S fichero
    • ejemplo
        # dpkg --search /usr/bin/wget
        wget: /usr/bin/wget
      
  • Más información: ver ficheros en el directorio /var/lib/dpkg/
    • Fichero /var/lib/dpkg/available
      • muestra los paquetes disponibles
    • Fichero /var/lib/dpkg/status
      • muestra el estado de los paquetes
    • dpkg lee estos ficheros para obtener información sobre los paquetes

APT - Advanced Packaging Tools

Permite descargar e instalar paquetes desde una fuente local y/o remota
Fuentes de apt: fichero /etc/apt/sources.list
# See sources.list(5) for more information
deb ftp://ftp.rediris.es/debian/ stable main contrib non-free
#Para descargar fuentes, a través de apt-get source
deb-src ftp://ftp.rediris.es/debian/ stable main
  • formato de sources.list
    deb uri distribución componente #Para binarios
    deb-src uri distri. componente #Para ficheros fuente
  • componente puede ser:
    • main - conjunto principal de paquetes
    • contrib - paquetes adicionales
    • non-free - paquetes que no son libres
El fichero sources.list puede modificarse
  • editándolo directamente, o
  • a través del comando apt-setup
Cuando el fichero sources.list contiene referencias a más de una distribución (por ejemplo, estable y pruebas), APT asigna una prioridad a cada versión disponible
  • es posible seleccionar una distribución ojetivo (target release) a la que se le asigna una mayor prioridad:
    • poner en el fichero /etc/apt/apt.conf la línea
      APT::Default-Release "distribution";
      con distribution igual a stable, testing o unstable
  • Si queremos instalar un paquete de otra distribución, añadir las líneas necesarias el el sources.list y usar apt-get con la opción -t
    # apt-get -t distribution install package
  • Otro modo de fijar prioridades es mediante el fichero
    /etc/apt/preferences
  • Ejemplo de preferences
         Package: *
         Pin: release a=stable
         Pin-Priority: 500
         
         Package: *
         Pin: release a=testing
         Pin-Priority: 600
         
         Package: *
         Pin: release a=unstable
         Pin-Priority: 50
    
  • Normas de uso:
    • nunca se reemplaza un paquete por una versión anterior a menos que la prioridad sea mayor que 1000
    • se instala el paquete de la distribución con mayor prioridad
    • si dos o más versiones tienen la misma prioridad, instala la más reciente (esto es, la que tiene un número de versión mayor)
    • Si dos o más versiones tienen la misma prioridad y número de versión, pero o bien difieren en su meta-información o se ha proporcionado la opción --reinstall de apt-get, se instala la que no está instalada
  • podemos usar apt-cache policy para ver la política de prioridades configurada
  • ver man apt_preferences y APT-HOWTO para más detalles

Comando apt-get
Comando principal de las herramientas APT Permite descargar, instalar, actualizar o borrar un paquete

  1. Actualizar la lista de paquetes
    apt-get update
    b
  2. Instalar un paquete
    apt-get install nombre_paquete
  3. Actualizar los paquetes
    apt-get upgrade
    • debe hacerse un apt-get update antes de un apt-get upgrade
  4. Eliminar paquetes
    apt-get remove nombre_paquete
  5. Actualizar la distribución
    apt-get dist-upgrade
    • maneja inteligentemente los cambios de dependencias debidos a nuevas versiones de paquetes
  6. Eliminar los paquetes descargados
    • Cuando se instala un paquete a través de apt-get se guarda una copia en /var/cache/apt/archives/
      apt-get clean #Elimina todos los paquetes descargados
      apt-get autoclean #Elimina sólo los paquetes obsoletos
  7. Descargar ficheros fuente
    apt-get source nombre_paquete
    • con la opción --compile compila el paquete después de descargarlo (y genera el .deb)
apt-get acepta diversas opciones, por ejemplo:
  • -s - simula la acción, pero no instala nada
  • -y - responde y a todas las preguntas
para más opciones man apt-get

Dependencias entre paquetes
Los paquetes pueden depender unos de otros:

  • El paquete A depende (Depends) del paquete B si B es absolutamente necesario para usar A
  • El paquete A recomienda (Recommends) el paquere B si se considera que la mayoría de los usuarios no querrían A sin las funcionalidades que proporciona B
  • El paquete A sugiere (Suggests) el paquete B si B está relacionado y mejora las funcionalidades de A
  • El paquete A está en conflicto (Conflicts) con B en el caso de que A no funcionae correctamente si B está instalado

Otras herramientas APT

  1. apt-cache - permite manipular la caché de paquetes de APT, buscando paquetes o obteniendo información sobre los mismos
    • Ejemplo: buscar el paquete que contiene el firefox
    # apt-cache search firefox
    gtkcookie - Editor for cookie files
    mozilla-firefox - lightweight web browser based on Mozilla
    ...
    
    • el argumento puede ser una expresión regular
  2. apt-build - permite descargar, compilar e instalar un paquete a partir de las fuentes

dselect, aptitude, tasksel, synaptic

Interfaces del gestor de paquetes
Proporcionan interfaces para consola o gráficas para simplificar el manejo de los paquetes
  • aptitude tiene opciones similares a apt-get
    • aptitude update: actualiza la lista de paquetes
    • aptitude upgrade o aptitude safe-upgrade: actualiza los paquetes instalados, sin eliminar ninguno
    • aptitude dist-upgrade o aptitude full-upgrade: actualiza los paquetes instalados, eliminando paquetes si es necesario

alien

Convierte paquetes entre diferentes formatos
Soporta los formatos Red Hat rpm, Debian deb, Stampede slp, Slackware tgz, y Solaris pkg
  • Por defecto, convierte paquetes a formato deb
  • Algunas opciones (más opciones, ver página de manual):
    • --to-rpm o -r - crea un paquete rpm
    • --to-tgz o -t - crea un paquete tgz
    • --to-slp - crea un paquete slp
    • --to-pkg o -p - crea un paquete pkg
    • --install o -i - instala el paquete despues de crearlo
  • Ejemplo:
    # alien wget-1.9.1-5.i386.rpm
    wget_1.9.1-6_i386.deb generated