jueves, 27 de diciembre de 2007
Mirror Debian con Debmirror y rsync
Primero lo primero, instalar los paquetes necesarios para este trabajo
Paso # 1
# aptitude install debmirror
# aptitude install apache2
# aptitude install rsync
Si tengo los DVDs/ISO de Debian voy al siguiente paso #2, de lo contrario voy al paso # 4, específicamente 4.2
Paso # 2
como tengo los 4 dvds en el disco local.
mount -o loop /home/isos/lenny1.iso /media/lenny1
mount -o loop /home/isos/lenny2.iso /media/lenny2
mount -o loop /home/isos/lenny3.iso /media/lenny3
mount -o loop /home/isos/lenny4.iso /media/lenny4
Paso # 3
luego, una vez instalado apache, hago un link simbólico para que debmirror vaya a bajarse los paquetes a mi "mirror http"
mirror:/var/www# ln -s /media/lenny1 ./debian
Paso # 4
En 4.1 --host=IP coloco la IP de mi máquina, de donde debmirror se va a bajar algunos paquetes mientras crea la estructura del mirror, luego se hace lo mismo lenny2 lenny3 y lenny4, o sencillamente pueden copiarse todo /pool de los dvds con rsync hacia la carpeta donde tendrán almacenado el mirror... (paso #5) y pasar al paso #6.
4.1 (se ejecuta solo si tengo los DVDs de Debian)
debmirror --debug --progress --verbose --nosource --host=192.168.0.1 section=main,contrib,non-free --method=http --root=/debian --dist=lenny --arch=i386 --ignore-release-gpg /home/mirror/debian
ir al paso # 5
4.2 (se ejecuta si no tengo los DVDs de Debian)
debmirror --debug --progress --verbose --nosource --host=debian.unesr.edu.ve --section=main,contrib,non-free --method=http --root=/debian --dist=etch,lenny --arch=i386 --ignore-release-gpg /home/mirror/debian
Si hemos ejecutado el paso 4.2 entonces ha finalizado la creación del mirror, solo nos queda configurar apache y los sources.list de las estaciones, ir al paso #7
Paso # 5
Copiamos todos los paquetes de los dvds, y nos ahorramos tiempo y ancho de banda de los paquetes que aun no han sido actualizados... esto es excelente para las versiones estables que las actualizaciones son pequeñas dado que son solo de seguridad.
rsync -avIL /media/lenny1/pool/ /home/mirror/debian/pool/
rsync -avIL /media/lenny2/pool/ /home/mirror/debian/pool/
rsync -avIL /media/lenny3/pool/ /home/mirror/debian/pool/
rsync -avIL /media/lenny4/pool/ /home/mirror/debian/pool/
Paso # 6
Una vez copiados los archivos debemos ejecutar debmirror, yo lo hice con rsync para que me actualizara solo los paquetes nuevos.
debmirror --debug --progress --verbose --nosource --host=debian.unesr.edu.ve --section=main,contrib,non-free --method=rsync --root=:debian --dist=etch,lenny --arch=i386 --ignore-release-gpg --rsync-options=-aIL /media/hdb1/mirror/debian
Paso # 7
Una vez terminado de crear el server con los paquetes, procedemos a configurar apache para luego configurar el sources.list de las estaciones.
reiniciamos apache.
# apachectl -k restart
luego configuramos los /etc/apt/sources.list
deb http://192.168.0.1/debian lenny main contrib non-free
Nota: recordemos crear un link simbólico de ../debian.../dist/lenny a ../debian/dist/testing, de esta manera podremos actualizar tanto como testing o lenny (en ese caso) al igual hacer con etch y stable.
Todo hasta aca bien, pero debemos hacer que se actualice el mirror automáticamente, preferiblemente todos los días en horas donde no se use mucho el ancho de banda, en mi caso lo puse a las 11pm.
Acá tres scripts sencillos para correr cada día en el crontab
#*************************** S C R I P T S **************************
#!/bin/sh
#1.- debian
debmirror --debug \
--progress \
--verbose \
--nosource \
--host=ftp.debian.org \
--method=rsync \
--root=:debian \
--dist=lenny \
--arch=i386 \
--getcontents \
--ignore-missing-release \
--ignore-release-gpg \
--rsync-options=-aIL \
/var/www/debian
#!/bin/sh
#2.- debian-security
debmirror --debug \
--progress \
--verbose \
--nosource \
--host=security.debian.org \
--section=main,contrib,non-free \
--method=rsync \
--root=:debian-security \
--dist=etch/updates,lenny/updates \
--arch=i386 \
--getcontents \
--ignore-missing-release \
--ignore-release-gpg \
--rsync-options=-aIL \
/var/www/debian-security
#!/bin/sh
#3.- debian-multimedia
debmirror --debug \
--progress \
--verbose \
--nosource \
--host=www.debian-multimedia.org \
--section=main \
--method=http \
--root=/ \
--dist=etch,lenny \
--arch=i386 \
--getcontents \
--ignore-missing-release \
--ignore-release-gpg \
/var/www/debian-multimedia
#************************** F I N *********************
ahora debemos poner esos scripts en archivos y darle permisos de ejecución
# chmod u+x debian.sh
# chmod u+x debian-security.sh
# chmod u+x debian-multimedia.sh
Luego editamos el crontab para que se ejecuten automáticamente, en mi caso las 11pm
# crontab -e
0 23 * * * /root/debian.sh
0 23 * * * /root/debian-security.sh
0 23 * * * /root/debian-multimedia.sh
con eso debe funcionar todo...
Saludos.
jueves, 20 de diciembre de 2007
Proxy TOR
aptitude install tor
The following NEW packages will be automatically installed:
doc-base libevent1 privoxy socat tor tsocks
Una vez instalado Tor y privoxy en nuestro equipoinstalado procedemos a configurarlo.
vim /etc/privoxy/config
Los cambios que tendremos que realizar son los siguientes:
Añadir la siguiente línea (el punto final es requerido):
forward-socks4a / localhost:9050 .
Que lo que hace es indicar a privoxy que dirija todas las comunicaciones al proxy SOCKS a localhost:9050, es decir, a Tor.
Se recomienda configurar privoxy para que no registre el tráfico que pasa por él, para ello comentamos las siguientes líneas añadiendo una # (almohadilla) al inicio de las mismas:
logfile logfile
jarfile jarfile
Reiniciamos privoxy:
sudo /etc/init.d/privoxy restart
Tan solo tenemos que especificar privoxy como proxy HTTP, es decir localhost puerto 8118.
Por ejemplo, en Firefox iremos a Editar->Preferencias->General->Configuración de conexión y seleccionaremos Configuración manual del proxy, después especificaremos localhost y puerto 8118 en todas las entradas proxy; y en la última (Servidor SOCKS) especificaremos localhost y puerto 9050. También nos aseguraremos de marcar la opción "SOCKS v5".
Para comprobar que funciona puedes ir a Tor detecTor, o a una de las páginas que solo podrás visitar mediante Tor como "The Hidden Wiki" (este enlace no funcionará si no usas Tor); la cual a su vez contiene más recursos exclusivos (hidden services).
martes, 4 de diciembre de 2007
Genius VideoCam NB + Debian Lenny
es muyyyyy sencillo.
Instalamos el módulo gspca
# aptitude install gspca-modules-2.6-686
Luego cargamos el módulo.
# modprobe gspca
Ahora instalamos xawtv para probar
# aptitude install xawtv
# xawtv -c /dev/video0
y Listo, ya tienes instalada la webcam.
Saludos
Nuevo Huso Horario de Venezuela
A las 00:00 del día 9 de Diciembre, se debe retrasar media hora en los sistemas para adecuar la hora al nuevo Huso Horario que estableció el Gobierno Nacional de Venezuela.
De manera Informativa y Didáctica les indico el procedimiento paso a paso.
Recuerden tener en /etc/apt/sources.list el enlace para bajarse las fuentes "deb-src" .... por ejemplo:
deb-src http://debian.unesr.edu.ve/debian testing main contrib non-free
hacer como root lo siguiente:
# cd /root
# apt-get source tzdata
# cd tzdata-2007i
# tar xvfz tzdata2007i.tar.gz
# cp southamerica ..
# cd ..
# rm -rf tzdata*
# vi southamerica ó # nano southamerica
(Justo al final del archivo, usando tabuladores)
Zone America/Caracas -4:27:44 - LMT 1890
-4:47:40 - CMT 1912 Feb 12
-4:30 - VET 1965
-4:00 - VET 2007 Dec 9 03:00
-4:30 - VET
Generamos en un directorio de prueba antes de modificar el sistema y hacemos pruebas para estar seguros que los resultados son los correctos:
# mkdir tztest
# zic -d tztest southamerica
# TZ=/root/tztest/America/Caracas date --date="2007-12-09 04:00:00 UTC"
Sun Dec 9 00:00:00 VET 2007
# TZ=/root/tztest/America/Caracas date --date="2007-12-09 06:59:00 UTC"
Sun Dec 9 02:59:00 VET 2007
Sigue habiendo 4 Horas de Diferencia...
# TZ=/root/tztest/America/Caracas date --date="2007-12-09 07:00:00 UTC"
Sun Dec 9 02:30:00 VET 2007
Ahora a las 3 am VET hay 4:30 horas de diferencia.
Y vemos que el retroceso en el tiempo ha sido logrado, como lo establece el Gobierno Nacional desde las 03:00 am.
# TZ=/root/tztest/America/Caracas date --date="2007-12-09 07:00:00 UTC"
Sun Dec 9 02:30:00 VET 2007
02:30 + 04:30 = 07:00
Y así podemos confirmar que en la fecha y hora indicada aumentará la diferencia entre nuestro tiempo y el tiempo de referencia mundial. Una vez probado, podemos instalar el archivo de zona horaria en el lugar adecuado (/usr/share/zoneinfo) para que el sistema operativo sepa atrasarse en el tiempo cuando llegue el momento.
# cp /root/southamerica /usr/share/zoneinfo/
# zic southamerica
y ejecutamos tzselect para que el archivo /etc/localtime sea copiado a partir del America/Caracas que se generó. El archivo /usr/share/zoneinfo/America/Caracas puede copiarse sin problemas a todas las demás máquinas Debian de una red.
Aquí también puede verificarse el instante y diferencial de tiempo
# zdump -v America/Caracas | grep 2007
America/Caracas Sun Dec 9 06:59:59 2007 UTC = Sun Dec 9 02:59:59 2007 VET isdst=0 gmtoff=-14400
America/Caracas Sun Dec 9 07:00:00 2007 UTC = Sun Dec 9 02:30:00 2007 VET isdst=0 gmtoff=-16200
Para realizar el cambio:
# dpkg-reconfigure tzdata
ó
# tzselect
Tener cuidado con la Base de Datos Postgres, a partir de la version 8.0, tiene un sistema de husos horarios propio, separado de aquel del sistema operativo.
Deberia bastar con copiar el nuevo archivo "southamerica" a src/timezone/data/ y luego hacer un "make install".
Saludos.
Gracias a Ernesto Hernandez Novich, y Alvaro Herrera.
martes, 27 de noviembre de 2007
Debian + Virtualbox + Soporte USB
Bien, aquí una recetilla para que los novatos puedan instalarse una máquina virtual y no regresen a los bajos instintos de formatear un debian para poner un XP solo porque cierto drivers no le funciona.
¿Como Instalar VirtualBox sobre un Debian Lenny 2.6.686? es muy fácil
Kernel usado para esta instalación 2.6.22-2
Lo primero que debemos hacer es bajarse el paquete de VirtualBox para Etch, para ello nos vamos a la página de virtualbox http://www.virtualbox.org o sencillamente les dejo el link para que se lo bajen directo por el medio que quieran. una opción es WGET como se indica abajo.
# wget http://www.virtualbox.org/download/1.5.2/virtualbox_1.5.2-25433_Debian_etch_i386.deb
Como virtualbox compila sus driver, vamos a necesitar lso header del kernel o los fuentes, así que para ello podemos hacer.
# aptitude install linux-headers-2.6-686
# aptitude install linux-source-2.6
Luego instalamos las librerías necesarias para virtualbox. como son: libxalan110 y libxerces27 sin embargo en debian con tan solo instalar libxalan110 este nos instala automáticamente libxerces27, sin embargo lo coloco a título informativo para otras distros.
# aptitude install libxalan110 libxerces27
Ahora que tenemos listo nuestras dependencias, instalamos el paquete .deb que nos bajamos desde virtualbox
# dpkg -i virtualbox_1.5.2-25433_Debian_etch_i386.deb
Una vez instalado, agregamos nuestro usuario como miembro del grupo vboxusers para que pueda ejecutar la máquina virtual sin problemas de permisología.
# adduser mi_usuario vboxusers
Es necesario hacer Logout del(los) usuario(s) colocado(s) en la lista del grupo vboxusers (claro, si no están logueados no hará falta) luego haces login, y corres la máquina virtual.
Ya con esto, lo que sigue es configurar la máquina virtual, que es muuuuuuy sencilla, y luego instalar el Sistema Operativo de su preferencia para esa máquina virtual.
Un problema que nos conseguiremos sobre las máquinas virtuales es que los canales USB no funcionan bien, o mejor dicho, lo que coloques por USB te funcionará en Debian, pero NO en la máquina virtual, esto lo digo por experiencia, ya que uno de los problemas que presenté al instalar un XP en la máquina virtual es que al levantar el Windows, no me reconocía el USB. Colocaba un PenDrive y mi Debian lo montaba a la perfección, sin embargo en Windows sobre la máquina virtual, este ni se enteraba que se había colocado un PenDrive. Esto lo corregí haciendo dos modificaciones a estos dos archivos:
020_permissions.rules y fstab. para ello usé nano como editor, pero ustedes pueden usar el de su preferencia, alguno tan difícil como "gedit" jejeje, y una super super fácil como "vi" ;)
# nano /etc/udev/rules.d/020_permissions.rules
En: # "USB devices" se debe cambiar los 0664 por 0666, quedando así
Antes:
# USB devices
KERNEL=="legousbtower*", MODE="0664"
KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", GROUP="lp"
# usbfs-like devices
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
MODE="0664"
Despues:
# USB devices
KERNEL=="legousbtower*", MODE="0666"
KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", GROUP="lp"
# usbfs-like devices
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
MODE="0666"
Luego:
# nano /etc/fstab
Y agregar estas lineas al final del archivo:
# usbfs
none /proc/bus/usb usbfs devgid=1001,devmode=666 0 0
Eso es todo, de esa manera, cuando introducimos un pendrive por ejemplo, también el Windows que esté en la máquina virtual lo reconocerá y podremos levantarlo.
Espero que haya sido bastante claro para que puedan experimentar esto, y les aseguro que los mismo usuarios windows van a preferir este método, ya que windows literalmente "vuela" sobre la máquina virtual, y eso que solo lo he probado con 196MB de ram, ya que es la máxima memoria que le asigné a esa máquina virtual.
Hay muchas otras ventajas, como por ejemplo poder respaldar todo tu "windows" u otro SO en tan solo un archivo, y si el windows explota (como de costumbre) puedes borrar el archivo de la máquina virtual y volver a copiarte el windows nuevamente como nuevo y todos sus datos con tan solo un vulgar SCP, CP o rsync.
Hay otras bondades más, pero deberán investigarlas jejejej, solo puedo darles una última, y es la "ventaja" de poder usar discos dinámicos y muuuuuuuchas otras cosas más, se los recomiendo.
Espero que les sirva.
Raul