Software de Máquinas Virtuales


En cuanto a los Sistemas Operativos instalados en máquinas virtuales, el objetivo es el de integrar distintos sistemas operativos, dando la sensación de ser varias máquinas diferentes . EL núcleo de estos sistemas operativos es el monitor virtual y tiene como propósito llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten.
Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario". Acá entra un concepto que es la emulación, vale decir, implementar las características por software de una determinada máquina en un ambiente totalmente distinto. Este concepto se ha implementado en los famosos emuladores de consolas de juegos y máquinas de arcade, y en palabras sencillas para explicar mejor lo que es la emulación, es como plantar una palmera en Finlandia: El clima de este país es frío e inhóspito para esta planta, una palmera moriría de inmediato si es expuesta a la interperie, pero no, si se la planta en un invernadero que reproduzca las condiciones de temperatura, humedad y de suelo necesarias para su crecimiento. Esto es lo que logra la emulación.
Emulación de Hardware subyacente:
Este tipo de hipervisor opera como una capa intermedia entre el Hardware y los sistemas operativos invitados. En un esquema Hardware / Hypervisor VMM / Maquina Virtual. Todas las traducciones binarias de CPU, Memoria, Red, Almacenamiento las hace la capa VMM Paravirtualización
El hypervisor (o monitor de Máquina Virtual: VMM) de tipo 2 se ejecuta sobre otro Sistema Operativo. Este tipo de hypervisor necesita un Sistema Operativo completo para poder ejecutarse. Se presenta en el esquema Hardware / Sistema Operativo / Hypervisor VMM / Maquina Virtual
Todas las traducciones binarias: Red, Almacenamiento las hace la capa VMM y las traducciones binarias de CPU, Memoria, la hace mediante el hardware.
Cada máquina virtual puede ejecutar cualquier sistema operativo soportado por el hardware anfitrión. Así los usuarios pueden ejecutar dos o más sistemas operativos distintos simultáneamente en computadores "privados" virtuales.
Emulación de un sistema no nativo
Las máquinas virtuales también pueden actuar como emuladores de hardware, permitiendo que aplicaciones y sistemas operativos, concebidos para otras arquitecturas de procesador se puedan ejecutar sobre un hardware que en teoría no soportan.
Algunas máquinas virtuales emulan hardware que sólo existe como una especificación. Por ejemplo:
- La máquina virtual P-Code que permitía a los programadores de Pascal crear aplicaciones que se ejecutasen sobre cualquier computador con esta máquina virtual correctamente instalada.
- La máquina virtual de Java.
- La máquina virtual del entorno .NET.
Historia
Pero volviendo al tema, esta característica de virtualización ha sido un Standard de la línea que siguió (IBM S/370) y sus sucesoras, incluyendo la serie actual.
Durante las décadas de los 60s y 70s fueron muy populares, pero desaparecieron prácticamente durante los 80s y los 90s. No fue hasta el final de los 90s en que volvió a resurgir la tecnología de las maquinas virtuales y no solamente en el área tradicional de servidores sino también en muchas otras áreas del mundo de la computación: “En la actualidad asistimos a su eclosión gracias al fuerte descenso del coste total de propiedad (TCO) atribuible a tecnologías vía hardware como Intel VT, AMD-V Pacifica, NPIV y vía software VMWare , XEN, Microsoft Hyper-V, VirtualIron..”
La virtualización es un termino que se refiere a la abstracción de los recursos de un computador llamado Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de la abstracción entre el hardware de la maquina física (host) y el sistema operativo de la maquina virtual (virtual machine, guest). El VMM maneja los recursos de las maquinas físicas subyacentes (el host) de una manera que el usuario pueda crear varias maquinas virtuales presentando a cada una de ellas una interfaz del hardware que sea compatible con el sistema operativo elegido. Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de un computador (CPU, Memoria, Red, Almacenamiento) y así podrá repartir dinámicamente dichos recursos entre todas las maquinas virtuales definidas en el computador anfitrión o host.
La maquina virtual generalmente es un sistema operativo completo que corre como si estuviera instalado en una plataforma de hardware autónoma. Independiente de las otras. Típicamente muchas máquinas virtuales son simuladas en un computador. Para que el sistema operativo “guest” funcione, la simulación debe ser lo suficientemente robusta (dependiendo del tipo de virtualización). En la actualidad todos los fabricantes tanto de Software como de Hardware están trabajando para mejorar el Hypervisor (VMM) y así alcanzar una virtualización completa, fiable y robusta.
Dentro de las soluciones existentes para virtualización están:
VmWare Workstation: Esta Solución, ganadora de mas de 50 premios de la industria de software, ofrece un soporte a una amplia gama de sistemas operativos basados en arquitectura i386:MS-DOS, Windows, Linux, FreeBSD, Solaris,etc.Actualmente se encuentra en la versión 8 y está disponible para la descarga una versión de prueba de 30 días.
Oracle Vm VirtualBox : Antes era comercial y desarrollada por la ahora extinta Sun Microsystems, ahora está distribuída por Oracle bajo licencia GPL 2. Existe un paquete de extensión que es para el soporte de dispositivos USB 2.0, VirtualBox RDP y para el booteo PXE desde tarjetas madre Intel, el cual se distribuye bajo licencia PUEL (Personal Use and Evaluation License.). Está disponible para Windows, Linux , MacosX(sólo soporte i386, no PPC) y Solaris. Es el Software que tengo instalado en mi pc de escritorio con Ubuntu 10.10, y que ocupo habitualmente.
Windows Virtual Pc: Antes llamado Microsoft Virtual Pc , se ofrece para descarga una versión de prueba para Windows 7, la cual incluye Windows Xp Mode, el cual permite correr programas para Windows XP que no pueden ser ejecutados de forma nativa en Windows 7.No he probado esta versión, pero si he probado Microsoft Virtual Pc 7, la cual tuve que usar de forma laboral cuando trabajaba en una empresa de supermercados, para ejecutar un programa de actualización de firmware de Balanzas Mettler Toledo, en una máquina virtual con Windows 98 el cual no podía correr de forma nativa con Windows Xp, la integración con el harware anfitrión era excelente. Luego lo probé en su versión para Macos X Tiger PPC,instalando en mi viejo Mac una máquina virtual con Windows XP, con excelentes resultados.
Para Linux también he probado QEMU, que no voy a entrar en mayores detalles, dado que en un post anterior expliqué su uso.No he probado aún BOCHS.
Filtrado de sitios de ocio y contenidos no adecuados para niños


Una de las labores que debieran realizarse al interior de un laboratorio de computación es el filtrado de sitios de ocio y contenidos no adecuados para niños.
Cuando empezó a introducirse la informática al interior de los establecimientos educacionales, el problema del acceso de los niños a contenido no adecuado o a sitios de ocio, no fue tomado en cuenta, debido a que en aquel entonces no existía tanto dicha problemática. Sin embargo los niños de hoy día no son los niños de hace 10 0 15 años, y cada día están expuestos a un bombardeo de los medios de comunicación como la televisión con programas y publicidad que enfatizan en lo sexual erótico, y por lo tanto incluso varios adoptan conductas sexuales inapropiadas a mas temprana edad. Todo esto se suma muchas veces a una negligente actitud de los padres, que incluso dejan que los niños permanezcan hasta altas horas de la noche viendo dichos programas.
Pero, yendo al tema, la gestión de un laboratorio computacional escolar, implica el filtrado de contenidos no adecuados para niños, así como los sitios de ocio, ya que cuando un maestro está dictando clases en el laboratorio, dichos sitios se convierten en elementos distractores e incluso coartantes de la función educativa.
Frente a esto, existen distintas herramientas tales como programas y extensiones en los navegadores que son herramientas de primera línea, luego y esto es lo ideal , debe haber en el laboratorio, un servidor con proxy conectado al módem ADSL, al cual se conectan todos los demás equipos del laboratorio y configurado con herramientas de filtrado de contenidos.Dicho servidor deberá contar con una tarjeta de red (hoy día todos los equipos llevan una incorporada). Para configurar la red del Laboratorio se usará un segmento clase C , por ejemplo se podría usar la red 192.168.1.0 para configurar la red donde tendremos para asignar 254 direcciones. No podemos usar la dirección 192.168.1.0 ya que es una dirección de red , ni la 192.168.1.255 ya que es una dirección para broadcasting, sólo podemos asignar desde la 192.168.1.1 hasta la 192.168.1.254. Esta última se la podemos asignar al servidor.
La asignación de direcciones de forma manual, tiene sus ventajas: Permite mantener un orden de direcciones, al contrario con el caos que significa que todos los equipos tengan DHCP o dirección automática. En los equipos del Laboratorio debemos asignar a cada uno una dirección de red distinta, verificando primero que no colisione con otras direcciones Ip de otras dependencias donde hayan equipos PC (Dirección, Biblioteca, Inspectoría, Secretaría etc.). Si tenemos Routers Wifi deberemos preocuparnos que el rango de direcciones DHCP que asigne no colisione con el de las ip de los demás equipos. Para cada equipo podemos asignar una dirección de ip , una máscara de red que será la 255.255.255.0 y la puerta de enlace que será la dirección del servidor 192.168.1.254. Además deberemos asignar los DNS primario y secundario a cada equipo, así como al servidor .
Aquí viene lo interesante : Tanto el Servidor como el resto de los equipos del Laboratorio están conectados a un Switch( si hay un Hub conectado en la escuela , se deberá cotizar en la compra de un switch y deshacerse de ese Hub, ya que el Switch permite manejar de mejor manera las colisiones, al contrario del Hub). En cada navegador del equipo del Laboratorio, en la configuración de proxy deberemos asignar manualmente el servidor proxy una vez que lo tengamos ya instalado, y el puerto por donde escucha el proxy las peticiones.
En cuanto a las herramientas que se pueden instalar en cada equipo existen, teniendo la premisa de que estos corren Sistema Operativo Windows 2000/Xp:
1) Los llamados Software de control parental o de Filtro de contenidos: Según el documento "Revisión de Alternativas de Filtros de Contenidos Libres (para Windows)" redactado por Enlaces: "Un Filtro de Contenido es una herramienta de software diseñada para controlar la navegación por Internet,limitando el acceso de los usuarios a páginas que pudieran tener contenido inadecuado (como pornografía, violencia,drogas, etc.). Esta herramienta puede ser especialmente útil en laboratorios de computación de establecimientos educacionales, donde los alumnos tienen a su disposición los equipos y navegan libremente sin tener una supervisión directa de las páginas que ellos visitan.
comparación entre las palabras prohibidas y las contenidas en el sitio para determinar si debe bloquear o permitir el acceso".
Algunas herramientas de filtro:
K9 Web Protection:
http://www1.k9webprotection.com/
Naomi
http://www.brothersoft.com/naomi-60834.html
http://icom-stealth.pcfiles.com/
Freeshield
http://freeshield.archivospc.com/
BGone
http://support.it-mate.co.uk/?mode=Products&p=bgone
2)Extensiones de los Navegadores: Firefox en especial tiene una extensión llamada Metacert, que al momento de instalarla y habilitarla bloquea el acceso a páginas con contenido pornográfico.He consultado en Opera y por desgracia este navegador no tiene filtros para bloquear porno. Chrome tiene varias extensiones para el bloqueo de sitios pornográficos una de ellas llamada Webfilter, que no sólo bloquea porno,drogas,juegos online,violación, social networking, spyware, anonymous proxy y web spam. Se puede descargar desde este enlace:https://chrome.google.com/webstore/detail/ejgfoklefkbjadjcgjmnhfbdfjolojnn?hl=es&hc=search&hcp=main.
De Internet Explorer, mejor ni hablar, lo mejor será ver la forma de bloquear la ejecución de este navegador y usar solamente Chrome y Firefox.
3) Instalación de DansGuardian: DansGuardian es un premiado Filtro que corre en Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, HP-UX, and Solaris.Filtra el actual contenido de páginas basadas en varios métodos incluyendo la búsqueda por frases, por contenido de los sitios y por URL
Esta diseñado para ser flexible, y permite adaptar el filtro a las necesidades exactas. Puede ser tan draconiana o unobstructive como se desee. Los ajustes predeterminados están orientados a lo que una escuela primaria requiere pero DansGuardian nos pone en control de lo que deseamos bloquear.
Instalación en Ubuntu:
$sudo apt-get install clamav-freshclam iptables dansguardian squidEn esta línea no solamente se instala dansguardian, sino tambien clamav-freshclam(solución antivirus para las unidades compartidas con Samba), iptables y squid. Dependiendo de nuestro caso deberemos ver los paquetes que tengamos instalados. De por sí para poder trabajar con Dansguardian y poder tener acceso a Internet para el resto de los equipos en el servidor se debe tener instalado un proxy como squid o tinyproxy. Además se debe bajar la lista negra de sitios para Dansguard de sitios tales como éste: http://urlblacklist.com/?sec=download.
tar -xzf bigblacklist.tar.gz sudo mv blacklists /etc/dansguardian/blacklists sudo chown -R root:root /etc/dansguardian/blacklistsEditar el archivo /etc/squid/squid.conf: Hacer que estas opciones aparezcan como se
Es probable que deseemos personalizar algunas opciones de filtrado, también es
posible que deseemos hacer un comentario(#) o descomentar las opciones de
estos archivos
/ etc / dansguardian / lists / bannedextensionlist
/ etc / dansguardian / lists / bannedsitelist
/ etc / dansguardian / lists / bannedurllist
muestra acá:
...
http_port 3128 transparent
...
always_direct allow all
...
Iniciar Suid:
sudo squid startEditar /etc/dansguardian/dansguardian.conf:
...Cambiar la carpeta de Log de DansGuardian al propietario correcto e iniciar DansGuardian:
#UNCONFIGURED - Please remove this line after configuration
...
filterip = 127.0.0.1
...
daemonuser = 'proxy'
...
daemongroup = 'proxy'
...
accessdeniedaddress = 'http://localhost/cgi-bin/dansguardian.pl'
...
sudo chown -R proxy:proxy /var/log/dansguardian sudo /etc/init.d/dansguardian start
Ahora configurar iptables para configurar el tráfico de internet a través del sistema de filtros:
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp --dport 3128 -m owner --uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
sudo iptables -t nat -A OUTPUT -p tcp --dport 3128 -j REDIRECT --to-ports 8080
sudo iptables-save > iptables sudo mv iptables /etc/dansguardian/iptables
Crear un script en /etc/rc2.d, que se llame S60iptables y que contenga lo siguiente:
/sbin/iptables-restore < /etc/dansguardian/iptables
Asegurarse que el script sea ejecutable:
sudo chmod 750 /etc/rc2.d/S60iptables
Como alternativa al script, podemos instalar el paquete iptables-persistent
Finalmente , para permitir que pasen a través del filtro las actualizaciones de Ubuntu, debemos agregar lo siguiente al final de /etc/dansguardian/lists/exceptionextensionlist:
# Archives & packages
.bz2
.gz
.tbz2
.tar
.deb
.gpg
Todas estas medidas deben ser propuestas obviamente al director(a) responsable y comunicarlas. Sin embargo, si no se cuenta con el apoyo del director(a), y si no se cuenta con una política escolar sobre lo que debe ser el uso de Internet y la función que debe cumplir un Laboratorio de Computación, lamentablemente será como predicar en un desierto.En mi experiencia personal tuve que vivir con este tipo de problemas, en especial en una escuela donde la Directora era una persona déspota y autoritaria, la cual creía que "Facebook era una herramienta educativa".En cierta medida puede ser pero el Coordinador no tiene todo el tiempo para vigilar lo que hacen los alumnos.
Finalmente, también se requiere que los docentes fomenten en los alumnos el buen uso de Internet y en especial de las Redes Sociales, evitando que estas sean obstructivas de la función docente, y un medio para el grooming (acoso sexual a menores por medio de redes sociales), o de Bullying (Matonaje escolar).
Fuentes :
https://help.ubuntu.com/community/DansGuardian
http://www.enlaces.cl/bazar_tec/uploads/media/Revision_Filtros_Contenido_02.pdf
Canaima 3.0 Distribución venezolana basada en Debian


Tengo sentidos encontrados con Venezuela. En primer lugar quiero poner en claro que no estoy de acuerdo con el gobierno de ese país encabezado por un tipo que esta padeciendo de cáncer pero que nadie sabe si ya tiene apernado a otro para que lo continúe.Tengo una hermana que visitó Venezuela junto a su esposo de aquel entonces, y se llevó bastantes malos recuerdos del viaje : Alto nivel de corrupción de la policía, además del nivel de inseguridad del país debido a los secuestros de extranjeros, a tal punto que ni siquiera ellos podían salir del hotel donde alojaban sin contratar un taxi "de confianza" .
Pero lo que si debo reconocer, es que el gobierno de Venezuela ha hecho esfuerzos para tener autonomía tecnológica en lo que respecta al Software, y es por eso que de acuerdo a decreto presidencial Nº 3.390 ha decidido el uso de tecnologías libres en la Administración Pública Nacional, y el estado a través de algunas de sus empresas, y la comunidad de Software Libre, han desarrollado una distribución de Linux propia basada en Debian , que cubre las necesidades ofimáticas de la Administración pública, así como también la han implementado en la educación pública de aquel país, donde también han desarrollado una iniciativa (Canaima Educativo) tendiente a proveer de un laptop básico (conocido como Canaimita) con dicha distribución.
Canaima Linux es su nombre, su modelo de desarrollo está basado en las buenas prácticas de desarrollo de Debian , pero que han adaptado a las necesidades venezolanas. Es una de las distribuciones mas populares en Venezuela debido a los factores antes mencionados. Pero el Desarrollo de Software no sólo se queda limitado a la distribución. Se ha hecho un esfuerzo además para desarrollar software educativo para esta plataforma,destinado primeramente a los dos primeros años de la educación escolar venezolana.
Canaima Linux posee una interfaz intuitiva de instalación. En la distribución van instalados por defecto : Libre Office, Cunaguaro, un navegador web derivado de iceweasel, Guacharo (cliente de correo) , Turpial (cliente de microbloging), Amigu (mensajería instantanea), además que da la opción de instalar Software adicionales, siempre que se esté conectado a Internet.
Posee un buen soporte a través de foros , listas de distribución de correo, Comunidad de usuarios. Como desventajas tiene de que aún la disponibilidad de Software de acceso común para los venezolanos, aunque si bien Debian es una de las distribuciones con mayor cantidad de Software, debido a las características particulares de Canaima, se da el caso que algunas podrían resultar incompatibles con esta distro venezolana y eso ha sido explicado a través de los documentos técnicos disponibles en el sitio web. Además no ha contado con la aprobación de la Free Software Foundation para ser reconocida como una distribución libre, a pesar que la distribución y sus aplicaciones se ha hecho usando licencia GNU GPL .
Actualmente la versión estable es la 3.0. Se la lanzado una distribución Canaima Popular 3.1 (auyantepui) que es una variante de Canaima 3.0 y que tendría las características de ser experimental.
Queda felicitar en especial a los Desarrolladores y Comunidad Canaima Linux, por llevar adelante este proyecto, a punta de esfuerzo y de Cayapas (reuniones donde la Comunidad Canaima se reúne para ver mejoras y corregir errores, entre otras). Acá en Chile aún estamos soñando con que nuestras autoridades hagan una fuerte apuesta por el Software Libre, dado que iniciativas como Edulinux, han quedado en el olvido o con escaso apoyo por parte de las entidades estatales como el Ministerio de Educación.
Sitio del proyecto: http://canaima.softwarelibre.gob.ve/
Escritorios Remotos



Una de las primeras herramientas que conocí fue Pc Anywhere de Symantec, herramienta comercial de pago, la cual sólo podía instalarse en entornos Windows en aquel entonces (hoy Symantec dispone de Pc Anywhere Cross Platform la cual puede ejecutarse en las versiones empresariales de Red Hat y Suse, y también en Windows 2000 o posterior y MacosX 10.4 y 10.5.). Posteriormente surgió Windows XP y su herramienta de escritorio remoto, mediante la cual y dado que la empresa realizó una migración de plataforma (TPV con MS-DOS a TPV con Windows Xp, Servidores UNIX MP-RAS y Novell Netware 5.2 a Servidores Linux Red Hat 9 en aquél entonces ) me olvidé de los tiempos en que cuando ocurría una incidencia en un Punto de Venta, debía obligatoriamente viajar al local donde estaba la caja con el problema, con el clásico disquette de 3 1/2. Sencillamente me conectaba vía remota a la caja, y listo.
Pero no solamente me tocó revisar Terminales Punto de Venta , sino también servidores y es aquí conde conocí a VNC Server y Vnc Client: Este tipo de soluciones tienen la ventaja de ser multiplataforma (Corren en Sistemas Windows, Linux , Mac OS y Mac OS X).
Programas VNC:
RealVNC : Multiplataforma completa en su versión Enterprise (comercial, versión de demostración disponible)
TighVnc : Funciona en WIndows y en cualquier plataforma que soporte JAVA.
UltraVnc : Windows (95, 98, Me, NT4, 2000, XP, 2003,Vista y Windows 7) y cualquier plataforma
que soporte JAVA para uso como servidor.
En Linux, VNC Server y Vnc Viewer , viene en la mayoría de las distribuciones como paquete para instalar. En Ubuntu (que es la distribución de Linux que yo ocupo) para instalar vnc-viewer que es el cliente con el cual me voy a conectar al otro equipo que está ejecutando vnc-server, si no lo he instalado puedo instalarlo mediante:
$ sudo apt-get install xenwatch
y si quiero instalar la parte servidor puedo escoger cualquiera de estos paquetes:
$sudo apt-get install vnc4server
Por lo general la aplicación vnc4server al momento de ejecutarla en Linux me pedirá una clave la cual debo ingresarla cuando me conecte desde el cliente, la cual será de 8 caracteres como máximo. Una vez efectuado esto iniciará el servidor , mostrándome el nombre del equipo seguido de ":" y un número que es el 1 , el cual es el número de la sesión. EL puerto usado por VNC por defecto es el 5900, datos que deberemos tenerlos en cuenta al momento de conectarnos desde el cliente.
El lastre es que en el caso de Linux no accedemos directamente al escritorio del usuario que este en dicha máquina, sino que se accede a un escritorio aparte. Esto implica que si un usuario nos llama indicándonos que tiene problemas por ejemplo con su fondo de pantalla, no podemos usar VNC para ver su pantalla e intentar arreglar el problema. Para aquellos que entiendan el funcionamiento de las X, si tenemos un usuario utilizando el escritorio y un servidor VNC en la misma máquina cada uno escucharía por un puerto diferente.
Pero aquí aparece gemsvnc!!
Gemsvnc es un servidor VNC que utiliza el escritorio en el cual ha sido ejecutado el programa para permitir el acceso remoto, de forma que basta con entrar en nuestro escritorio (no importa si es GNOME, KDE…) abrir una consola y ejecutar gemsvnc. Desde otro ordenador conectado en red ejecutariamos “vncviewer servidor:0″ y se nos abriría una ventana mostrándonos el escritorio remoto, podriamos controlar el puntero del ratón y escribir lo que sea necesario (curiosamente he podido comprobar que a mi no me funciona el $ remotamente, si pulso shift+4 me escribe un 4 y no un $). Lamentablemente gemsvnc no está disponible para Ubuntu por lo cual, según he leído, mi alternativa sería x11vnc , el cual acabo de instalar, pero aún no lo he probado. Cuando tenga tiempo para hacer las pruebas correspondientes, daré a conocer los resultados.
FreeNX hace lo mismo que VNC, pero de forma mas eficiente, con un alto grado de latencia consumiendo menos ancho de banda.
Pero la tecnología avanza a pasos agigantados; y hoy incluso se disponen de herramientas basadas en web para el control de escritorios remotos, claro eso sí estos deben estar corriendo soluciones como vnc. Es por eso que quiero dejar el siguiente enlace de Cristalab donde explican la instalación y funcionamiento de Guacamole un cliente escrito en HTML5, Ajax y apoyo de Tomcat para visualizar por medio de diversos protocolos, escritorios remotos por medio del navegador web.
http://www.cristalab.com/tutoriales/conexion-remota-a-escritorios-en-html5-y-ajax-con-guacamole-c103528l/
Compresión de archivos en Linux

Existen múltiples formatos de compresión, los cuales no sólo se refieren a compresión de archivos de datos, sino también a archivos de música(mp3 u oog).Por ahora nos referiremos sólo a los primeros:
ZIP: Es un formato de fichero bastante simple, que comprime cada uno de los archivos de forma separada. Comprimir cada archivo independientemente del resto de archivos comprimidos permite recuperar cada uno de los ficheros sin tener que leer el resto, lo que aumenta el rendimiento. El problema, es que el resultado de agrupar un número grande de pequeños archivos es siempre mayor que agrupar todos los archivos y comprimirlos como si fuera uno sólo. A cambio, esto permite extraer cada archivo de forma independiente sin tener que procesar el archivo desde el principio.
ZIP fue creado originalmente por Phil Katz, fundador de PKWARE. Katz liberó al público la documentación técnica del formato ZIP, y lanzó al mismo tiempo la primera versión de PKZIP en enero de 1989. La especificación de ZIP indica que cada archivo puede ser almacenado, o bien sin comprimir, o utilizando una amplia variedad de algoritmos de compresión. Sin embargo, en la práctica, ZIP se suele utilizar casi siempre con el algoritmo de Phil Katz.
En Linux, zip viene instalado por defecto, para uso en la línea de comandos:
| Comprimir | $ |
| Descomprimir | $ |
| Ver contenido | $ |
GZIP:
gzip es una abreviatura de GNU ZIP, un software libre GNU que reemplaza al programa compress de UNIX. gzip fue creado por Jean-Loup Gailly y Mark Adler. Apareció el 31 de octubre de 1992 (versión 0.1). La versión 1.0 apareció en febrero de 1993.
gzip se basa en el algoritmo Deflate, que es una combinación del LZ77 y la codificación Huffman .Deflate se desarrolló como respuesta a las patentes que cubrieron LZW y otros algoritmos de compresión y limitaba el uso del compress.
No se debe confundir gzip con ZIP, el cual no es compatible. gzip sólo comprime archivos, pero no los archiva. Debido a esto a menudo se usa junto con alguna herramienta para archivar (popularmente tar).
Para hacer más fácil el desarrollo del software que usa compresión, se creó la biblioteca zlib. Soporta el formato de ficheros gzip y la compresión deflate. Esta biblioteca se usa mucho porque es pequeña, eficiente y muy versátil. Gzip y zlib fueron implementadas por Jean-Loup Gailly y Mark Adler. Desde finales de los noventa se ha producido algún movimiento de gzip a bzip2 que a menudo produce archivos más pequeños aunque es más lento.
El formato de compresión zlib, el algoritmo deflate y el formato gzip fueron estandarizados como RFC 1950, RFC 1951 y RFC 1952 respectivamente.
Normalmente, la extensión de los archivos comprimidos con gzip es .gz. El software de Unix a menudo se distribuye como ficheros con extensión .tar.gz o .tgz, llamados tarballs. Son archivos empaquetados con tar y comprimidos con gzip. Se pueden descomprimir con gzip -d fichero.tar.gz o desempaquetar con tar -xzf archivo.tar.gz. Hoy en día, cada vez se distribuye más y más software como fichero.tar.bz2 debido a las ventajas de la compresión bzip2.
$sudo apt-get install gzip
Comprimir:
gzip fichero
Descomprimir:
gzip -d fichero.gz
RAR :(Roshal ARchive en inglés) es un formato de archivo propietario desarrollado por Eugene Roshal , con un algoritmo de compresión sin perdida, utilizado para la compresión de datos y archivación.
RAR utiliza un algoritmo de compresión basado en el LZSS que, a su vez, se basaba en el LZ77 , de James Storer y Thomas Szymanski (1982). El tamaño del diccionario puede variar entre 64k y 4 MB.
Para usar rar en Ubuntu, dado que por su carácter de propietario no viene por defecto instalado debemos ejecutar :
$sudo apt-get install rar unrar
Comprimir:
rar a archivo.rar ficheros
Descomprimir:
unrar x archivo.rar
Ver contenido:
rar l archivo.rar.
ó
rar v archivo.rar
BZIP2
bzip2 es un programa libre desarrollado bajo licencia BSD por Julian Seward, que comprime y descomprime ficheros usando los algoritmos de compresión de Burrows-Wheeler y de codificación de Huffman. El porcentaje de compresión alcanzado depende del contenido del fichero a comprimir, pero por lo general es bastante mejor al de los compresores basados en el algoritmo LZ77/LZ78(gzip, compress, zip..). Como contrapartida, bzip2 emplea más memoria y más tiempo en su ejecución.
La sintaxis es parecida a la del programa gzip de GNU
comprimir $bzip2 fichero
descomprimir $bunzip2 fichero.bz2
Viene por defecto instalado en Linux/Ubuntu
TAR: Aunque estrictamente no es un compresor sino un joiner (une dos o mas archivos), el formato tar es famoso en UNIX/LINUX dado que se usa para respaldo de archivos de datos de forma secuencial en cintas magnéticas. Comúnmente vemos asociado su uso al formato .gzip( los archivos tar.gz).
Archivos .tar.gz:
Comprimir: $ tar -czvf empaquetado.tar.gz /carpeta/a/empaquetar/
$tar -czf archivo.tar.gz ficheros
Descomprimir: $ tar -xzvf archivo.tar.gz
ver contenido :tar -tzf archivo.tar.gz
Archivos .tar:
Empaquetar: tar -cvf paquete.tar /dir/a/comprimir/
Desempaquetar: tar -xvf paquete.tar
-Ficheros .tar.bz2
Comprimir:
tar -c ficheros | bzip2 > archivo.tar.bz2
Descomprimir:
bzip2 -dc archivo.tar.bz2 | tar -xv
Ver contenido: # bzip2 -dc archivo.tar.bz2 | tar -t
LHA
Haruyasu Yoshizaki desarrolló en los años 1988 en Japón el algoritmo de compresión de archivos LHA y creó una herramienta informática con el mismo nombre para comprimir y descomprimir archivos en dicho algoritmo, de libre distribución y código abierto llamándola originalmente LHArc.
Una versión más avanzada fue tentada a llamarse LHx, pero se llamó eventualmente con el nombre LH, ya que tuvo que ser renombrada finalmente por LHA al tener conflicto con el igual nombrado comando de MS-DOS 5.0 LH ("load high").
Funciona en modo de línea de comandos en ventana de consola, por lo que la falta de una interfaz gráfica ha contribuido a que no sea actualmente muy utilizado.
La mayoría de los descompresores reconocen y pueden descomprimir este formato sin ninguna dificultad. El formato LHA es de los más utilizados en los ordenadores con AmigaOS y MorphOS. LHA Sigue siendo muy popular en Japón.
En Ubuntu para poder utilizar este formato para comprimir/descomprimir debemos instalar:
$sudo apt-get install lha
En Sistemas Windows, los programas winzip y winrar reconocen este formato.
ARJ
ARJ (Archived by Robert Jung) es una aplicación para crear archivos comprimidos creada por Robert K. Jung. La última versión de ARJ fue la 2.85 (febrero de 2009), que soporta las arquitecturas de Intel de 16 y 32 bits.
La compresión de ARJ es similar en cierta medida a la de PKZIP 1.02. Algunas partes de ARJ estaban cubiertas por una patente americana. Estaba disponible para ser licenciado bajo términos más amigables que PKZIP. Nunca terriblemente popular, sus días cumbre fueron durante la era de las BBS en parte porque podía crear archivos multivolumen (dividiendo un archivo grande en ficheros más pequeños). ARJ también permitía al usuario alterar el nivel de compresión de un archivo, haciéndolo popular en redes de correo de paquetes pequeñas como WW4Net y HOGNet que usaban opciones de compresión más bajas para aprovechar la compresión basada en módem (como MNP o v.42bis) para reducir las facturas de las llamadas a larga distancia que invariablemente conllevaban la membresía en estas redes. Desde esos días, ARJ ha perdido mucha de su cuota de mercado, a favor de RAR y otros formatos; la falta de una interfaz gráfica también ha contribuido a su desaparición virtual del mundo del escritorio.
En Ubuntu debemos instalar :
$sudo apt-get install arj
ACE
ACE es un formato de archivo de compresión de datos privativo desarrollado por e-merge GmbH. Los partidarios de ACE sostienen que ofrece una compresión superior al formato ZIP aunque al coste de una velocidad de compresión más lenta.
La extensión de fichero es .ace. El tipo MIME es application/x-ace-compressed.
WinACE mantenido por e-merge GmbH, se usa para descomprimir y manipular ficheros ACE en Microsoft Windows. También hay versiones más antiguas de un programa llamado «unace», que están licenciadas bajo la GPL, pero no pueden extraer archivos ACE posteriores a la versión 2.0. Además, hay programas de descompresión de este tipo de archivos que son gratuitos para muchas plataformas (como Mac OS X y Linux), pero tampoco son software libre.
Para instalar unace en Ubuntu:
$ sudo apt-get install unace
Extraer archivo ACE
$unace -e archivo.ace
7z
7z es un formato de compresión de datos sin pérdida con tasas muy altas, superando a las de los populares formatos zip y rar . La extensión de fichero para los archivos pertenecientes a este formato suele ser .7z. Puede utilizar diferentes algoritmos de compresión.
Es libre y fue creado e implementado por los desarrolladores del programa 7-zip bajo la licencia GNU-LGPL.
El tipo MIMEde 7z es application/x-7z-compressed.
Para su uso en Ubuntu debemos instalar p7zip:
$sudo apt-get install p7zip
COMPRESS
Es uno de los programas más antiguos de compresión ya que fue creado en 1982, es el sucesor de otro programa llamado COMPACT creado dos años antes, Es una implementación directa del esquema de compresión basado en diccionario LZW. Compress da una compresión significativamente mejor que COMPACT, y se ejecutaba más rápidamente. Incluso más, el código fuente para comprimir estaba disponible puesto que era un programa de dominio público, y esto repercutió en una mayor portabilidad. Compress aún es usado entre usuarios de Unix, aunque su uso continuado es cuestionable dado que la patente del LZW es propiedad de Unisys.
Para usarlo en Ubuntu:
$ sudo apt-get install ncompress
comprimir:
$compress archivo
descomprimir
$uncompress.real archivo.Z
fuentes :
-http://www.e-capy.com/comprimir-y-descomprimir-tgz-tar-gz-y-zip-por-linea-de-comandos-en-linux/
-http://www.taringa.net/posts/linux/2636438/Comprimir-y-descomprimir-en-ubuntu.html
-http://www.galeon.com/odiseus/info/intro.htm
Mantenimiento de Linux:Pasándole la Escoba a Ubuntu y otras distro
Ubuntu es una distro con frecuentes actualizaciones, y el hecho de que mantengamos nuestro sistema actualizado o al instalar/desintalar paquetes, acarrea como consecuencia que quedan librerías y paquetes obsoletos que lo único que hacen es ocupar espacio en nuestro disco duro, disminuyendo el rendimiento en general de nuestro sistema.Para esto debemos hacer lo siguiente:
1- Terminal
* Limpiar cache de aplicaciones instaladas: sudo apt-get clean
* Limpiar posibles dependencias de aplicaciones desinstaladas: sudo apt-get autoremove
2- Gestor de Paquetes Synaptic
los seleccionas todos (Ctrl+A) y los eliminas -->Clic Botón Secundario/Marcar para eliminar/Aplicar
Sin embargo existe un pequeño script llamada ubuclean, el cual permite :
1. limpiar el Sistema de memoria cache.
2. Remover archivos de configuración.
3. Elimina los Kernel que no se usan.
4. Y vacia nuestra papelera.
Ubuclean lo podemos descargar de este enlace
$chmod -c 744 71529-ubucleaner.sh
$sudo ./71529-ubucleaner.sh
librerías que estaban de mas sino también antiguos Kernels con lo que logré recuperar
mas de 400 MB de espacio en el disco duro, y ahora me da gusto como está funcionando
el equipo.
A todo esto este dato lo acabo de encontrar en esta dirección:
http://www.taringa.net/posts/info/1137895/Pasale-la-escoba-a-Ubuntu-_-y-otras-distros-tambien_.html
Existe una utilidad llamada KleanSweep para los usuarios de Distribuciones Linux con
KDE (en Gnome también se ejecuta pero mas lento). Sin embargo no la he probado.
OLPC y como Chile se quedó fuera
Nueva Laptop XO-3 con sistema Android
El clásico Laptop OLPC XOTuve la oportunidad de conocer la experiencia uruguaya, debido a una conferencia dictada en la Ufro el año 2009, en la cual, una de las encargadas del Ministerio de Educación de ese país, nos expuso el Plan Ceibal, un ambicioso proyecto mediante el cual se logró el objetivo de que a 300.000 niños de ese país, fueran beneficiados con una de esas laptops, se capacitó fuertemente a los maestros de escuela para trabajar con las Xo, se invirtió en infraestructura y conectividad en las escuelas de ese país. Se dotó una red de soporte logístico y técnico para las laptops, mediante la cual, por ejemplo si a un chico sufría la pérdida o robo de la laptop deben llamar a un número y dar sus datos, e inmediatamente mediante el nro de serie esa laptop es ingresada a una blacklist, quedando así inutilizada, asi como después de dos meses de que no se conecta a la red Ceibal se activa el bloqueo. Tras años de experiencia con este proyecto, ahora el Ministerio de ese país, ha llevado adelante un programa de recambio de equipos, mediante el cual los estudiantes que pasan a los primeros años de secundaria por ejemplo, pueden optar a un equipo OLPC nuevo con mas prestaciones en hardware.
El 8 de Enero, en el CES(Consumer Electronic Show) realizado en Las Vegas, EE.UU, la Fundación OLPC, presentó su nueva tablet XO 3.0, con carcasa resistente a los golpes, la cual irá destinada a países como Nicaragua y Uruguay. Esta tablet al contrario de los laptops, no llevará S.O. basado en Red Hat sino que llevará el sistema operativo que rivaliza con Windows 8 y iPad OS en el mercado de las tablet, y que rivaliza con Windows Phone y iPhone OS: Android. Por lo que el proyecto, lejos de estar muerto, parece seguir adelante.
No puedo negar que el proyecto tuvo problemas, en su implementación, en especial en países como Perú. En proyectos de esta envergadura siempre existen los inponderables, pero si se logra una buena implementación se llevan adelante. Hay quienes piensan que da lo mismo que no se implementara el proyecto, y que los alumnos pueden acceder a los computadores y netbooks existentes en las escuelas, y ante esto quiero decir que si bien el gobierno chileno ha aumentado, la cantidad de computadores y que por ejemplo los niños a partir del sexto básico pueden acceder a un notebook o netbook inscribiéndose en el programa "Yo elijo Mi Pc" , para recibirlo en Séptimo Básico, aún hay un porcentaje de alumnos que no tienen acceso a un equipo, y que muchos alumnos con suerte logran acceder a un equipo de la escuela, un par de horas a la semana, debido al bajo número de éstos en comparación a la cantidad de alumnos de la escuela. En algunas escuelas esta proporción llega a un equipo por cada 12 alumnos,siendo que en países desarrollados como Finlandia la proporción de equipos por alumno, es de 2 alumnos por equipo . Si bien el Estado ha hecho un esfuerzo por destinar mas equipos a las escuelas, a través de programas como Plan TEC, y TIC en Aula, en la mayoría de las escuelas existe equipamiento que , o bien lleva varios años de uso en las escuelas y ya está desfasado(equipos con poca memoria para las necesidades actuales, o es equipamiento donado a través de fundaciones como Chile Enter, el cual es equipamiento de segunda mano, dado de baja de las empresas o por particulares porque ya está obsoleto, o traído del extranjero también dado de baja de allá por lo mismo.
Ahora nos queda solamente ver como nuestros vecinos progresan, y si algún día sucede el milagro de sumarnos a esta iniciativa, tendremos que aprender de los uruguayos.
segunda mano
BlogUpp!
Directorio de Blogs
Lista de sitios
- Barrapunto.com
- Blog de Eugenia Bahit
- Blog de Xavier Araque: Diseño Gráfico con herramientas libres
- Code Academy
- Cofradía.org
- Crónica de un Desarrollador y como no morir en el intento
- Delirium Labs
- detodoprogramacion.com
- El baúl del programador
- El tux Angelverde
- Espacio Linux
- Foros Linux-cd.com.ar
- Geeks & Linux Atelier!
- Grupo de Usuarios Linux de Argentina
- Grupo de Usuarios Linux de Barcelona
- Grupo de Usuarios Linux de Venezuela
- Khan Academy
- La Libertad de Desarrollar no tiene precio: Blog de Ernesto Crespo
- Libro Blanco del Software Libre
- Linux Echoes
- Linux en CD
- linux en español
- Linux Hispano
- Linux Magazine
- Linux para Todos
- Linux para Todos
- Linuxdata
- Lopst
- Mundo Linux
- Pillate un Linux
- Planeta Linux
- Plaza Linux
- Sitio de Programación del Guille
- Sitio Oficial de Lihuén
- Sitio oficial de Ututo
- Syrius InfoBlog
- tux apuntes
- Ubuntips
- Ubuntizando.com
- Usuario Debian
- Usuarios chilenos de Debian
About Me
- airwolf97