Empezar con Linux

A esta página (y a veces, a mi correo en forma de consulta) llegan usuarios de uno de los siguientes grupos:


  • Usuarios de otros sistemas: Usuarios de Microsoft Windows o Apple Mac OS que desean aprender a instalar y utilizar Linux, no habiendo probado Linux nunca o habiéndolo probado en un LiveCD o LiveUSB.
  • Nuevos usuarios: Usuarios que han instalado Linux alguna vez pero siempre como prueba, y que no hacen su trabajo diario con Linux (simplemente lo instalaron para probarlo, pero al menos tienen alguna experiencia en la instalación y conocimientos básicos sobre particiones).
  • Usuarios ocasionales: Usuarios con Linux instalado junto a otro Sistema Operativo en su PC, y que lo lanzan ocasionalmente para alguna tarea.
  • Usuarios habituales: Usuarios que usan exclusivamente Linux, pero sólo con lo que les ofrece el entorno de escritorio (GNOME/KDE/Unity), sin llegar a profundizar en el Sistema en sí.
  • Usuarios avanzados: Usuarios que usan exclusivamente Linux, y tienen conocimientos del intérprete de comandos bash, edición de ficheros en la terminal, configuración del sistema y gestión de paquetes desde la línea de comandos, etc.


Algunos de estos usuarios (excepto los del último grupo) me suelen preguntar:


¿Cómo puedo empezar/avanzar/mejorar en Linux? Hay tanto material para leer, tantos tutoriales que consultar, que no sé por dónde empezar.

Esta pequeña página es una sencilla guía de qué conocimientos son los más productivos dentro de cada nivel.

A continuación describo los conocimientos mínimos que se deberían desarrollar en cada nivel. Cuando se cumplen los requisitos de ese nivel, podemos considerar que hemos avanzado al siguiente de una forma natural, y sin demasiado esfuerzo ni sobreintoxicación por excesiva información.

En cada nivel trato de enlazar algún documento que considero necesario y suficiente para esa tarea.


Usuarios de otros sistemas


Nuevos usuarios

  • Aprender a utilizar el gestor de paquetes que venga con nuestra distribución (para poder instalar o desinstalar programas nuevos de forma automática). Por ejemplo: apt-get/dpkg/synaptic/adept.
  • Instalar y configurar los siguientes programas de la misma forma que lo tengamos en nuestro Sistema Operativo de uso diario:
    • Navegador Web (firefox, chrome/chromium, etc)
    • Gestor de correo electrónico (Thunderbird, Evolution, o bien firefox si usamos un Webmail).
    • Reproducción multimedia: vídeo (VLC) o audio (banshee, amarok, etc)
    • Gestor de ficheros (el que venga con nuestro entorno de escritorio, para poder copiar ficheros, montar unidades USB, etc).
    • Visualizador de imágenes (usando el programa que venga con nuestro entorno de escritorio).
    • Sistema de mensajería instantánea para msn o gtalk (como Pidgin, amsn, etc.)
    • Programa de edición de imágenes (The Gimp).
    • Editor de documentos, hojas de cálculo y presentaciones (LibreOffice).
  • Probar los anteriores programas para todas nuestras tareas habituales, arrancando el sistema regularmente para hacer, en alguna ocasión, estas tareas bajo Linux en lugar de bajo nuestro otro Sistema Operativo.
  • Familiarizarse con el entorno de ventanas (GNOME/KDE/Unity/XFCE/etc) en cuanto a opciones de configuración, gestión de ficheros, unidades extraíbles, meter ficheros en nuestro directorio personal y poder sacar ficheros de Linux a un llavero USB o a la partición de datos del otro Sistema Operativo, etc.


Usuarios ocasionales

  • Forzarse a utilizar las aplicaciones comentadas en el anterior nivel (y las adicionales que consideremos necesarias) durante un tiempo para nuestro trabajo habitual diario: navegar, correo, usar mensajería instantánea, actualizar twitter y facebook, ver contenido multimedia, editar documentos, etc.
  • Llevar el punto anterior hasta el momento en que el sistema operativo ocasional ya no es Linux sino nuestro anterior Sistema Operativo, por ejemplo porque lo reservamos sólo para jugar o para alguna tarea concreta.
  • Instalar algún programa (si no lo lleva ya la distribución) para la generación automática de copias de seguridad de nuestro directorio HOME o de la máquina completa en sí (por ejemplo: deja-dup), teniendo así backup regular de nuestros datos (requerimiento indispensable).


Usuarios habituales

  • Para pasar de usuario habitual a usuario avanzado, es necesario formarse en una serie de programas que llevarán nuestra productividad a niveles muy altos. Llegar hasta este punto es bastante rápido y sencillo, pero pasar al siguiente nivel requiere cierta dedicación que también implica una gran recompensa:
    • Abrir y familiarizarse con una aplicación de terminal del tipo gnome-terminal, konsole, etc.
    • Aprender los fundamentos básicos del intérprete de comandos. Habitualmente se utilizará la shell bash.
    • Aprender a utilizar un multiplexador de terminales como tmux.
    • Aprender a utilizar un editor de texto como el editor Vim.
    • Más que probablemente, en algún momento tendrás que cruzarte con awk y sed.


Usuarios avanzados

  • Llegado a este punto, debes plantearte ya objetivos como los siguientes:
    • Activación y desactivación de servicios del sistema.
    • Gestión completa de paquetes desde línea de comandos.
    • Familiarizarse con todos los ficheros de configuración del sistema (/etc/).
    • Desarrollo de scripts en shell para determinadas tareas (backups remotos, tareas repetitivas, etc).
  • Si además de usuario avanzado quieres ser "Administrador de Sistemas Básico" de tu propio sistema, podrías:
    • Añadir a tu máquina acceso remoto SSH.
    • Instalar, configurar y probar un servidor Web como Apache, con y sin soporte PHP.
    • Instalar, configurar y probar una base de datos como MySQL.
    • Montar algún software en PHP + Mysql para alguna tarea productiva. Por ejemplo, un DokuWiki para gestionar información (sólo PHP), o alguna otra aplicación que también implique la gestión de la base de datos.
    • Crear un VirtualHost adicional para instalar en él phpmyadmin (gestión de la BBDD vía PHP).
    • Leer manuales más avanzados de Apache y MySQL para ver sus posibilidades y su funcionamiento interno.
    • Aprender a utilizar rsync para sincronizar datos contra servidores remotos y/o entre 2 directorios locales o contra discos USB (para hacer backup de cosas concretas).
    • Para determinadas tareas, tabajar contra tu servidor desde cualquier otro terminal (portátil, por ejemplo) vía SSH + tmux + bash + Vim. VNC también puede utilizarse en caso de requerir acceso al escritorio del sistema.
    • El item más avanzado antes de pasar al siguiente nivel podría ser la utilización de virtualización KVM (aunque sea a nivel básico con virt-manager). De esta forma podremos crear en nuestro PC máquinas virtuales Linux para hacer todo tipo de nuevas pruebas.

A partir de este nivel existen niveles superiores que son demasiado especializados (virtualización, almacenamiento, otros servidores HTTP, otros servidores de BBDD, securización/hardening, etc.) para definirlos aquí.



<Volver a la sección de GNU/Linux>