martes, 26 de marzo de 2013

Tuitentrada: UnetBootin, o como grabar una imagen ISO en un pendrive

Obtener información de nuestro hardware a través del terminal

Ando ocupadillo estos días, y la proximidad de la semana santa no augura que el post que tenía pensado colgar sobre la instalación de una distribución GNU/Linux vaya a salir pronto. Así que de momento me contentaré con esta entrada donde hablo de como obtener información acerca de nuestro equipo a través de la terminal. Es el comando Hardware Lister, que en terminal es lshw, delante del cual hay que escribir el sudo que nos identifica como superusuario:


sudo lshw

Con este comando obtendremos un enorme listado de características e información de nuestro ordenador como tipo de procesador, tarjeta de red, tarjeta de vídeo, disco duro, etc.

Con la opción  -class cpu nos ceñirenos únicamente a la CPU:


sudo lshw -class cpu

Al pulsar intro obtenemos algo como esto:


*-cpu:0                 
       descripción: CPU
       producto: Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz
       fabricante: Intel Corp.
       id físico: 4
       información del bus: cpu@0
       versión: 6.7.6
       serie: 0001-0676-0000-0000-0000-0000
       ranura: CPUSocket
       tamaño: 1203MHz
       capacidad: 2500MHz
       anchura: 64 bits
       reloj: 200MHz
       capacidades: boot fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe x86-64 constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dtherm cpufreq
       configuración: id=1
     *-logicalcpu:0
          descripción: CPU lógica
          id físico: 1.1
          anchura: 64 bits
          capacidades: logical
     *-logicalcpu:1
          descripción: CPU lógica
          id físico: 1.2
          anchura: 64 bits
          capacidades: logical
  *-cpu:1
       id físico: 1
       información del bus: cpu@1
       versión: 6.7.6
       serie: 0001-0676-0000-0000-0000-0000
       tamaño: 1203MHz
       capacidad: 1203MHz
       capacidades: ht cpufreq
       configuración: id=1
     *-logicalcpu:0
          descripción: CPU lógica
          id físico: 1.1
          capacidades: logical
     *-logicalcpu:1
          descripción: CPU lógica
          id físico: 1.2
          capacidades: logical

Escribiendo sudo lshw a secas el resultado es mucho más extenso y descriptivo. Si queremos enviar toda esa información a un archivo para visionarla más tranquilamente, teclearemos esto:

sudo lshw >> /home/paco/Documentos/lshw.txt

Y se nos creará el archivo de texto lshw.txt en la ubicación /home/paco/Documentos que podremos abrir con un editor cualquiera. En caso de no tener instalado lshw habrá que instalarlo mediante la herramienta apt-get:

sudo apt-get install lshw

Hay otras maneras de conseguir información sobre nuestro hardware. Una de ellas es el comando dmidecode, cuyas opciones podemos cotejar tecleando dmidecode --help. Otra forma es listar el fichero cpuinfo alojado en el directorio /proc con el comando cat:

cat /proc/cpuinfo

Todo esto es útil porque no pocas veces nos van a preguntar en un foro por la configuración de nuestro equipo. Podemos anotar los resultados, o directamente imprimirlos y subrayar lo más importante para tenerlo siempre presente.

lunes, 25 de marzo de 2013

Nuevo blog para usuarios de CAD en Linux


Apenas unas semanas de empezar con este blog he puesto en marcha uno nuevo, también sobe Linux pero orientado al CAD, la rama informática que profesionalmente más me toca. Espero que este nuevo proyecto esté a la altura de lo que tengo en mente. Nos vemos también en CAD en Linux.

Tuitentrada: distribución Linux orientada al CAD

lunes, 18 de marzo de 2013

Software alternativo que encontraremos en Linux

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Hace poco hablamos de las pegas que podíamos encontrar si abandonamos Windows por GNU/Linux. También de las ventajas, no lo olvidemos. El caso que que se hizo alusión a que el software que podemos encontrar para las distribuciones más populares es muy variado y numeroso, pero en casos concretos puede resultar parco e insuficiente. Es otra de esas cosas que conviene conocer, así que paso a listar las equivalencias más usuales, siendo que, como es habitual, luego puede investigar cada uno por su cuenta, algo que, asumámoslo, es inherente a todo usuario Linux.

Ofimática
Para los habituales de Microsoft Office tenemos LibreOffice, una suite ofimática derivada de OpenOffice. Trae consigo procesador de textos, gestor de hojas de cálculo, gestor de presentaciones, editor de gráficos vectoriales, gestor de bases de datos y editor de fórmulas matemáticas. Viene por defecto en Debian, Ubuntu, Fedora, openSUSE y Mageia. Puede cubrir las necesidades del usuario medio sin problemas.

Diseño gráfico vectorial
Los usuarios de Corel Draw o Illustrator tienen en InkScape la herramienta libre más popular.

Maquetación
Si lo que te va es la maquetación y manejas InDesign o QuarkXpress, la opción Linux más clara es Scribus. Tanto este como InkScape tal vez se quedan cortos a nivel profesional, pero es algo que habrá que asumir como contrapartida al hecho de ser gratis.

Tratamiento de imagen
Vale, de acuerdo, no existe rival para Photoshop. Lo más que encontraremos será Gimp, un software que nos permitirá jugar con nuestras fotografías hasta un grado de complejidad notable, pero mentiría si dijera que es un igual de Photoshop. Recientemente he descubierto Krita, un software que aún no he explorado mucho pero parece orientado a la ilustración desde cero.

CAD
Repetimos jugada: no existe equivalente en Linux para AutoCAD, MicroStation o Catia. No hay nada que se les asemeje a nivel profesional, y ya me duele porque toca de lleno mi sector. El software paradigmático de CAD en plataforma libre es QCad, un programa digno y sencillo pero que solo funciona en 2D. El más cercano a AutoCAD que he encontrado es DraftSight, pero tiene restricciones de uso en Linux y carece de 3D. BricsCad también tiene versión para Linux, pero al igual que Draftsight no es un producto gratuito si quieres disponer de todas sus prestaciones.

Diseño 3D
Nuevamente, el campo del diseño avanzado, esta vez en tres dimensiones, es el gran talón de Aquiles de Linux. Sin un 3ds Max, un SolidWorks o un Solid Edge nos tenemos que agarrar a Blender como mayor exponente en estas lides.

PDF
Las suites de ofimática ya ofrecen la posibilidad de guardar sus documentos en PDF desde una opción de menú. No obstante, también existen opciones para manipular (hasta cierto punto) documentos PDF ya creados como PDFEditor, Gscan2pdf o PDFmod.

Sincronizar ficheros
Para esa tarea tan a veces engorrosa de mantener actualizados nuestros ficheros en varios dispositivos FreeFileSync funciona de manera eficaz y sin complicaciones.

Gestión de libros electrónicos
Existe la versión Linux del popular Calibre. Quienes lo conozcan no necesitan mayor comentario.

Edición de vídeo
Hay a disposición del usuario muchas opciones, y según el nivel de complejidad que precisemos nos acercaremos en mayor o menor medida al Adobe Premiere. Avidemux es de los más populares, pero confieso que a mí nunca me ha funcionado correctamente. Cinelerra tiene fama de satisfacer a usuarios avanzados mientras que Kino apuesta más por la simplicidad.

Creación de CD y DVD
Existe mucho software para crear tus propios CDs y DVDs de forma similar a Nero, pero no todos funcionan, según mi experiencia, a plena satisfacción. DeVeDe es de los más populares y Brasero es el clásico por defecto que traen la mayoría de distribuciones.

Música
Para la reproducción y organización de tus archivos de música al estilo iTunes tenemos Banshee o RhyhtmBox. Como simple reproductor, aunque con algunas prestaciones más, tenemos AmarokAudacity puede además editar ficheros de audio.

Reproductores multimedia
El que mejor conozco es Kaffeine, que además ofrece soporte para TDT (Televisión Digital Terrestre).

Edición web
No será como Dreamweaver, pero es que tampoco puedo hablarles mucho de Kompozer ya que no lo he usado. Pero ahí está.

Navegadores web
Ya sea con Google Chrome, pasando por el ya clásico Mozilla Firefox o el "tapado" de siempre, Opera, el navegador web no supondrá un problema en Linux.

Clientes FTP
Si tiene un sitio web puede administrarlo con FileZilla, aunque supongo que no es el único.

Descargas por Internet
Para descargar torrents el cliente Transmission es una opción más que válida, aunque hay otros. En cuanto al intercambio P2P, la versión Linux del popularísimo eMule se llama aMule, y su funcionamiento es similar. Más especializado en música, el infatigable Soulseek se hace llamar Nicotine.

Comunicación
La versión libre de Skype funciona bien, pero quizá da más problemas a la hora de detectar configuraciones de audio y vídeo.

Redes sociales
El cliente Gwibber para Twitter, Facebook y otras es lo que más he utilizado, pero no ofrece nada que lo haga especial.

Almacenamiento en la nube
Para Ubuntu existe un servicio de alojamiento de archivos llamado Ubuntu One que se integra en el escritorio de Ubuntu y el navegador de archivos Nautilus. Dropbox tiene una versión para Linux que actúa de la misma forma.

Insisto, como es otras ocasiones esto que les ofrezco es una pequeña muestra. Para saber más les recomiendo este enlace de Wikibooks.

PD: si, pese a todo, tenemos la ultranecesidad de utilizar una aplicación Windows bajo Linux, siempre podremos instalar Wine en nuestra distro. ¿Qué es Wine? Por resumir, es un emulador que permite ejecutar programas Windows en sistemas UNIX. ¿Y por qué entonces, se preguntarán, hace falta todo esto que nos has contado si puedo utilizar software de Windows en Ubuntu o Fedora? Pues, en primer lugar, por la filosofía que mueve todo el proyecto GNU/Linux: la libertad de creación y distribución de software. Usar material privativo por sistema iría en contra de esta idiosincrasia. Y, en segundo, no cualquier software de Windows funciona correctamente bajo Wine. A mayor complejidad, mayor dificultad, o eso tengo entendido. Conozco a usuarios que no han podido moverse cómodamente con AutoCAD bajo Wine, quedando descontentos con el rendimiento obtenido. Es cuestión de probar, pero no olviden que, una de dos, o pagan ese software o tendrán que piratearlo, con todos los problemas que esto último conlleva.

Alternativas, alternativas... Todo es cuestión de elegir. The Cult titularon su último disco "Choice the weapon" (La elección del arma) siendo una de sus mejores canciones este "Lucifer".


sábado, 16 de marzo de 2013

Perdiendo el miedo a Linux: qué distribución elegir

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Una vez que hemos resuelto sacar a Windows de nuestras vidas (a menos parcialmente) para dar el salto a GNU/Linux queda por decidir que distribución emplearemos para darle la patada (recuerden que ya hablamos de lo que es una distribución). En mi caso no puedo hacer una disección de todas y cada una, ni siquiera de una cantidad más o menos significativa, ya que mi experiencia en ese aspecto se reduce básicamente a distintas versiones de Ubuntu.

Desde el principio he usado Ubuntu en el PC, una distro derivada de Debian. También tengo algo de manejo de Linux Mint y Lubuntu, un Ubuntu para equipos justos de recursos. Lo último que implementé fue un Debian virtualizado dentro de Ubuntu (aquí hablé de la virtualización), así que ya ven, mi campo de acción es reducido y se ciñe a distros basadas en Debian. Vamos a hablar un poco de las que más conozco para ir orientando al usuario novel.

Debian. Es una distribución totalmente libre y reconocida por su estabilidad, por lo que es muy usada como servidor, y con una gran comunidad a su alrededor. La mayor pega para usuarios noveles es su algo complejo proceso de instalación y la austeridad de su entorno de escritorio, así que yo no la recomendaría para iniciarse en Linux, pero sí para probarla más adelante.
Debian oficial.

Ubuntu. Es la distro más popular para usuarios domésticos, la más accesible, una de las más similares a Windows y con un proceso de instalación sencillo e intuitivo. Es ideal para iniciarse en Linux, lo que le ha valido las críticas de los linuxeros más talibanes por parecerse demasiado al "enemigo" de Microsoft. Dispone de un entorno de escritorio para sistemas tipo UNIX llamado GNOME, muy popular y extendido a otras distros, aunque desde la versión 11.10 trae otro escritorio por defecto llamado Unity que no para de recibir críticas (recomiendo leer esta entrada a quien todo esto le suene a chino). La compañía que lo desarrolla se llama Canonical y lanza nuevas versiones en abril y octubre de cada año (la última es la 12.10, mes 10 del 2012 y la próxima será la 13.04) las cuales reciben un sobrenombre relativo a un animal y un adjetivo que lo califica, ambos comenzando por la misma letra (Quantal Quetzal es la última, pero antes estuvieron Precise Pangolin, Oneiric Ocelot, Natty Narwal,...). dispone de contínuas actualizaciones gratuitas, algo que, supongo, ocurre con la mayoría de distribuciones.
Ubuntu oficial.

Kubuntu. Viene a ser lo mismo que Ubuntu pero con un entorno de escritorio diferente llamado KDE. Hay partidarios de GNOME y de KDE dentro de la comunidad de usuarios, así como detractores de ambos. En GNOME predominan los tonos marrones por defecto, es algo más austero y, dicen, más lento, mientras que en KDE los azules copan protagonismo, es más dinámico, vistoso y parecido a Windows.
Kubuntu oficial.

Xubuntu. Es un derivado de Ubuntu para máquinas poco potentes y con el entorno de escritorio Xfce, más ligero que GNOME o KDE.
Xubuntu oficial.

Lubuntu. Otro derivado de Ubuntu orientado a netbooks, ordenadores antiguos o de recursos limitados y que utiliza el entorno de escritorio LXDE. Se desarrolló al margen del proyecto Ubuntu pero parece ser que ya forma parte de la familia de manera oficial.
Lubuntu oficial.

Edubuntu. Versión de Ubuntu especialmente orientada a entornos educativos, con una serie de herramientas por defecto para tal fin.
Edubuntu oficial.

Linux Mint. Distribución basada en Ubuntu pero con un entorno de escritorio diferente llamado Cinnamon, menos pesado que GNOME y muy similar a Windows en cuando a la disposición de menús. Según leo, comienza a ganar adeptos ante la deriva extraña que comienza a tomar Ubuntu, con entornos de escritorio pesados y que resultan complicados de manejar. Es muy recomendable para iniciarse en sistemas Linux.
Linux Mint oficial.

Bien, esto es lo principal que puedo contar en lo tocante a distribuciones basadas en Debian. ¿Qué más tenemos por ahí?

RedHat. La tengo que nombrar solo por ser considerada la principal compañía Linux en el mundo. A  día de hoy es una plataforma comercial o de pago, y si queremos disfrutar de sus características es mejor que nos vayamos con Fedora.
RedHat oficial.

Fedora. Es una distribución hija del proyecto RedHat. Tiene la particularidad de permitirte crear tu propia distribución mediante una herramienta que posibilita elegir los paquetes deseados para esa tarea. Suele ser una distro más orientada a empresas que a entornos domésticos. Su sistema de gestión de paquetes y actualizaciones es distinto al de las distribuciones debianitas, por lo que cambiar de una a otra puede resultar un tanto difícil hasta que uno se acostumbra. Es una de las grandes.
Fedora oficial.

Slackware. Es tenida por la primera distribución salida al mercado, y tampoco es especialmente recomendable para usuarios fuera del universo Linux por su proceso de instalación, quizá poco accesible para ellos. Trabaja tanto con KDE como con GNOME.
Slackware oficial.

openSUSE. Hace poco me instale esta distro en modo virtualizado y las vibraciones que me da no son nada malas. No puedo opinar con gran conocimiento de causa aún, eso es cierto pero, al igual que Fedora, cuenta con una notable y fiel comunidad de usuarios. Derivada de otro proyecto anterior llamado SUSE Linux presume de distro válida tanto en servidores como en entornos de escritorio y comparte el sistema de gestión de paquetes con Fedora pero cuenta con su propio gestor de actualizaciones. Hay que probarla.
openSUSE oficial.

ArchLinux: En modo alguno recomiendo esta distribución para quien quiera entrar por primera vez en territorio Linux, ya que está pensada para usuarios más bien avanzados. Está basada en CRUX, una distribución orientada al minimalismo y la simplicidad. Pero en algún momento la tengo que probar, de hecho, a medida que uno aprende debería ir catando aquellas que pongan a prueba nuestra destreza en el manejo de entornos austeros.
ArchlLinux oficial.

Esto es, ante todo, un repaso a las principales y más populares distribuciones GNU/Linux. ¿Cuál es mi recomendación? Si vienen de Windows y empezarán de cero con Linux, recomiendo Ubuntu o Linux Mint. Prueben con Kubuntu si les seducen los escritorios brillantes y recargados, o con Xubuntu si su PC anda escaso de recursos. Es lo que desde mi experiencia les puedo comentar.

Para terminar, se preguntarán ustedes ¿no hay distribuciones españolas? Pues sí que las hay, de hecho hay administraciones públicas que las han impulsado como la comunidad autónoma andaluza con Guadalinex, la extremeña con GNULinEX, Madrid con MAX o Asturias con AsturiX. La inmensa mayoría están basadas en Debian o directamente en Ubuntu, salvo alguna como la catalana Linkat, derivada de openSUSE. Aquí les dejo un par de enlaces (les aviso que no son de ayer mismo precisamente) por si quieren indagar más al respecto.

Y aquí lo dejo. De nuevo les remito a Distrowatch y toda la red para ampliar toda esta información. Precisamente "Information" se llama esta canción de la banda californiana Dredg.

Tuitentrada: personalizando el menú de arranque Grub

miércoles, 13 de marzo de 2013

Perdiendo el miedo a Linux: mejor con inglés

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Bien, ya hemos hablado del origen de GNU/Linux, incluso con un vídeo en su día emitido por TVE, y hemos entrado en los conceptos de software libre, privativo o propietario y distribución. También hemos visto algunos términos de informática básica que nos ayudarán a entender mejor el funcionamiento de nuestro ordenador y también hemos abordado otro tipo de terminología, ya propia de Linux, que contribuirá a que el neófito no se sienta un idiota en un foro de ayuda, algo que, me temo, sucede más de lo que sería aconsejable. Destacaría además el hincapié hecho en los pros y contras que un usuario Windows puede encontrar en caso decidirse a cambiar a Linux y que ambos sistemas pueden coexistir sin problema alguno en un solo PC. Llegamos incluso a explicar un caso práctico en que el uso de la temida shell puede resolver lo que el entorno gráfico no es capaz de arreglar. Y todo esto fue aderezado con diversas microentradas realizadas originalmente desde Twitter y que he tenido la brillante ocurrencia de bautizar como tuitentradas.

Llegados a este punto, pienso que ya va siendo hora de dar el paso y elegir qué distribución vamos a instalar. Porque, créanselo, hay cientos de ellas, quien sabe si miles. Pero como el propósito de este blog es poner las cosas fáciles al novato, al tiempo que el propio autor sigue aprendiendo, vamos a centrarnos en aquellas más populares que, casualmente, también suelen ser las más accesibles.

Si nos vamos a la página Distrowatch encontraremos en la columna de la derecha un ranking de las distros más populares. Está todo en inglés pero, estimado lector, aprovecho para decírselo ahora antes de que se entere de una forma que le pueda mosquear más: si quiere entrar en el mundo de GNU/Linux es más que aconsejable conocer algo del idioma de Shakespeare (Chespir para los españolazos). Y no lo digo por Distrowatch en particular, sino porque los propios archivos de ayuda de Linux, ya sea a través de comandos como man, whatis, info o apropos, básicamente están redactados en inglés. Es cierto que dentro del comando help sí podemos encontrar buena parte de su contenido de ayuda en castellano, pero no nos engañemos, lo habitual es lo otro.

Si nos vamos a Internet, la comunidad Ubuntu hispana, que es la que más frecuento, es muy numerosa y he encontrado ayuda que, en no pocas ocasiones, me ha sacado del apuro con un periférico que no se dejaba configurar o con un error que me parecía imposible de subsanar. Se puede funcionar bien con ese apoyo, pero imagino que no es comparable a poder contar con toda la comunidad angloparlante. Tengamos en cuenta que Ubuntu es la distro más popular; es muy posible que a menor grado de popularidad le corresponda también una comunidad de ayuda de tamaño inferior.

No por ello quiero desanimar a nadie. El traductor de Google ha mejorado mucho en los últimos tiempos, y siempre que la calidad sea alta no importa tanto la cantidad. Yo mismo me manejo en un inglés bastante básico, pero no es impedimento para haberme hecho usuario de Linux con cada vez mayor tiempo de uso en el terminal de comandos. Si hay voluntad y ánimo de superación se puede superar cualquier escollo.

Además, si el uso que se le va a dar es doméstico, el entorno gráfico de la distro que elijamos vendrá sin duda en español, y con con eso podemos tener más que suficiente. Que esta entrada se llama "Perdiendo el miedo a Linux", pero no por ello hay que dejar de ser honesto con el usuario. De honestidad precisamente habla Billy Joel en este clásico.



Tuitentrada: sincronizar carpetas con FreeFileSync

sábado, 9 de marzo de 2013

viernes, 8 de marzo de 2013

Ejemplo de la utilidad de introducir comandos por terminal

Se que dominar el terminal shell es uno de los aspectos de los sistemas Linux que más echan para atrás a los nuevos usuarios, así que en esta breve entrada voy a explicar un ejemplo práctico de cómo un comando por teclado puede solucionar lo que el entorno gráfico no es capaz de resolver.

Supongamos que hemos descargado el archivo manualdecocina.zip, el cual está en un formato de compresión muy usual. Imaginemos que dentro de ese archivo comprimido hay, entre otros, un archivo llamado "Manual de cocina española.pdf". Para descomprimirlo nos vamos al Nautilus, el explorador de archivos de Ubuntu, hacemos doble clic en el archivo manualdecocina.zip y nos abre Fille Roller, el gestor de archivadores por defecto para GNOME, el cual nos muestra el contenido. Pinchamos en la opción "Extraer" y, ah, nos aparece una pantalla con el siguiente error:

Ha ocurrido un error mientras se extraían los archivos.

caution: filename not matched: Manual de cocina espa\?\?ola.pdf

¿Cuál es el problema? Pues que File Roller no reconoce en carácter ñ. Así que no puede extraer "Manual de cocina española.pdf" del .zip porque el archivo contiene la letra ñ en su nombre. La, nunca mejor dicho, puñetera letra ñ.

¿Como solucionamos el problema? Abrimos una Terminal en el menú Accesorios > Terminal y, una vez allí, nos posicionamos en el directorio donde hayamos descargado manualdecocina.zip que, perfectamente, puede ser Descargas.

cd Descargas

Luego ejecutamos el comando unzip:

unzip manualdecocina.zip

Y el archivo "Manual de cocina española.pdf" se descomprime sin problemas.

Puede ocurrir que no tengamos instalada la utilidad unzip. En tal caso la tendríamos que instalar de la siguiente forma:

sudo apt-get install unzip

Y, a continuación, repetir el paso anterior.

Hemos visto maneras y términos que nos sonarán a chino pero no era el propósito de esta entrada profundizar en ellos. Esto ha sido únicamente una forma de demostrar cómo la línea de comandos puede a veces solucionar de manera rápida y sencilla un problema planteado desde el entorno gráfico, más amigable y vistoso pero, en ocasiones, ineficaz. Es solo un ejemplo de los muchos que podríamos poner, pero nos queda mucho camino por recorrer para eso en este blog.

Hemos hablado de compresión de archivos. No es de compresión, sino de presión de lo que hablaban Queen en este clásico que aquí interpretan sin David Bowie, pero con Freddy Mercury en plena forma.



jueves, 7 de marzo de 2013

Cohabitación entre Windows y Linux

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Como ya hemos dicho, puede resultar duro pasar de un sistema operativo eminentemente gráfico e intuitivo como Windows a otro que, para sacarle todo su rendimiento, requiere la entrada de comandos por teclado. El proceso de cambio a Linux puede resultar un tanto penoso al principio, para qué engañarse, pero hay formas de hacerlo algo más liviano.

Si no queremos perder la seguridad que nos proporciona tener ahí nuestro Windows entonces lo mejor es que ambos sistemas cohabiten, al menos durante un tiempo, para lo cual hay varias maneras:

1. Windows preinstalado y Linux como segundo sistema operativo.
Si su PC o laptop (ordenador portátil) trae una versión de Windows preinstalada puede instalar una distribución Linux y funcionar con ambos sistemas a la vez, eligiendo durante el arranque con cual quiere funcionar. Para ello tiene que introducir en su reproductor de disco la distribución elegida (vamos a suponer que Ubuntu), la cual se puede descargar de su sitio original en formato imagen ISO para, después, "quemarla" en un CD o DVD, o en un pendrive, con un software tipo Nero o similar. Una vez hecho esto, introducimos el disco o el lápiz USB en el lector y reiniciamos el ordenador. En el inicio del arranque pulsamos F11 (así al menos es en mis máquinas, pero esa indicación aparecerá en pantalla, por lo que hay que estar atento no sea que en los ordenadores modernos la tecla no sea la misma) para escoger la unidad desde la que queremos arrancar el sistema. Elegimos la unidad CD o DVD de forma que al darle OK el sistema leerá en primer lugar el contenido de esa unidad de disco. Al detectar un programa de instalación lo ejecutará de inmediato y, a partir de ahí, solo habrá que seguir las instrucciones por pantalla (espero hablar del proceso de instalación con más profundidad más adelante). El resultado, una vez finalizado, será que Ubuntu ha implementado un arranque dual mediante el programa Grub que nos permitirá elegir con qué SO queremos trabajar, si con Windows o con Ubuntu.

2. Windows preinstalado y Linux virtualizado, o al revés.
Presuponiendo lo mismo de la opción anterior, una máquina con Windows de serie, lo que podemos es virtualizar Ubuntu utilizando el programa VirtualBox. Hay otros, pero yo solo he utilizado este, es el que conozco y pienso que funciona bien. Este software permite instalar un sistema operativo residente dentro de otro que actúa de anfitrión. El efecto práctico es que, en nuestro caso, Ubuntu funcionaría dentro de Windows como si fuera una aplicación más, pudiendo instalarle sus propias aplicaciones que funcionarían dentro del Ubuntu virtualizado. Existe, además, la posibilidad de declarar carpetas o directorios compartidos entre Windows y el Ubuntu virtualizado, pudendo así compartir sus contenidos y pasarlos de un sistema a otro.
Yo solo he funcionado a la inversa, con Windows virtualizado dentro del Ubuntu anfitrión, y el resultado ha sido bastante satisfactorio. Es especialmente útil cuando no conseguimos configurar adecuadamente un periférico; con dos sistemas operativos es difícil que lo que no te funcione en uno tampoco funcione en el otro.

3. Instalación independiente en dos discos duros
En este caso, que es el mío, hacen falta dos discos duros dentro de la CPU. Instalé Ubuntu en el disco principal (llamémosle HD1) habiendo desenchufado previamente el segundo disco (que será HD2) para que el sistema no fuera capaz de encontrarlo. Y con desenchufar me refiero a abrir la caja de la CPU y desconectar físicamente el HD2 tanto de la placa base como de la fuente de alimentación (es más sencillo de lo que parece, créanme). Una vez finalizado satisfactoriamente el proceso de instalación, apagamos el PC, desconectamos el HD1, donde hemos instalado Ubuntu, y reconectamos el HD2, donde vamos a instalar Windows. Encendemos, introducimos en disco de instalación de Windows en la unidad lectora, reiniciamos, pulsamos F11, elegimos la unidad CD/DVD como unidad de arranque y, al arrancar el sistema solo encontrará el único disco duro que en ese momento se encuentra conectado, el HD2. Se iniciará el proceso de instalación y, al terminar, tendremos Ubuntu y Windows plenamente instalados pero de manera completamente independiente uno del otro, el primero en HD1 y el segundo en HD2. De esta forma, una gamba metida en uno no afectará en nada al otro. Solamente hay que recordar que, cada vez que encendamos el ordenador, hay que pulsar F11 en el momento adecuado para elegir la unidad de arranque, HD1 para Ubuntu y HD2 para Windows (recordemos que HD1 y HD2 son nombre ficticios). No hacerlo solo conllevará que el ordenador iniciará desde la unidad de arranque que venga determinada por defecto en el menú del BIOS.

4. Instalar uno de los sistemas operativos en un disco duro externo
Sería una variación de la opción número 3, pero he de confesar que no he probado esta alternativa. Se trataría de enchufar un disco duro externo a un puerto USB y, al margen del sistema operativo presente en el propio ordenador, elegirlo como ubicación del SO alternativo durante el proceso de instalación. Pero repito, nunca lo he probado y ni si siquiera se si es viable, pero si alguien se anima a probar estaría bien que nos contara como le fue la experiencia.

Hablamos de compartir espacio, de una especie de unión entre entidades similares. Con mucho más dramatismo hablan de ello los rockeros góticos HIM en el tema "Join me in dead".


miércoles, 6 de marzo de 2013

Terminología básica que ayuda a no sentirse un tonto en un foro de Linux

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Ya hemos visto que, dado que el ordenador es nuestra herramienta principal, conocer al menos de oídas algunas expresiones nos puede ayudar a entender explicaciones futuras, o incluso a resolver problemas. Antes de entrar a decidir qué distribución Linux elegir también estimo necesario tener claros algunos términos que le son más propios. Nos ayudará a comprender de que hablan esos listillos que pululan por la red, impartiendo lecciones a diestro y siniestro, creyendo que se les entiende todo pero que, en mucho casos, solo contribuyen a que la confusión inicial se incremente e incluso ahuyente cualquier atisbo de curiosidad que uno pudiera sentir sobre Linux. Y lo digo por propia experiencia, lo foros de ayuda están atiborrados de gente así. Conociendo lo que viene a continuación usted podrá transitar por esos foros con algo más de seguridad.

LiveCD
Es una distribución (esto ya sabemos lo que es, ¿verdad?) almacenada en un CD o un DVD, ejecutable desde ese medio sin necesidad de instalar ni modificar nada en su equipo. Así, se puede trastear y navegar y probar cuanto haga falta (a una menor velocidad; recordemos que el acceso a las unidades de CD/DVD es más lento que a un disco duro) para, en caso de gustar y no encontrar conflicto alguno de hardware, optar por instalarla directamente. O si no, volver a probarla en otro momento. Para esto último basta con salir y apagar o reiniciar el equipo y extraer el disco del lector. Las cosas en su ordenador volverán a estar igual que antes, sin riesgo alguno para la integridad de sus archivos. Hay que destacar que se puede trasladar un LiveCD a un pendrive; determinándolo como unidad de arranque en el menú del BIOS del PC (al cual accedemos pulsando F11 en cuanto empieza el proceso de arranque) el ordenador inicializará el SO que encuentre en dicho pendrive para que, eso mismo, podamos trastear y explorar cuanto nos venga en gana. En resumen, una gran opción si queremos ojear de primera mano de qué va esto de los sistemas Linux sin compromiso ni riesgo alguno.

X-Window System
Es un software que proporciona una interfaz gráfica a los sistemas UNIX, como es el caso de Linux.

GDM (GNOME Display Manager)
Es un gestor de acceso al X-Window System basado en GNOME, materializado en una pantalla que le pedirá al usuario su nombre y contraseña (introducidos durante el proceso de instalación si así lo ha dispuesto) cada vez que quiera iniciar una sesión.

GNOME
Entorno de escritorio para sistemas tipo UNIX, usado para Ubuntu entre otras distribuciones. Me van a perdonar si hago mucho hincapié en Ubuntu y derivados pero es la distribución que manejo desde el principio y la que mas conozco.

Entorno de escritorio
Conjunto de características gráficas que definen el aspecto de un sistema operativo tipo Windows o Mac: colores, forma, disposición y apariencia de las ventanas y menús, tipografías y efectos varios (fundidos, desplazamientos, apariencia 3D, cortinillas...) y, en fin, esas cositas que hacen chulo y atractivo un SO. Es posible instalar diferentes entornos de escritorio para una sola distribución y después elegir la que más nos guste.

Unity
Entorno de escritorio implementado para Ubuntu en sustitución de GNOME y que no ha parado de cosechar críticas desde su aparición por los elevados recursos que consume. Por suerte, la opción de seguir usando GNOME sigue estando ahí.

Cinnamon
Entorno de escritorio propio de la distribución Linux Mint y que también se puede instalar en otras distros. En mi Ubuntu sustituí Unity por Cinnamon y todo fueron mejoras.

KDM
Es un gestor de escritorio para sistemas tipo UNIX, basado en KDE.

KDE
Entorno de escritorio para sistemas tipo UNIX, el más implantado en Linux junto con GNOME, usado en la distribución Kubuntu entre otras.

Xfce
Entorno de escritorio para sistemas tipo UNIX más ligero y pensado para máquinas menos potentes y usado en, por ejemplo, la distribución Xubuntu.

LXDE (Lightweight X11 Display Environment, Entorno de escritorio X11 ligero)
Entorno de escritorio para sistemas tipo UNIX aún más ligero, pensado para máquinas poco potentes, antiguas y netbooks, conocido por estar presente en la distribución Lubuntu.

Grub
Software que habilita un menú que le permite un arranque dual, esto es, elegir sistema operativo con que arrancar el ordenador en caso de que haya instalado una distro Linux teniendo ya Windows preinstalado. Muy útil para quien quiera empezar a valorar alternativas a SO de Microsoft.

Shell
Es el intérprete de comandos (órdenes, instrucciones), un interfaz (medio gráfico a través del cual el usuario se comunica con su ordenador) que nos permite introducirlos para generar una respuesta por parte del ordenador. Quienes se acuerden de MS-DOS sabrán que se entraba directamente a la shell al carecer este sistema de entorno gráfico. Es, en suma, cualquier intérprete que un usuario emplee para escribir comandos. En Linux hay diferentes tipos de shell en función de la sintaxis de redacción de los comandos, como bash, ash, csh o tsch.

Bash
Es un tipo de shell, la más común en sistemas Linux. Un software que interpreta los comandos desde la ventana shell. ¿Una equivalencia a modo de ejemplo? Shell es a los coches lo que Bash es a Seat, ash a Renault o csh a Peugeot.

Terminal o consola
Herramienta presente en el entorno gráfico de todas las distribuciones mediante la cual se nos da acceso a la ventana de shell.

Init
En sistemas UNIX, es el primer proceso en ejecución tras la carga del kernel, y que a su vez genera todos los demás procesos.

Kernel
Es el software principal que conforma un sistema operativo. Es el núcleo del sistema, el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o, en forma básica, el encargado de gestionar recursos a través de servicios de llamada al sistema (confieso que aún no se muy bien qué significa esto último).

Compiz
Gestor de ventanas para el X-Window System que proporciona una serie de efectos de visualización dentro del entorno de escritorio.

Repositorio
Los repositorios son contenedores de software del que se nutren las distribuciones GNU/Linux y están alojados en un servidor. De ahí uno se baja cualquier programa que en ellos se encuentre almacenado, y hay repositorios oficiales, la mayoría, y otros que no lo son. Desde el escritorio de Ubuntu, por ejemplo, se accede a ellos a través de una utilidad llamada Synaptic.

Superusuario o usuario root
Los sistemas basados en UNIX están concebidos para ser multiusuario y multitarea, por lo que existen restricciones de acceso a según qué usuarios, a según qué partes del sistema y para según que procesos. Para tener pleno acceso y control a cualquier punto del sistema hay que entrar en modo superusuario o modo root, eso sí, siendo consciente de que una gamba metida como root puede echar abajo todo el cotarro. De ahí que en Ubuntu venga deshabilitado por defecto y que para hacerlo efectivo haya que introducir el comando sudo delante de cada comando que uno quiera emplear, lo que puede resultar bastante coñazo.

Máquina virtual
Programa que le permite instalar otro sistema operativo dentro del que ya tiene instalado (el más común es VirtualBox) y que funciona como una aplicación más. Por ejemplo, puede instalar Windows virtualizado dentro de su distribución GNU/Linux favorita en esos molestos casos en que un periférico concreto (impresora, escáner, webcam...) sea indetectable por carecer de drivers para Linux, pero sí los tenga para Windows. Por supuesto, desde ese Windows virtualizado puede usted instalar Office, Photoshop o lo que le venga en gana. También funciona a la inversa, Windows como sistema anfitrión y un Linux virtualizado.

Por supuesto, Wikipedia y otras páginas están a su entera disposición para ampliar lo que yo les vengo contando.

Y con esto creo que ya pueden ir haciéndose una idea de lo que vendrá mas adelante. Bueno, en realidad no, el aprendizaje será lento, tanto como las imágenes en slow motion del siguiente vídeo:


martes, 5 de marzo de 2013

Tuitentrada: cambiar el color del prompt en el terminal shell

Tuitentrada: terminales Linux online

Algunos conceptos básicos de informática

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Antes de continuar con Linux me parece pertinente abordar algunos conceptos de informática básica que a todos nos suenan pero que es difícil que aún hoy conozcamos con cierta profundidad. Yo mismo me escucho a veces hablando del BIOS, la caché o la RAM sin ser capaz de ofrecer una definición medianamente académica y que además sea entendible para un neófito. Y como este blog está dirigido a personas que, como yo, nunca han recibido una formación expresa en ese campo, pienso que encontrar aquí una pequeña noción de partida para comprender estos conceptos, que antes o después serán nombrados en entradas futuras del blog, no está en absoluto de más.

BIOS (Basic Input/Output System)
Es un programa que no está en el disco duro y almacena información básica del ordenador. Guarda los datos claves del día y la hora, el caché, las configuraciones de los discos, las claves (passwords) de protección, etc. Esta valiosísima información no se pierde al apagar el equipo pues utiliza memorias tipo CMOS y, para no perder los datos, lleva incluida una pequeña pila que puede durar años y se recarga cada vez que la máquina es encendida.

RAM-CMOS
Es un tipo de memoria que contiene información sobre la configuración del sistema, por ejemplo, la velocidad de buses, velocidad del procesador y activación de dispositivos entre otras. Esta información se modifica por medio de una utilidad del BIOS que es convocada por el usuario durante el arranque del sistema; debido a ello suele confundirse con el propio BIOS, pero es una entidad de memoria diferente.

Caché
Es un área especial de la memoria que poseen los ordenadores. Funciona de una manera similar a como lo hace la memoria principal (RAM), pero es de menor tamaño y de acceso más rápido. Es usado por la unidad central de procesamiento (CPU) para reducir el tiempo de acceso a datos ubicados en la memoria principal que se utilizan con más frecuencia.

Bus
En arquitectura de ordenadores, el bus o canal es un sistema digital que transfiere datos entre los componentes de una computadora o entre computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados.

ROM (Read Only Memory, Memoria de Solo Lectura)
Es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos que permite solo la lectura de la información y no su escritura, al margen de la presencia o no de una fuente de energía.

RAM (Random Access Memory, Memoria de Acceso Aleatorio)
Es la memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Allí es donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo.

Memoria virtual
Es una técnica de gestión de la memoria que permite que un sistema operativo disponga, tanto para el software de usuario como para sí mismo, de mayor cantidad de memoria de la que dispone físicamente.

Firmware
Es el software que maneja el hardware. El programa BIOS de un ordenador es un firmware cuyo propósito es activar una máquina desde su encendido y preparar el entorno para cargar un sistema operativo en la memoria RAM.

Ensamblador/Compilador
Tipo de programa informático que se encarga de traducir un fichero escrito en un lenguaje de programación a otro lenguaje de programación (también llamado código máquina) generando un programa equivalente que la máquina sea capaz de interpretar. A este proceso se le llama compilación.

Fuente: Wikipedia. No duden en recurrir a ella (o a otras páginas) para ampliar la información.

Y para ilustrar, algo bastante obvio: los legendarios Kraftwerk y su "Computer worlds".


lunes, 4 de marzo de 2013

Ventajas e inconvenientes de cambiar a Linux

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Cuando uno se plantea dar el salto a GNU/Linux (en adelante, únicamente Linux) y abandonar la dictadura del software privativo enseguida surgen las dudas. Es lógico, el hábito hace mucho y prescindir de un sistema al que ya estamos acostumbrados por otro que cuando menos es una incógnita no es un paso que cualquiera esté dispuesto a dar. Hay que admitir que Windows es un sistema intuitivo y que no se tarda en aprender, aparte de que es relativamente sencillo conseguir copias piratas de casi cualquier aplicación. Un usuario medio lo tendrá difícil para decidirse, y lo menos que puedo hacer es explicar lo que uno gana y lo que pierde con el cambio.

En primer lugar vayamos con las ventajas, y la primera es obvia: el precio. No cuesta nada bajarse, instalar una distribución Linux y funcionar con ella en tu casa, en tu PYME o en tu universidad. Lo mismo digo de la multitud de aplicaciones existentes para toda clase de tareas, así como sus correspondientes actualizaciones y nuevas versiones. Todo a coste cero y sin apenas restricciones. No me digan que en la época de crisis que vivimos no sería todo un alivio para las pequeñas y medianas empresas soltar el lastre que supone el pago de licencias por el uso de software.

Vamos con más. Es un lugar común que los sistemas Linux no sufren ataques de virus porque, simplemente, no existen virus para Linux. Hay que decir que esto no es cierto (de hecho, por algo hay antivirus para Android). Claro que los hay, unos 300 según mis datos, pero al ser este un sistema aún poco implantado en los PC's a nivel mundial, si lo comparamos con Windows, la incidencia de estos virus es tirando a irrelevante. El carácter abierto del software libre también hace que los problemas que pueda generar un virus se solucionen mucho más rápidamente. A fin de cuentas, lo que un creador de virus informáticos quiere es relevancia, y eso se lo da Windows. En conclusión, las probabilidades de que un sistema Linux se infecte con un virus son tan escasas que apenas se tienen en cuenta.

Podemos mencionar también la sobreabundancia de aplicaciones de todo tipo, mantenidas por una numerosísima comunidad de usuarios a la que recurrir en caso de sufrir algún problema. Una mediana empresa podría funcionar perfectamente con el software de ofimática, de diseño o de contabilidad que se puede adquirir gratuitamente por ser usuario de Linux (aquí tienen un listado de alternativas libres al software más común de Windows). A eso le añadiremos que la estabilidad heredada de UNIX los convierte en sistemas bastante fiables, sin olvidar que la mayoría de distribuciones disponen de un entorno gráfico similar al de Windows para hacerlos igual de accesibles.

Y ahora, los inconvenientes.

Si usted es un usuario avanzado de, digamos, AutoCAD, no podrá encontrar un programa similar en Linux. Hay programas de CAD pero ninguno que llegue tan lejos como AutoCAD, MicroStation o Catia. Lo mismo podemos decir del conocido Photoshop o de software de diseño 3D avanzado como 3D Studio MAX o Solid Works. Repito, hablo de usuarios muy experimentados. Un usuario medio se puede contentar sin problemas con lo que puede encontrar tanto en los repositorios (sitios centralizados donde se almacena todo el software que uno se puede descargar) como en el resto de la red.

[Inciso] No quiero extenderme ahora sobre esto, pero existen modos y maneras para sobrellevar estas carencias. Una sería virtualizar Windows dentro de una distro Linux (ejecutarlo desde, por ejemplo, Ubuntu, como si fuese una aplicación más) usando VirtualBox y la otra utilizar Wine, un emulador de programas Windows, si bien no en todos los casos da resultados satisfactorios [Fin del inciso].

¿Más pegas? Sí. Aún son pocos los fabricantes de hardware que incluyen controladores para Linux en sus productos. Esto es algo que he sufrido en mis carnes ya que me fue imposible configurar mi anterior impresora para Ubuntu, y he tenido que sufrir para configurar el escáner o la tarjeta de TV. No es algo que vaya a ocurrir siempre, aviso. De hecho, quién no ha pasado por tragos similares en Windows, incluso con los drivers oficiales (ah, esos conflictos entre drivers y hardware...). Aunque es cierto que con el paso del tiempo estos problemas se van reduciendo llegando a resultar pasmosa la rapidez con que una máquina con Linux instalado reconoce todo o casi todo lo que tiene enchufado.

La última molestia que destacaría es que, a pesar de que las distribuciones Linux disponen, como ya he dicho, de entorno gráfico de ventanas, el máximo rendimiento se le saca mediante la introducción de órdenes por teclado. ¿Se acuerdan de la pantalla de MS-DOS? Pues a eso me refiero. Pero claro, uno se acostumbra a las ventanitas, los menús, los botones, los colorines... y quién quiere volver a aquel tostón antediluviano. Lo entiendo perfectamente, no se crean. Y más si les digo que hay decenas y decenas y decenas de órdenes y opciones para operar desde la Shell, que es como se llama la ventana de comandos. Es como reaprender informática desde cero. ¿Es imprescindible? Supongo que no, dependiendo de a que se vaya uno a dedicar. ¿Conveniente? Sin duda. A veces para solventar un problema solo se podrá disponer de la Shell, y hay que saber manejarse con ella.

Para terminar, solo añadiría que la apuesta por el software libre tiene mucho de compromiso moral. Si no le va a importar sufrir un poco porque considera que los principios en los que se basa el software libre merecen contar con su apoyo, entonces adelante. Si, por el contrario, lo que quiere es ahorrarse problemas, siga con Windows. Linux no es perfecto, pero es gratis, sin virus, con muchísimas aplicaciones y permanentemente actualizable. Si no quiere pagar por Windows y por cada uno de los programas que pueda necesitar, tendrá que recurrir a la piratería, con todo lo que conlleva el uso de software pirateado. Y ahí lo dejo.

¿Piensas que Linux no es para tí? "Not for you", tema del tercer disco de Pearl Jam.


domingo, 3 de marzo de 2013

Los conceptos de software libre, software privativo y distribución

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Hace un par de entradas quedé pendiente de extenderme a cerca de los conceptos de distribución, comunidad, software libre y software propietario o privativo. Tampoco quiero convertir esto en una enciclopedia que termine provocando un coma al lector, así que trataré de ser conciso a la par que didáctico.

Empiezo por el final. Software privativo (o propietario) es todo aquel programa que a usted no le está permitido copiar, duplicar, distribuir o modificar a menos que obtenga un permiso expreso del propietario de los derechos de ese software. Sin embargo, esto no es algo que ocurra a menudo. ¿O conoce usted a alguien anónimo a quien Bill Gates haya permitido hacer alguna de esas brujerías con alguno de sus Windows? ¿Verdad que no? Pues ahí tenemos un ejemplo de software privativo. Solo Microsoft tienen la potestad de modificar cualquiera de sus productos. Lo mismo pasa con Adobe y su conocidos Photoshop, Illustrator o Acrobat; Corel y su popular suite de diseño gráfico Corel Draw... Y solo por hablar de entornos PC (Personal Computer, los ordenadores corrientes que cualquier usuario tiene en casa y que no son de Apple).

Software libre, por contra, es un software de código abierto, es decir, cualquiera con los conocimientos de programación adecuados puede hacer todo aquello que, como acabamos de ver, no nos dejan hacer con el software privativo. Y no solo eso, sino que ese es el leit motiv principal que lo mueve. Pero ojo, no conviene confundirlo con software gratis o freeware, aunque en muchos casos el software libre también sea gratis.

Con esto pasa como con la música, el cine y los derechos de autor. Digamos que cuando usted adquiere un producto privativo, sea un programa informático o un CD musical, no es dueño absoluto de ese material, solo le permiten disfrutar de su contenido tras pasar por caja, pero ese contenido no pasa a ser propiedad de usted. El usuario paga por el soporte (un CD, un DVD, un Blu-Ray...) pero el contenido lo disfruta digamos que en régimen de usufructo permanente: el comprador puede utilizarlo cuantas veces quiera, pero solo él y nadie más que él. Está legalmente incapacitado para hacer copias y distribuirlas entre sus amiguetes, y mucho menos lucrase con ello. A eso se le llama piratería y si en España fuese una industria estaríamos a la cabeza de la producción mundial.

En cambio, el software libre, una vez adquirido, es propiedad íntegra de quien lo adquiere de forma que, si lo desea, puede modificarlo y distribuirlo a mil rincones del planeta sin temor a represalias legales. Y ahí es donde entra en juego la comunidad.

La comunidad Linux, o la comunidad Debian, o la comunidad Ubuntu es, sencillamente, el conjunto de usuarios que, a lo largo y ancho del globo, voluntariamente y sirviéndose de su formación como programadores, dedican su tiempo y esfuerzo a crear, modificar o mejorar software de código libre con el fin de distribuirlo para uso y disfrute de todos los mortales. Su labor, hasta donde yo se, es altruista y desinteresada, y el único reconocimiento que esperan es ver su obra convertida en un producto de uso generalizado, a ser posible desbancando del trono a Windows, el gran Satanás dentro de los entornos PC.

En cuanto a las distribuciones... se las conoce popularmente como distros y, ya que no paramos de mencionar a Windows, hagamos una analogía con el sistema operativo del tito Bill. Imagine que tiene la desgracia de que le regalen una copia del reciente Windows 8. Imagine también que usted es un experto programador y que tiene los conocimientos y permisos necesarios para destripar a su antojo el código en que se ha escrito Windows 8. Bien, una vez metido en faena decide que va a cambiar la disposición de las ventanas y la forma en que aparecen, los colores por defecto y los tipos de letra. También decide que hay aplicaciones que le parecen inútiles y las elimina, incorporando paquetes de software que le han pasado unos colegas, también programadores, y que le parecen mucho más chulos y funcionales. Todo lo que se le ocurra, pero siempre basándose en el núcleo que trae Windows 8 de origen.

Finalmente hay que ponerle un nombre, y en un alarde de creatividad, bautiza a su obra como Doors 1.0 (Windows es "ventanas" en inglés y Doors, "puertas", ¿lo pillan?). Pues bien, lo que usted ha creado ha sido lo que en GNU/Linux se denomina una distribución, o una distro, llamada Doors y basada en Windows. Yo en este momento estoy trabajando en Ubuntu, que es una distribución basada en otra de existencia anterior llamada Debian. Fedora es otra distribución y fue creada a partir de RedHat. Linux Mint es otra distro que partió de Ubuntu... Muchas de las distros existentes tienen como base una distro anterior, y comparten como nexo común el kernel Linux que escribió Linus Torvalds, al que se añaden paquetes y herramientas, por lo general aunque no únicamente, del proyecto GNU de Richard Stallman. ¿Se acuerdan del kernel, de Torvalds y de Stallman?

En fin, si quieren hacerse una idea de la cantidad de distribuciones Linux que hay circulando por el mundo echen un vistazo y átense los machos. Cuando les llegue la ocasión de elegir se preguntarán si les merece la pena entrar en semejante jardín, se lo aseguro. Pero eso lo dejamos para otra ocasión.

Para acabar, ya que hemos bautizado a nuestra distribución ficticia como Doors, queda muy apropiado terminar con un vídeo de The Doors, que además se llama "The end". Más a propósito imposible.


sábado, 2 de marzo de 2013

"Código Linux", o así nació GNU/Linux

Este es un interesante documental emitido en su día por La 2 de TVE llamado "Código Linux" y que ilustra lo tratado en la anterior entrada acerca del nacimiento de GNU/Linux.



Una breve historia del origen de Linux

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

La primera vez que me interesé por Linux lo que quise saber es qué era exactamente Linux. Porque parece simple, pero no lo es tanto. Quien venga de Windows pensará que es un sistema operativo rival sin más, pero la realidad no es tan sencilla. Qué más quisieramos.

Para empezar diré que no existe ningún sistema operativo (SO) llamado Linux. No, lo que existe es GNU/Linux, pero popularmente se le conoce como Linux a secas. ¿Qué es, pues, GNU/Linux?

Puestos así tendría que remontarme varias décadas atrás para explicar el nacimiento de UNIX, el verdadero gérmen de Linux. Prefiero remitirme a la Wikipedia para tal fin, sinceramente. Solo diré que UNIX es un SO nacido en los años 60 del siglo XX, complejo y de difícil manejo pero demostradamente estable. Posteriores aportaciones de diferentes personajes a lo largo del tiempo dieron lugar a Minix, un SO clónico de UNIX con propósitos educativos.

Minix fue el sistema que un joven finlandés llamado Linus Torvalds utilizó  a comienzos de los años 90 para crear el núcleo central de Linux, lo que se denomina el kernel. El kernel es el software principal que conforma un SO, el núcleo del sistema, principal responsable de facilitar  a los distintos programas un acceso seguro al hardware (memorias, discos duros, ratón, tarjeta gráfica, procesador, impresora...) del ordenador. Y es software UNIX.

Pero un kernel no es por sí solo un SO, igual que el motor de un coche no es por sí solo un coche. Necesita herramientas y accesorios que, en este caso, le proporcionó un proyecto de software libre llamado GNU impulsado por Richard Stallman. GNU necesitaba un kernel y Linus Torvalds necesitaba un conjunto de aplicaciones que complementaran el kernel que ya tenía escrito. De esa colaboración nació, allá por 1992, GNU/Linux, aunque hoy día a estos sistemas se les conoce simplemente como Linux, mal que le pese (que le pesa) a Stallman. Pero el término correcto es GNU/Linux.

Ya que lo hemos mencionado, aclaremos qué es eso de software libre. Es un software (un programa informático creado con un objetivo específico) ideado bajo la condición de la libre modificación y distribución entre usuarios, esto es, todo aquel con los conocimientos precisos de programación puede modificar un sistema Linux y distribuirlo a su antojo y a coste cero, algo impensable con Windows o Mac OS. En 1989 se publica la primera licencia GPL (General Public License) cuyo principal objetivo es la libre distribución, manipulación y uso del software, con la prioridad de protegerlo de intentos de apropiación. Ello no significa que no haya sistemas Linux privativos (o sea, no libres) o aplicaciones Linux igualmente propietarias, pero por lo general son la excepción. Por ejemplo, la distribución RedHat comenzó bajo el paradigma del software libre, pero su comunidad creció tanto que sus creadores se vieron obligados a implementar un soporte técnico permanente para asistir a los usuarios y garantizar unos mínimos de calidad. Y ese servicio había que pagarlo.

Ya ven que con cada párrafo aparece un nuevo término que hay que abordar para que lo neófitos no empiecen a torcer el gesto. ¿Qué es la comunidad? ¿Qué es una distribución? ¿Queda claro qué es software libre y software privativo o propietario? Pero no quiero agobiar en esta primera entrada con demasiada información. En la próxima, más.