¿Qué es GNU/Linux?
Lo que realmente se entiende bajo el término Linux es el Kernel, el núcleo del sistema operativo. Pero el kernel por sí solo no forma todavía ningún sistema operativo. Justamente para Unix existe una gran cantidad de software libre, lo que significa que estos están también disponibles para Linux. Es el conjunto de todo esto (kernel y utilidades) lo que realmente forma un sistema operativo.
En cuanto a las utilidades se trata generalmente de la versión GNU de los programas correspondientes de Unix, que la mayoría de las veces ofrecen mayor funcionalidad. El más conocido es el compilador GNU C/C++, considerado uno de los mejores compiladores del mundo. Tampoco se debe de olvidar todas aquellas utilidades que se pueden usar en la línea de comandos o en scripts: utilidades de tratamiento de textos o ficheros como sed, awk y perl (que es mucho mas que una utilidad), hasta editores como el vi o entornos de trabajo completos como Emacs.
Todo se complementa con el Servidor X Window para sistemas Unix de PC, Xfree86 (actualmente en la versión 4.3.0). Esta versión se ha portado de la distribución oficial X11R6.3 del consorcio X Consortium Inc., lo que proporciona total compatibilidad con este estándar.
Como ya se ha mencionado, existe para Unix una cantidad enorme de software libre, lo que permite a su vez componer una multitud de sistemas Linux. En este punto aparecen las distribuciones (SuSE, RedHat, Slackware, Debian, OpenLinux, Mandrake ... ), las cuales contemplan la enorme oferta de software libre y eligen los programas más adecuados para distribuirlos en forma de CD o través de Internet, así que no hace falta comprar una distribución para tener un sistema GNU/Linux en nuestros servidores.
INTRODUCCIÓN
En el año 1991, un estudiante de informática llamado Linus Torvalds comienza a programarse su propia versión de Unix. Linus publica en Internet no solamente los binarios, o sea los ejecutables en código máquina, sino también los fuentes correspondientes. El crecimiento de Internet hace que centenares de programadores de todo el mundo colaboren en el desarrollo de Linux: su motivación es resolver problemas individualmente, trabajando en equipo o bien, les gusta añadir nuevas funcionalidades para perfeccionar el sistema. La única condición es la de proporcionar el trabajo hecho y su código fuente otra vez a la comunidad de programadores. Este principio se manifiesta en la GNU General Public License (GPL).
Hoy en día existen muy buenas razones para optar por Linux ya que, el sistema ofrece estabilidad, seguridad y velocidad. Otro aspecto importante es su capacidad de conectividad en redes que ha sido decisiva para la conquista del mercado de servidores. Los gurús del Linux aprecian la disponibilidad del código fuente lo que proporciona al sistema operativo un alto nivel de independencia y flexibilidad. Debido a esta disponibilidad nadie está a merced de ningún productor de software sino que es posible hacer adaptaciones y extensiones según las necesidades. Tampoco hay que olvidar que el uso de Linux no exige la adquisición de licencias; da igual si se usa de forma particular o con propósitos comerciales.
Además de la gran cantidad de aplicaciones libres, cada vez hay mas aplicaciones de uso comercial para Linux. Productores de Bases de Datos como Oracle, Informix y Sybase al igual que de suites ofimáticas como Aplix, Corel o OpenOffice ofrecen sus productos para Linux.
¿Por qué Linux?
Cuando se obtiene la distribución de GNU/Linux, también obtiene la libertad para estudiarla, copiarla, cambiarla, y redistribuirla. Eso es lo que la hace realmente libre.
Muchas compañías desarrollan sus propios sistemas operativos basados en el sistema central GNU: Crean productos derivados sobre los cuales no tienen los derechos exclusivos. Entonces, ¿cómo funciona todo?
* La mayoría de las empresas consiguen beneficios gracias al soporte técnico y otros servicios de pago relacionados con su distribución de GNU/Linux. Los clientes empresariales pagan por la garantía de actualizaciones de seguridad y asistencia, e incluso muchas veces entrenamiento y modificaciones al software para adecuarlo a sus necesidades.
* Otras compañías, como HP e IBM, contribuyen con Linux porque lo preinstalan en los servidores que venden.
* Una enorme comunidad participa en el desarrollo y mejora del software, disminuyendo los costos y mejorando la eficiencia.
Finalmente, las personas suelen obtener el software gratuitamente, mientras que los clientes empresariales suelen estar felices de pagar para un soporte más avanzado.
Por qué Windows no
Windows y Office funcionan bien, entonces, ¿cómo pueden ser tan malos?
Restricciones
Restricciones Una copia legal de Windows es costosa, pero, ¿qué obtienes realmente? Ni Windows ni office son vendidos, sino que lo que se vende es una licencia para usarlos.
Para usar estos productos, tenemos que aceptar varias restricciones muy fuertes. En la mayoría de las licencias de Windows, no puedes conservar el software cuando cambias de computador. A veces ni siquiera puedes regalar el software. Microsoft te impone quién puede usar el software, en qué computador y para qué propósitos; la lista de restricciones es larga y en ocasiones aberrante.
El software debería venir sin mecanismos para atar a los usuarios a los productos de una compañía.
¿Por qué los documentos de Office son tan difíciles de exportar? ¿Por qué sus formatos están constantemente cambiando? ¿Por qué ni siquiera puedes desinstalar algunos programas? Si buscas el control, los productos de Microsoft no son para ti.
El código fuente (los detalles del funcionamiento de un programa) de Windows y Office están ocultos, y además nadie tiene permiso legal para averiguar cómo funcionan.
Si no tienes derecho a inspeccionar el código fuente (la descripción del funcionamiento de un programa), no puedes pedirle a un informático que modifique el software ni que evalúe cómo el software protege tu privacidad.
Y adivina qué: En el software que cuyo código fuente está disponible, los programas maliciosos (como los virus) no logran su objetivo, es decir, aquí la seguridad no se compra por separado. La industria de los antivirus, en la cual Microsoft juega un papel crucial, prefiere que tú uses Windows.
La importancia de una sociedad libre
Una sociedad libre necesita software libre. Necesita la libertad para inspeccionar el software, aprender de él, y modificarlo de acuerdo a sus necesidades.
Los computadores se usan para compartir ideas, cultura e información. Sin estas libertades sobre el software, estamos en riesgo de perder el control sobre lo que compartimos.
Esto ya está sucediendo hoy; desde tecnologías evidentemente fastidiosas como la Gestión de Digital de Restricciones (DRM) hasta las completamente espantosas como la Computación Confiable (TC). El derecho que tiene cualquiera de participar en la cultura se está viendo amenazado.
Si tienes que renunciar a tu libertad para usar un software, quizá entonces no estés contento con él.
Instalación de GNU/Linux
Toda la información que sigue a continuación referida a la instalación de un servidor GNU/Linux, hará referencia a la distribución Fedora Core 1 de Linux. Los pasos a seguir no difieren en demasía para otras distribuciones, sobre todo en lo referente a los métodos de instalación ( CD-ROM, ftp, http, NFS, disco duro). La elección de la distribución dependerá del usuario o administrador, siendo una de las mejores opciones RedHat bajo mi personal punto de vista.
Métodos de Instalación
Puede instalar o actualizar Fedora Linux mediante varios métodos. Cada método funciona mejor en situaciones distintas, y tiene requerimientos distintos. Pero antes de describir cada método de instalación, veamos un matiz que puede afectar a algunos de ustedes.
Instalación desde CD-ROM
Si usted posee un CD-ROM con Red Hat Linux, y su ordenador tiene una unidad de CD-ROM debería considerar instalar por este procedimiento. Instalar directamente desde un CD-ROM es la aproximación más sencilla. Al instalar desde CD-ROM, los paquetes que usted seleccione serán copiados desde el CD-ROM, y serán instalados en su disco duro.
Como su propio nombre indica, necesitará un CD-ROM de Red Hat Linux, una unidad de CD-ROM soportada, y una manera de arrancar el programa de instalación.
Los sistemas Intel necesitarán usar un disquete de arranque (y el disquete con soporte PCMCIA si se usa un dispositivo PCMCIA durante la instalación). Hay un método alternativo para instalar desde CD-ROM que no usa disquetes, pero requiere que el sistema esté ejecutando DOS. El CD-ROM de Fedora Linux/Intel también puede ser el disco de arranque para los ordenadores nuevos que soporten CD-ROMs auto arrancables. No todos los ordenadores aceptan esta característica, así que si el suyo no puede arrancar desde CD-ROM, tendrá que utilizar un disquete de arranque (o aoutoboot desde DOS) para comenzar el proceso. Tenga en cuenta que puede necesitar cambiar la configuración de su BIOS para habilitar esta característica.
Instalación desde un servidor Ftp
Si no cuenta con un CD-ROM de Red Hat Linux o no posee una unidad de CD-ROM, pero tiene acceso a una red, puede que una instalación por FTP sea para usted. Cuando se instala vía FTP los paquetes de Red Hat Linux que seleccione son obtenidos (usando FTP) a través de la red, y son instalados en su disco duro.
Al realizar una instalación por FTP, necesitará acceso a una red basada en LAN; una conexión telefónica vía módem no funcionará. Si su Red de Área Local (Local Area Network) tiene acceso a Internet, puede usar uno de los muchos sitios FTP que hacen espejo de Red Hat Linux. Puede encontrar una lista de sitios en http://www.redhat.com/mirrors.html. Si su LAN carece de acceso a Internet, no todo está perdido. Si hay un ordenador en su LAN que acepte peticiones anónimas de FTP, simplemente ponga una copia de la distribución Red Hat Linux en ese sistema, y estará listo para empezar.
Su servidor de FTP debe ser capaz de manejar nombres largos de archivo. Para instalar por FTP, debe utilizar el disco de arranque específico a la instalación por red, y un disquete con soporte PCMCIA si va a usar un dispositivo PCMCIA durante la instalación. Necesitará tener configurado un servidor de nombres válido o deberá especificar la dirección IP del servidor de FTP que vaya a utilizar. También necesitará saber el path o camino del directorio de Red Hat Linux en el servidor de FTP.
Instalación desde un servidor HTTP
Para instalar por HTTP, debe utilizar el disco de arranque específico para la instalación por red, y un disquete con soporte PCMCIA si va a usar un dispositivo PCMCIA durante la instalación. Necesitará tener configurado un servidor de nombres válido o deberá especificar la dirección IP del servidor de HTTP que vaya a utilizar. También necesitará saber el path o camino del directorio de Red Hat Linux en el servidor de HTTP.
Instalación desde un servidor NFS
Para instalar por NFS, deberá montar el CD-ROM de Red Hat Linux en un ordenador que soporte el sistema de archivos ISO-9660 con extensiones Rock Ridge. La máquina también debe soportar NFS. Exporte el sistema de archivos del CD-ROM por NFS. Necesitará tener configurado un servidor de nombres válido o deberá especificar la dirección IP del servidor de NFS que vaya a utilizar. También necesitará saber el path o camino del CD-ROM exportado. Su servidor NFS debe soportar nombres largos de fichero. Para instalar por NFS, sólo necesitará un disquete de arranque.
Instalación desde disco duro
Si ninguno de los métodos de instalación le funciona, pero tiene medios para copiar los archivos de Red Hat Linux en el disco duro de su sistema, puede instalar desde su disco duro. En este método de instalación, los paquetes de Red Hat Linux que escoja serán leídos de una partición en un disco duro, y serán instalados en otra partición (o grupo de particiones).
El método de instalación desde disco duro requiere un poco de esfuerzo por adelantado de su parte, pues debe copiar todos los archivos necesarios en una partición antes de comenzar el programa de instalación de Red Hat Linux. Primero debe crear un directorio Fedora en el directorio raíz de su árbol de directorios. Todo lo que vaya a instalar debe estar colocado en ese directorio. A continuación, copie las imágenes ISO de los CD's en ese directorio. El sistema de instalación se encargará de acceder a los paquetes una vez hemos indicado la ruta a los archivos de Fedora.
Creación de un disquete de arranque
Cuando no sea posible arrancar nuestra máquina directamente desde el CD-ROM, y sea el que sea el método elegido ( ftp, nfs, http, cd-rom ) para la instalación, deberemos crearnos un disquete de arranque desde un archivo imagen.
Un archivo imagen es un fichero que contiene una copia exacta (o imagen) del contenido de un disquete. Como el disquete contiene información del sistema de archivos, aparte de la información contenida en los ficheros, el archivo imagen no se podrá usar hasta que lo escribamos en un disquete. Para hacer esto, necesitará un disquete de 3,5 pulgadas de alta densidad (1.44 MB), y un ordenador con unidad de disquetes adecuada para este formato, capaz de ejecutar un programa DOS o la utilidad dd, que puede encontrar en la mayoría de los sistemas operativos del estilo de Linux.
Puede encontrar los ficheros imagen en los siguientes directorios de su CD de Red Hat Linux. Suponiendo que el CD-ROM se encuentra en la unidad D: bajo DOS, habrá que acceder al directorio d:\images.
Una vez que ha seleccionado el fichero imagen apropiado, ha llegado el momento de transferirlo a un disquete. Esto se puede hacer en un sistema DOS, o en un sistema en el que se encuentre funcionando un sistema operativo de tipo Linux.
Para preparar un disquete bajo MS-DOS, emplee la utilidad rawrite que incluímos en el CD de Red Hat Linux en el directorio dosutils. Primero etiquete un disquete formateado con el nombre adecuado. Introdúzcalo en la unidad de disquetes, y emplee las siguientes órdenes en su computadora. Asumimos que su unidad de CD es D::
D:> cd dosutils
D:> rawrite
Enter disk image source file name: ..\images\boot.img
Enter target diskette drive: a:
Please insert a formatted diskette into drive A: and press ENTER
rawrite le preguntará primero por el nombre del archivo imagen. Introduzca el nombre completo, incluyendo el directorio, del archivo que desea escribir en el disquete, por ejemplo: ..\images\boot.img. A continuación, rawrite pregunta por la unidad de disquete a donde transferir el fichero imagen. Por último, rawrite le pide que confirme que hay un disquete formateado en la unidad seleccionada. Una vez que haya pulsado Intro para confirmar, rawrite copia el fichero imagen al disquete. Si precisa preparar otro disquete, etiquételo y utilice rawrite de nuevo, indicando el achivo imagen apropiado.
Para preparar un disquete de instalación bajo Linux, u otro sistema operativo de su mismo tipo, precisa de permiso de escritura para el dispositivo asociado a la unidad de disquetes de 3.5" (/dev/fd0 bajo Linux). Primero etiquete un disquete formateado y en blanco de manera apropiada (p.ej. «disco de arranque», «disco suplementario», etc...). Introdúzcalo en la unidad de disquetes, pero no utilice la orden mount con él. Cuando haya montado el CD, cambie al directorio que contenga el archivo imagen deseado y emplee la siguiente orden en su computadora (cambiando el nombre del archivo imagen según lo precise:
grooucho@fferrer$ cd /mnt/cdrom/images
grooucho@fferrer$ dd if=boot.img of=/dev/fd0
Particionando el disco duro
Se recomienda encarecidamente que antes de particionar un disco duro que contenga otras particiones ( otros sistemas operativos ) se haga una copia de seguridad de los datos importantes. La utilidad básica de cualquier distribución GNU/Linux utilizada para particionar discos se llama fdisk. Pero Fedora Linux 9 en su proceso de instalación utiliza un programa mas amigable llamado Disk Druid. Con Disk Druid podremos añadir nuevas particiones (Add), editar una partición existente (Edit), borrar una partición existente (Delete), o resetear la partición a su estado original (Reset).
De todas formas vamos a analizar algunas situaciones con las que nos podemos encontrar a la hora de particionar nuestro disco duro.
Linux y otros sistemas operativos
Para poder instalar Fedora Core 1 Linux, debe hacerle sitio en su disco duro. Este espacio en disco debe estar separado del que utilizan otros sistemas operativos que pueda tener instalados en su ordenador, como Windows, OS/2, o incluso otra versión de Linux. Esto se consigue dedicando una o más particiones a Fedora Linux.
Que las particiones de Fedora Linux vayan a compartir el disco duro con particiones usadas por otros sistemas operativos, la mayoría de las veces, no le supondrá ningún problema. Aún así, hay ciertas combinaciones de Linux con otros sistemas operativos que requieren precauciones adicionales. Hay información sobre cómo crear particiones compatibles con otros sistemas operativos en varios COMOs y Mini-COMOs (HOWTOs y Mini-HOWTOs), incluídos en el CD de Red Hat Linux en los directorios doc/HOWTO y doc/HOWTO/mini. En particular, los Mini-COMOs cuyos nombres comienzan con Linux+ son bastante útiles.
Si Fedora Linux/Intel va a coexistir en su sistema con OS/2, debe crear las particiones de su disco duro con el software de particionamiento de OS/2--de otro modo, OS/2 puede no reconocer las particiones. Durante la instalación, no cree particiones nuevas, pero establezca correctamente los tipos de partición de sus particiones Linux usando fdisk para Linux.
Particiones y puntos de montaje
Hay un área que los neófitos en Linux encuentran complicada y es la forma en que el sistema operativo Linux accede y usa las particiones. En DOS/Windows, es relativamente fácil. Si tiene más de una partición, cada una obtiene una ``letra de unidad''. Se usará dicha letra de unidad para referirse a los archivos o directorios de una partición dada.
Esto es completamente distinto a cómo Linux maneja las particiones y, a los efectos, el almacenamiento en disco en general. La diferencia principal es que cada partición se integra en el sistema de almacenamiento necesario para formar parte de un sólo juego de archivos y directorios. Esto se consigue asociando una partición con un directorio mediante un proceso conocido como montaje. Montar una partición significa disponer de su capacidad de almacenamiento comenzando en el directorio especificado (conocido como punto de montaje).
Por ejemplo, si la partición /dev/hda5 estuviera montada en /usr, significaría que todos los archivos y directorios bajo /usr estarían físicamente alojados en /dev/hda5. Por lo tanto, el archivo /usr/doc/FAQ/txt/Linux-FAQ estaría almacenado en /dev/hda5, mientras que el archivo /etc/X11/gdm/Sessions/Gnome no lo estaría. Continuando con nuestro ejemplo, también es posible que uno o más directorios bajo /usr fueran puntos de montaje para otras particiones. Como ejemplo, una partición (digamos /dev/hda7) estaría montada en /usr/local, queriendo decir que, por ejemplo, /usr/local/man/whatis residiría en /dev/hda7 y no en /dev/hda5.
Número de particiones
En este punto del proceso de preparación para instalar Fedora Linux, necesitará considerar el número y el tamaño de las particiones que utilizará su nuevo sistema operativo. Se recomienda, a no ser que tenga una razón para no hacerlo, crear las siguientes particiones como mínimo.
Una partición de intercambio (swap). Las particiones de intercambio se usan como apoyo a la memoria virtual. Si su ordenador tiene 16 MB de RAM o menos, debería crear una partición para el intercambio. Incluso teniendo suficiente memoria, se sigue recomendando tener una partición swap. El tamaño mínimo debería ser igual a la RAM presente en su ordenador.
Una partición /boot. La partición montada en /boot contiene el kernel del sistema operativo, así como los archivos usados durante el arranque. Debido a las limitaciones de la mayoría de las BIOS de los PCs, no es mala idea crear una pequeña partición para alojar estos archivos. Esta partición no debería ser mayor de 16MB.
La partición raíz o partición root. La partición raíz es donde reside / (el directorio raíz). En este perfil de particiones, todos los archivos (excepto los alojados en /boot) se encuentran en la partición raíz. Por ello, interesa maximizar el tamaño de la partición raíz. Una partición raíz de unos 1500 MB le proporcionará el equivalente a una instalación de tipo workstation (con muy poco espacio libre, mientras que una partición raíz de 4 GB le permitirá instalar todos los paquetes.
De todas formas, es posible crear una estructura de particiones diferentes para adecuarla a las funciones que realice nuestro servidor. No sería mala idea colocar los directorios /tmp y /home en particiones separadas de la partición raíz, ya que si los usuarios van a acceder al servidor, esta división prevendrá que estos puedan llenar cualquier sistema de ficheros crítico. Tampoco sería mala idea colocar /var y /usr en particiones separadas, por las mismas razones esgrimidas anteriormente.
Por último comentar que será a través de la herramienta Disk Druid, donde podremos definir el número y el tipo de las particiones que requerirá nuestro sistema. Hay que comentar que el tipo de las particiones que utiliza Linux es el ext3 (por lo menos la particiones del sistema deberán de ser de este tipo), lo cual no le impide que pueda ser capaz de leer o crear otro tipo de particiones.
Elección del gestor de arranque
Para poder arrancar el sistema sin la necesidad de un disquete de boot, normalmente se utiliza un cargador de sistemas operativos. Este cargador es un software que se ejecuta cuando la máquina arranca y es el responsable de cargar y transferir el control al kernel. El kernel a su vez, inicializa el resto del sistema operativo. El proceso de instalación de Fedora, proporciona dos tipos de cargadores a elegir, GRUB y LILO.
GRUB (GRand Unified Bootloader), el cargador por defecto, es el mas poderoso. Puede cargar una gran variedad de sistemas operativos libres, así como sistemas operativos propietarios utilizando la técnica de chain-loading.
LILO (LInux LOader) es también un cargador para linux muy eficaz. No depende de un sistema de ficheros específico y puede arrancar/cargar imágenes del kernel linux desde disquete o disco duro, así como otros sistemas operativos.
Instalación de paquetes
Después de configurar las particiones y seleccionarlas para formatearlas, se está en disposición de seleccionar los paquetes para su instalación. Puede seleccionar componentes, que agrupan paquetes por su función, paquetes individuales, o una combinación de ambos.
Los componentes agrupan paquetes según la funcionalidad que proporcionan. Por ejemplo, Desarrollo C [C Development], Estación de Trabajo en Red [Networked Workstation], o Servidor Web [Web Server]. Seleccione cada componente que desee instalar y presione Espacio. Si selecciona Todo [Everything] (puede ser encontrado al final de la lista de componentes) se instalan todos los paquetes incluidos en Red Hat Linux. Si selecciona todos los paquetes, necesitará cerca de 1Gb de espacio de disco libre.
Después de seleccionar los componentes que desea instalar, puede querer seleccionar o deseleccionar paquetes individuales. El programa de instalación presenta una lista de los grupos de paquetes disponibles; utilizando las flechas, seleccione un grupo para examinar, y presione Intro o Espacio. El programa de instalación presenta una lista de los paquetes de ese grupo, que debe seleccionar o deseleccionar utilizando las flechas para resaltar un paquete, y presionando Espacio. Algunos paquetes (tales como el núcleo y ciertas librerías) son necesarios en todos los sistemas Red Hat Linux y no están disponibles para ser seleccionados o deseleccionados.
Muchos de los paquetes software, para trabajar correctamente, dependerán de otros paquetes software, o librerías que deben ser instaladas en su sistema. Por ejemplo, muchas de las herramientas gráficas de administración de sistema de Red Hat requieren los paquetes python y pythonlib. Para asegurar que su sistema tenga todos los paquetes que necesite para ser completamente funcional, Red Hat Linux comprueba las dependencias de estos paquetes cada vez que instala o elimina paquetes software. Después de que haya acabado de seleccionar paquetes para instalar, el programa de instalación comprueba la lista de dependencias de los paquetes seleccionados. Si cualquier paquete necesita otro paquete que no ha seleccionado para instalar, el programa presenta una lista de estas dependencias sin resolver y le da la oportunidad de resolverlas. Si simplemente presiona Aceptar [Ok], el programa las resolverá automáticamente añadiendo todos los paquetes requeridos por la lista de paquetes seleccionados.
Después de haber resuelto todas las dependencias de los paquetes, el programa de instalación presenta un cuadro de diálogo indicándonos que se va a escribir el fichero /tmp/install.log con un registro de todos los paquetes instalados en su Red Hat Linux. Seleccione la opción Aceptar [Ok] y presione Espacio para continuar. En este punto, el programa de instalación formateará todas las particiones que haya seleccionado para formatear. Este proceso puede llevar varios minutos, (e incluso será más largo si le indicó al programa de instalación que comprobara los bloques dañados). Una vez formateadas las particiones, el programa de instalación empieza a instalar paquetes.
El núcleo de Linux
El núcleo de un sistema operativo es el programa que gobierna el hardware del ordenador y ofrece una interfaz de servicios al resto de programas (procesos) que se ejecutan en dicho ordenador. Normalmente, el núcleo es el primer código que se carga en memoria cuando encendemos el ordenador y permanece en dicha memoria mientras el sistema está en funcionamiento, entrando en ejecución cada vez que un proceso requiere uno de sus servicios o un dispositivo físico requiere su atención. Una de las diferencias fundamentales entre el núcleo del sistema y los procesos que se ejecutan "por encima" del mismo es que uno y otros se ejecutan en modos de procesador distintos (siempre que el hardware del ordenador soporte esta característica). El núcleo suele ejecutarse en alguno de los modos privilegiados del procesador, en el que tiene completo acceso a todo el hardware (incluyendo la programación de los dispositivos), mientras que los procesos se ejecutan en "modo usuario", en el que no pueden ejecutar un buen número de de instrucciones máquina del procesador. De esta forma, el núcleo se convierte en una especie de intermediario obligado en la mayoría de las acciones que los procesos ejecutan, lo que le permite implementar de forma adecuada la multitarea, repartiendo de forma equitativa y segura los recursos del sistema entre los diferentes procesos que se ejecutan en cada momento.
En el caso concreto de Linux, el tema del núcleo puede inducir a error, dado que se suele denominar Linux al sistema operativo completo (incluyendo todos los programas y utilidades que podemos ejecutar cuando instalamos el sistema) además de al núcleo en sí mismo. En otros sistemas operativos comerciales (como por ejemplo Windows 2000 o Solaris) esta distinción no es necesaria, puesto que ambos (el núcleo y dicho conjunto de utilidades y programas que se distribuyen junto con él) provienen de la misma empresa (en el ejemplo, Microsoft y SUN Microsystems, respectivamente) y se distribuyen conjuntamente. Sin embargo, en el caso de Linux esto no es así. El núcleo propiamente dicho es desarrollado por un grupo de personas (lideradas por el creador de Linux, Linus Torvalds) de forma independiente del resto de utilidades, herramientas y aplicaciones que tenemos disponibles cuando instalamos Linux. A este conjunto de utilidades (más un núcleo concreto) se lo conoce como una distribución de Linux, y existen numerosas empresas, organizaciones e incluso individuos que mantienen distintas distribuciones: Red Hat, Fedora, Debian, SuSe, Mandrake, Caldera, Gento, etc. Puesto que el núcleo se distribuye líbremente como código GPL, en realidad cualquiera de dichas organizaciones puede realizar modificaciones en el núcleo (y algunas lo hacen), pero Linus y su equipo siguen manteniendo el control sobre el núcleo reconocido.
De esta manera, las distribuciones y los núcleos tienen versiones distintas e independientes. Por ejemplo, en estos momentos la versión actual de Fedora Linux se denomina "Core 1", y el núcleo que instala por defecto es el 2.4.22. La nomenclatura de la versión del núcleo es significativa del estado del mismo: el segundo número indica si la versión es estable (número par) o de desarrollo (número impar), mientras que el último dígito indica un número de orden (creciente) de la versión. Un número mayor indica un núcleo más reciente y (probablemente) con mayor y mejor soporte.
En la mayoría de situaciones, el núcleo pasa desapercibido al usuario común (incluso al administrador), puesto que los usuarios interactúan con los "programas" (o más correctamente con los procesos), que internamente interactúan con el núcleo. Sin embargo, existen situaciones en las que necesitamos modificar el soporte ofrecido por el núcleo, para conseguir mejores prestaciones, un sistema más seguro o mejor adaptado a un uso concreto, o simplemente para poder acceder a un nuevo tipo de dispositivo físico. Este capítulo explica los pasos necesarios para poder modificar el soporte del núcleo de Linux.
Los siguientes apartados explican los conocimientos mínimos imprescindibles sobre el núcleo de Linux (los ficheros binarios involucrados, el concepto de módulo de núcleo, donde encontrar los fuentes, etc.). Finalmente, se explica cómo obtener un núcleo nuevo, mediante la compilación de una versión en código fuente y su instalación en el sistema.
El código binario del núcleo
El código ejecutable del núcleo de Linux (el que se carga en memoria al arrancar el ordenador) reside en un fichero denominado vmlinux (o en su homólogo comprimido, vmlinuz). Normalmente, este fichero se encuentra en el directorio /boot/ y suele tener como sufijo la versión del núcleo que generó el ejecutable (por ejemplo, /boot/vmlinuz-2.4.22-1). Cuando instalamos una distribución de Linux, el fichero binario del núcleo que incorpora la distribución es instalado en ese directorio y el cargador del sistema operativo (habitualmente, LILO o GRUB) lo carga en memoria y le ofrece el control al encender el ordenador. Este fichero binario es por tanto imprescindible para el funcionamiento del sistema. Por otra parte, si instalamos un binario nuevo (de una versión más moderna, por ejemplo), debemos reiniciar el ordenador para que vuelva a ser cargado en memoria. A diferencia de otros sistemas operativos, esta viene a ser la única situación en Linux en la que instalar un nuevo software obliga a reiniciar ("...para que los cambios tengan efecto".
En realidad, el código binario del núcleo puede dividirse entre diferentes ficheros: el fichero binario principal vmlinuz mencionado arriba (que es absolutamente necesario) y, opcionalmente, un conjunto de ficheros denominados módulos de núcleo (kernel modules). Los módulos de núcleo son ficheros objeto (compilados de forma especial) que incorporan funcionalidades concretas que pueden ser instaladas y desinstaladas del núcleo de Linux sin tener que generar un nuevo ejecutable vmlinuz e incluso sin tener que reiniciar el ordenador. Normalmente, la misma funcionalidad puede ser incorporada al núcleo (en fase de compilación) como parte del binario principal o como un módulo de núcleo.
Un buen ejemplo del uso de estos módulos es la instalación de manejadores (drivers) de dispositivos. Suponga que acabamos de instalar una nueva tarjeta de red en nuestro ordenador. Si el manejador de dicha tarjeta no está integrado en el binario principal del núcleo (vmlinuz), pero sí disponemos de él como un módulo de núcleo, podemos simplemente "cargarlo" en el núcleo mediante una orden de shell, sin tener que recompilar el vmlinuz y reiniciar el sistema. Los módulos de núcleo se encuentran disponibles en Linux desde la versión 1.2, y resultan una herramienta muy útil para multitud de situaciones, en especial para poder ofrecer un núcleo con un amplio soporte de manejadores, sistemas de archivos, protocolos de red, etc., sin tener que incluirlos necesariamente en el binario principal.
De hecho, el soporte de módulos está tan bien integrado en el sistema que también resulta transparente para los usuarios en la mayoría de ocasiones. Por ejemplo, si montamos por primera vez una partición de tipo FAT32 en un sistema en el que dicho sistema de archivos está soportado por módulos de núcleo, Linux cargará automáticamente dichos módulos y luego montará la partición en el directorio correspondiente, sin ninguna intervención al respecto del usuario (ni del administrador).
Hoy en día, distribuciones como Fedora incorporan un núcleo con un soporte razonable en el binario principal y un número muy elevado de módulos de núcleo que cubren buena parte del soporte extra que podemos necesitar en el sistema. Sin embargo, existen ocasiones en las que necesitamos conseguir un soporte distinto. A continuación se enumeran algunas de ellas:
* Núcleo más pequeño. Algunos sistemas necesitan ejecutarse con poca memoria principal. Puesto que el binario principal del núcleo nunca se desaloja de memoria, en ocasiones necesitamos eliminar de dicho binario código que nuestro sistema no necesita y así conseguir más memoria para los procesos de usuario.
* Núcleo más seguro. Otra razón para eliminar código del núcleo que no necesitamos es incrementar su robustez y seguridad. Mantener más código (que no se usa) eleva la probabilidad de que nuestro sistema presente vulnerabilidades ante ataques que comprometan la seguridad del mismo.
* Núcleo más rápido. Un núcleo completamente "monolítico" (sólo el binario principal y sin módulos de núcleo) es más rápido que otro que tenga su soporte repartido entre ambos. En instalaciones en las que el hardware es lento o la velocidad del núcleo es crítica, es recomendable conseguir un núcleo monolítico (y optimizado). De esta forma conseguimos un núcleo altamente especializado, que probablemente sólo funcionará bien en el ordenador para el que ha sido compilado (u otros con idéntico hardware).
* Núcleo más portable. El caso contrario al anterior es conseguir un núcleo que funcione correctamente en el mayor número posible de ordenadores. Esto se consigue mediante un binario principal mínimo y el máximo número posible de módulos de núcleo.
El código fuente del núcleo
Como hemos visto en la sección anterior, existen ocasiones en las que es conveniente o necesario obtener un nuevo núcleo (binario principal más módulos).
Puesto que la mayoría de distribuciones incorporan los binarios de varios núcleos como ficheros preparados para instalar (por ejemplo, en formato rpm en el caso de Fedora), si sólo queremos obtener un núcleo más moderno para nuestra instalación de Linux lo más sencillo es obtener el último de dichos paquetes e instalarlo en el sistema.
Sin embargo, si desamos tener un núcleo para el que aún no hay versión binaria instalable, o simplemente deseamos cambiar el tipo de soporte del núcleo que tenemos actualmente instalado, necesitamos obtener el código fuente de dicho núcleo y recompilarlo.
Es posible que la distribución que estamos utilizando posea también como paquetes instalables los fuentes de varios núcleos (normalmente sólo de versiones estables). Si nos interesa uno de dichos núcleos, tendremos que obtener e instalar el paquete correspondiente, lo que normalmente instalará el código fuente bajo el directorio /usr/src/, en un directorio denominado linux-(versión)/ (por ejemplo, /usr/src/linux-2.4.22-1).
Por el contrario, si el núcleo que buscamos no lo tenemos disponible como paquete instalable en nuestra distribución, tendremos que acudir a los lugares de internet que mantienen en línea los distintos núcleos disponibles de Linux, como por ejemplo The Linux kernel archives.
Si optamos por esta última opción, tenemos que considerar que el código fuente se distribuye normalmente en dos formatos distintos: como un fichero en formato tar comprimido que contiene todos los ficheros fuentes del núcleo, o bien como un "parche" que contiene sólo las diferencias respecto a otra versión anterior. Si no se es un usuario experto en aplicar parches a código fuente (se realiza mediante la orden patch) se recomienda la primera opción, porque aunque lógicamente el fichero a descargarse es mucho mayor, su instalación resulta mucho más sencilla. Una vez descargado el fichero, se descomprime en un directorio (/usr/src/ es una opción razonable) y ya estamos en condiciones de comenzar la compilación del nuevo núcleo.
Compilación e instalación de un nuevo núcleo
Suponiendo que disponemos del código fuente de un núcleo de Linux bajo el directorio /usr/src/linux/, a continuación se listan las acciones que deben realizarse para construir un nuevo núcleo binario e instalarlo en el sistema.
1. Eliminar cualquier resto de ficheros de compilación en el núcleo, para recompilarlo desde cero.
[root@yoda root]# cd /usr/src/linux
[root@yoda root]# make mrproper
2. Configurar el nuevo núcleo. Existen tres herramientas de configuración alternativas: una basada en texto puro (make config), otra en un entorno de ventanas simulado en modo texto y (make menuconfig) finalmente otra en modo gráfico (make xconfig). Si utilizamos ésta última:
[root@yoda root]# make xconfig
obtenemos una ventana que ejecuta un script escrito en Tcl/Tk que visualiza un menú como el que aparece en la Figura 7.1. El menú principal de configuración del núcleo.
Figura 7.1. El menú principal de configuración del núcleo.
Como vemos, la ventana muestra multitud de botones, que ocultan a su vez menús de configuración organizados temáticamente. Al pulsar cada botón nos aparece el menú correspondiente, en donde configuraremos el soporte que deseamos para nuestro nuevo núcleo. La Figura 7.2. Uno de los submenús de configuración del núcleo. muestra, como ejemplo, el menú de configuración del tipo de procesador para el que se compilará el núcleo y sus características principales.
Figura 7.2. Uno de los submenús de configuración del núcleo.
En esta figura aparecen buena parte de las alternativas de configuración que podemos encontrarnos en todos los submenús: las opciones que aparecen en gris están habilitadas, porque son incompatibles con otras que hemos escogido (posiblemente en otros submenús). Las opciones que aparecen en negrita (opciones selecionables) pueden ser de tres tipos fundamentalmente:
* Opciones "sí/módulo/no". En este tipo de opciones podemos elegir entre tres alternativas: y, indicando que queremos incluir ese soporte en el binario principal del nuevo núcleo; m, indicando que queremos el soporte pero como módulo de núcleo; y finalmente n, indicando que no queremos ese soporte. Como vemos en la figura, en algunas de las opciones no existe la posibilidad de compilarla como módulo.
* Opciones múltiples. En estas opciones podemos elegir entre un conjunto de alternativas. Por ejemplo, en el tipo de procesador podemos elegir entre 16 tipos distintos. El menú con dichos tipos aparece al pulsar el botón correspondiente del submenú.
* Valor numérico. Existen opciones que permiten introducir un valor numérico concreto, que luego se pasará a los ficheros fuente involucrados como una constante de preproceso.
Cuando hemos acabado de configurar todas las opciones del núcleo que necesitamos para nuestro nuevo núcleo, hemos de pulsar el botón de salvar los cambios (botón "Save and Exit" en la Figura 7.1. El menú principal de configuración del núcleo.) y salir de la herramienta de configuración.
3. Comprobar el número de versión. Antes de iniciar la compilación, es conveniente asegurarse de que el núcleo tendrá un número de versión distinto del que tenemos instalado actualmente, puesto que mientras no nos aseguremos que el nuevo núcleo funciona correctamente no es buena idea deshacerse (o sobreescribir) el antiguo. Para ello editaremos el fichero /usr/src/linux/Makefile y observaremos sus primeras líneas, donde se muestra la información sobre el número de versión:
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 20
EXTRAVERSION = -20.9custom
Por ejemplo, con esta información se generaría un núcleo cuya versión sería 2.4.20-20.9custom. En el caso de que coincidiera con un núcleo actualmente instalado y que no queremos sobreescribir, deberíamos modificar sólo el campo EXTRAVERSION. De hecho, el Makefile ya nos propone un sufijo denominado "custom" que no se encuentra en ningún núcleo "oficial".
Este número de versión (en el ejemplo, 2.4.20-20.9custom) será el sufijo de todos los ficheros del directorio /boot/ que dependen del núcleo concreto (vmlinuz, initrd, System.map, config y module-info), así como el nombre del directorio donde residirán los módulos de núcleo, debajo del directorio /lib/modules/.
4. Compilar el núcleo. Para compilar el binario principal y los módulos del núcleo hay que ejecutar las siguientes órdenes:
[root@yoda root]# make dep
[root@yoda root]# make bzImage
[root@yoda root]# make modules
5. Instalar el núcleo. Los ficheros binarios del nuevo núcleo (binario principal y módulos) residen todavía en ciertos subdirectorios de /usr/src/linux/ y no en los lugares definitivos donde el sistema podrá encontrarlos. Para llevar a cabo esta acción hay que ejecutar:
[root@yoda root]# make modules_install
[root@yoda root]# make install
que, siguiendo el ejemplo anterior, instalará los módulos de núcleo en el directorio denominado /lib/modules/2.4.20-20.9custom/ y creará los siguientes ficheros y enlaces simbólicos en el directorio /boot/:
config-2.4.20-20.9
initrd-2.4.20-20.9.img
module-info-2.4.20-20.9
System.map-2.4.20-20.9
vmlinux-2.4.20-20.9
vmlinuz-2.4.20-20.9
module-info -> module-info-2.4.20-20.9
vmlinuz -> vmlinuz-2.4.20-20.9
System.map -> System.map-2.4.20-20.9
Además de realizar estas acciones, la instalación también realiza la configuración necesaria para que nuestro gestor de arranque (lilo o grub) sepa de la existencia del nuevo núcleo para que podamos arrancarlo en el próximo reinicio.
5. Reiniciar. Para que el núcleo nuevo sea cargado y ejecutado debemos reiniciar el sistema y asegurarnos de que en la lista de arranque de lilo o grub elegimos este núcleo y no el antiguo. En el caso de que algo salga mal (el núcleo no arranca, ciertos servicios no funcionan, etc.), deberemos reiniciar el sistema con el núcleo antiguo y probablemente volver al punto 2 para revisar la combinación de opciones con las que hemos configurado el nuevo núcleo.
6. Eliminar los ficheros objeto. Una vez el núcleo nuevo funciona correctamente y posee todas las funcionalidades que queríamos de él, podemos eliminar los objetos del directorio /usr/src/linux/, puesto que no los necesitamos más. Para ello ejecutaremos lo siguiente:
[root@yoda root]# cd /usr/src/linux
[root@yoda root]# make clean
La diferencia entre esta orden y la del punto 1 es que en este caso no se borran los ficheros de configuración del núcleo, con lo que si volvemos a ejecutar make xconfig tendremos en pantalla las mismas opciones con las que compilamos el núcleo la última vez.
Como alternativa, también podemos guardarnos esta configuración en un fichero, para poder recuperarla más tarde. Esto se realiza mediante los botones "Store Configuration to File" y "Load Configuration from File" de la ventana principal de configuración (ver Figura 7.1. El menú principal de configuración del núcleo.). Si elegimos esta opción (guardarnos el fichero de configuración) podemos incluso borrar el directorio completo de los fuentes, puesto que siempre podremos volver a obtenerlo más tarde si es necesario.
¡¡¡¡¡¡Algunos programas disponibles para Linux!!!!!!
AbiWord
Es un procesador de textos similar al Microsoft Word. Tiene multitud de opciones y es gratis.
Adobe Flash Player
Es un programa que sirve para visualizar contenido multimedia en Internet.
Adobe Reader
Programa para ver e imprimir archivos de formato de documento portátil de Adobe (PDF)
Amanda
Si estás buscando una herramienta gratuita y de código abierto para realizar copias de seguridad de tus archivos, Amanda es una de las mejores opciones que existen actualmente.
Angry IP Scanner
Es un monitor del tráfico de la red, rápido y de manejo sumamente sencillo.
AntiVir
Antivirus que ofrece protección efectiva contra virus.
AssaultCube
Es un juego basado sobre su antecesor, el famoso Cube. Eres el protagonista, que lleva el arma y dispara a voluntad, en un entorno realista.
AVG Anti-Virus
Es un antivirus para uso personal que te protege ante los virus.
Azureus
Cliente mejorado de la red BitTorrent. Opciones avanzadas y muy configurable.
BitTorrent
Programa de intercambio de ficheros. Con muy buenas tasas de transferencia.
Blender
Es una herramienta de diseño 3D gratuita, tanto para uso personal como profesional.
BurnInTest
Es un programa que permite realizar una serie de test a los componentes del ordenador para comprobar su rendimiento y estabilidad.
BZFlag
Es un simulador online de batallas en el cual manejaremos nuestro propio tanque de guerra con diversas herramientas y armas que se utilizarán como estrategia para vencer a nuestros oponentes conectados a un mismo servidor.
Dia
Sirve para crear todo tipo de diagramas: UML, entidad relación, diagramas de flujos, diagramas de red, diagramas eléctricos y muchos más.
Dolphin
Es el emulador de Nintendo GameCube que ofrece al usuario la oportunidad de jugar a ésta consola desde el ordenador de forma fácil y práctica.
Dr. Web
Potente Antivirus con un buen motor de detección y limpieza de virus.
ePSXe
Es un emulador de la consola PlayStation (PSX) con el que podrás jugar a los juegos de la PlayStation.
FileZilla
Es un cliente FTP con multitud de opciones y posibilidades.
FreeMind
Es un programa que sirve para crear mapas mentales y conceptuales.
Frets On Fire
Frets On Fire es un juego en el que emularas ser un guitarrista y tendrás que usar el teclado a modo de guitarra.
FrostWire
Es un programa de intercambio de ficheros con el que puedes compartir todo tipo de archivos con otros usuarios.
GeoGebra
Si te gusta ver la matemática en acción, GeoGebra te va a interesar. Esta aplicación gratuita y multiplataforma te permite interactuar dinámicamente con la geometría, el álgebra y el cálculo numérico.
GIMP
Es un programa de distribución libre que nos permite hacer retoques fotográficos, composiciones y edición de imágenes. Al más puro estilo Photoshop.
Gizmo
Sirve para realizar llamadas de teléfono gratis a través de Internet.
Google Earth
Es un programa que te permite explorar el mundo a tus anchas. Es como tener un Atlas Virtual pero con muchas más posibilidades.
Griffith
Es un programa que sirve para catalogar y gestionar nuestras películas, ya sean en DVD o DivX.
Grisbi
Es un programa de contabilidad personal que nos ayuda a controlar nuestros gastos.
Hamachi
Sirve para comunicar dos o más ordenadores a través de Internet mediante una red virtual propia para tener una comunicación segura.
HTTrack
Es un navegador Offline. Te permite descargar páginas web en el disco duro para luego poder navegar por ellas sin tener que estar conectado a Internet.
IHMC CmapTools
Es un programa que permite crear mapas conceptuales, para analizar situaciones o facilitar el estudio de distintos temas, sin importar su grado de complejidad.
Inkscape
Es un programa editor de gráficos vectoriales similar a Freehand, Xara X,
Illustrator o CorelDraw.
Kompozer
Kompozer es un editor de código HTML que te permite crear páginas web con calidad profesional.
Lightsmark
Simula la iluminación global, prácticamente sin límites: antes, el proceso de ubicar las luces en tiempo real estaba limitado a pequeñas escenas, baja resolución, escasa velocidad e imágenes especialmente armadas con mejoras hechas a mano.
LimeWire
Es un programa de intercambio de ficheros que permite compartir música, vídeos, documentos y programas.
Memtest86
Programa que testea la memoria RAM de nuestro ordenador.
Memtest86+
Es un programa de licencia abierta (gratuito) que nos ofrece la oportunidad de examinar detalladamente cada módulo de la memoria de nuestro equipo y es la versión más actualizada del memtest [nombre original].
Miro
Es un reproductor de vídeo que permite suscribirse a canales de Internet.
Mozilla Thunderbird
Es un gestor de correo fácil de usar, seguro y con filtros anti-spam.
Mumble
Es una aplicación de transmisión de voz a través del protocolo IP. Es gratuita, de código abierto y multiplataforma, y sus usuarios principales son los aficionados a los juegos en línea, que lo utilizan para hablar entre ellos durante sus sesiones lúdicas
Nexuiz
Es un juego de disparos en primera persona, gratuito y de código abierto, que puede ejecutarse en sistemas Windows, Linux y OSX. Apunta y dispara.
Nvu
Es un completo sistema de edición Web que combina un sencillo manejo de ficheros con una interfaz de usuario intuitiva.
OneSwarm
Es un programa desarrollado con base en BitTorrent que se puede utilizar para compartir archivos entre usuarios y grupos de usuarios en todo Internet.
OpenOffice
Programa gratuito que es una alternativa al Ms-Office. Ofrece editor de texto, hoja de cálculo, creador de presentaciones, etc.
OpenProj
Es un programa gratuito y de código abierto, para la administración de proyectos.
OpenTTD
Es la versión gratuita y de código abierto del juego Transport Tycoon, donde la principal meta es el de controlar una empresa de transportes para convertirla en la mejor de todo el mundo.
Opera
Imprescindible navegador para internet. Mucho más rápido y estable que el Internet Explorer.
Pando
Es un programa de intercambio de ficheros con el que puedes descargar y compartir ficheros con otros usuarios.
PCSX2
Es un emulador de PlayStation 2 que permite jugar a los juegos de PS2 en el PC.
Pidgin
Es un programa de mensajería multiplataforma con el que podrás hablar con tus amigos de AIM, Jabber, ICQ, Yahoo, MSN Messenger, IRC y otros.
PlaneShift
Es un videojuego de rol multijugador masivo online (MMORPG), con un ambiente basado en la fantasía que tiene gran contenido en los diálogos, libretos y gráficos, con especial énfasis en las aventuras y el libre desarrollo de la personalidad de cada jugado
PowerISO
Es una herramienta que sirve para manejar imágenes ISO de CD/DVD.
Racer
Es un juego en versión libre de carreras de automóviles con buenos gráficas y realismo.
Sauerbraten
Es un juego de acción en primera persona totalmente gratuito y de código abierto.
Scribus
Es un programa que sirve para realizar maquetaciones y publicaciones profesionales.
ScummVM
(máquina virtual de Scumm) es un programa que permite ejecutar juegos creados originalmente para SCUMM de LucasArts.
Secret Maryo Chronicles
Es un juego de plataformas 2D inspirado en el famoso Mario Bros.
Skype
Programa para hablar gratis por teléfono en internet. Basta con unos cascos, microfono y conexión a internet.
SMPlayer
Es un reproductor de archivos multimedia de avanzada. No solo reproduce vídeos, DVD y VCD, sin oque también es compatible con los filtros para MPlayer y muchas otras funciones avanzadas.
Songbird
Es un reproductor de música online de código abierto que no tiene ninguna clase de restricción con respecto a las funcionalidades.
Mozilla Firefox
Navegador preparado para la próxima generación es rápido como el rayo en todos los sentidos. ¡Disfrútalo!
Stellar Phoenix
Programa para recuperar los datos perdidos de tu Sistema Operativo. Muy efectivo.
Stellarium
Es un programa gratuito, que muestra un cielo en tres dimensiones similar al real, tal como si lo estuvieras observando con un telescopio.
StepMania
Es un juego de baile que emula al famoso Dance Dance Revolution.
SystemRescueCd
Es un sistema Gnu/linux arrancable desde cdrom que sirve para reparar tu sistema y recuperar tus datos después de un fallo.
The Mana World
Si buscas un juego de rol, para divertirte junto a miles de usuarios en línea, The Mana World te sorprenderá gratamente. Gratuito y de código abierto, sin periodo de prueba ni limitaciones, este juego te mantendrá entretenido durante horas.
TightVNC
Programa de acceso remoto a PCs.
TORCS
Es un videojuego de conducción recomendado para los amantes de la velocidad que tiene componentes realísticos de alto formato.
TrueCrypt
Permite crear unidades encriptadas que solo podrán ser accedidas si conoces la contraseña de la unidad.
UFO Alien Invasion
Es un videojuego de estrategia en el cual podrás defender tu planeta de una invasión alienígena combatiendo contra los extraterrestres invasores.
Unstoppable Copier
Recupera datos desde discos dañados o rayados.
VirtualBox
Es un programa que sirve crear máquinas virtuales en nuestro PC y ejecutar cualquier sistema operativo en esas máquinas virtuales.
VLC
Es un reproductor multimedia que soporta tanto vídeo como audio.
VMware Player
Sirve para tener un ordenador dentro de nuestro ordenador. Podrás ejecutar un nuevo ordenador en una ventana de tu Sistema Operativo.
War of Conquest
Es un juego de estrategia online multijugador en el que tendrás que crear y hacer crecer a tu nación.
Workrave
Es un programa que nos ayuda a controlar el tiempo que pasamos trabajando delante del ordenador.
FIN DE POST
http://fueradecontrol666.blogspot.com/