4 de marzo de 2007

Actualizar Debian Etch

Hoy publicaré como mantener actualizado nuestro sistema Debian Etch.
Para ello podemos utilizar la línea de comandos o el programa ADEPT (Administrador de paquetes para KDE) similar a Synaptic:

A) LÍNEA DE COMANDOS:
Abrimos una consola ( INICIO / SISTEMA / KONSOLE), nos logueamos como root y actualizamos la lista de repositorios contenida en el fichero /etc/apt/sources.list:

$ su -
password:

# aptitude update
Ign cdrom://[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060314)] etch Release.gpg
Ign cdrom://[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060314)] etch Release
Ign cdrom://[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060314)] etch/main Packages/DiffIndex
Des:1 http://ftp.rediris.es etch Release.gpg [189B]
Obj http://ftp.rediris.es etch Release
Des:2 http://ftp.fr.debian.org etch Release.gpg [189B]
Obj http://ftp.fr.debian.org etch Release
Obj http://ftp.rediris.es etch/main Packages/DiffIndex
Obj http://ftp.fr.debian.org etch/main Packages/DiffIndex
Des:3 http://security.debian.org etch/updates Release.gpg [189B]
Obj http://ftp.rediris.es etch/contrib Packages/DiffIndex
Obj http://ftp.rediris.es etch/non-free Packages/DiffIndex
Obj http://ftp.fr.debian.org etch/contrib Packages/DiffIndex
Obj http://security.debian.org etch/updates Release
Obj http://ftp.fr.debian.org etch/non-free Packages/DiffIndex
Ign http://security.debian.org etch/updates/main Packages/DiffIndex
Ign http://security.debian.org etch/updates/contrib Packages/DiffIndex
Ign http://security.debian.org etch/updates/non-free Packages/DiffIndex
Ign http://security.debian.org etch/updates/main Sources/DiffIndex
Ign http://security.debian.org etch/updates/contrib Sources/DiffIndex
Ign http://security.debian.org etch/updates/non-free Sources/DiffIndex
Obj http://security.debian.org etch/updates/main Packages
Obj http://security.debian.org etch/updates/contrib Packages
Obj http://security.debian.org etch/updates/non-free Packages
Obj http://security.debian.org etch/updates/main Sources
Obj http://security.debian.org etch/updates/contrib Sources
Obj http://security.debian.org etch/updates/non-free Sources
Descargados 3B en 3s (1B/s).
Leyendo lista de paquetes... Hecho

Una vez actualizada, ejecutamos el comando siguiente para ver si hay versiones nuevas de los paquetes de nuestro sistema:

# aptitude upgrade
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se actualizarán los siguientes paquetes:
bsdutils installation-report libc6 libc6-amd64 libc6-dev libc6-i686 libwrap0 locales module-init-tools mount
openbsd-inetd tcpd util-linux util-linux-locales
14 paquetes actualizados, 0 nuevos instalados, 0 para eliminar y 0 sin actualizar.
Necesito descargar 17,7MB de ficheros. Después de desempaquetar se usarán 0B.
¿Quiere continuar? [Y/n/?] y

Una vez finalizado, tendremos nuestro sistema actualizado.

Éste sistema resulta más rápido, pero tenemos que estar ejecutando todos los días éstos comandos para saber si hay alguna actualización. Sería mucho mejor que el sistema nos avisara cuando hay actualizaciones disponibles. Para ello utilizaremos adept.

B) ADEPT (Recomendado si no te gusta pelearte con la consola):
Instalamos Adept:
# aptitude install adept

Éste programa se compone de 4 ejecutables:
- adept_installer: ( INICIO / Añadir/eliminar programas). Para instalar o desinstalar programas
- adept_manager: (INICIO / Sistema / Adept Manager). Administrador Avanzado de paquetes
- adept_notifier: Demonio que nos avisa en la barra de KDE de nuevas actualizaciones)
- adept_updater: Se ejecuta al picar sobre el icono anterior para actualizar el sistema

El demonio "adept_notifier" sólo nos aparece cuando actualizamos la lista de repositorios. Para automatizar éste proceso de actualización debemos programar una tarea con "cron".

1. Creamos el script de actualización en el home de root y le asignamos permiso de ejecución:
# vi /root/actualizar.etch
#!/bin/bash
aptitude update

# chmod u+x /root/actualizar.etch

2. Definimos que nuestro script se ejecute todos los días a las 23:00:
# crontab -e
#m h dom mon dow command
0 23 * * * /root/actualizar.etch [Pulsar ENTER]

CTRL + O -> Pulsamos para Grabar
Nombre del fichero a escribir: /tmp/crontab.Hqqo0x/crontab [ENTER]
CTRL + X -> Pulsamos para Salir

3. Comprobamos que hemos realizado el paso anterior correctamente:
# crontab -l

# m h dom mon dow command
0 23 * * * /root/actualizar.etch

Existe un pequeño problema. Si el pc no está las 24 horas del día encendido, puede que nuestro script no se ejecute. Para solucionarlo instalamos el paquete "anacron" que se encarga de lanzar los scripts de cron unos minutos después de encender el PC.

# aptitude install anacron

Y ésto es todo. Ahora cada vez que haya alguna actualización disponible, nos aparecerá el icono del notificador de adept en la barra de KDE. Simplemente picamos sobre él y ponemos la contraseña de root.

Saludos y suerte.
Domi - Gran Canaria (Islas Canarias)

15 comentarios:

william dijo...

Hola Romario, esta muy buena la iformacion sobre como actualizar debian etch,soy nuevo en debian podrias si no fuera mucha molestia mostrar el contenido de tu "sources.list",ya que a mi no me actualiza mi debian,instale desde el CD1_Kde...,quiza mi sources.list no tiene los repositorios correctos, no logro actualizarlo.
Gracias..
William

william dijo...

Aqui muestro mi "sources.list" de mi debian etch,quiza puedas ayudarme el porque no puedo actualizar..
Muchas gracias.
William
###########################
deb http://ftp.us.debian.org/debian/ etch main non-free contrib
deb-src http://ftp.us.debian.org/debian/ etch main non-free contrib
deb http://ftp.fr.debian.org/debian/ etch main contrib non-free

# Line commented out by installer because it failed to verify:
deb http://security.debian.org/ etch/updates main
deb-src http://security.debian.org/ etch/updates main non-free contrib

# Repositorios oficiales.
deb ftp://ftp.rediris.es/debian/ etch main contrib non-free
deb-src ftp://ftp.rediris.es/debian/ etch main contrib non-free
#Actualizaciones de seguridad.
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
#Para el mplayer y los códecs de vídeos.
deb http://www.debian-multimedia.org etch main
# Repositorios no oficiales.
deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted
deb-src http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted

Romario dijo...

Hola William.
¿Cuál es el error que te da y que haces exactamente?
El contenido de mi fichero source.list es éste:

$ cat /etc/apt/sources.list
#

deb http://ftp.fr.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

# BERYL
deb http://debian.beryl-project.org/ etch main
deb-src http://debian.beryl-project.org/ etch main

Saludos.

william dijo...

Hola Romario, muchas gracias por la respuesta, lo que quiero es actualizar mi sistema base debian etch-KDE e instalar programas (caso Adept y drivers), no logro hacer que el sources.list funcione(esta con el contenido de tu sources.list), disculparas quiza el extenso detalle, al ejecutar "aptitude update" o "apt-get update" me muestra luego de una espera lo siguiente y nose como hacer:
----------------------------
0% [Conectando a ftp.fr.debian.org (1.0.0.0)] [Conectando a security.debian.org
Err http://security.debian.org etch/updates Release.gpg
No pude conectarme a security.debian.org:80 (1.0.0.0), expiró tiempo para cone
xión
Err http://ftp.fr.debian.org etch Release.gpg
No pude conectarme a ftp.fr.debian.org:80 (1.0.0.0), expiró tiempo para conexi ón
Err http://debian.beryl-project.org etch Release.gpg
No pude conectarme a debian.beryl-project.org:80 (1.0.0.0), expiró tiempo para conexión
Leyendo lista de paquetes... Hecho
W: No se puede leer la lista de paquetes fuente http://ftp.fr.debian.org etch/ma in Packages (/var/lib/apt/lists/ftp.fr.debian.org_debian_dists_etch_main_binary- i386_Packages) - stat (2 No existe el fichero o el directorio)
W: No se puede leer la lista de paquetes fuente http://ftp.fr.debian.org etch/co ntrib Packages (/var/lib/apt/lists/ftp.fr.debian.org_debian_dists_etch_contrib_b inary-i386_Packages) - stat (2 No existe el fichero o el directorio)
W: No se puede leer la lista de paquetes fuente http://ftp.fr.debian.org etch/no n-free Packages (/var/lib/apt/lists/ftp.fr.debian.org_debian_dists_etch_non-free _binary-i386_Packages) - stat (2 No existe el fichero o el directorio)
W: No se puede leer la lista de paquetes fuente http://security.debian.org etch/ updates/main Packages (/var/lib/apt/lists/security.debian.org_dists_etch_updates _main_binary-i386_Packages) - stat (2 No existe el fichero o el directorio)
W: No se puede leer la lista de paquetes fuente http://security.debian.org etch/ updates/contrib Packages (/var/lib/apt/lists/security.debian.org_dists_etch_upda tes_contrib_binary-i386_Packages) - stat (2 No existe el fichero o el directorio )
W: No se puede leer la lista de paquetes fuente http://security.debian.org etch/ updates/non-free Packages (/var/lib/apt/lists/security.debian.org_dists_etch_upd ates_non-free_binary-i386_Packages) - stat (2 No existe el fichero o el director io)
W: No se puede leer la lista de paquetes fuente http://debian.beryl-project.org etch/main Packages (/var/lib/apt/lists/debian.beryl-project.org_dists_etch_main_ binary-i386_Packages) - stat (2 No existe el fichero o el directorio)
W: Tal vez quiera ejecutar 'apt-get update' para corregir estos problemas

Romario dijo...

Hola William.
1. Si ejecutas el comando que te dice al final (apt-get update), ¿el error desaparece y te deja actualizar? Pruebalo.
2. No sé en que país te encuentras. Deberías utilizar repositorios que se encuentren cerca de tu situación geográfica y que sean rápidos, claro. Yo aquí en España utilizo los franceses que van muy bien. Aquí te pego un enlace al listado de repositorios.
ftp://ftp.fr.debian.org/debian/README.mirrors.html

3. ¿Ejecutas la actualización (aptitude ...) como usuario "root"?

4. ¿Tienes algún cortafuegos en tu red que prohíbe salir al exterior?

5. Parece que no te resuelve bien el servidor DNS que tienes. Fíjate en ésto:

% [Conectando a ftp.fr.debian.org (1.0.0.0)]
La dirección 1.0.0.0 no está bien.

¿tienes bien configurado internet en Debian?

Yo al hacer un ping al repositorio me contesta lo siguiente:
$ ping -c 4 ftp.fr.debian.org
PING ftp.fr.debian.org (212.27.32.66) 56(84) bytes of data.
64 bytes from debian.proxad.net (212.27.32.66): icmp_seq=1 ttl=55 time=300 ms
64 bytes from debian.proxad.net (212.27.32.66): icmp_seq=2 ttl=55 time=282 ms
64 bytes from debian.proxad.net (212.27.32.66): icmp_seq=3 ttl=54 time=237 ms
64 bytes from debian.proxad.net (212.27.32.66): icmp_seq=4 ttl=55 time=246 ms

--- ftp.fr.debian.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 237.022/266.422/300.050/25.818 ms

¿Cuál es el contenido de tu fichero /etc/resolv.conf? Te pego el contenido del mío. Esa dirección es un servidor DNS que me ha proporcionado mi proveedor de acceso a internet.

$ cat /etc/resolv.conf
nameserver 194.179.1.100

Te he puesto varias posibilidades. Vete probando y comenta las dudas. Yo casi que empezaría antes por éste último paso que te he dado.

Saludos.

william dijo...

Hola, muchas gracias por la ayuda Romario,esto de configurar la red y dispositivos en linux sacan loco pero era mi configuracion red que no estaba bien problema de DNS y drivers, ya puedo actualizar, cualquier duda espero volver a consultarte.
Gracias.....

william dijo...

Por cierto soy de Arequipa-Peru y recien acabo de instalar debian etch me parece muy buena distro.
Saludos y abrazos.

Romario dijo...

Hola William.
Perfecto ;-). Tenía toda la pinta de ser la red.
Comenta cualquier otra duda.
Saludos.

Ricardo dijo...

Hola muchachos quisiera saber una cosa, como soy principiante no lo se, para actualizar el debian se tiene que hacer necesariamente con unidad de cd? o se puede hacer directamente en internet?
Gracias si alguien me la aclara, pues repito hasta ahora estoy comenzando.

Romario dijo...

Hola Ricardo.
Lo mas común en Debian es instalar a través de internet, ya que los repositorios con las actualizaciones de paquetes está ahí. De lo contrario tendrías que bajarte esos paquetes,y añadir la ruta donde los has guardado al fichero de configuración de APT.

Si la palabra "actualizar" la estás utilizando en el sentido de instalar paquetes, te cuento que si si estás conectado a internet y tienes configurado en el fichero /etc/apt/sources.list los "repositorios" de internet, a la hora de instalar un paquete te mirará si se encuentra en el CD que utilizastes durante la instalación, y si no, lo descargará del repositorio de internet.

Espero haber aclarado tus dudas y suerte con tu Debian ;-)

Saludos.
Domi

Roberto dijo...

Hola Romario

antes que todo, un gracias por darte el tiempo de poner estas infos... son de gran utilidad para novatos como yo =p

bueno... queria preguntar una cosilla... es que hace poco mas de medio año que tengo gnome.debian-etch en mi pc...

hoy me dispuse a actualizarlo.
Simplemente puse en la consola
# aptitude update
# aptitude upgrade
# aptitude dist-upgrade

Sin embargo, luego de ello, reinicie mi sistema y no puedo entrar al modo grafico >.< (en mi pc deberia ser ctrl+alt+F7)
supuse que con solo esos tres comandos estaria listo, pero creo que no T-T

sabes que debo hacer? desde ya muchas gracias

(estoy evitando ir a un foro. He tenido malas experiencias)

desde ya muchas gracias
Roberto.

Romario dijo...

Hola Roberto.
Bueno el problema que me comentas puede ser debido a que has instalado los driver oficiales de tu tarjeta gráfica NVIDIA o ATI, y al actualizar el sitema, has cambiado también de kernel, por lo que debes configurar de nuevo el driver para ese nuevo kernel.

¿Te aparece en el menú de arranque de GRUB varios Kernels ha arrancar? Prueba a iniciar con el mas antiguo. Debería funcionarte, ya que en ese kernel tienes configurado el driver gráfico.
Mira los post que he puesto de reconfigura driver después de una actualización.

Te recomiendo que instales de nuevo los driver de tu tarjeta gráfica. (Para que te funcione con el nuevo kernel instalado, debes arrancar con él) En el blog puedes encontrar varias guías para ello.
Si necesitas reconfigurar el servidor gráfico, también tengo éste enlace:
http://debiantotal.blogspot.com/2008/02/reconfigurar-servidor-grfixo-xorg-en.html
Si utilizas el driver VESA el servidor gráfico te debe arrancar sin problemas, así descartas rápidamente que es ese el problema. También puedes ver la información en los logs del sistema, pero si no tienes mucha idea, ésta es la forma que veo más fácil para que des con el problema. Puedes seguir investigando en los comentarios de los post de instalación de los driver para más detalles.

Saludos y suerte.
Domi

Roberto dijo...

respondiste rapido =s eso es eficiencia =p

bueno... como tu comentabas, estaban el kernel anterior y el nuevo en grub, pero con ninguno de ellos pude arrancar el modo grafico...

no he tenido tiempo de arreglar lo de los drivers (no se cual es la idea de los profesores de darte trabajo, trabajo y mas trabajo)... estoy revisando los links que mencionas... si soluciono algo te cuento =)

gracias de nuevo...

Anónimo dijo...

Hola que tal, los pasos que describes es cuando solo dispones de una conexión a internet pero mi problema es que yo no dispongo de la conexión, entonces mi duda es ¿como poder actualizar con el dvd donde trae todas las actualizaciones?
El dvd del que hablo es debian-update-4.0r4a-i386-DVD-1.iso

viagra online dijo...
Este comentario ha sido eliminado por un administrador del blog.