sábado, 28 de febrero de 2015

¿Por qué no lo llamo “GNU/Linux”?

En algunos ámbitos, es políticamente correcto llamar al sistema operativo Linux “Sistema Operativo GNU/Linux”. El problema con “Linux” es que no hay una manera correcta del todo de nombrarlo, porque ha sido escrito por mucha gente distinta en un esfuerzo de desarrollo enorme y distribuido. Técnicamente hablando, Linux es el nombre del kernel (núcleo) del sistema operativo, nada más. Por supuesto, el kernel es muy importante, ya que hace que el sistema operativo funcione, pero no es suficiente para formar un sistema operativo completo.

Richard Stallman, es el genio-filósofo que fundó el Free Software Movement (Movimiento por el Software Libre), comenzó la Free Software Foundation (Fundación por el Software Libre), formó el Proyecto GNU, escribió la primera versión del Compilador GNU C (gcc: GNU C Compiler), creó la Licencia Pública General GNU (GPL: General Public License), etc., etc., etc. Él insiste en que se le llame “GNU/Linux” para reflejar apropiadamente las contribuciones del Proyecto GNU.  Si bien el Proyecto GNU es anterior al kernel de Linux, y las contribuciones hechas por el proyecto son muy dignas de reconocimiento, colocarlo en el nombre es injusto para todos aquellos otros que hayan hecho contribuciones significativas. Además, pienso que “Linux/GNU” sería más preciso técnicamente ya que el kernel arranca primero y todo lo demás funciona sobre él.

Popularmente, “Linux” se refiere al kernel y todo el software libre y de código abierto que viene en cualquier distribución de Linux; o sea, todo el ecosistema Linux, no solo los componentes GNU. El mercado de sistemas operativos parece preferir nombres de una sola palabra como DOS, Windows, Solaris, Irix, AIX. Yo he elegido usar el formato popular. Si, de todas formas, prefieres utilizar “GNU/Linux”, por favor haz un “buscar y reemplazar” mentalmente mientras lees este libro. No me importará.

viernes, 27 de febrero de 2015

¿Cómo leer este libro?

Empieza por el principio del libro y síguelo hasta el final. No está escrito como un trabajo de referencia, es más como una historia que tiene un inicio, una cumbre y un desenlace.

Prerrequisitos

Para usar este libro, todo lo que necesitas es una instalación de Linux funcionando. Puedes conseguirlo de cualquiera de estas dos formas:
  1. Instala Linux en un ordenador (no tiene que ser muy potente). No importa la distribución que elijas, aunque la mayoría de las personas hoy en día empiezan con Ubuntu, Fedora u OpenSuse. Si estás en duda, prueba primero Ubuntu. Instalar una distribución moderna de Linux puede ser ridículamente fácil o ridículamente difícil dependiendo de tu hardware. Recomiendo un ordenador de hace un par de años y que tenga al menos 256 megabytes de RAM y 6 gigabytes libres de disco duro. Evita portátiles y redes inalámbricas si es posible, ya que suelen ser más difíciles de hacerlas funcionar. (Nota del traductor: estos requisitos se refieren a la fecha de edición del libro, en la actualidad se necesita un hardware algo más potente.)
  2. Utiliza un “Live CD”. Una de las cosas interesantes que puedes hacer con muchas distribuciones Linux es ejecutarlas directamente desde un CDROM (o una unidad USB) sin instalar nada. Sólo entra en la configuración de tu BIOS y configura tu ordenador para que “Arranque desde el CDROM”, introduce el Live CD, y reinicia. Usar un Live CD es una excelente manera de probar la compatibilidad de un ordenador antes de la instalación. La desventaja de usar un Live CD es que puede ser muy lento en comparación con tener instalado Linux en el disco duro. Ubuntu y Fedora (entre otros) tienen versiones en Live CD.
Independientemente de cómo instales Linux, tendrás que tener ocasionalmente privilegios de súper-usuario (es decir, administrativos) para llevar a cabo las lecciones de este libro.

Cuando tengas una instalación funcionando, empieza leyendo y siguiendo el libro con tu propio ordenador. La mayoría del material de este libro es “manos a la obra”, así que ¡siéntate y empieza a teclear!

jueves, 26 de febrero de 2015

¿Qué hay en este libro?

Este material está presentado en un orden cuidadosamente escogido, como si tuvieras un tutor sentado junto a ti para guiarte. Muchos autores tratan esta materia de una forma “sistemática”, lo que tiene sentido desde la perspectiva del autor, pero puede ser confuso para los nuevos usuarios.

Otro objetivo es familiarizarte con la forma de pensar de Unix, que es distinta de la forma de pensar de Windows. A lo largo de nuestro camino,  tomaremos algunos desvíos para ayudarte a comprender por qué algunas cosas funcionan de un modo concreto y por qué lo hacen así. Linux no es sólo una pieza de software, es también una pequeña parte de la gran cultura Unix, que tiene su propio lenguaje e historia.  También podría hacer alguna reflexión al respecto.

Este libro está dividido en cuatro partes, cada una cubre un aspecto de la experiencia con la  línea de comandos:
  • Parte 1 – Aprendiendo el Shell comienza nuestra exploración del lenguaje básico de la línea de comandos incluyendo cosas como la estructura de los comandos, el sistema de navegación de ficheros, edición en línea de comandos, y encontrar ayuda y documentación sobre los comandos.
  • Parte 2 – Configuración y Entorno cubre la edición de ficheros de configuración que controlan el funcionamiento del ordenador desde la línea de comandos.
  • Parte 3 – Tareas comunes y herramientas esenciales explora muchas de las tareas ordinarias que se realizan normalmente desde la línea de comandos. Los sistemas operativos tipo Unix (similares a Unix), uno de ellos es Linux, contienen muchos programas de línea de comandos “clásicos” que se usan para realizar grandes operaciones con datos.
  • Parte 4 – Escribiendo Scripts de Shell presenta la programación en Shell, una técnica, rudimentaria pero fácil de aprender, para automatizar muchas tareas comunes de computación. Aprendiendo programación en Shell, te familiarizarás con conceptos que pueden ser aplicados a muchos otros lenguajes de programación.

miércoles, 25 de febrero de 2015

¿Quién debería leer este libro?

Este libro es para nuevos usuarios de Linux que hayan migrado desde otras plataformas. Lo más probable es que seas un "usuario avanzado" de alguna versión de Microsoft Windows. Quizás tu jefe te ha dicho que administres un servidor Linux, o quizás eres sólo un usuario de escritorio que está cansado de todos los problemas de seguridad y quieres darle una oportunidad a Linux. Eso está bien. Todos sois bienvenidos.

Dicho esto, no hay atajos para dominar Linux. Aprender la línea de comandos es un reto y requiere un esfuerzo real. No es que sea muy duro, más bien es muy extenso. El sistema Linux medio tiene literalmente miles de programas que puedes usar en la linea de comandos. Considérate avisado; aprender la linea de comandos no es un esfuerzo puntual.

Por otro lado, aprender la línea de comandos de Linux es extremadamente provechoso. Si crees que eres un "usuario avanzado" ahora, espera. No sabes cual es su poder real - todavía. Y al contrario que otras habilidades informáticas, el conocimiento de la línea de comandos es para mucho tiempo. Las habilidades aprendidas hoy serán útiles todavía dentro de diez años. La línea de comandos ha sobrevivido al paso del tiempo.

También se asume que no tienes experiencia programando, pero no te preocupes, también te iniciaremos en ese camino.

martes, 24 de febrero de 2015

¿De qué trata este libro?

Este libro es una descripción general y amplia de cómo "vivir" en la línea de comandos de Linux. Al contrario que algunos libros que se concentran en un sólo programa, como el programa shell o interfaz, bash, este libro tratará de explicar como utilizar la interfaz de línea de comandos en un sentido amplio. ¿cómo funciona? ¿qué puede hacer? ¿cuál es la mejor forma de usarla?

Este no es un libro sobre la administración de sistemas Linux. Si bien cualquier debate serio sobre la línea de comandos lleva inevitablemente a asuntos de administración de sistemas, este libro sólo tratará algunas cuestiones de administración. Sin embargo, preparará al lector para un estudio posterior proporcionando unos cimientos sólidos en el uso de la línea de comandos, una herramienta esencial para cualquier tarea seria de administración de sistemas.

Este libro está muy centrado en Linux. Muchos otros libros tratan de ser más atractivos incluyendo otras plataformas como Unix genérico y OS X. Al hacerlo, "diluyen" su contenido para incluir sólo temas generales. Este libro, por otra parte, sólo cubre distribuciones Linux actuales. El noventa y cinco por ciento del contenido es útil para usuarios de otros sistemas similares a Linux, pero este libro está dirigido al usuario moderno de la línea de comandos de Linux.

lunes, 23 de febrero de 2015

¿Por qué usar la línea de comandos?

¿Te has dado cuenta alguna vez que, en las películas, cuando el "súper hacker" - ya sabes, el tío que puede entrar en la computadora militar ultra-segura en menos de treinta segundos - se sienta en el ordenador y nunca toca un ratón? Es por que los que hacen las películas saben que nosotros, como seres humanos, instintivamente sabemos que la única forma de hacer algo en un ordenador ¡es escribiendo en el teclado!

La mayoría de los usuarios de ordenadores de hoy sólo están familiarizados con la interfaz gráfica de usuario o GUI (del inglés graphical user interface) y los vendedores y los expertos les han enseñado que la interfaz de línea de comandos o CLI (del inglés command line interface) es una cosa espantosa del pasado. Es una pena, porque una buena interfaz de línea de comandos es una maravillosa y expresiva forma de comunicarse con el ordenador, muy parecida a lo que el lenguaje escrito es para los seres humanos. Se ha dicho que "las interfaces gráficas de usuario hacen fáciles las tareas fáciles, mientras que las interfaces de línea de comandos hacen posibles las tareas difíciles" y eso es muy cierto aún hoy.

Dado que Linux fue desarrollado desde la familia de sistemas operativos Unix, comparte la misma rica herencia de herramientas de línea de comandos que Unix. Unix saltó a la fama en los primeros años ochenta (aunque fue desarrollado una década antes), antes de que se extendiera la adopción de las interfaces gráficas de usuario, y por eso, se desarrolló una amplia interfaz de línea de comandos en su lugar. De hecho, una de las razones más potentes para que los primeros que utilizaron Linux lo eligieran sobre, digamos, Windows NT, era la poderosa interfaz de línea de comandos que hacía las "tareas difíciles posibles".

domingo, 22 de febrero de 2015

Introducción

Quiero contarte una historia.

No, no es la historia de cómo, en 1991, Linus Torvalds escribió la primera versión del kernel de Linux. Puedes leer esa historia en montones de libros sobre Linux. Tampoco voy a contarte la historia de cómo, algunos años antes, Richard Stallman comenzó el Proyecto GNU para crear un sistema operativo libre parecido a Linux. Esa también es una historia importante, pero la mayoría de los libros de Linux también la incluyen.

No, quiero contarte la historia de como tú puedes recuperar el control de tu ordenador.

Cuando comencé a trabajar con ordenadores, siendo un estudiante universitario a finales de la década de 1970, estaba en marcha una revolución. La invención del microprocesador había hecho posible para la gente normal, como tú y yo, tener un ordenador. Es difícil para mucha gente hoy imaginar cómo era el mundo cuando sólo las grandes empresas y grandes gobiernos manejaban ordenadores. Digamos que no se podía hacer mucho más.

Hoy, el mundo es muy diferente. Los ordenadores están en todas partes, desde pequeños relojes de pulsera a gigantescos centros de datos. Además de ordenadores repartidos por todas partes también tenemos redes conectándolos. Esto ha creado una maravillosa nueva era de empoderamiento personal y libertad creativa, pero en las dos últimas décadas algo más ha sucedido. Algunas grandes corporaciones han impuesto su control sobre la mayoría de ordenadores del mundo y han decidido lo que puedes o no puedes  hacer con ellos. Afortunadamente, gente de todo el mundo está haciendo algo al respecto. Están luchando por mantener el control de sus ordenadores escribiendo su propio software. Están construyendo Linux.

Mucha gente habla de "libertad" con respecto a Linux, pero no creo que la mayoría de la gente sepa que significa esta libertad en realidad. Libertad es el poder de decidir lo que tu ordenador hace, y la  única forma de tener esta libertad es saber que está  haciendo tu ordenador. La libertad es un ordenador que no tiene secretos, en el que todo puede saberse si te interesa averiguarlo.