Introducción a GNU/Linux - Grado, Máster y Doctorado en...

37
Introducción a GNU/Linux (I) Constantino Malagón 15/02/2010

Transcript of Introducción a GNU/Linux - Grado, Máster y Doctorado en...

Introducción a GNU/Linux (I)

Constantino Malagón

15/02/2010

Constantino Malagón Introducción a Linux (I) 2

FAQ

◼ ¿Quién usa Linux?◼ ¿Qué es Linux?◼ ¿Qué es Debian, Red Hat, Suse...? ¿Cuántos

Linux hay?◼ ¿Puedo usarlo en casa para escuchar música,

ver películas, chatear, etc? ¿Echaré algo en falta?

◼ ¿Por qué tendría que cambiarme a Linux?◼ ¿Cómo se aprende Linux?

Constantino Malagón Introducción a Linux (I) 3

Un poco de historia

◼ 1991: Linus Torvalds creó Linux basándose en Minix, una pequeña implementación de UNIX para PC, escrito totalmente en C.

◼ Linus anunció la primera versión oficial de Linux, la 0.02 el 5 de Octubre de 1991• Constaba básicamente del Kernel,

el shell bash y el compilador gcc.

Constantino Malagón Introducción a Linux (I) 4

Un poco de historia

◼ En verdad Linux es el Kernel o núcleo, y al resto de aplicaciones que corren sobre ese kernel (formando usualmente una distribución) debería llamarse GNU / Linux.

Os presento a Tux

Constantino Malagón Introducción a Linux (I) 5

GNU's not Unix!

◼ Richard Stallman: Software libre (free) • “...es como si te vendieran un coche con el capó

sellado para que no pudieses ver el motor”◼ Proyecto GNU realizado por la FSF

(Free Software Foundation

Constantino Malagón Introducción a Linux (I) 6

GNU's not Unix!

◼ Promovieron la licencia GPL (General Public Licence), por la que los usuarios recibirían siempre el código fuente (Open Source) y el derecho a modificarlo (haciendo públicas las modificaciones), realizar las copias que deseen y redistribuirlo (bajo la licencia GPL)

◼ ¡No tiene por qué ser gratis! Aldea africana→◼ Existen otro tipo de licencias: BSD, Common

Public License, etc.

Constantino Malagón Introducción a Linux (I) 7

Distribuciones de GNU / Linux

◼ Debian: versión Sarge, Woody, Potato y Buzz.◼ Red Hat y Fedora◼ Mandrake: versión 9.2◼ S.U.S.E.◼ Slackware◼ Metadistros: Ubuntu, Knoppix,

Mandriva, Backtrack, etc.

Constantino Malagón Introducción a Linux (I) 8

GNU / Linux: cara y cruz

◼ La cara:• Multitarea y multiusuario• Estabilidad• Código fuente abierto• Multitud de aplicaciones GNU• Inmune a la mayoría de virus (normalmente creados

para Windows)• Gratis o de bajo coste.

Constantino Malagón Introducción a Linux (I) 9

GNU / Linux: cara y cruz

◼ La cruz:• Entorno diferente a Windows (¿la cruz?)• Soporte de hardware: los fabricantes de

Hardware no suelen crear drivers para Linux, y tampoco facilitan las especificaciones de dicho Hardware para crearlos.

• Faltan aplicaciones necesarias (que sí están para Windows) Autocad, Photoshop (Gimp)→

• Se necesitan ciertos conocimientos para administrar profundamente el sistema y no tener miedo a experimentar – ¡Pero somos ingenieros informáticos!

Constantino Malagón Introducción a Linux (I) 10

Debian

◼ Debian viene en tres versiones o sabores:• Stable o estable (Debian 5.1r1 Lenny, antes Etch,

Woody y Potato): conveniente para un servidor • Testing o de prueba (Sarge): conveniente para una

estación de trabajo. Sería como una versión beta.• Unstable o inestable (Sid): versión en desarrollo

(versión alfa)

Constantino Malagón Introducción a Linux (I) 11

Debian

◼ El paso de inestable a prueba se realiza congelando la versión cuando alcanza un cierto grado de madurez.

◼ Pocos cambios y actualizaciones (a diferencia de Ubuntu)

Constantino Malagón Introducción a Linux (I) 12

Debian

◼ Los paquetes de Debian se dividen en :◼ Versión/main: son los paquetes que están

hechos de acuerdo a las directivas del software libre de Debian (DFSG)

◼ Versión/contrib: paquetes cuya distribución está restringida (shareware)

◼ Versión/non-free (paquetes de libre distribución pero que dependen de otros que no lo son

◼ Todos se encuentran en www.debian.org

Constantino Malagón Introducción a Linux (I) 13

Ubuntu

Constantino Malagón Introducción a Linux (I) 14

Ubuntu

◼ Ubuntu es una distribución Linux basada en Debian GNU/Linux, cuyo nombre proviene de la ideología sudafricana Ubuntu "humanity towards others"

◼ Fundado por Mark Shuttleworth◼ Live CD o instalable◼ Diferentes versiones:

• Ubuntu (GNOME) • Kubuntu (KDE)• Xubuntu (XFCE)

Constantino Malagón Introducción a Linux (I) 15

Software

◼ Linux Kernel 2.6.x◼ Entorno gráfico y escritorio: GNOME o KDE◼ Internet y mail:

• Firefox• Pidgin /amsn• Evolution / Thunderbird• Skype

Constantino Malagón Introducción a Linux (I) 16

Software

◼ Música• Songbird• Spotify• Amarok• Gtkpod (incluso el iPhone

/iPodTouch iFuse)→◼ Películas:

• VLC• Mplayer• Real Player

Constantino Malagón Introducción a Linux (I) 17

Software

◼ Office no, OpenOffice◼ Latex◼ Antivirus: AVG Free Edition◼ Programación:

• gcc• Eclipse (C++, Java, ...)• Netbeans

◼ Otros• Grabar DVDs: Brasero / K3b

◼ Y si no lo tienes: Vmware, Virtual Box, wine.

Constantino Malagón Introducción a Linux (I) 18

Instalación

◼ Tipos de particiones: primarias, extendida y lógicas.

◼ Particiones de arranque y del sistema ◼ Particiones en Linux: puntos de montaje◼ Particiones separadas del disco duro

• / (/+/boot/+/bin+/sbin/+/tmp+/var). En servidores separar /var (proxy-squid)

• /home (depende de los usuarios del sistema) +10 Gb• /usr (2 Gb con X): depende de las aplicaciones

instaladas.

Constantino Malagón Introducción a Linux (I) 19

Recomendaciones para la instalación

◼ Partición swap:• Mínimo 256 MB (512 MB) con KDE/GNOME

◼ Gestor de arranque LILO y compatibilidad con Windows• MBR• Primer sector de la partición del sistema

Constantino Malagón Introducción a Linux (I) 20

Otras opciones

◼ Usar una máquina virtual◼ VMWare

– Workstation (de pago) – permite construir máquinas virtuales.

– Player (gratuito) – sólo permite cargar máquinas virtuales ya creadas previamente

◼ Virtual Box – alternativa open source

Constantino Malagón Introducción a Linux (I) 21

Lo que todo linuxero debe saber

Constantino Malagón Introducción a Linux (I) 22

Acciones básicas

◼ Arrancar el sistema◼ Hacer login

• En el shell (startX)• Desde las X: xdm, gdm

◼ Cambiar entre consolas: [Alt-F1] o [Ctrl-Alt-F1]• Consolas o terminales: tty1 (teletypes)• También [Alt - ->]

◼ Hacer logout: [Ctrl-Alt-Del], logout.◼ Apagar el sistema: Shutdown, init0, halt.

Constantino Malagón Introducción a Linux (I) 23

Acciones básicas

◼ Ejecutar un comando:• $ hostname• $ ls -opción• $ man ls

◼ Cambiar la password: $ passwd

Constantino Malagón Introducción a Linux (I) 24

Acciones básicas

◼ ¿Quién hay en el sistema?• $ who: muestra quién hay en el sistema• $ whoami: muestra quién soy yo en el sistema

(username)• $ w: muestra quién hay en el sistema y qué están

haciendo• $ last: muestra los últimos login de los usuarios (last

usuario, para un usuario concreto)

Constantino Malagón Introducción a Linux (I) 25

Buscar ayuda

◼ Páginas man:• $ man w

◼ Documentación en Linux• En /usr/docs o en /usr/share/doc• Howto s y mini Howto s • Proyecto LTDP (Como's) y Proyecto Lucas

◼ Foros◼ Y preguntar...

Constantino Malagón Introducción a Linux (I) 26

El shell

Acciones básicas en el shell

Constantino Malagón Introducción a Linux (I) 27

El Shell: acciones básicas

◼ Interfaz de comandos◼ Tipos de shell: bash, csh, ksh, sh.◼ Prompt: $(usuario) , #(root)◼ Dejar que el shell complete la orden: Tab

– $ ls /mn [Tab]◼ Histórico de órdenes: ?

– Búsqueda en el histórico de órdenes: [Ctrl+r] y la orden

Constantino Malagón Introducción a Linux (I) 28

Teclas especiales en el terminal

◼ Tab: completa y suugiere un comando incompleto

◼ Cursores: navegar por el historial◼ Shift+Av. página o Re. Página, muestra

pantallas en el terminal que no se ven◼ Ctrl-l: limpia la pantalla◼ Ctrl-r: Busca comandos en el historial

Constantino Malagón Introducción a Linux (I) 29

Sistema de ficheros

Constantino Malagón Introducción a Linux (I) 30

Sistema de ficheros

◼ Estructura jerárquica del sistema de ficheros◼ Linux trata todo (directorios, dispositivos,

puertos,...) como ficheros◼ Tipos de ficheros

– Ficheros– Directorios– Enlaces (links)– Ficheros de bloque

Constantino Malagón Introducción a Linux (I) 31

Sistema de ficheros

◼ Descripción del árbol de directorios◼ /: raíz◼ /home: homedirs de los usuarios◼ /root: homedir de root◼ /mnt: montaje de las particiones◼ /usr: aplicaciones instaladas◼ /bin: ficheros ejecutables (path)◼ /sbin: ficheros ejecutables de administación

(path) Ficheros de bloque

Constantino Malagón Introducción a Linux (I) 32

Sistema de ficheros

◼ Descripción del árbol de directorios◼ /etc: ficheros de configuración◼ /dev: dispositivos◼ /boot: arranque del sistema◼ /proc: registro de configuración◼ /tmp: ficheros temporales◼ /var: aloja los registros (logs) del sistema y

algunos cachés (proxy squid)

Constantino Malagón Introducción a Linux (I) 33

Comandos sobre el árbol dedirectorios

◼ cd (change directory)– Rutas relativas y absolutas: tree– pwd y directorio home (sólo cd)

◼ ls (-a, -l, -x, --color)◼ mkdir (make directory)

– -p crea directorios padre si no existen◼ Para crear un archivo debo usar un editor

como Vi o Emacs

Constantino Malagón Introducción a Linux (I) 34

Comandos sobre el árbol dedirectorios

◼ rm (-i, -r, -f) y rmdir◼ cp (-r para copiar directorio y todo su

contenido)◼ mv -rf (también renombra)◼ Uso de comodines: * , ? [i,o] -p crea

directorios padre si no existen

Constantino Malagón Introducción a Linux (I) 35

Edición con Vi

◼ Dos modos: – Modo orden: Esc– Modo edición: a(anexar) / i (insertar)

◼ Modo orden: algunas órdenes importantes.– x: borrar un carácter– dd: borrar una línea– / cadena: buscar una cadena. n para buscar

siguiente y N para buscar anterior– Desplazamiento: cursores, 0 para ir al

principio de línea y $ para ir al final.

Constantino Malagón Introducción a Linux (I) 36

Edición con Vi

◼ Seleccionar: pulso v y me desplazo hasta el final de la selección (cursores $):

◼ Copiar: y◼ Cortar=eliminar (d,dd o x)◼ Pegar: p

Constantino Malagón Introducción a Linux (I) 37

Edición con Vi

◼ Trabajar con varios ficheros (buffers)◼ $ vi file1 file2

– Cambio de uno a otro, estando en modo orden escribo :bn, donde n es el número de bufer (empezando a numerarse por 1)

– Nota: si cambio algo en un archivo debo guardar los cambios (:w) para pasar al otro bufer.

◼ En cualquier caso consultar man vi para otras acciones.