|
Mostrar Temas
|
Páginas: 1 2 3 4 5 6 [7]
|
62
|
Informática / Tutoriales - Documentación / Cómo hacer un Live-CD...
|
en: 22 Octubre 2003, 14:34 pm
|
holas encontre un interesante artikulo kon la explicación de komo hacer un CD a partir del Knoppix
El autor es Juan Jesús Ojeda Croissier y lo comparto con ustedes.
Tabla de contenidos
1. Introducción ¿Qué es un Live-CD y porque Knoppix es tan buena? ¿Qué hace falta? 2. Haciendo un Live-CD Partiendo del Knoppix Modificándola Crear el CD Lista de ejemplos
1.1. Script para copiar la Knoppix en el disco duro (cp_knoppix.sh) 2.1. Script para generan la imagen del CD y tostarlo (crea_cd.sh) Capítulo 1. Introducción Tabla de contenidos
¿Qué es un Live- CD y porque Knoppix es tan buena? ¿Qué hace falta? Esto es una guía para hecer tus propios Live-CDs. Lo que se ve a explicar es como crear el sistema base del CD, para a partir de ahí, añadirle todo lo que necesitemos.
¿Qué es un Live-CD y porque Knoppix es tan buena? En primer lugar, vamos a ver qué es un Live-CD. Pues no es más que un sistema operativo funcional que se puede ejecutar directamente desde un cd, en vez de tener que hacerlo desde el disco duro.
Hace ya mucho tiempo que existen estos sistemas, e incluso existen sistemas tan pequeños que se ejecutan desde un disquete. Así que, ¿por qué ha gustado tanto a la gente la ‘distribucion’ Knoppix?
Pues eso obedece a varias razones, pero una de ellas se entendera mejor cuando expliquemos cómo funcionan estos sistemas. En realidad, dichos sistemas, no funcionan directamente desde el cd-rom, o la disquetera, esto sería exesivamente lento. En vez de eso, lo que hacen es crear un sistemas de ficheros en la memoria ram y despues copian en él, una imagen de un sistema instalado.
De esta manera utiliza la memoria ram, como si se tratase del disco duro. Ésto tiene sus ventajas, no necesitas disco duro, ni instalar nada, no tienes que perder tiempo en instalaciones, puedes utilizar cualquier equipo que esté soportado por el sistema que uses, sin importar que tiene instalado, y ademas puedes probarlo, sin riesgo a estropear el software del equipo.
Pero también tiene sus inconvenientes, que básicamente son dos: cualquier cosa que hagas , desaparecera cuando apagues el ordenador, y el tamaño del sistema que se usara, no podrá ser mayor que el tamaño de la memoria ram. Podríamos añadir que también depende del medio físico que se use, ya sea uno o varios disquetes, o un cd-rom. Realmente no es del todo cierto que el tamaño de la ram sea el límite, podria usarse una partición swap para aligerar la ram, o aumentar el tamaño virtual de la misma. Con lo que se aumentaria el espacio utilizable.
Aquí es donde entran alguna de las virtudes de Knoppix. Ésta distribución se basa en el mismo sistema que las demás, salvo por una diferencia, usan un driver cloop, con el que se consigue una compresión y descompresión bajo demanda. Lo que significa, que no es necesario que este todo el sistema metido en la ram, sino, sólo aquellas aquellas partes esenciales que vayan haciendo falta en cada momento.
Ésto, por si sólo, ya sería bastante para aumentar las posibilidades de usar live-cds en maquinas sin memorias ram moustruosas, pero también trae consigo otra ventaja. Con ese driver, se consigue una compresión bastante buena, con lo que se puede guardar un sistama operativo instalado, de hasta unos 1,8 Gb, en un cd-rom de 650 Mb.
Pero ésto no es lo que le ha dado más fama a la Knoppix, sino que estando basada en una de las distribuciones más estables, pero más complicadas de instalar (por problemas al configurar el hardware), como es Debian, tiene un sistema de detección de hardware impecable, que detecta y configura casi todo lo que se le ponga por delante. Y además a una velocidad asombrosa.
¿Qué hace falta? Bueno, ahora que ya sabemos más o menos como funciona y que es la Knoppix, vamos a ver que necesitamos para crearnos nuestra propia versión, con nuestro software favorito y nuestras configuraciones.
Evidentemente, una de las primeras cosas que necesitamos es un equipo con Linux instalado y un disco duro bastante grande.
Al tener que crear un sistema completo de unos 1,8 Gb, necesitaremos al menos 2 Gb, para poder trabajar con él antes de comprimirlo. Ademas necesitaremos espacio para la imagen comprimida del sistema y la imagen del cd. Se podría hacer teniendo unos 3 Gb libres en el disco duro. Tambien hara falta bastante memoria o sino una partición o archivo swap considerable, unos 2 Gb. Ésto es para la compresión.
A continuación mostramos el sistema ideal:
/dev/hdaX ext2 /mnt/sources -> almenos 2 Gb /dev/hdaX ext2 /mnt/master -> 700 Mb /dev/hdaX ext2 /mnt/iso -> 700 Mb /dev/hdaX swap swap -> 2 Gb
Claro esta esto no tiene por que ser así, yo tengo bastante ram una partición swap de 260 Mb y me hice un archivo swap en una partición de win de 1,5 Gb (no explico como se hace porque viene en el man muy sencillito). Después tengo en un directorio de la partición raíz (/), donde tengo descomprimida la distro, y en otra partición tengo dos directorios, uno para la imagen comprimida y otro para el iso. Como el script va borrando las imagenes que ya no hacen falta, con tener en esa particion 750 Mb libre tengo para las dos cosas.
Los nombres de los directorios son los mismos que los de los scripts, por claridad.
Bueno, una vez tenemos esto listo debemos tener instalados dos paquetes:
cloop-src - Source of the compressed loopback device module cloop-utils - Tools for handling with cloop compressed volumes
Ya saben, apt-get install y todo listo. Bueno casi, porque hay que compilar un módulo para el kernel, a partir de las fuentes de cloop. Eso lo explica facilito el cloop.README, que viene con el paquete y que está en el modulo del CVS de Gnome-hispano: gnome-live-cd
Ahora si que tenemos todo listo para pasar la knoppix al disco duro. Metemos el CD, lo montamos y ejecutamos como root el siguiente script:
Ejemplo 1.1. Script para copiar la Knoppix en el disco duro (cp_knoppix.sh)
#/bin/bash
# Path de la imagen comprimida de Knoppix. # Suponiendo que este montado el CD en /cdrom IMAGE=/cdrom/KNOPPIX/KNOPPIX
mkdir /mnt/tmp
# Instalamos el modulo para poden montar el fs cloop insmod /lib/modules/misc/cloop.o file=$IMAGE # Montamos el dispositivo cloop en el dir temporal que creamos antes mount -o ro /dev/cloop /mnt/tmp # Copiamos la distribucion descomprimida al directorio en donde trabajaremos con ella. cp -Rp /mnt/tmp/* /mnt/sources
# Desmontamos el dispositivo cloop umount /mnt/tmp # Quitamos el modulo del fs cloop rmmod cloop
rmdir /mnt/tmp
Capítulo 2. Haciendo un Live-CD Tabla de contenidos
Partiendo del Knoppix Modificándola Crear el CD Partiendo del Knoppix Modificándola Una vez hecho esto, tendremos la knoppix en nuestro HD y podremos modificarla como queramos. Pero para eso necesitamos estar en el directorio de la distro en chroot. Nada mas facil:
# chroot /mnt/sources Ahora estamos en ese directorio como si fuera el directorio raiz (/), y todo lo que ejecutemos se ejecutara en ese sistema y se quedara guardado todo lo que modifiquemos. Es importante que antes de nada, montemos el directorio /proc :
# mount -t proc /proc proc Tambien deberiamos editar el /etc/resolv.conf (de la knoppix siempre), para poder instalar y desinstalar con apt, porque este archivo esta vacio. Y deberiamos comprobar las sources del apt, porque a lo mejor hay otras mas cercanas a ti que las de Alemania...
Ya estas en un sistema normal y puedes instalar y desinstalar a gusto. Eso si, ten en cuenta que hay algunos paquetes de configuracion instalados que no deberias tocar mucho, porque son los que detectan el hardware y eso. Se pueden identificar mas o menos facil, porque suelen poner Knoppix o Knopper por algun lado.
Una vez hayas modificado la distro, haz "apt-get clean" para dejarlo mas limpio y borra todos los rastros de que has estado ahi(.bashistory, /etc/resolv.conf, usuario/s creados, y demas). Despues desmontamos el /proc ( umount /proc ). Y salimos con "exit" o Ctrl-d.
Comprobemos que no ocupe mas de 1,8 Gb, si queremos que quepa en un cd de 650 Mb.
# du -ch /mnt/sources Si esta todo bien, copiemos el archivo "boot.img" que se encuentra en el CD de Knoppix en : /cdrom/KNOPPIX/boot.img , en el directorio que usaremos para crear la imagen final del CD(/mnt/master) y quitemos el CD de Knoppix y pongamos uno grabable o mejor regrabable en la grabadora de cds.
Ahora podemos modificar el arranque del cd, pero como este mail es ya muy largo y esta todo bien explicado en el modulo del CVS, lo miran ahi. Si no hemos activado la swap es el momento de hacerlo:
# swapon /dev/particion_swap ( o archivo swap) Yo en este momento, suelo apagar las X y me voy a hacer otras cosas mientras ejecuto el script crea_cd.sh en una terminal. Tardara mas o menos, de pendiendo del equipo que tengan, pero creo que me suele tardar una hora o asi(incluido el borrado y escritura del cd).
No se olviden de modificar los scripts, poniendo los directorios que usen ustedes.
Crear el CD Ejemplo 2.1. Script para generan la imagen del CD y tostarlo (crea_cd.sh)
#/bin/bash
# Directorios que se van a usar: # directorio donde esta descoprimida la distro(Knoppix modificada) -> unos 2 Gb SOURCES=/mnt/sources # directorio con el que se va a crear la iso final. Contiene el boot.img -> entre 600 y 650 Mb MASTER=/mnt/master # directorio en donde se va a guardar la iso final, el cd para tostar -> entre 600 y 650 Mb ISODIR=/mnt/iso
# Primero crea una imagen ISO de la distro mkisofs -R -L -allow-multidot -l -V "Gnome-Live iso9660 filesystem" -o $ISODIR/gnome.iso -hide-rr-moved -v $SOURCES
# Despues comprime la imagen y crea una imagen comprimida (KNOPPIX) create_compressed_fs $ISODIR/gnome.iso 65536 > $MASTER/KNOPPIX/KNOPPIX # Borra la imagen ISO de la distro rm -rf $ISODIR/gnome.iso
# Ahora crea el la imagen ISO final con lo que haya en el directorio $MASTER. #Y crea el sector de arranque con el archivo $MASTER/KNOPPIX/boot.img mkisofs -l -r -J -V "Gnome-Live-CD" -hide-rr-moved -v -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -o $ISODIR/gnome_cd.iso $MASTER # Borra la imagen comprimida de la distro rm -fr $MASTER/KNOPPIX/KNOPPIX
# Ahora se tuesta el CD # Si es un regrabable (muy recomendable para hacer pruebas) se borra. #cdrecord -v dev=0,0 blank=all
# Y ahora se tuesta. Se puede cambiar la velocidad de la grabacion, si tu grabadora te lo permite cdrecord -v speed=4 dev=0,0 $ISODIR/gnome_cd.iso
# Se borra la imagen ISO final rm -fr $ISODIR/knoppix_cd.iso
interesante no?
saludox
|
|
|
64
|
Programación / Programación Visual Basic / introduccion al control winsock en VB
|
en: 31 Agosto 2003, 11:02 am
|
pues en mis dias de buskeda de info interesante encontre por ahi este mini tutorial acerca del uso de sockets en visual basic, esta super basico e interesante, muy recomendado!
Windows Sockets
En Visual Basic disponemos de un control para acceder fácilmente a las APIs de sockets de Windows. Este se llama Winsock. Voy a exponer las principales características que necesitamos conocer para trabajar con este control, rematando el repaso con una aplicación que podremos ejecutar tanto en modo cliente, como en modo servidor; en nuestro propio equipo, o en varios.
Introducción
El control WinSock, nos proporciona un acceso sencillo a los servicios de red TCP y UDP. La diferencia entre ambos protocolos es que con TCP creamos y mantenemos una conexión entre varios equipos asegurando la integridad de los datos. Con UDP los equipos no establecen una conexión: es un protocolo sin conexiones.
Estableciendo las propiedades y llamando a los métodos del control, podremos conectar fácilmente con un equipo remoto e intercambiar datos en las dos direcciones.
Es un control visible únicamente en tiempo de diseño. En tiempo de ejecución, será invisible para el usuario.
Propiedades
LocalPort: puerto en el que se establecerá el socket (conexión) entre dos equipos. Si establecemos su valor a cero (0), el control se encargará de utilizar un puerto aleatorio. LocalHostName: nombre de la máquina local. LocalIP: dirección IP de la máquina local. RemoteHost: equipo remoto al que se conecta la máquina local (puede ser un nombre de máquina o una dirección IP). RemoteHostIP: IP del equipo remoto. RemotePort: puerto del equipo remoto al que conectar. State: estado de la comunicación entre los equipos. Valores: 0 - Cerrado 1 - Abierto 2 - Escuchando... 3 - Conexión pendiente 4 - Resolviendo host... 5 - Host resuelto 6 - Conectando... 7 - Conectado 8 - Cerrando 9 - Error
Métodos
Accept: acepta una petición de conexión entrante. Bind: especifica una dirección IP y un puerto locales para establecer una conexión IP (este método lo utilizaremos cuando queramos que nuestra aplicación soporte múltiples adaptadores de protocolo). Close: cierra una conexión GetData: recupera el bloque actual de datos. PeekData: como GetData. Listen: establece la escucha por un determinado puerto. SendData: envía datos a un equipo remoto.
Eventos
Connect: lanzado cuando un equipo remoto establece una comunicación (no cuando la creamos desde la máquina local). Close: se produce cuando el equipo remoto cierra la conexión (no cuando la cerramos desde la máquina local). ConnectionRequest: petición de conexión de un equipo remoto. Tendremos que llamar al método Accept para aceptarla. DataArrival: cuando llegan datos del equipo remoto. SendComplete: terminada una operación de envío. SendProgress: se produce mientras se envían datos. Error: cuando se produce un error en los procesos de segundo plano.
Ejemplo
Una vez mostradas las características básicas del control WinSock lo mejor es que lo veamos en acción. Para ello, aquí te puedes bajar un ejemplo que funciona tanto como cliente y, a la vez, como servidor (el mismo código nos sirve) estableciendo una conexión TCP. Esto, es de utilidad en una aplicación real ya que es muy probable que no sepamos cuando nuestra aplicación va a enviar o a recibir datos.
Todo el código está comentado, así que se puede apreciar perfectamente cómo trabaja el WinSock, un control muy sencillo de utilizar y al mismo tiempo, muy potente.
vaya que esta interesante este proyecto, es lo basico y todo el codigo viene comentado para que no te mueras en el intento de aprenderlo
http://www.programming-vb.com/vb/ctr_int/sockets.zip
Extraido de aki htp://www.programming-vb.com
|
|
|
|
|
|
|