1. Introduccion
    1. Problemas y Soluciones
      1. El usuario tiene que escoger un sistema operativa acorde a sus necesidades
        1. Windows
          1. A diferencia de Linux tiene limitadas funciones, generando asi problemas
        2. Linux
          1. Siempre abierto a la soluciones que requieran los usuarios
    2. GNU y Linux
      1. Proyecto GNU
        1. Fundado por Richard M. Stallman
        2. Consiste en:
          1. Software Libre
          2. Licencias GPL y LGPL
          3. Free Software Foundation
        3. Cuenta con 4 libertades
          1. Libertad de Uso
          2. Libertad de Estudio
          3. Libertad de Mejorar el Software y Publicarlo
          4. Libertad de Distribución
      2. Linux
        1. Fundado por Linus Torvalds
        2. Consiste en:
          1. Compatible UNIX
          2. Licenciado bajo GPL
          3. Publicado en Internet
    3. Ejemplos de Uso de GNU/Linux
      1. Empresas que usan GNU/Linux
        1. Topic
        2. Topic
        3. Topic
        4. Topic
        5. Hasta Microsoft usa Linux, una pruebita, es que usa APACHE
    4. Linux Vs. MacOs Vs. Windows
    5. Por qué no usar Soft. Privativo
      1. Seguridad
        1. Fallos
        2. Virus
        3. Actualizaciones y Ciclos de soporte
        4. Basado en formatos cerrados/propietarios
        5. ¡Nadie sabe cómo funciona ni qué hace! (Spyware)
      2. Economia
        1. Coste de Adquisición
        2. Coste de Soporte
        3. Renovación y Licencias
        4. ¡Windows recién instalado es inservible!
        5. Modelo del Software Propietario
      3. Aprendizaje
        1. Se aprende "a manejar X" en lugar de la Materia
        2. Nivel limitado de conocimiento
        3. ¡No puedo compartir el conocimiento!
      4. Control
        1. No puedo controlar algo que desconozco
        2. Personalización Limitada (Muchas veces imposible o mediante software adicional)
        3. Usuarios/Grupos/Permisos
      5. Idependencia
        1. Obligaciones unilaterales (CLUF)
        2. No puedo compartir ni aplicar el conocimiento
        3. El Fabricante es el que controla al usuario, en lugar del Usuario al Producto (TCPA/Palladium y DRM)
        4. Estándares Cerrados (Adoptar, Extender, Extinguir)
      6. Hardware
        1. Requerimientos de hardware elevados
        2. Poca o Nula escalabilidad
        3. Drivers de bajo rendimiento
    6. Problemas de usar Soft. Libre
      1. Hardware
        1. Nuevo Hardware no soportado (Excepción AMD64) *
        2. Fabricantes no colaboran (compatibilidad)
        3. Elección correcta de distribución
      2. Software
        1. Variedad
        2. Resistencia al cambio
        3. Algunos programas no tienen equivalente
      3. Integracion
        1. Integración Hardware/Software
        2. Integración entre aplicaciones
        3. Integración entre productos Microsoft
    7. Distribuciones
      1. Informacion sobre ellas
        1. Definicion
        2. Consiste
        3. Ejemplares
    8. Por qué usar Debian
      1. Una de las más antiguas
      2. Totalmente Libre e Independiente
      3. Estable
      4. Base de usuarios y paquetes muy amplia
      5. Estándar (Linux Standar Base)
      6. Mayor soporte de arquitecturas
      7. Tiene fama de Compleja
  2. Instalacion del Sistema
    1. Preparacion: Particionamiento
      1. Caso 1: Disco Vacio
      2. Caso 2: Disco Con Windows
      3. Particionamiento 1: Arranque Dual
      4. Particionamiento 2: Solo Linux
      5. Particionamiento 3: Solo Linux(Servidor Web)
      6. Se puede utilizar una herramienta para particionar: Gparted
    2. Instalacion de Debian
      1. Pasos:
        1. Eleccion de Arranque
        2. Eleccion de Idioma
        3. Deteccion del Hardware
        4. Preparacion de la Instalacion
        5. Deteccion y configuracion de la red
        6. Particionamiento Manual de los Discos
          1. Particionamiento de /
          2. Particionamiento Del Área De Intercambio (SWAP)
        7. Elección De Los Repositorios
        8. Selección De Paquetes Básica
        9. Instalación Del Sistema
        10. Instalación Del Cargador De Arranque (GRUB)
        11. Instalación De GCC
        12. Instalación De MAKE
        13. Instalación De Las Cabeceras Del Kernel
  3. Primeros Pasos
    1. Consola y Entorno Gráfico
      1. Todo lo que hacemos en el entorno gráfico lo podemos hacer desde la consola...
      2. No todo lo que hacemos desde la consola se puede hacer en el entorno gráfico...
      3. No siempre tendremos acceso gráfico al sistema...
      4. Pero siempre podremos acceder desde consola.
      5. Topic
    2. Estructura de Directorios
      1. /bin y /sbin
        1. Ejecutables básicos
      2. /usr y /usr/bin
        1. Archivos opcionales y ejecutables generales (/usr/src)
      3. /dev
        1. Dispositivos (/dev/hda1, /dev/eth0, /dev/sda1, /dev/null, /dev/zero, /dev/random, /dev/disk/by-...)
      4. /home
        1. Archivos de usuarios
      5. /etc
        1. Archivos de configuración
      6. /lib y /usr/lib
        1. Librerías
      7. /proc
        1. Sistema virtual de archivos con información del sistema
      8. /tmp
        1. Archivos temporales
      9. /boot
        1. Imágenes y configuraciones básicas del núcleo
      10. /var
        1. Archivos VARIABLES (/var/www , /var/cache/apt/ , /var/log)
      11. /mnt y /media
        1. Montaje de dispositivos fijos y removibles
    3. Archivos y Permisos
      1. Archivos Ocultos
        1. Comienzan con el carácter .
        2. Pej: .mozilla .gtk-rc2.0 .fonts
        3. Muy útiles para la configuración de las cuentas de usuario
      2. Permisos
        1. Usuario
        2. Grupo
        3. Otros
        4. Lectura
        5. Escritura
        6. Ejecución
    4. El usuario Root
      1. Administrador del Sistema, puede hacer cualquier cosa
      2. su -
      3. sudo
      4. Modo paranoico: no permite iniciar sesión como root directamente.
    5. Algunos conceptos básicos
    6. Algunos controles para el manejo de Terminales
      1. Alt+FY: Cambio a terminal Y
      2. Ctr+Z: Tarea pasa a Segundo Plano
      3. jobs: Muestra lista de Tareas
      4. fg [numtarea]: Devuelve la tarea [numbarea] a primer plano
      5. Ctr+C: Aborta la Tarea actual
    7. Obtener y consultar ayuda
      1. man [comando o archivo]: muestra la página del manual del comando o el archivo requerido.
      2. apropos [expresión]: muestra todos los comandos que encuentre que contengan en su descripción la expresión indicada.
      3. apt-cache search [expresión]: busca paquetes que contengan la expresión indicada en su definición.
    8. Algunos comandos básicos
      1. ls
      2. cd
      3. mkdir
      4. mv
      5. cp
      6. rm
      7. ln: Crea un enlace DURO
      8. ln -s: Crea un enlace BLANDO
      9. ps -A: Lista todas los procesos en ejecución.*
      10. top: Lista los procesos interactivamente.*
      11. kill -X [ID]: Envía la señal X al proceso ID
    9. El editor VI
      1. vi [archivo]:
        1. Crea y Abre el archivo SI NO EXISTE
        2. Abre el archivo SI EXISTE
      2. Modos de Funcionamiento
        1. Modo de Órdenes (por defecto)
        2. Modo Inserción
        3. Módo Última Línea
        4. Pasar a modo edición: i
        5. Movimiento con cursores y teclas RePg, AvPg, Inicio, Fin.
        6. Salir del modo edición y volver al modo Órdenes: escape
        7. Modo última línea: :
        8. Salir del modo UL y volver al modo Órdenes: escape
      3. Salir
        1. Pasar al modo ÚLTIMA LÍNEA:
        2. :w : Guarda cambios en el archivo
        3. :wq : Guarda cambios en el archivo y sale de VI
        4. :q! : Fuerza la salida (no guarda cambios)
      4. Movimiento
        1. Pasar al modo ORDENES:
        2. w : Salta al principio de la siguiente palabra
        3. e : Salta al final de la siguiente palabra
        4. b : Salta al principio de la palabra anterior
        5. 0 : Salta al principio de la línea actual
        6. $ : Salta al final de la línea actual
        7. INTRO : Salta al principio de la linea siguiente
        8. - : Salta al principio de la linea anterior
      5. Edicion
        1. Pasar al modo ORDENES:
        2. dd : Borra la línea actual
        3. D : Borra desde la posición actual al final de línea
        4. u : Deshacer último comando.
        5. U : Deshacer todos los cambios de la línea actual
        6. :e! : Restaurar la última versión guardada
      6. Edicion II
        1. Pasos a seguir:
        2. Copiar:
          1. yw : copia la palabra actual.
          2. yy : copia la línea actual.
        3. Ir a la zona de destino
        4. Pegar:
          1. np : pegar n veces (n=número).
          2. p : pegar a la derecha del cursor.
  4. Administracion basica Linux I
    1. Archivo básicos de configuración
      1. /etc/crontab
        1. Tareas programadas
      2. /etc/fstab
        1. Montaje del sistema de archivos
      3. /etc/hostname
        1. Nombre del sistema
      4. /etc/modules
        1. Carga de módulos en el inicio
      5. /etc/hosts.deny
        1. Host a los que no se les permite el acceso al sistema
      6. /etc/hosts.allow
        1. Host a los que se les permite el acceso al sistema
      7. /etc/apt/sources.list
        1. Repositorios o fuentes de paquetes
      8. /etc/cups/cupsd.conf
        1. Servidor de Impresión
      9. /etc/rc[X].d/
        1. Scripts que se ejecutan en cada nivel X de ejecución
      10. /etc/samba/smb.conf
        1. Configuración de Samba
      11. /etc/udev/udev.rules
        1. Reglas de definición de dispositivos para UDEV
      12. /etc/X11/xorg.conf
        1. Configuración del entorno gráfico (sistema X)
      13. /boot/grub/menu.lst
        1. Configuración del menú de arranque GRUB
      14. /etc/bash.bashrc
        1. Se ejecuta cuando cualquier usuario inicia una sesión.
      15. /home/[USER]/.bashrc
        1. Se ejecuta cuando el usuario inicia una sesión.
      16. /home/[USER]/.xinitrc
        1. Se ejecuta cuando el usuario inicia una sesión gráfica.
    2. Logs
      1. /var/log/apt/term.log
        1. Log de APT.
      2. /var/log/cups/
        1. Logs del servidor de impresión.
      3. /var/log/debian-installer/
        1. Log de la Instalación de Debian.
      4. /var/log/fsck/
        1. Log de los chequeos de discos.
      5. /var/log/samba/
        1. Log de SAMBA
      6. /var/log/auth.log
        1. Logs de los accesos al sistema.
      7. /var/log/dmesg
        1. Log con mensajes del sistema.
      8. /var/log/syslog
        1. Log del Sistema.
      9. /var/log/kern.log
        1. Log del Kernel.
      10. /var/log/mail.log
        1. Logs del sistema de correo (pej. postfix).
      11. /var/log/messages
        1. Log de mensajes del sistema.
      12. /var/log/Xorg.0.log
        1. Log del servidor gráfico.
      13. dmesg
        1. Muestra mensajes del sistema (no es un cat /var/log/dmesg)
      14. tail -f /var/log/[ARCHIVO]
        1. Muestra por pantalla en tiempo real el contenido del archivo [ARCHIVO] (las 10 últimas líneas)
      15. date
        1. Muestra la fecha y hora actual del sistema.
      16. uptime
        1. Muestra el tiempo que lleva funcionando el sistema.
      17. w
        1. Muestra los usuarios conectados actualmente en el sistema.
      18. whoami
        1. Muestra el nombre del usuario que lo invoca
      19. finger [USUARIO]
        1. Muestra información sobre el USUARIO.
      20. cat /proc/cpuinfo
        1. Muestra información sobre la CPU.
      21. cat /proc/meminfo
        1. Muestra información sobre la MEMORIA.
      22. df
        1. Muestra información sobre el uso de los discos.
      23. du [RUTA]
        1. Muestra el espacio usado por los archivos de RUTA.
      24. free
        1. Muestra información memoria y swap.
    3. Software, paquetes y repositorios
      1. Paquetes
        1. deb
          1. debian
          2. Ramas
          3. Estable
          4. Pruebas
          5. Inestable (SID)
          6. Experimental
          7. Grupos
          8. non-free
          9. contrib
          10. main
        2. .rpm
        3. .src
      2. ubuntu
        1. Grupos
          1. universe
          2. main
          3. multiverse
      3. apt-get ...
        1. apt-get show
        2. apt-get clean
        3. apt-get remove (--purge)
        4. apt-get install
        5. apt-get search
        6. apt-get update
      4. Gestion de Paquetes
        1. dpkg -i NOMBRE-DEL-PAQUETE.DEB
        2. dpkg-reconfigure NOMBRE-DEL-PAQUETE
        3. alien --to-deb NOMBRE-DEL-PAQUETE.RPM
        4. alien --to-rpm NOMBRE-DEL-PAQUETE.DEB
      5. Actualizaciones Masivas
        1. apt-get upgrade
        2. Actualiza todos los paquetes a la nueva versión.
        3. apt-get dist-upgrade
        4. Actualiza todos los paquetes a la nueva versión e instala otros nuevos paquetes que estén relacionados con estos.
    4. Usuarios y Grupos
      1. adduser
        1. Genera usuarios HUMANOS.
      2. adduser --system
        1. Genera usuarios de Sistema.
      3. addgroup
        1. Genera un grupo.
      4. addgroup --system
        1. Genera un grupo de Sistema.
      5. adduser [USUARIO] [GRUPO]
        1. Agrega al usuario [USUARIO] al grupo [GRUPO]
      6. deluser [USUARIO] [GRUPO]
        1. Elimina al usuario [USUARIO] del grupo [GRUPO]
      7. deluser [USUARIO]
        1. Elimina al usuario.
      8. delgroup [GRUPO]
        1. Elimina el grupo.
      9. passwd [USUARIO]
        1. Cambiar contraseña del usuario [USUARIO].
    5. Servicios
      1. Permisos
        1. chmod [OCTAL] [ARCHIVO]
          1. 1: Ejecución
          2. 2: Escritura
          3. 4: Lectura
        2. chmod [OCTAL] -R [RUTA]
        3. chown [USUARIO] [ARCHIVO]
          1. [USUARIO] será el dueño del archivo [ARCHIVO]
        4. chgrp [GRUPO] [ARCHIVO]
          1. [ARCHIVO] pertenece ahora al grupo [GRUPO]
      2. /etc/init.d/NOMBRE-DEL-SERVICIO
        1. force-reload
        2. restart
        3. reload
        4. stop
        5. start
      3. Niveles de Ejecucion
        1. 0
          1. Parada del sistema
        2. 1
          1. Monousuario sin red
        3. 2
          1. Multiusuario con red
        4. 3
          1. Multiusuario con red y entorno gráfico
        5. 6
          1. Reinicio del sistema
  5. Administracion basica Linux II
    1. La Red
      1. ping [HOST]
        1. Hace ping y muestra los datos.
      2. whois [DOMINIO]
        1. Información del dominio.
      3. dig [DOMINIO]
        1. Configuración DNS del Dominio.
      4. dig -x [HOST]
        1. DNS inverso de Host.
      5. nmap -sP [X.X.X.*]
        1. Devuelve la lista de IPs activas del rango X.X.X.* .
      6. nmap -sS -O -p [RANGO PUERTOS] [IP]
        1. Devuelve la lista de puertos abiertos de entre el [RANGO] en el sistema con IP [IP].
      7. ifconfig
        1. Información de la configuración de las interfaces de red.
      8. ifconfig eth0 [up | down]
        1. Activa el interfaz eth0 (up) o lo desactiva (down)
      9. ifconfig eth0 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 up
        1. configura y levanta la interfaz eth0 con IP 192.168.0.1 y con máscara de red y dirección de difusión 255.255.255.0 y 192.168.0.255 respectivamente.
      10. ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 up
        1. Crea un alias de red sobre eth0 lo que permite usar varias IPs sobre el mismo dispositivo.
      11. route
        1. Información de la configuración de las rutas de red.
      12. route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
        1. Añade la ruta 192.168.0.0 a la red 192.168.0.x vía eth0.
      13. route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
        1. Elimina la ruta 192.168.0.0 a la red 192.168.0.x vía eth0.
      14. route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.15 dev eth0
        1. Añade la ruta 192.168.0.0 a la red 192.168.0.x a través de 192.168.1.15.
      15. netstat
        1. Muestra diversa información sobre el estado de la red.
    2. Dispositivos, Discos y Sistema de Archivos
      1. Montar Dispositivos
        1. mount /dev/[DISPOSITIVO] [DIRECTORIO] -t [TIPO FS]
        2. mount [ARCHIVO.ISO] [DIRECTORIO] -t iso9660 -o loop
        3. umount /dev/[DISPOSITIVO]
        4. umount -l /mnt/[DIRECTORIO]
        5. mount -a
      2. Fstab
        1. /dev/hdb1 /home ext3 defaults 0 1
        2. /dev/hda2 none swap sw 0 0
        3. /dev/hdc /media/cdrom iso9660 ro,user,noauto 0 0
        4. /dev/sde1 /media/pendrive vfat rw,user,exec,noauto 0 0
        5. /imagen.iso /cdrom1 iso9660 user,loop,noauto,ro 0 0
        6. /dev/hda1 /media/windows ntfs-3g silent,umask=0,locale=es_ES.utf8 0 0
        7. //servidor/nombre /media/nombre smbfs username=usuario,password=clave,uid=1000,iocharset=utf8, codepage=unicode,unicode 0 0
      3. Añadiendo mas SWAP en un fichero
        1. dd if=/dev/zero of=/media/disk/swap bs=1M count=512
          1. Creamos un archivo de 512 megas lleno de ceros.
        2. mkswap /media/disk/swap
          1. Lo convertimos en swap.
        3. swapon /media/disk/swap -p 32767
          1. Lo activamos.
        4. swapoff /media/disk/swap
          1. Lo desactivamos (IMPORTANTE)
      4. Herramientas de Chequeo de Discos
        1. fsck.ext3 /dev/[PARTICIÓN]
          1. Chequea la partición indicada como Extendido 3.
        2. fsck.vfat /dev/[PARTICIÓN]
          1. Chequea la partición indicada como FAT32.
        3. fsck.ext3 -ay /dev/[PARTICIÓN]
          1. Chequea y repara automáticamente sin preguntar.
    3. Prioridad, temporización, y planificación
      1. Prioridad
        1. nice -n [N] ORDEN
          1. Ejecuta ORDEN con prioridad N.
        2. renice [N] PID
          1. Cambia la prioridad del proceso PID a N.
      2. Procesos Latentes
        1. nohup ORDEN &
          1. Ejecuta ORDEN, y esta permanecerá en ejecución aunque el usuario abandone la sesión.
      3. Tareas Periodicas
        1. /etc/cron.hourly/
        2. /etc/cron.daily/
        3. /etc/cron.weekly/
        4. /etc/cron.monthly/
        5. /etc/crontab
        6. m h dom mon dow user command
          1. 0 19 1 * 1 orden
          2. * 8 12 9 * orden
          3. 0 12 * * 5 orden
          4. 30 9 * * * orden
    4. El Kernel y los módulos
      1. uname -a
        1. Muestra información sobre la versión del núcleo (entre otras cosas).
      2. lsmod
        1. Lista los módulos cargados por el kernel.
      3. modprobe MÓDULO
        1. Trata de cargar el módulo MÓDULO.
      4. rmmod MÓDULO
        1. Elimina el MÓDULO del kernel (NO PERMANENTE).
      5. Compilacion kernel modo Debian
        1. apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 debhelper modutils module-init-tools
        2. cd /usr/src
        3. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.X.tar.bz2
        4. tar xvjf linux-2.6.X.tar.bz2
        5. ln -s linux-2.6.X linux
        6. cd linux
        7. cp /boot/config-2.6.Y .config
        8. make mrproper
        9. make menuconfi
        10. make-kpkg clean
        11. make-kpkg buildpackage -initrd -rev [SABOR] kernel_image
        12. Obtenemos varios paquetes .deb
        13. Kernel: kernel-image-2.6.X_SABOR_i386.deb
        14. Cabeceras: kernel-headers-2.6.X_SABOR_i386.deb
        15. Fuentes: kernel-source-2.6.X_SABOR_i386.deb
        16. dpkg -i kernel-image-2.6.X_SABOR_i386.deb && shutdown -r now
    5. Algunos trucos del administrador "Vago Bueno"
      1. wget -r -np -k -c URL
        1. Se descarga un mirror recursivo de la URL.
      2. fuser -mav /dev/cdrom
        1. Lista el proceso que está bloqueando el dispositivo cdrom.
      3. fdisk -l
        1. Lista información los discos del sistema.
      4. lspci -v
        1. Muestra información de los dispositivos conectados al bus PCI.
      5. 7za a -mx=9 destino.7z origen
        1. Comprime al máximo de compresión con 7zip.
      6. ssh -p port user@host
        1. Se conecta por ssh al host por el puerto indicado y como el usuario user.
      7. grep patrón archivos
        1. Busca el patrón indicado en los archivos indicados.
      8. comando | grep patrón
        1. Busca el patrón indicado en la salida del comando.
      9. shutdown -h [T]
        1. Apaga el sistema transcurridos T minutos (-r para reiniciar).
      10. ntpdate -u swisstime.ethz.ch
        1. Sincroniza la fecha y hora del sistema con un servidor de tiempo en Internet.
      11. tar cvzf archivo.tar.gz archivos
        1. Comprime los archivos como archivo.tar.gz (GZIP).
      12. tar xzf archivo.tar.gz
        1. Descomprime archivo.tar.gz (GZIP).
      13. tar cvjf archivo.tar.bz2 archivos
        1. Comprime los archivos como archivo.tar.bz2 (BZIP2).
      14. tar xjf archivo.tar.bz2
        1. Descomprime archivo.tar.bz2 (BZIP2).