lo esencial de linux

31
Lo esencial de Linux Mario Martin Sbarbaro [email protected] [email protected] -- Linux Counter #414115 http://counter.li.org/

Upload: aramburu-exequiel

Post on 03-Sep-2015

231 views

Category:

Documents


1 download

DESCRIPTION

Lo Esencial de Linux

TRANSCRIPT

  • Lo esencial de Linux

    Mario Martin [email protected]

    [email protected]

    Linux Counter #414115http://counter.li.org/

    mailto:[email protected]:[email protected]://counter.li.org/
  • Agenda

    Los comienzos de Linux y su filosofa

    Las distribuciones GNU/Linux

    Aplicaciones ms utilizadas en GNU/Linux

    Identificando los tipos de licencias

    Identificando el hardware desde la linea de comandos

    Conceptos bsicos de la linea de comandos

    Editando los archivos de texto y haciendo algunos scripts

    Donde se guardan los datos en GNU/Linux

    GNU/Linux en una red

  • Los comienzos de Linux y su filosofa

    1.960

    Cuando comenc a trabajar en el Laboratorio de Inteligencia Artificial del MIT, pas a

    formar parte de una comunidad de software compartido que exista desde haca

    muchos aos. Compartir cdigo no era algo especifico de nuestra comunidad: es algo

    tan antiguo como los ordenadores, como compartir recetas es tan viejo como cocinar.

    No llambamos a nuestro software software libre porque ese trmino an no exista,

    pero eso es lo que era. Cuando alguien de otra Universidad o empresa quera portar y

    usar un programa, nosotros le dejbamos hacerlo con gusto. Si veas a alguien

    utilizando un programa raro e interesante, siempre podas pedirle ver el cdigo fuente,

    para poder leerlo, cambiarlo o canibalizar partes para hacer un programa nuevo.

    . Richard Stallman, The GNU Project (publicado originalmente en el libro Open Sources)

    El Software Libre antes del Software Libre

  • Los comienzos de Linux y su filosofa

    1.970

    UNIX

    Sistema Operativo multiusuario, multitarea y multiplataforma

    Desarrollado en AT&T, por Ken Tommson y Dennis Ritchie

    Muchos fabricantes compraron su cdigo fuente y crearon diversas versiones (AIX, HP UIX, Solaris, entre otros)

    Debido al gran desorden e incompatibilidad se decide adoptar el estndar IEEE POSIX.1

    Termin siendo un Sistema Operativo demasiado costoso y de gran volumen

    . Sitio IEEE de POSIX. http://standards.ieee.org/findstds/standard/1003.1-2001.html

    http://standards.ieee.org/findstds/standard/1003.1-2001.html
  • Los comienzos de Linux y su filosofa

    1.983

    Proyecto GNU

    Iniciado y liderado por Richard Stallman

    Tiene como objetivo principal desarrollar un sistema operativo totalmente libre

    Tambin ha desarrollado diversas herramientas como compiladores, editores de texto, entornos de escritorio entre otros

    Todos sus desarrollos se licencian bajo Licencia GPL de GNU

    Muy ligado con la Free Software Foundation

    .Proyecto GNU. https://gnu.org. Free Software Foundation. http://www.fsf.org

    https://gnu.org/http://www.fsf.org/
  • Los comienzos de Linux y su filosofa

    1.987

    MINIX

    Sistema Operativo, clon de UNIX.

    Desarrollado en la Universidad de Vrije de msterdam por Andrew Tanenbaum

    Construido para ejecutarse nicamente en plataformas INTEL

    Licenciado bajo Licencia BSD

    Desarrollado con propsitos especficamente educativos

    . Sitio oficial de MINIX. http://www.minix3.org

    Pequeo sistema (12.000 lineas de cdigo) basado en microkernel

    http://www.minix3.org/
  • Los comienzos de Linux y su filosofa

    1.990

    Linux

    Ncleo de Sistema Operativo multiusuario y multitarea, tambin clon de UNIX y basado en MINIX.

    Creado originalmente por Linus Torvalds en la Universidad de Helsinki, Finlandia

    Construido para arquitecturas PC inicialmente

    Licenciado bajo Licencia GPL v2 de GNU

    Desarrollado con propsitos especficamente educativos

    . Sitio oficial del kernel de Linux. https://www.kernel.org

    https://www.kernel.org/
  • Los comienzos de Linux y su filosofa

    Definicin de Software Libre

    Software libre es el software que respeta la libertad de los usuarios y la comunidad.

    En lneas generales, significa que los usuarios tienen la libertad para ejecutar, copiar,

    distribuir, estudiar, modificar y mejorar el software.

    La ambigedad de free

    Teniendo en cuenta que el trmino original en ingls de Programas Libres es Free

    Software. Es muy normal considerar free como libre o gratis generando una gran

    confusin. Para aclarar, Software libre no hace referencia a que el software pueda

    conseguirse gratuitamente. Y Software Libre es muy distinto a Software Gratuito.

    . Definicin de SL segn Richard Matthew Stallman del Proyecto GNU. https://www.gnu.org/philosophy/free-sw.es.html.

    https://www.gnu.org/philosophy/free-sw.es.html
  • Los comienzos de Linux y su filosofa

    Libertades del Software Libre

    Un programa es considerado software libre cuando los usuarios obtienen las cuatro libertades esenciales.

    Libertad para ejecutar el programa en cualquier sitio, con cualquier propsito y para siempre (libertad 0).

    Libertad para estudiarlo y adaptarlo a nuestras necesidades (libertad 1). Esto requiere de acceso al cdigo fuente.

    Libertad de redistribucin, de modo que se nos permita colaborar con vecinos y amigos (libertad 2).

    Libertad para mejorar el programa y publicar sus mejoras (libertad 3). Esto tambin requiere acceso al cdigo fuente.

  • Las distribuciones GNU/Linux

    1.992

    Distribuciones

    Es un Sistema Operativo completo.

    Contiene el ncleo desarrollado por Linus Tordvals y las aplicaciones del proyecto GNU.

    En distintos sabores o Distribuciones GNU/Linux

  • Categoras de las licencias de Software Libre

    Identificando los tipos de licencias

    Licencias permisivas permiten incorporar el software en cualquier programa y hasta privatizarlo bajo licencia propietaria. Ejemplos: de tipo BSD, estas incluyen las licencias MIT y X, y la AFL o la ZPL.

    Licencias con copyleft robusto cualquier modificacin y obra colectiva que contenga Software debe mantener la misma licencia. Ejemplos: la GPLv2, la GPLv3 y la CPL de IBM.

    Licencias hbridas o con copyleft suave se pueden integrar el software en un programa mayor bajo otro tipo de licencia, que utiliza las funciones del software inicial. Ejemplos: la LGPLv1 y la LGPLv2. La MPL y la OSL.

  • Entornos de escritorio

    Aplicaciones ms utilizadas en GNU/Linux

    KDEhttps://www.kde.org

    GNOMEhttps://www.gnome.org

    Xfcehttp://www.xfce.org

    LXDEhttp://lxde.org/es

    Unityhttps://unity.ubuntu.com

    https://www.kde.org/https://www.gnome.org/http://www.xfce.org/http://lxde.org/eshttps://unity.ubuntu.com/
  • Chrome/Chromiumhttps://www.chromium.org/Home

    Firefox/Iceweaselhttps://www.mozilla.org/es-AR/firefox/products/https://wiki.debian.org/Iceweasel

    Lynxhttp://lynx.isc.org/

    Konquerorhttps://konqueror.org/features/browser.php

    Aplicaciones ms utilizadas en GNU/Linux

    Navegadores Web

    Operahttp://www.opera.com

    Galeonhttp://galeon.sourceforge.net/

    Midorihttp://midori-browser.org/

    https://www.chromium.org/Homehttps://www.mozilla.org/es-AR/firefox/products/https://wiki.debian.org/Iceweaselhttp://lynx.isc.org/https://konqueror.org/features/browser.phphttp://www.opera.com/http://galeon.sourceforge.net/http://midori-browser.org/
  • Thunderbird/Icedovehttps://www.mozilla.org/es-AR/thunderbird/https://directory.fsf.org/wiki/Icedove

    Evolutionhttps://wiki.gnome.org/Apps/Evolution

    Mutthttp://www.mutt.org/

    KMailhttps://www.kde.org/applications/internet/kmail/

    Aplicaciones ms utilizadas en GNU/Linux

    Clientes de correo electrnico

    https://www.mozilla.org/es-AR/thunderbird/https://directory.fsf.org/wiki/Icedovehttps://wiki.gnome.org/Apps/Evolutionhttp://www.mutt.org/https://www.kde.org/applications/internet/kmail/
  • GNOME Officehttp://www.gnome.org/gnome-office

    KOfficehttps://www.kde.org/applications/office/

    OpenOffice.orghttps://www.openoffice.org/es/

    LibreOfficehttps://es.libreoffice.org

    Aplicaciones ms utilizadas en GNU/Linux

    Herramientas de oficina

    http://www.gnome.org/gnome-officehttps://www.kde.org/applications/office/https://www.openoffice.org/es/https://es.libreoffice.org/
  • The GIMPhttp://www.gimp.org

    Inkscapehttp://inkscape.org/es/

    Blenderhttp://www.blender.org

    Audacityhttp://web.audacityteam.org

    Aplicaciones ms utilizadas en GNU/Linux

    Aplicaciones multimedia

    ImageMagickhttp://www.imagemagick.org

    http://www.gimp.org/http://inkscape.org/es/http://www.blender.org/http://web.audacityteam.org/http://www.imagemagick.org/
  • SSHhttp://www.openssh.org

    DNShttps://www.isc.org/downloads/bind/

    SQLhttps://www.mysql.com

    HTTPhttp://httpd.apache.org

    Aplicaciones ms utilizadas en GNU/Linux

    Programas servidores

    SMB/CIFShttps://www.samba.org

    SMTPhttp://www.postfix.org

    IMAP/POP3http://www.dovecot.org

    NFShttp://nfs.sourceforge.net/

    FTPhttp://www.proftpd.org/

    http://www.openssh.org/https://www.isc.org/downloads/bind/https://www.mysql.com/http://httpd.apache.org/https://www.samba.org/http://www.postfix.org/http://www.dovecot.org/http://nfs.sourceforge.net/http://www.proftpd.org/
  • C/C++https://gcc.gnu.org

    Perlhttps://www.perl.org

    Javahttps://www.java.com/es/

    Aplicaciones ms utilizadas en GNU/Linux

    Lenguajes de programacin

    PHPhttp://php.net

    Pythonhttps://www.python.org

    Shell Scripting - Bashhttp://tiswww.case.edu/php/chet/bash/bashtop.html

    https://gcc.gnu.org/https://www.perl.org/https://www.java.com/es/http://php.net/https://www.python.org/http://tiswww.case.edu/php/chet/bash/bashtop.html
  • Linea de comando o Shell

    Mtodos para abrir una consola:

    Terminal por entorno grfico

    Consola remota modo texto por protocolo de login

    Consola por modo texto

    Conceptos bsicos de la linea de comandos

  • Identificar el CPU

    # uname -r

    # lscpu

    # cat /proc/cpuinfo

    Identificando el hardware desde la linea de comandos

    Identificar las capacidades de la placa madre

    # lspci

    Descubrir las particiones de disco

    # fdisk

    # gdisk

    Identificar los dispositivos USB

    # lsusb

    Identificar los dispositivos de bloque

    # lsblk

  • Editando los archivos de texto y haciendo algunos scripts

    Editando archivos con nano

    Nano es un editor de archivos de texto para sistemas Unix en modo consola basado en laslibreras ncurses. Clon de pico.

    nano [opciones] archivo [archivo2 ...]

    Barra de titulo: es la primer linea que se muestra en la interfaz. Esta linea incluye la versinde nano, el nombre del archivo que estamos editando y estado de la modificacin.

    Descubriendo la interfaz de nano

    Barra de estado: se trata de la tercera linea de la parte inferior y se encuentra destina a brindar informacin e interaccin con el usuario.

    Lista de atajos de teclado: dos lneas en la parte inferior de la pantalla muestra un resumende algunos comandos de uso comn que se activan con las combinaciones de teclas.

  • Editando archivos con vi

    El editor vi (visual editor) es el editor de archivos de texto por defecto en los sistemas Unix.

    vi [opciones] archivo [archivo2 ...]

    Modo comando: las inserciones representan comandos. Se accede a ellos al pulsar [ESC].Cada tecla o combinaciones activa una accin (inserciones, mover, copiar, pegar, etc.).

    Vi no posee mens, tampoco interfaz grfica, y no es intuitivo. Nos obliga a recordarAtajos de teclado para poder utilizarlo.

    Editando los archivos de texto y haciendo algunos scripts

    Modos de funcionamiento de Vi

    Modo insercin: se trata de la insercin de texto clsico. Se accede al presionar, en modocomando, la tecla i o a.

    Modo lnea de comandos: una lnea en la parte inferior de la pantalla permite insertar comandos especiales. Se accede al presionar, en modo comando, la tecla .

  • Editando archivos editores grficos

    Editando los archivos de texto y haciendo algunos scripts

    gedithttps://wiki.gnome.org/Apps/Gedit

    Katehttp://kate-editor.org/

    https://wiki.gnome.org/Apps/Gedithttp://kate-editor.org/
  • Comenzando a utilizar Shell Script

    Shell Scripts son archivos de texto plano que se pueden editar con cualquier editor como vio nano. Y siempre comienzan con una linea que identifica el shell utilizado para ejecutarlo.

    #!/bin/bash

    Ejemplo de como utilizar comandos internos del shell o externos.

    Editando los archivos de texto y haciendo algunos scripts

    Terminado el script hay que definir permisos de ejecucin.

    $ chmod a+x mi-script

    #!/bin/bash/usr/bin/xterm &

  • Donde se guardan los datos en GNU/Linux

    Estructura de directorios en GNU/Linux

    Directorio raz del sistema. De aqu cuelgan todos los directorios del sistema./

    Es una abreviatura de binarios o ejecutables. Aqu se encuentran la mayora de los programas esenciales del sistema operativo./bin

    /sbin

    En este directorio encontraremos archivos que representan los diferentes dispositivos del sistema.

    /etc Contiene todos los archivos de configuracin del sistema y de cada uno de sus programas.

    /dev

    Aqu encontraremos utilidades para la administracin del sistema. Estas utilidades son accesibles solamente para el root o superusuario.

    /homeEste directorio contiene los subdirectorios personales de los usuarios del sistema. Cada usuario posee su propio directorio en el que puede almacenar archivos personales, documentos, programas y archivos de configuracin.

  • Donde se guardan los datos en GNU/Linux

    Estructura de directorios en GNU/Linux (continuacin)

    /lib

    /proc

    El directorio lib posee libreras compartidas utilizadas por el sistema a la hora de arrancar y correr comandos propios.

    Los archivos que contiene residen en memoria, hacen referencia a procesos e informacin del sistema.

    Es la segunda mayor seccin del sistema de archivo. Contiene archivos de documentacin, libreras, cdigo fuente, binarios usados por programas que no son del sistema.

    /usr

    En este directorio encontraremos datos variables como pueden ser: archivos de logs, temporales, spool de impresin, etc.

    /var

    /tmpContiene archivos temporales del sistema. Los programas pueden escribir en este directorio datos que necesiten mientras estn en ejecucin.

    /root ste es el directorio personal de usuario root.

  • Donde se guardan los datos en GNU/Linux

    Estructura de directorios en GNU/Linux (continuacin)

    En este directorio se definen los puntos de montaje temporales a los distintos dispositivos como particiones de unidades de disco./mnt

    /media En este directorio se encuentran los puntos de montajes a los distintos dispositivos removibles (pendrive, cdrom, floppy).

    Contiene el ncleo de Linux como los archivos de configuracin necesarios para su uso.

    /boot

    Contiene archivos de datos de los servicios que se encuentran corriendo en el sistema (http-ftp entre otros). Su uso no est estandarizado todava y no es muy usado actualmente.

    /srv

    Pensado para la instalacin de paquetes de software no especifico de la distribucin que se est usando.

    /opt

  • Configurando una conexin de red inalmbrica

    GNU/Linux en una red

    # iwlist wlan9 scanning

    # iwconfig wlan0 essid SinCables channel 11 mode Managed key s:assdLL12po

    Configurando una conexin de red cableada (esttica)

    # ifconfig eth0 up 192.168.1.100 netmask 255.255.255.0

    # route add default gw 192.168.1.1

    # vi /etc/resolv.conf

    Configurando una conexin de red cableada (dinmica)

    # dhclient eth0

    Agregar una entrada nameserver con la IP 192.168.1.1 en el archivo resolv.conf.

  • Probando la conexin de red

    GNU/Linux en una red

    # ping -c 4 192.168.1.1

    # traceroute -n 8.8.8.8

    # host www.gugler.com.ar

    # netstat -ant

    # route -n

    Configurando una conexin de red permanente

    # vi /etc/sysconfig/network-scripts/ifcfg-netname (En Fedora)

    # vi /etc/network/interfaces (En Debian)

  • Configuracin de la red con herramientas grficas

    GNU/Linux en una red

    Network Managerhttps://wiki.gnome.org/Projects/NetworkManager

    https://wiki.gnome.org/Projects/NetworkManager
  • Muchas gracias!!!

    Diapositiva 1Diapositiva 2Diapositiva 3Diapositiva 4Diapositiva 5Diapositiva 6Diapositiva 7Diapositiva 8Diapositiva 9Diapositiva 10Diapositiva 11Diapositiva 12Diapositiva 13Diapositiva 14Diapositiva 15Diapositiva 16Diapositiva 17Diapositiva 18Diapositiva 19Diapositiva 20Diapositiva 21Diapositiva 22Diapositiva 23Diapositiva 24Diapositiva 25Diapositiva 26Diapositiva 27Diapositiva 28Diapositiva 29Diapositiva 30Diapositiva 31