Administración de Paquetes en Linux Debian

Por Paco Aldarias Raya

Impreso: 1 de marzo 2005

Email: pacolinux arroba inicia punto es

Web: http://aldarias.es/pacodebian

Con Linux Debian. En Valencia (España)

Este documento es de libre reproducción siempre que se cite su fuente.

Realizado con: LATEX

Índice General

1 Introducción

Los paquetes son programas o librerias necesarias para q funcione un programa.

Hay q ser root para poder administrar paquetes.

Los paquetes de debian disponibles se guardan en una base de datos para su posterior consulta.

Un Paquete es un fichero que contiene todo lo necesario para instalar, desinstalar y ejecutar un programa en particular.

Todos los nombres de paquetes tienen la forma xxxxxxxxxxx.deb. Ejemplos de nombres de paquetes son: ssh.deb, less.deb.

2 Donde encontrar paquetes no oficiales

Por ejemplo mplayer

Ir a la web: http://www.apt-get.org/search.php

3 Instalar paquetes (programas): apt

Permite instalar paquetes o programas.

Podemos ver el fichero de configuracion de apt con: #cat /etc/apt/sources.list

3.1 De donde se instala el software: sources.list

El fichero /etc/apt/sources.list indica a donde debe ir para buscar los paquetes para instalarse con apt-get install paquete.

Después de cada cambio q hagamos de este fichero debemos actualiza la base de datos con:

# apt-get update

3.2 Debian Woody desde cd-rom

Contenido del /etc/apt/sources.list: sources.list.cdrom

sources.list.cdrom

3.3 Debian Woody o Stable desde internet

Contenido del /etc/apt/sources.list: sources.list.woody

sources.list.woody

3.4 Debian Sarge o Unstable desde internet

Contenido del /etc/apt/sources.list: sources.list.sarge

sources.list.sarge

3.5 Debian Sid o Unstable desde internet

Contenido del /etc/apt/sources.list: urlsources.list.sid

sources.list.sid

4 Encontrar los servidores debian mas rapidos: apt-spy

Apt-spy comprueba la velocidad de los servidores y modifica el sources.list

Instalar apt-spy: # apt-get install apt-spy

Ejecutarlo: # apt-spy

5 Generación automática del sources.list

Instalar netselect-apt
apt-get install netselect-apt

Creamos el sources.list para unstable:
netselect-apt unstable

Copiamos el fichero creado:
cp sources.list /etc/apt/sources.list

6 Usar los paquetes instalados de un pc, en otros pcs: apt-ftparchive

Desde consola, como

7 Actualizar desde cdrom paquetes:dpkg-scanpackages

  1. Instalar dpkg-dev
  2. Meter todos los paquetes que desees en un directorio  por ejemplo (/home/tuusuario/paquetes/)
  3. Entrar al directorio y hacer:
    dpkg-scanpackages . /dev/null | gzip > Packages.gz
    

  4. Crear el cd con el contenido del directorio que has creado.
  5. Meter al sources.list :
    deb file:/punto_de_montaje_cdrom ./
    
  6. Hacer: apt-get update

Mirar tb: http://bulma.net/body.phtml?nIdNoticia=667

8 Proxy para apt: apt-proxy

Si tenemos una red, no es necesario bajarnos un paquete n-veces si tenermos un proxy para apt, ya q este lo guarda para poder utilizarlo por otra máquina.

Habrá una máquina q hace de servidor, q es donde se instala apt-proxy, y el resto de máquinas deben configurar el source-list para que vayan al servidor de apt.

Pasos:

  1. Instalar paquete apt-proxy en el servidor
  2. Configuración Servidor
  3. Configuración Clientes

8.1 Instalar el paquete apt-proxy

# apt-get install apt-proxy

8.2 Configuración del servidor

Es recomendable leer el man de apt-proxy.conf . Esto deberia tener como mínimo el fichero /etc/apt-prosy/apt-proxy.conf:

apt-proxy.conf

apt-proxy.conf

8.3 Configuración de los clientes

Hay q indicale q vaya al proxy de apt.

El fichero /etc/apt/source.list debe contener:

Mirar el fichero: sources.list.proxy

sources.list.proxy

8.4 Apt-proxy y mplayer

apt-proxy.conf:
add_backend /mplayer/ $APT_PROXY_CACHE/mplayer/ \
        http://mplayer.nmeos.net/

sources.list:
deb http://APTPROXY:9999/mplayer unstable/

Then, create the unstable directory manually:

mkdir -p /var/cache/apt-proxy/mplayer/unstable
chown -R aptproxy /var/cache/apt-proxy/mplayer

8.5 Apt-proxy y paquetes instalados

Hay alguna forma de hacer que apt-proxy tenga en cuenta los paquetes que tengo en /var/cache/apt/archives:

apt-proxy-import /var/cache/apt/archives

Si no te funciona es porqué tienes muchísimos debs en ese directorio, con más de 4 ó 5 versiones del mismo paquete.

Tras un

apt-get autoclean

basta para eliminar el exceso de paquetes y, después, funcionó a la perfección el apt-proxy-import.

8.6 Controlar la velocidad de apt-proxy

Editar el archivo: /usr/sbin/apt-proxy

Y cambiar

WGET=wget

por

WGET='wget --limit-rate=10k'


9 Instalador global de paquetes: synpatic

Esta herramienta gráfica permite instalar software comodamente

Instalar:

apt-get install synpatic gksu

Ejecutar desde el menu de inicio - sistema - kgsu Poner synpatic

10 Instalador global de paquetes: tasksel

Permite la instalación global de paquetes.Instala los paquetes por temas.

Entrar poniendo: # tasksel

Se divide en las siguientes partes:

Seleccionamos lo que queremos instalar con la barra de espacio, tabulamos para ir a información de la tarea, y nos dice q paquetes instalará, y si nos vamos a finalizar, saldremos e instalara lo q le hayamos indicado.

11 Paquetes Instalados o Locales: dpkg

Permite gestionar los paquetes instalados.

12 Apt en modo grafico: dselect

Podemos gestionar dpkg en modo grafico poniendo en la consola:

# dselect

Pagina web que explica su uso:
http://lucas.hispalinux.es/DEBIAN/%257Ejfs/debian/doc/es/dselect-beginner.es.html/dselect-beginner.es.htm#contents

Una vez dentro de dselect verá la siguiente pantalla:

Debian Linux `dselect' package handling frontend.
0. [A]ccess Choose the access method to use.
1. [U]pdate Update list of available packages, if possible.
2 [S]elect Request which packages you want on your system.
3. [I]nstall Install and upgrade wanted packages.
4. [C]onfig Configure any packages that are unconfigured.
5. [R]emove Remove unwanted software.
6. [Q]uit Quit dselect.

Esto corresponde con:
1. Escoger el método de acceso que se va a utilizar.
2. Actualizar la lista de paquetes disponibles, si es posible.
3. Solicitar los paquetes que desea en el sistema.
4. Instalar y actualizar los paquetes deseados.
5. Configurar los paquetes que estén sin configurar.
6.Eliminar el software no deseado.

13 Apt en modo texto con menus: aptitude

Instalarlo como root desde consola:

apt-get install aptitude

Desde consola como root ejecutarlo:

aptitude

14 Kde y los paquetes: kpackage

Kde utiliza kpackage gestionar los paquetes.

Se instala asi:

apt-get install kpackage

En kde se encuentrar en: inicio-sistema- Administración de Paquetes

15 Gestor de paquetes: synaptic

Se instala asi:

apt-get install synaptic

Desde consola como usuario normal:

gksu -u root synaptic

16 Instalar sobre el disco duro

Meteremos los cds en estas carpetas:

	 /cds_debian/1/ el cd 1
	 /cds_debian/2/ el cd 2
	 etc

Editamos /etc/apt/sources.list y añadimos:

deb file:/cds_debian/1/ stable contrib main non-US/contrib non-US/main
deb file:/cds_debian/2/ stable contrib main non-US/contrib non-US/main
etc

lógicamente repites una fila para cada directorio de cd

al finalizar hacer apt-get update

17 Donde se guardan los paquetes con apt-get install

Podemos ver donde se guardan con:
ls /var/cache/apt/archives/

Se limpia esa carpeta con:
apt-get clean

Se puede instalar esos paquetes con:
dpkg -i paquete.

18 Como instalar los mismos paquetes de una máquina

Esto puede servir para clonar máquinas.

Guardamos la lista de paquetes en un fichero:

dpkg --get-selections '*' > lista.txt

Ahora le decimos q instale los paquetes de la lista:

dpkg --set-selections < lista.txt
apt-get dselect-upgrade

19 Para bajarse los paquetes de nuestro sistema

Queria hacer un cd con los paquetes instalados, para darselos a una persona q no tiene internet. Así podria instalarse los paquetes q necesita.

Creamos un fichero con los paquetes instalados:

dpkg --get-selections '*' > paquetessarge.txt

Nos bajamos con este script: cat down.sh

echo [*] Bajandose todos los paquetes
echo [+] Por Paco Aldarias
echo [+] Realizado el 6.3.04
dpkg --get-selections '*' > paquetes.tmp
cat paquetes.tmp | grep "install" | awk '{print $1}' > paquetes.txt

rm -f paquetes.tmp
f=paquetes.txt
for i in `cat $f`; do
        echo [+] Bajando $i
        apt-get install -u -y -d --reinstall $i
done

Vemos lo q se ha bajado con:

ll /var/cache/apt/archives/


20 Crear un repositoio local: apt-move

20.1 Introduccion

Vamos a ver la forma de crear un repositorio de los paquetes bajados en nuetro pc para q sean usados por otros pcs

Es necesario que el repositorio tenga instalado y funcionando apache. También se podria hacer con un servidor ftp.

20.2 Instalar el repositorio en el servidor

Desde consola como usario root:

apt-get install apt-move

20.3 Configurarmos el repositorio

Desde consolo como usario root:

nano /etc/apt-move.conf

APTSITES="debian.midco.net non-us.debian.org \
security.debian.org marillat.free.fr ftp.cica.es_pub_java-linux_debian \
termserv.berlios.de_debian"

ARCHS="i386"

LOCALDIR=/var/www/apt/

DIST=testing

PKGTYPE=binary

FILECACHE=/var/cache/apt/archives

LISTSTATE=/var/lib/apt/lists

DELETE=no

MAXDELETE=20

STRICTMOVE=no

20.4 Crear la carpeta visible por apache

mkdir /var/www/apt/

20.5 Donde guarda los paquetes

ll  /var/cache/apt/archives

20.6 Creamos el repositorio

apt-move update

20.7 Modificar el sources.list

Esto se hace en las máquinas q acceden al repositorio.

nano /etc/apt/sources.list

deb http://192.168.100.2/apt testing main contrib non-free

21 Prácticas

  1. Mirar el ayuda:
    Desde konqueror poner: man:apt
    Desde consola: man apt (se sale pulsando q)
  2. Cambiar el fichero /etc/apt/source.list para que acceda a internet
    Hacer una copia antes del fichero existente para no pederlo:
    cp /etc/apt/source.list /etc/apt-source.list1

    Copiar el fichero del servidor web a la carpeta /etc/apt/:
    Entrar al konqueror, y poner : http://192.168.100.3/apt/source.list
    Copiarlo en: /etc/apt/source.list

    Actualizar base de datos: #apt-get update

  3. Los paquetes de ayuda se llaman manpage. Veamos como buscar los paquetes de manpage en español e instalarlos.

    # apt-cache search manpage
    Busca los paquetes

    # apt-get install manpages-es manpages-es-extra
    Instala estos paquetes

  4. Cambiar el fichero /etc/apt/sources.list para que acceda a internet por proxy

    Hacer una copia antes del fichero existente para no pederlo:
    #cp /etc/apt/sources.list /etc/apt/sources.list2

    Copiar el fichero en del servidor web:
    Entrar al konqueror, y poner : http://192.168.100.3/apt/sources.list-proxy
    Copiarlo como: /etc/apt/source.list

    Actualizar base de datos:
    #apt-get update

    Actualizar los paquetes:
    #apt-get upgrade

  5. Entrar en tasksel e instalar. Location: Spanish Enviroment. Con esto se instalara los paquetes necesarios para el entorno en español.

    Nota: Después de instalar esto, hay q hacer desde un usuario normal para que coja el entorno español:

    $ set-language-env

  6. Veamos q pasa cuando se instala un paquete. Realizar el siguiente proceso.

    Ver que es el paquete ssh:
    #apt-cache show ssh

    Instalar el paquete ssh (secure shell):

    # apt-get install ssh
    (Dejar todas las opciones por defecto)

    Ver que paquetes se han instalado:

    # dpkg -L ssh

    Buscar en el fichero sshd en que paquete esta instalado:

    # dpkg -S sshd

22 Indicarle el proxy al apt

Posibilidades:

  1. En el .bashrc p en el /etc/profile agregas
    export http_proxy=http://ipdelproxy:80/
    
  2. Añadiendo la linea siguiente en el fichero de configuracion de apt, /etc/apt/apt.conf :
    Acquire::http::Proxy "http://dir_ip_del_proxy:puerto_proxy";
    

23 Suprimir los paquetes inútiles del sistema: deborpan

apt-get remove --purge `deborpan`

24 Forzar la instalación de paquetes: dpkg -i -force-all

 dpkg -i --force-all \
/var/cache/apt/archives/gcc-3.3_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/libstdc++5-3.3-dev_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/g++-3.3_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/libg2c0_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/libg2c0-dev_1%3a3.3.4-6sarge1.1_i386.deb \
/var/cache/apt/archives/g77-3.3_1%3a3.3.4-6sarge1.1_i386.deb

25 Para buscar el paquete que viene un programa

Desde consola como root:

dpkg -S `which dig`

26 Bibliografía

  1. Mas ayuda instalando:
    apt-get install apt-howto-es

    Abriremos el ayuda con:
    /usr/share/doc/Debian/apt-howto/index.es.html

  2. Ubicación de este documento:
    http://aldarias.es/pacodebian/

  3. Debian
    http://www.debian.org/doc/manuals/apt-howto/index.es.html

  4. Adding the Package to Your Archive
    http://www.togaware.com/linux/survivor/Adding_Package.html

  5. Articulo Apt-move.
    http://bulma.net/body.phtml?nIdNoticia=667


Índice de Materias

apt
3
apt-ftparchive
6
apt-move
20
dpkg
11
synaptic
9
tasksel
10

Sobre este documento...

Administración de Paquetes en Linux Debian

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html paquetes -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation

The translation was initiated by on 2005-03-01


2005-03-01