sofware libre y gpl introducción a unix y linux comandos ... · compilador gcc y shell bash. ......

120
1 PRIMERA SESIÓN Sofware Libre y GPL Introducción a Unix y Linux Comandos básicos del curso

Upload: others

Post on 26-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

1

PRIMERA SESIÓN

Sofware Libre y GPL

Introducción a Unix y Linux

Comandos básicos del curso

Page 2: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

2

VISIÓN + SOFTWARE LIBRE (I)

❖ Hay proyectos cercanos con software libre:

❖ Extremadura: Linex.

❖ Madrid: Max.

❖ Andalucía: GuadaLinex.

❖ Valencia: Lliurex.

❖ Universidad de Murcia: Softla y Caldum.

❖ Otros: http://www.libroblanco.com.

Page 3: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

3

VISIÓN + SOFTWARE LIBRE (II)

❖ También otras Universidades están con el S.L. Por ejemplo la UPC distribuye entre los alumnos matriculados para el nuevo curso un CD-ROM Linux Live-CD con programas libres y gratuitos con los que podrán seguir todas las materias que se impartan en sus estudios.

❖ La UPC creará el próximo curso la Cátedra de Programación Libre.

CIBERP@IS 9 DE SEPTIEMBRE DE 2004

Page 4: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

4

VISIÓN + SOFTWARE LIBRE (III)

❖ El software libre permite ahorrar dinero:

❖ Linex posibilitó un ahorro de 30 millones de euros.

❖ Según HispaLinux la Administraciones Pública Española podría ahorrarse 300 millones de euros.

Page 5: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

5

VISIÓN + SOFTWARE LIBRE (IV)

❖ El modelo tradicional es: pago por licencias y servicios.

❖ En Brasil, de los 3000 millones de dólares anuales de la industria informática unos 1000 millones se pagan en concepto de licencias.

❖ Un nuevo modelo de negocio: con el software libre no se pagan licencias y el ahorro revierte en formación, servicios personalizados y consultoría de empresas locales.

Page 6: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

6

VISIÓN + SOFTWARE LIBRE (V)

❖ Hay gestos de aproximación. Por ejemplo Microsoft dentro del proyecto Shared Source Initiative se suma al código abierto, dejando en sourceforge dos programas:

❖ Windows Template Library (WLT) para crear interfaces gráficas. Licencia CPL

❖ Windows Installer XML (WiX) para crear paquetes de instalación basados en XML.

❖ También se apuntan IBM, SUN, etc.

Page 7: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

7

VISIÓN + SOFTWARE LIBRE (VI)

❖ Con el software libre no hay problemas con la piratería. Según la BSA durante 2003 el índice de piratería en España se mantiene entre los cuatro primeros de Europa con un 44%, con pérdidas que suponen 421 millones de euros. Casi uno de cada dos programas que se instalan en nuestro país es ilegal. La piratería conduce a una menor contribución del TI al PIB, menor inversión en I+D y pérdida de puestos de trabajo.

REVISTA PC WORLD SEPTIEMBRE 2004

Page 8: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

8

VISIÓN ­ SOFTWARE LIBRE

❖ No es fácil migrar aplicaciones en explotación.

❖ Reticencias de los usuarios.

❖ Interfaces poco amigables.

❖ Escasez drivers actualizados.

❖ Necesidad de formación.

❖ No hay soporte técnico.

❖ ¿Se os ocurren otras?

Page 9: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

9

FILOSOFIA SOFTWARE LIBRE

❖ El software libre es una filosofía:

❖ Todos tenemos derecho a que el conocimiento sea libre y el software como idea, accesible a todos.

❖ Todos tenemos la libertad para estudiar y manipular el software.

❖ Se intenta aportar desinteresadamente software y documentación a la sociedad y establecer colaboraciones entre voluntarios (Internet es un ejemplo).

Page 10: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

10

FILOSOFIA SOFTWARE LIBRE

❖ El software libre es la antítesis del software propietario.

❖ El software propietario fomenta:

✗ La depencia tecnológica.

✗ Ocultación de software y conocimiento.

✗ Las licencias.

✗ Las patentes y la propiedad intelectual/industrial.

BUENO, PERO TODO ESTO ES LEGAL

Page 11: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

11

LEGAL NO ES IGUAL A JUSTO

Los calores del verano no sirvieron de excusa a 51 mujeres que corren el peligro de ser azotadas tras haber sido detenidas en Irán por “llevar el velo mal puesto”, algo considerado por el régimen islámico como “una inmoralidad pública”.

Las detenidas han sido remitidas a las autoridades judiciales de las localidades de Gilan y Rasht para que sean juzgadas por no llevar el velo islámico sobre la cabeza de forma adecuada, de acuerdo con la normativa establecida tras la Revolución Islámica de 1979, liderada por el fundador del régimen teocrático, el ayatolá Jomeini.

DIARIO LA VERDAD – 7 DE AGOSTO DE 2004

Page 12: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

12

LAS COMISIONES BANCARIAS

Un estudio de la Asociación de Usuarios de Bancos, Cajas y Seguros (Adicae) afirma que los españoles pagan al año una media de 176€ en comisiones bancarias.

En el libro de tarifas de un banco se recogen todos los conceptos por los que un banco puede cobrarnos. El banco de España las recoge en http://www.bde.es/tipos/comisiones.htm.

Si se consulta el libro de tarifas se observan que los bancos tienen fijadas comisiones para todas las situaciones posibles. Por ahora la entidad no cobra algunos servicios, pero se reserva la posibilidad de hacerlo.

DIARIO LA VERDAD – 7 DE AGOSTO DE 2004

Page 13: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

13

DEPENCIA TECNOLOGICA

❖ Con la dependencia tecnológica somos simples espectadores frente al cambio de estándares y tecnologías por empresas privadas.

❖ Desde Europa se fomenta la Sociedad de la Información para que las empresas no pierdan el tren tecnológico y los ciudadanos no sean “analfabetos tecnológicos”.

❖ Hoy en día nadie duda de la necesidad de inversión en I+D.

Page 14: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

14

OCULTISMO

❖ Si tengo una idea buena otro la puede copiar, por tanto debo protegerla con una patente.

❖ Si hago una “killer application” debo ocultar los detalles para evitar competencia.

❖ Si alguien quiere conocimiento antes debe pagar, pues nada es gratis.

❖ Con esta actitud una empresa consigue una posición dominante en el mercado y aumenta la depencia tecnológica.

Page 15: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

15

RIESGOS POR NO OCULTAR

❖ Según un estudio de la firma Gartner los dispositivos de bolsillo que usan USB y FireWire presentan riesgos para los negocios porque introducen virus o sirven para robar datos corporativos. Aconseja prohibir su uso a los empleados con acceso directo a las redes corporativas y para proteger la propiedad intelectual recomienda hacer uso de tecnología de gestión de derechos de la propiedad.

REVISTA PC WORLD SEPTIEMBRE 2004

Page 16: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

16

LICENCIAS

❖ Basta leer el fichero Eula.txt de MS Windows©:

✗ Licencia para un único dispositivo.

✗ No puedo venderlo a un amiguete.

✗ No hay garantías.

✗ No hay responsabilidad por daños emergentes.

✗ No permite modificarlo a mis necesidades.

✗ No permite arreglar fallos => debemos esperar la modificación por el propietario.

Page 17: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

17

EL GRAN HERMANO

Page 18: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

18

PATENTES

❖ El dinero va a la casa matriz. Samsung Barcelona: el pago de royalties a Corea ha supuesto el doble de los costes salariales y hasta veinte veces los beneficios (El País 12-2-2004).

❖ Controversia con las patentes de software en la Comisión Europea.

❖ Una patente es legal pero en ciertos casos es inmoral. Como ejemplo están los medicamentos contra la pandemia del SIDA y las luchas de estados como Sudáfrica y Brasil.

Page 19: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

19

CUATRO LIBERTADES DEL SOFTWARE LIBRE

❖ Richard Stallman define cuatro libertades:

❖ Libertad para ejecutar el programa en cualquier sitio, con cualquier finalidad y para siempre.

❖ Libertad para estudiarlo y adaptarlo a nuestras necesidades => acceso al código fuente.

❖ Libertad de redistribución y colaboración.

❖ Libertad para mejorar el programa manteniendo accesible el código fuente.

Page 20: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

20

GNU, GPL y FSF

❖ En 1984 Richard Stallman abandona el MIT y comienza el proyecto GNU (GNU's Not Unix).

❖ GNU desea proporcionar un conjunto de software de propósito general totalmente libre.

❖ Stallman creó la licencia GPL para velar por las cuatro libertades anteriores.

❖ Stallman fundó la Free Software Foundation (FSF) para conseguir fondos para el desarrollo y protección del software libre.

Page 21: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

21

GNU General Public License (GPL)

❖ Permite la redistribución de fuentes y binarios.

❖ Permite realizar cualquier modificación.

❖ Sólo se puede integrar código GPL o similar.

❖ Si en el código se incluyen elementos con patente (por ej. algoritmo patentado) no puede ser GPL.

❖ Un código GPL nunca puede ser propietario.

❖ Pretende dar la propiedad del software a quien lo tiene y no al autor.

❖ No hay garantía (como licencia MS Windows©).

Page 22: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

22

PROTECCION DE LA GPL

❖ Si un software libre se deja a la comunidad algún espabilado puede convertirlo en software privativo.

❖ Con el “copyleft” (antítesis del “copyright”) se protege el software GNU cuando se pone en el dominio público.

❖ Copyleft garantiza que cualquier distribuidor, con o sin cambios, debe dar la libertad de copiar y modificar el software.

Page 23: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

23

Software con licencia GPL

❖ Compilador GCC y shell BASH.

❖ Editor de imágenes Gimp.

❖ Lector de correo evolution.

❖ Acceso a recursos SMB con Samba.

❖ Kernel de Linux.

❖ Utlidades de Gnome y KDE.

❖ Programas en el CD automatrícula 2004.

Page 24: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

24

Un mundo de licencias (I)

❖ Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles con la GPL y las incompatibles con la GPL.

❖ Licencias compatibles con la GPL:

❖ Con una licencia de dominio público el autor renuncia a todos sus derechos.

❖ La GNU Lesser General Public License (LGPL)permite el uso de software libre con software propietario.

Page 25: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

25

Un mundo de licencias (II)

❖ Ejemplos de licencias LGPL son las librerías de Gnome y KDE.

❖ OpenOffice con licencia LGPL y SISSL (SUN).

❖ Un programa freeware se puede puede utilizar y redistribuir gratuitamente, pero el autor no facilita el código fuente.

❖ Una licencia de código abierto hace énfasis en la disponibilidad de código fuente.

❖ La licencia BSD es incompatible con la GPL.

Page 26: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

26

Un mundo de licencias (III)

❖ La licencia Berkeley Software Distribution (BSD)

✗ Obliga a citar los autores.

✗ Permite (sin obligar) la distribución binaria y de código fuente.

✗ Permite realizar modificaciones e integraciones casi sin restricciones.

✗ Por contra, una modificación (versión) puede convertirse en propietaria.

✔ Ejemplos: openssh, openssl, tcl, bind, pam

Page 27: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

27

Un mundo de licencias (IV)

❖ Licencias parecidas a BSD:

❖ Familia *BSD (por ejemplo FreeBSD).

❖ MacOS X.

❖ Apache Software License para el servidor web apache.

❖ XFree86 License para el gestor gráfico X Window.

❖ Desde la versión 4.4. XFree86 4.4 no es GPL. Se ha creado XORG.

Page 28: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

28

Un mundo de licencias (V)

❖ La IBM Public License (IPL) es compatible con la licencia GPL porque establece unos requisitos no presentes en la la GPL, como por ejemplo que se den ciertas licencias sobre patentes.

❖ La Common Public License (CPL) es una extensión de la IPL.

❖ El software de código abierto Windows Template Library (WLT) para crear interfaces gráficas tiene licencia CPL.

Page 29: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

29

PARA PROFUNDIZAR

❖ Filosofía del Proyecto GNU.

www.gnu.org/philosophy/philosophy.es.html

❖ Introducción al software libre.

www.uoc.edu/masters/softwarelibre/esp/materials/libre.pdf

❖ Software libre en el sector público.

www.uoc.edu/dt/20327/20237.pdf

Page 30: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

30

¿HACEMOS UN DESCANSO?

5 minutos

Page 31: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

31

HISTORIA DE UNIX

❖ Nace en 1972 en los Bell Labs de AT&T. Sus padres son Ken Thompson y Dennis Ritchie.

❖ Las universidades tenían acceso al código fuente.

❖ La Universidad de Berkeley añade nuevas funcionalidades (como TCP/IP) => Unix BSD.

❖ AT&T cambia su actitud por ocultismo y licencias. Aparecen Unix comerciales.

❖ Dos ramas: BSD (SunOS) y System V (Solaris).

Page 32: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

32

CARACTERISTICAS DE UNIX (I)

❖ Portable.

❖ Conjunto de programas sencillos que hacen bien su cometido.

❖ No hacer un programa grande. Mejor combinar varios programas para conseguir el resultado. Ej:

cat /etc/termcap | pr | lpr❖ Multiusuario y multitarea.

❖ Es necesaria una cuenta para acceder al sistema.

Page 33: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

33

CARACTERISTICAS DE UNIX (II)

❖ Distinción entre mayúsculas y minúsculas.

❖ Sistema de ficheros jerárquico (se empieza desde la raíz /).

❖ Los sistemas de ficheros (por ejemplo un CD) se montan en directorios. No hay A:, C:, D:

❖ Hay permisos de acceso a los ficheros.

❖ Permite automatizar tareas con scripts y cron.

❖ Eficiente, robusto y seguro.

Page 34: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

34

HISTORIA DE LINUX

❖ Andrew Tanenbaum crea MINIX para que sus alumnos tengan acceso al código fuente.

❖ En 1991 Linus Torvalds crea el kernel 0.0.1 de Linux y adapta bash y gcc (ambos con licencia GPL) ofreciéndolos en comp.os.minix.

❖ Linux es la combinación del kernel y software GPL por ello se denomina GNU/Linux.

❖ Miles de voluntarios contribuyen al desarrollo de Linux apareciendo diferentes distribuciones.

Page 35: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

35

DISTRIBUCIONES LINUX

❖ Todas las distribuciones tienen en común el kernel. La última versión está disponible en:

http://www.kernel.org❖ Numeración del kernel xx.yy.zz. xx es la versión

principal. yy par (producción), yy impar (desarrollo). zz versión dentro de la serie.

❖ Cada distribución acompaña al kernel con unas utilidades dotando a la distribución de un estilo.

Page 36: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

36

DEBIAN GNU/LINUX (I)

❖ En 1993 Ian Murdock comienza Debian.

❖ Debian es desarrollado por voluntarios.

❖ Distribución cercana a las tesis de Stallman.

❖ Existen categorías de software según la licencia y requisitos:

main: cumplen Debian Free Software Guidelines.

contrib: paquetes libres dependentes de otros no libres.

non-free: paquetes no libres.

Page 37: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

37

DEBIAN GNU/LINUX (II)

non-US/main non-US/non-free: no pueden ser exportados fuera de EEUU por cuestiones de patentes o seguridad criptográfica.

Las categorias se indican en /etc/apt/sources.list:

deb http://ftp.debian.org/debian/ woody main non-free contrib

❖ Hay tres tipos: estable (woody), inestable (sid) y en pruebas (sarge). Woody tiene 4 sabores: vanilla, compact, idepci, bf24 (kernel 2.4).

❖ Formato de paquetes propio (.deb).

Page 38: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

38

RED HAT LINUX

❖ Red Hat Software Inc. fué creada en 1994.

❖ Ha creado el estándar RPM Package Manager (RPM) de gestión de paquetes.

❖ En 1999 Red Hat sale a bolsa.

❖ Tras la versión 9 Red Hat ha orientado su estrategia a las empresas potenciando su Red Hat Enterprise Linux (RHEL no es gratuito).

❖ No hay soporte desde 30-4-2004 a R. H. 9.

❖ Proyecto Fedora.

Page 39: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

39

ELEGIR UNA DISTRIBUCION

❖ Además tenemos Suse (de Novell), SUN Java Desktop System 2003, Mandrake, etc.

❖ Las aplicaciones condicionan la elección de una distribución. Por ejemplo, Oracle 10g y 9i está certificado para RHEL y Suse.

❖ Si disponemos de dinero podemos decantarnos por distribuciones de pago (RHEL, Suse, Mandrake, etc.)

❖ Debian no tiene coste y es muy estable.

Page 40: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

40

CARACTERISTICAS DE LINUX

❖ Compatible POSIX.

❖ Kernel monolítico con módulos cargables dinámicamente.

❖ Multiplataforma y multiprocesador (SMP). Soporta arquitecturas de 64 bits.

❖ Dispone de miles de aplicaciones para convertir un equipo en una estación de trabajo personal, o de un grupo de trabajo o un servidor corporativo.

❖ Apoyo de IBM, Novell, SUN, etc.

Page 41: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

41

WEBS DE INTERES

❖ http://www.google.es/linux

❖ http://www.linuxhq.com

❖ http://es.tldp.org

❖ http://linux.tucows.com

❖ http://www.yolinux.com

❖ http://libertonia.escomposlinux.org

❖ http://barrapunto.com

❖ http://sourceforge.net

Page 42: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

42

DISPOSITIVOS

❖ /dev/hdx para discos IDE y /dev/sdx para SCSI.

❖ /dev/hda maestro en el primer canal IDE.

❖ /dev/hdb esclavo en el primer canal IDE.

❖ /dev/hdc maestro en el segundo canal IDE.

❖ /dev/hdd esclavo en el segundo canal IDE.

❖ /dev/sda primer disco de la controladora SCSI.

❖ /dev/sdb primer disco de la controladora SCSI.

Page 43: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

43

SISTEMAS DE FICHEROS

❖ ext2: antiguo sistema de ficheros.

❖ ext3: sistema de ficheros desde versión 2.4.

❖ swap: espacio de intercambio. JFS (IBM)

❖ iso9660: para CDs. XFS (Silicon Graphics)

❖ nfs: sistema de ficheros en red.

❖ smbfs: sistema de ficheros de red de Windows.

❖ dos, vfat: para MS-DOS y Windows 9x.

❖ ntfs: de NT, Windows 2000, XP.

Page 44: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

44

PARTICIONES

❖ Al instalar Linux se crean varias particiones.

❖ Podemos ver las particiones con fdisk

/sbin/fdisk -l /dev/hdaDispositivo Inicio Principio Fin Bloques Id Sistema

/dev/hda1 * 1 1282 10273567+ 7 HPFS/NTFS

/dev/hda2 1283 1315 265072+ 82 Linux swap

/dev/hda3 1316 2432 8972302+ 83 Linux

❖ Había una partición (/dev/hda1) y se crearon otras dos para Linux.

Page 45: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

45

MONTAJE DE SISTEMAS DE FICHEROS

❖ /etc/fstab contiene los sistemas de ficheros:

#Dispositivo Directorio Tipo Opciones dump fsck

LABEL=/ / ext3 defaults 1 1

/dev/hda3 swap swap defaults 0 0

/dev/cdrom /mnt/cdrom iso9660 noauto,owner,user,ro 0 0

/dev/fd0 /mnt/floppy auto noauto,owner 0 0

/dev/sda1 /mnt/pendrive auto noauto,owner,user 0 0

❖ Podemos montar el cd tecleando

mount /mnt/cdrom /cdrom en Debian

Page 46: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

46

MODOS DE ACCESO

❖ Cuando se termina se desmonta:

umount /mnt/cdrom❖ Para utilizar la disquetera empleamos mtools.

❖ Desde Gnome pinchamos botón derecho, seleccionamos Discos y podemos montar

Disquetera

Pendrive

CDROM

Page 47: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

47

EJEMPLOS DE MONTAJE

❖ Montamos partición NTFS

mount -t ntfs /dev/hda1 /mnt❖ Montamos la disquetera

mount -t vfat /dev/fd0 /mnt❖ Montamos el CD-ROM

mount -t iso9660 -o ro /dev/hdb /mnt❖ Montamos el pendrive

mount -t vfat /dev/sda1 /mnt

Page 48: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

48

SISTEMAS DE FICHEROS SOPORTADOS POR EL KERNEL

❖ Para conocer los sistemas de ficheros que es capaz de montar nuestra distribución vemos el fichero /etc/filesystems.

cat /etc/filesystems

ext2, ext3, nodev proc nodev devpts, iso9660, vfat, hfs

❖ Como no incluye soporte ntfs debemos compilar el núcleo dando soporte a este sistema de ficheros.

Page 49: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

49

/proc

❖ El sistema de ficheros /proc lo gestiona el kernel.

❖ Podemos cambiar ciertos parámetros del kernel modificando el contenido de algunos ficheros o bien empleando /sbin/sysctl.

❖ Podemos ver los parámetros susceptibles de cambio tecleando

/sbin/sysctl -a❖ /sbin/sysctl utiliza el fichero /etc/sysctl.conf.

Page 50: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

50

DIRECTORIOS BASICOS EN LINUX

❖ /home : directorios de las cuentas

❖ /bin y /usr/bin : comandos básicos de usuario

❖ /sbin y /usr/sbin : comandos para el root

❖ /etc : configuración del sistema

❖ /tmp : ficheros temporales

❖ /var : spool, logs, DNS, etc.

❖ /usr/local : aplicaciones nuevas

❖ /dev : dispositivos

Page 51: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

51

SECCIONES DEL MANUAL (I)

❖ Para conocer las opciones de un comando podemos recurrir al manual. Ejemplo:

man passwd (otra posibilidad es comando --help)

❖ Las páginas del manual están ordenadas en secciones:

1 comandos de usuario 5 formatos de ficheros

2 llamadas al sistema 6 juegos

3 llamadas libc 7 convenciones, macros

4 dispositivos 8 adm. del sistema

Page 52: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

52

SECCIONES DEL MANUAL (II)

❖ Ejemplo:

man 1 passwd

man 5 passwd❖ Linux establece un orden de búsqueda en las

páginas del manual.

/etc/manpath.config Debian

/etc/man.config Red Hat

❖ Comandos de interés: apropos, whatis.

Page 53: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

53

COMANDOS DE SESION

❖ ^d abandona la sesión.

❖ exit, logout abandona la sesión (IGNOREEOF=1)

❖ who muestra los usuarios activos.

❖ su [-] cambia a otra cuenta.

❖ tty informa del terminal en uso.

❖ last muestra los últimos accesos al sistema.

❖ uname da información del sistema Linux.

❖ id muestra id y gid.

variables de entorno en mayúsculas

Page 54: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

54

CAMBIANDO DE USUARIO

❖ Si no se realizan tareas de administración no es adecuado acceder siempre como root. Se aconseja accder como un usuario sin privilegios y hacer

su --

para convertirnos en root. Tras la tarea se termina con

exit❖ Se puede ejecutar un comando como root

temporalmente

su root -c “/sbin/fdisk -l /dev/hda”

Page 55: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

55

COMANDOS EN MODO GRAFICO

❖ Gnome y KDE incluyen herramientas gráficas para la mayoría de comandos. Por ejemplo guname.

Page 56: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

56

FICHEROS Y DIRECTORIOS (I)

❖ Es aconsejable conocer algunos comandos relacionados con ficheros y directorios:

cp, mv, rm, ln, touch, mkdir, cd, pwd, rmdir

❖ Si trabajamos en entornos gráficos, con Nautilus y Konqueror podemos manipular fácilmente con el ratón ficheros y directorios.

❖ cp permite copiar ficheros. Ejemplos:

cp /etc/hosts /tmp/hosts

cp -pr /etc .

Page 57: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

57

FICHEROS Y DIRECTORIOS (II)

❖ mkdir crea directorios. Ejemplos:

mkdir prueba

mkdir -p /tmp/a/b/c /tmp/aa/bb/cc

❖ mv renombra ficheros o cambia un fichero o directorio de lugar. Ejemplos:

mv /tmp/a/b/c /tmp/a/b/cc

mv /tmp/a/b/cc /tmp/aa

Page 58: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

58

FICHEROS Y DIRECTORIOS (III)

❖ Para actualizar la fecha de modificación de un fichero se utiliza touch. Ejemplo:

mkdir /tmp/1 ls -lt /tmp

sleep 1m touch /tmp/1

mkdir /tmp/2 ls -lt /tmp❖ Si no existe el fichero touch lo crea con tamaño

cero. Si un programa falla porque necesita un fichero podemos crearlo con touch.

Page 59: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

59

FICHEROS Y DIRECTORIOS (IV)

❖ Para compilar se utiliza la utilidad make. Esta orden es muy sensible a las fechas de los ficheros.

#include <stdio.h> CC=gcc

CFLAGS=-O2

int main() TARGETS=hola

{ all: hola

printf("Hola mundo"); hola: hola.o

exit(0); ${CC} -o $@ ${CFLAGS} [email protected]

} clean:

hola.c -rm -rf *.o ${TARGETS}

Makefile

Page 60: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

60

FICHEROS Y DIRECTORIOS (V)

makegcc -O2 -c -o hola.o hola.c

gcc -o hola -O2 hola.o

makemake: no se hace nada para `all'.

touch hola.cmake

Page 61: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

61

FICHEROS Y DIRECTORIOS (VI)

❖ Para borrar un fichero o directorio se usa rm:

touch /tmp/nada

rm -f /tmp/nada

rm -rf /tmp/aa (rm -r equivale a rmdir -p)

❖ Los enlaces asocian un fichero o directorio a otro.

ls -l /usr

lrwxrwxrwx 7 root root ... tmp -> ../var/tmp

Page 62: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

62

FICHEROS Y DIRECTORIOS (VII)

❖ Si nuestro disco duro se llena podemos poner un segundo disco (por ejemplo /dev/hdc), pasar un directorio (por ejemplo /usr/local) y crear un enlace:

ln -s /disco2/usr/local /usr/local❖ Lo anterior presupone que en /etc/fstab tenemos

#Dispositivo Directorio Tipo Opciones dump fsck

/dev/hdc1 /disco2 ext3 defaults 1 1

Page 63: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

63

FICHEROS Y DIRECTORIOS (VIII)

❖ Tras desplazarnos unos instantes por la estructura de directorios quizá nos interese saber donde estamos. Para ello se utiliza la orden pwd.

❖ Para volver a nuestro directorio de trabajo basta teclear la orden cd (sin opciones).

❖ Pese a trabajar en entornos gráficos muchas veces se abre un terminal donde se ejecutan órdenes. Por consiguiente, debemos conocer el shell.

Page 64: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

64

¿HACEMOS OTRO DESCANSO?

5 minutos

Page 65: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

65

SHELL BASH

❖ Los directorios /usr y /usr/bin están en el PATH

echo $PATH

(por eso no añadimos la ruta con ciertas órdenes)❖ Hay otras variables de entorno, para verlas:

env❖ Las variables se especifican:

para cada usuario: ~/,bashrc y ~/.bash_profile

para todos los usuarios: /etc/bashrc y /etc/profile

alias y funcionesvariables de entorno

Page 66: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

66

ESTABLECIENDO VARIABLES (I)

❖ Poner una variable al estilo Bourne shell

TMOUT=10

export TMOUT❖ Cambiamos el prompt en una sola línea

export PS1="[\d \w]\\$ "

unset PS1

export PS1="[\u@\h \W]\\$ "

Page 67: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

67

ESTABLECIENDO VARIABLES (II)

❖ Si salimos de la sesión se pierden las variables.

❖ Para tenerlas de forma permanente se deben incluir en el fichero ~/.bash_profile, por ejemplo

export JAVA_HOME=/usr/java/j2sdk1.4.2_04

❖ Si estamos editando el fichero ~/.bash_profile no es necesario salir y volver a entrar en la sesión. Para este cometido se utiliza el comando .

. ~/.bash_profile

Page 68: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

68

VENTANAS REMOTAS

❖ La variable de entorno DISPLAY sirve para trabajar de forma remota con aplicaciones gráficas X-Window.

[mipc]$ xhost +servidor.um.es

[mipc]$ ssh -l alumno servidor.um.es

[servidor]$ export DISPLAY=mipc.um.es:0

[servidor]$ xterm &

❖ Otra posibilidad:

X -query servidor :1 (CTRL+ALT+F8)

Page 69: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

69

VARIABLES ESPECIALES

❖ $0 argumento 0 (orden) se

❖ $1 primer argumento utilizan

❖ $* todos los argumentos en

❖ $# número de argumentos scripts

❖ $$ número de proceso actual

echo $$❖ $? resultado de la ejecución de un comando

mkdir -p /a/b/c ; echo $?

Page 70: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

70

ALIAS Y FUNCIONES

❖ Los alias permiten crear un comando a la carta o dar unas opciones por defecto

alias

alias 'dir=ls' ~/.bashrc

alias 'cp=cp -i'❖ Las funciones son pequeños programas

tarc () { tar cvzf $1.tgz $1; }

tarx () { tar xvzf $1; }

Page 71: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

71

REPETICION DE ORDENES

❖ Las órdenes tecleadas están en ~/.bash_history. Con y repetimos los comandos previos.

❖ Para ver las órdenes se usa history

10 ls /etc/passwd

11 ls /etc/shadow

12 cat /etc/passwd

❖ !número o !cadena para repetir una orden

!12

!ls (repite la orden 11)

Page 72: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

72

OTRAS POSIBILIDADES

❖ Pulsando el tabulador se completa la orden o el nombre del fichero o directorio.

❖ CTRL+L borra la pantalla.

❖ SHIFT+REPAG muestra pantalla anterior.

❖ SHIFT+AVPAG muestra pantalla inferior.

❖ CTRL+U borra todos los caracteres anteriores al cursor.

❖ CTRL+W elimina la última palabra

Page 73: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

73

MODOS DE EJECUCION

❖ El shell permite ejecutar comandos.

❖ Modos de ejecución:

cat /etc/termcap | less (tubería)

cd /etc ; ls -l rc.d ; cd /tmp (secuencial)

cd /etc ; (ls -l rc.d ; cd /tmp) (subshell)

ls -ltR / & (background)

ls -l /dev/sda1 && ls -l /dev/sda2 (and)

ls -l /dev/sda100 || ls -l /dev/sda2 (or)

Page 74: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

74

EJEMPLOS DE TUBERIAS

❖ Comando sort permite ordenar la salida

ls -s /dev | sort -n | less❖ ¿Cuantos dispositivos tienen tamaño cero?

utilizamos los filtros grep y wc

ls -s /dev | sort -n | grep “0 “ | wc -l❖ Lenguaje awk es muy útil

ls -s /dev | awk '$1==0 {cero++} END {print cero}'

❖ PERL es aconsejable para administradores.

Ayuda comando:comando --helpman comando

Page 75: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

75

MAS EJEMPLOS

❖ Comando find permite buscar ficheros

date +%r ; find / -name find -print ; date +%r❖ Si no deseamos esperar se ejecuta en background

find / -name find -print &

find permite hacer más cosas

(cd /etc ; find . -name hosts -exec cat {} \;) ; pwd❖ Comando test chequea ficheros y compara valores

test -d /etc && cd /etc ; pwd

Page 76: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

76

METACARACTERES

❖ El shell permite metacaracteres:

* cualquier cadena

find / -name “*gnome*” -print

? cualquier carácter

ls /usr/bin/??

[rango] un carácter del rango

cd /usr/bin ; ls -1 | grep “ps[f-u]*”

cd /usr/bin ; ls -1 | grep “̂ [aeiou]”

Page 77: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

77

REDIRECCION

❖ Cuando ejecutamos el comando find nos aparecen mensajes de error (por falta de permisos). Para evitarlo se redirecciona la entrada y salida

cat < /etc/host* (entrada)

ls -laR > listado (salida)

ls /root 2>/dev/null (salida de error)

find / -name “pdf*” -print 2>/dev/null

awk -F: '$3>500 {print $1}' /etc/passwd > users

echo “En total `wc -l users`” >> users

Page 78: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

78

LENGUAJE SHELL

❖ El shell dispone de un lenguaje de programación con estructuras if, case, for, while. Ejemplo:

STRING=$"Checking root filesystem" ; echo $STRING

initlog -c "fsck -T -a $fsckoptions /" man initlog

rc=$? variable $? guarda resultado ejecución comando

if [ $rc -gt 1 ]; then [ ] es equivalente a test

echo “File system error"

fi

Page 79: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

79

EJEMPLO FOR

cat <<fin >ejemplo_for Editores:

#!/bin/sh vi, mcedit,

for i in 1 3 5 7 9 joe, emacs,

do etc.

mkdir /tmp/$idonefin chmod +x ejemplo_for

sh ./ejemplo_for ./ejemplo_for

Page 80: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

80

EJEMPLO WHILE

#!/bin/shVALOR=$1FIN=$2while [ $VALOR -lt $FIN ]do echo $VALOR VALOR=`expr $VALOR + 1`done sh ./ejemplo_while 1 5

Page 81: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

81

¿PARA QUE SIRVE LO ANTERIOR?

❖ Para saber como arranca Linux:

1 Al prender el PC se carga el sector arranque y el gestor (LILO o GRUB) nos dice los S.O. disponibles.

2 Escogido Linux se carga el kernel, se monta / y se ejecuta /sbin/init (PID=1).

3 Red Hat: init ejecuta /etc/rc.d/rc.sysinit, monta /proc, se configuran los parámetros del kernel, se montan los sistemas de ficheros, se inicializan los dispositivos, etc.

Page 82: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

82

NIVEL DE ARRANQUE

3 Debian: init ejecuta /etc/init.d/rcS y este ejecuta los scripts de /etc/rcS.d/S* y /etc/rc.boot/*.

4 init lee /etc/inittab para saber nivel arranque.

0 parada del sistema 4 no usado

1 monousuario 5 modo gráfico

2 multiusuario, sin NFS 6 reboot

3 multiusuario

id:5:initdefault:

1:2345:respawn:/sbin/mingetty tty1

Page 83: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

83

FINALIZANDO EL ARRANQUE

5 Se configura el nivel: se paran los servicios que empiezan por K y lanza servicios que comienzan por S (daemons). Todos son enlaces a /etc/init.d.

6 Se ejecutan los programas especificados en el fichero /etc/inittab (por ejemplo las consolas virtuales).

7 Red Hat: se ejecuta /etc/rc.d/rc.local.

Debian: poner script en /etc/rc.boot o /etc/rcS.d (poniendo los enlaces con update-rc.d).

Page 84: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

84

PARAMETROS SCRIPTS

❖ Los ficheros en /etc/init.d admiten parámetros en la invocación. Por ejemplo:

❖ /etc/init.d/sshd start (lanza servicio SSH)

❖ /etc/init.d/sshd stop (para servicio SSH)

❖ /etc/init.d/sshd restart (para y lanza SSH)

❖ /etc/init.d/sshd reload (lee ficheros configuración)

❖ /etc/init.d/sshd status (muestra estado)

Page 85: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

85

VEAMOS UN SCRIPT

❖ El fichero /etc/rc.d/S10network activa las interfaces de red. Una parte puede ser:

. /etc/sysconfig/network pone var. necesarias

[ "${NETWORKING}" = "no" ] && exit 0

case "$1" in

start)

echo "Bringing up loopback interface: "

./ifup ifcfg-lo

Page 86: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

86

EJERCICIOS SHELL

❖ El comando ps muestra los procesos del sistema. El comando touch modifica fecha de acceso y si no existe el fichero lo crea. El comando mv renombra un fichero.

1 Descubra todos los comandos (con todos sus argumentos) ejecutados como root.

2 Directorios y subdirectorios en /var/log.

3 Cree tres ficheros denominados imagen1.gif, imagen2.gif e imagen3.gif. Utilize awk para cambiar la extensión .gif por .jpg.

Page 87: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

87

¿HACEMOS UNA DESCANSO?

5 minutos

Page 88: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

88

SOLUCIONES EJERCICIOS SHELL

1 ps -auxww | grep root | awk '{print $11}' ps -fu root

2 find /var/log -type d -print

3 touch imagen1.gif

touch imagen2.gif

touch imagen2.gif

ls *.gif | awk -F. '{print “mv”,$n,$1”.jpg”' | sh

❖ Con awk hemos indicado el comando y los argumentos. Tras ello se pasa al shell.

Page 89: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

89

UID Y /ETC/PASSWD

❖ Las cuentas del sistema están en /etc/passwd

alumno:x:510:100:Alumno:/home/alumno:/bin/bash

❖ 510 es el uid (identificador de usuario)

❖ 100 es el gid (identificador de grupo)

❖ Alumno es información de la cuenta (GECOS)

❖ /home/alumno es su directorio de trabajo

❖ /bin/bash es el shell asignado.

Page 90: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

90

CAMBIOS POSIBLES

alumno:x:510:100:Alumno:/home/alumno:/bin/bash

❖ chfn cambia la información de la cuenta

chfn -f “Alumno del curso” alumno❖ chsh cambia el shell

chsh -s /bin/csh alumno❖ La clave se cambia con el comando passwd.

❖ usermod (comando para root) puede cambiar todos los campos.

Page 91: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

91

GID Y PERMISOS

❖ Los grupos están en /etc/group

users:x:100: aquí se indica el grupo secundario

comando id muestra grupo primario y secundarios

❖ ¿Y la clave donde está? en /etc/shadow

-r-------- 1 root root 1226 oct 20 2003 /etc/shadow❖ Permisos r-- para la cuenta root

❖ Permisos --- para el grupo root

❖ Permisos --- para el resto (nosotros)

r lecturaw escriturax ejecución

Page 92: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

92

PERMISOS EN NUESTRO HOME

❖ ¿Y qué permisos tenemos en nuestro directorio?

ls -ld $HOME

drwx------ 3 alumno users ... /home/alumno❖ Como propietarios podemos dar/quitar permisos

chmod u=rwx,g=r--,o=--- /home/alumno

chmod 740 /home/alumno (octal)

❖ Otros permisos

set uid bit (s), set gid bit (s) y sticky bit (t).

r permite lsw crear ficherosx permite cd

Page 93: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

93

TIPOS DE FICHEROS (I)

❖ El tipo aparece al principio de un ls -l. Tipos:

- fichero plano -rw------- /etc/lilo.conf

d directorio drwxr-xr-x /bin

l enlace simbólico lrwxrwxrwx /usr/tmp-> ../var/tmp

b fichero de bloques brw-rw---- /dev/hda

c fichero de caracteres crw------- /dev/tty1

s socket srwx------ /dev/gpmctl

p tubería prw------- /dev/initctl

Page 94: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

94

TIPOS DE FICHEROS (II)

❖ La extensión de un fichero no determina su tipo.

❖ file nos dice el tipo de fichero.

echo “nada” > vacio.jpg ; file vacio.jpg❖ Los ficheros planos pueden ser de texto o

binarios. Los ficheros binarios necesitan una aplicación para visualizarlos. Los ficheros de texto pueden visualizarse con las utilidades more, cat y less.

cat /boot/vmlinuz ; reset resetea terminal

Page 95: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

95

MODULOS

❖ El kernel permite cargar y descargar módulos. Así, en la secuencia de arranque se carga el módulo correspondiente a la tarjeta de red.

❖ Para ver los módulos empleamos lsmod. La cuenta root puede utilizar insmod y rmmod.

❖ En Red Hat se tiene un fichero /etc/modules.conf con los módulos a cargar.

❖ En Debian se debe utilizar el comando modconf para cargar y descargar módulos.

Page 96: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

96

LIBRERIAS

❖ ldd nos dice las dependencias:

ldd /bin/ls❖ LD_LIBRARY_PATH especifica los directorios

donde buscar librerías. Ver /etc/ld.so.conf.

❖ strings muestra cadenas de un fichero binario

strings /bin/gawk❖ strip quita símbolos de un fichero binario

file /bin/gawk (243k not stripped) Red Hat 7.3

Page 97: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

97

DIFERENCIAS ENTRE ARCHIVOS

cp /bin/gawk ~ ; strip ~/gawk

file ~/gawk (221k stripped) Red Hat 7.3

❖ xargs y find permiten buscar estos ficheros

find / -print | xargs file | grep “not stripped”❖ Con diff vemos los cambios entre ficheros

hola don pepito hola

adios don jose

fichero1 fichero2

Page 98: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

98

PARCHEO

❖ Obtenemos diferencias en formato ed

diff -e fichero2 fichero1 > parche❖ Se parchea para tener dos ficheros iguales

patch -e fichero2 parche❖ patch se utiliza para aplicar parches a ficheros de

código fuente. Normalmente el formato es

patch -p0 <parche

Page 99: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

99

CONTROL DE RECURSOS (I)

❖ Para saber el espacio disponible:

free -m memoria (ver /proc/meminfo)

df -h disco

❖ Para conocer el tiempo activo y carga del sistema

uptime (ver /proc/loadavg)

11:10 up 24 min, 2 users, load average:1.75, 0.90, 0.53

hora en activo usuarios carga 1 5 15 min

Page 100: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

100

CONTROL DE RECURSOS (II)

❖ iostat muestra estadísticas de E/S. Por ejemplo:

iostat -d 1 10 ; iostat -c 1 10❖ mpstat muestra estadísticas de CPU.

mpstat 1 10❖ sar reporta la actividad del sistema.

sar -n 1 10❖ vmstat reporta estadísticas de memoria virtual.

vmstat -n 1 10

Page 101: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

101

W Y TOP

❖ Orden w es una mezcla entre uptime y ps

2:17am up 1:09, 2 users, load average: 0.09, 0.18, 0.11

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

alfonso pts/0 :0 1:08am 0.00s 0.19s 0.00s w

alfonso pts/1 :0 1:08am 6:19 0.23s 0.23s bash

❖ top muestra uso de la CPU. Puede ser interactivo o no. Por ejemplo, monitorizar durante cinco segundos el proceso syslogd

top -n 5 -p `ps -C syslogd -o pid=`

Page 102: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

102

TOP

2:10am up 1:03, 2 users, load average: 0,13, 0,09, 0,05

78 processes: 76 sleeping, 2 running, 0 zombie, 0 stopped

CPU states: 6,2% user, 1,1% system, 0,0% nice, 92,6% idle

Mem: 247532K av, 241296K used, 6236K free, 0K shrd, 21624K buff

Swap: 265064K av, 40812K used, 224252K free 112060K cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND

2220 alumno 15 0 1012 1012 800 R 1,9 0,4 0:00 top

1 root 15 0 472 428 408 S 0,0 0,1 0:04 init

2 root 15 0 0 0 0 SW 0,0 0,0 0:00 keventd

3 root 15 0 0 0 0 RW 0,0 0,0 0:00 kapmd

Page 103: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

103

ALGUNOS CAMPOS TOP

❖ PRI es la prioridad.

❖ NI es la prioridad. Un valor – es + prioridad.

❖ SIZE tamaño del proceso y su pila.

❖ RSS memoria física usada por el proceso.

❖ SHARE cantidad de memoria compartida.

❖ STAT estado. R (runnable), S (sleeping), D (IO), Z (zombie), T (stopped), N (low priority).

Algunos valores el administrador los limita en /etc/security/limits.conf o con ulimit.

Page 104: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

104

NICE Y RENICE

❖ Los procesos tienen una prioridad que va desde -20 (la mayor) hasta 19 (la menor).

ps -eo "%p %n %c" | grep tuxracer

2447 0 tuxracer

❖ Se puede cambiar la prioridad cuando se lanza el comando (nice) o cuando está activo (renice):

ps -ef | grep tuxracer | awk '{print $2}' | xargs renice +10

ps -eo "%p %n %c" | grep tuxracer

2447 10 tuxracer

Page 105: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

105

CONSOLA DE MONITORIZACION

❖ La utilidad procinfo muestra información almacenada en el sistema de ficheros /proc.

❖ Si deseamos tener siempre en la consola virtual número 8 la información de procinfo, en el fichero /etc/inittab podemos poner:

p8:23:respawn:/usr/bin/procinfo -biDn1 -F/dev/tty8

❖ Para no reiniciar tecleamos:

/sbin/telinit q

Page 106: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

106

MATANDO PROCESOS

❖ Los procesos colgados se pueden eliminar

kill -9 1 (1 es el proceso init)

❖ Para ver las señales disponibles

kill -l❖ kill se utiliza para forzar la lectura de un fichero

de configuración tras un cambio.

vi /etc/ssh/sshd_config

kill -1 `ps -C sshd -o pid=`

Page 107: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

107

LSOF

❖ Si deseamos conocer los ficheros abiertos por un proceso podemos utilizar lsof.

top

688 root 15 0 972 788 788 S 0,0 0,3 0:00 sshd

lsof -p 688

❖ Algunos de los ficheros abiertos están asociados a las dependencias del programa

ldd /usr/sbin/sshd

Page 108: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

108

SERVICIOS EN MARCHA (I)

❖ En Red Hat tenemos el comando chkconfig

/sbin/chkconfig –list❖ En cualquier Linux podemos utilizar

netstat -aptu (otra utilidad es nmap)❖ Para quitar un servicio lanzados de forma

autónoma, es decir, tienen un script en /etc/init.d

chkconfig --del httpd (Red Hat)

update-rc.d -f apache remove (Debian)

Page 109: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

109

SERVICIOS EN MARCHA (II)

❖ Para poner un servicio autónomo

chkconfig --level 345 httpd on (Red Hat)

update-rc.d apache defaults (Debian)

update-rc.d apache start 40 2 3 4 5 . stop 20 0 1 6❖ Los servicios controlados por inetd (Debian) están

en /etc/inetd.conf. Los servicios controlados por xinetd (Red Hat) están en los ficheros del directorio /etc/xinetd.d.

Page 110: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

110

OTROS PROGRAMAS EN MARCHA

❖ Unix dispone de la utilidad cron para ejecutar de forma periódica órdenes y scripts.

0 15 * * * /usr/bin/wall Nos vamos

❖ Linux dispone de estos directorios:

/etc/cron.d /etc/cron.weekly

/etc/cron.hourly /etc/cron.monthly

/etc/cron.daily❖ Si el PC no estuvo encendido anacron se encarga

de ejecutar los scripts de los directorios.

Page 111: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

111

DIAGNOSTICO DE RED

❖ Comandos útiles:

❖ ping hace un test de comunicación.

❖ traceroute muestra la ruta hasta un destino.

❖ nslookup consulta al DNS.

❖ ifconfig muestra/configura la tarjeta de red.

❖ netstat muestra estadísticas de red.

❖ route muestra/manipula tabla de rutas.

❖ tcpdump para ver el tráfico (sniffer).

Page 112: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

112

PAQUETES EN REDHAT

Ver paquetes instalados: rpm -qa

Instalar un paquete: rpm -ivh paquete.rpm

Actualizar un paquete: rpm -Uvh paquete.rpm

Desinstalar un paquete: rpm -e paquete

Información de un paquete instalado: rpm -qi paquete

Inform. paquete no instalado: rpm -qpi paquete.rpm

Ficheros de un paquete instalado: rpm -ql paquete

Paquete asociado a un fichero: rpm -qf /etc/inittab

Page 113: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

113

PAQUETES EN DEBIAN

Ver paquetes instalados: dpkg -l

Buscar un paquete: apt-cache search paquete

Instalar un paquete: apt-get install paquete

Actualizar paquetes: apt-get update; apt-get upgrade

Desinstalar un paquete: dpkg -r paquete

Información de un paquete: apt-cache show paquete

Ficheros de un paquete instalado: dpkg -L paquete

Paquete asociado a un fichero: dkpg -S /etc/inittab

Page 114: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

114

COPIANDO LO BUENO

❖ La gestión de paquetes y actualizaciones en Debian es muy fácil y cómoda.

❖ La instalación de paquetes .rpm es muy tediosa debido a las dependencias entre paquetes.

❖ Existe la utilidad apt para Red Hat.

❖ Fedora también dispone de apt y yum.

❖ Red Hat y Fedora pueden utilizar up2date para actualizar paquetes instalados.

❖ Gnome Ximian dispone de Red Carpet.

Page 115: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

115

INSTALACION DESDE CODIGO FUENTE

❖ Descomprimir el fichero

tar xvzf programa.tgz ; cd programa❖ Configurar el programa

./configure❖ Compilarlo

make❖ Instalarlo

make install

Page 116: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

116

COMPILANDO E INSTALANDO

tar xvzf netkit-ftp-0.10.tar.gzcd netkit-ftp-0.10less README./configure --prefix=/usr/localmakemake install/usr/local/bin/ftp

Page 117: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

117

INSTALAR CLIENTE NOVELL (I)

❖ Se obtiene el programa novelclient y se instala

rpm -ivh novelclient-0.86-3.i386.rpm ncpfs-2.2.4-1.i386.rpm \ ipxutils-2.2.4-1.i386.rpm

❖ En el fichero /etc/sysconfig/multicast se pone

DEV=eth0

❖ Se activa el enrutamiento multicast:

/etc/init.d/multicast start❖ Se lanza el programa novelclient

Page 118: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

118

INSTALAR CLIENTE NOVELL (II)

Page 119: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

119

INSTALAR CLIENTE NOVELL (III)

Page 120: Sofware Libre y GPL Introducción a Unix y Linux Comandos ... · Compilador GCC y shell BASH. ... Desde el punto de vista del software libre hay dos tipos de licencias: las compatibles

120

MAS INFORMACION

❖ Utilidades y herramientas.www.uoc.edu/masters/softwarelibre/esp/materials/Utilidades_herramientas.pdf

❖ Sistema operativo GNU/Linux básico.www.uoc.edu/masters/softwarelibre/esp/materials/libre_m2_baja.pdf

❖ Administración avanzada de GNU/Linux.www.uoc.edu/masters/softwarelibre/esp/materials/Admin_GNULinux.pdf