250550-Linux

252
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA 250550 – LINUX MIGUEL ANGEL LOPEZ (Director Nacional) BOGOTÁ Enero del 2011

Transcript of 250550-Linux

Page 1: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA

250550 – LINUX

MIGUEL ANGEL LOPEZ

(Director Nacional)

BOGOTÁ

Enero del 2011

Page 2: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

2

ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO

El presente módulo fue diseñado en el año 2007 por el Ingeniero German Yobany Beltran Rondon, tutor de la Unad, ubicado en el Cead de Neiva, es Ingeniero de Sistemas con Énfasis en Telecomunicaciones, Especialista en Redes y Telecomunicaciones.

El presente módulo presenta una reorganización de temas, fue realizada por el Ingeniero Miguel Angel Lopez tutor de la UNAD del Cead José Acevedo y Gómez, que se desempeña actualmente como director del cuso a nivel nacional.

En la versión actual se reorganizarón las temáticas en unidades, capitulos y lecciones; de acuerdo al estándar de cursos académicos de tres créditos acádemicos metodológicos.

Page 3: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

3

TABLA DE CONTENIDO

Página

INTRODUCCIÓN 6

PRIMERA UNIDAD: SOFTWARE LIBRE, ADMINISTRACION DE GNU-LINUX

6

1.1 CAPITULO 1: GENERALIDADES SOBRE EL SOFTWARE LIBRE E HISTORIA DE GNU/LINUX

6

1.1.1. Lección 1: Software libre 7

1.1.2. Lección 2: Fundación de software libre 7 1.1.3. Lección 3: Ventajas del software libre 8

1.1.4. Lección 4: Reseña Histórica 10 1.1.5. Lección 5: El Kernel 11

1.2. CAPITULO 2: DISTRIBUCIONES, ASPECTOS LEGALES Y DE EXPLOTACIÓN

13

1.2.1. Lección 1: Distribuciones 13 1.2.2. Lección 2: Propiedad intelectual e industrial 14

1.2.3. Lección 3: Elementos del contrato de licencia de software 24 1.2.4. Lección 4: Modalidades de licencias de software 25

1.2.5. Lección 5: Herramientas de administración de usuarios y de grupos 28 1.3 CAPITULO 3: ADMINISTRACIÓN DE USUARIOS Y GRUPOS 29

1.3.1. Lección 1: Las bases de datos del usuario 29 1.3.2. Lección 2: Administración de usuarios por líneas de comandos 30

1.3.3. Lección 3: Herramientas básicas para el administrador 34 1.3.4. Lección 4: Conceptos y líneas de comandos básicos. Descripción de

los comandos

51

1.3.5. Lección 5: Comandos para usuarios avanzados 67

SEGUNDA UNIDAD: SISTEMA OPERATIVO GNU/LINUX 70

2.1 CAPITULO 1: INSTALACION DE APLICACIONES, HERRAMIENTAS Y LINEAS DE COMANDOS

70

2.1.1. Lección 1: El gestor de paquetes redhat 70 2.1.2. Lección 2: Uso de rpm para instalar paquetes de software 70

2.1.3. Lección 3: Procedimientos de instalación de paquetes que no son rpm

74

2.1.4. Lección 4: Recomendaciones antes de la instalación 76 2.1.5. Lección 5: Instalación gnu/linux 77

2.2 CAPITULO 2: ENTORNOS DE ESCRITORIO Y SISTEMAS DE ARCHIVOS

82

2.2.1. Lección 1: Configuración de dispositivos 82 2.2.2. Lección 2 X-windows 87

2.2.3. Lección 3: Gnome 92

Page 4: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

4

2.2.4. Lección 4 Kde 107 2.2.5. Lección 5: Administración de los sistemas de archivos 112

2.3 CAPITULO 3: ADMINISTRACIÓN DE DISCOS, NAVEGADOR MOZILLA Y CLIENTES DE CORREO ELECTRÓNICO

116

2.3.1. Lección 1: Partición de un disco 116 2.3.2. Lección 2: Sistemas de archivos de red 119

2.3.3. Lección 3: Instalación 121 2.3.4. Lección 4: Configuración básica del navegador, privacidad y

seguridad

124

2.3.5. Lección 5: Clientes de correo electrónico 132

TERCERA UNIDAD: UTILIDADES, HERRAMIENTAS, REDES Y SERVICIOS WEB

150

3.1 CAPITULO 1: OFIMATICA CON OPENOFFICE - PROGRAMACION BASICA EN SHELLS

150

3.1.1. Lección 1: Open Writer 152

3.1.2. Lección 2: Open Calc 154 3.1.3. Lección 3: Open Impress 156

3.1.4. Lección 4: Introducción a la programación en gnu/linux 158 3.1.5. Lección 5: Programación del Shells Bash 172

3.2 CAPITULO 2: GENERALIDADES SOBRE REDES GNU/LINUX 178 3.2.1. Lección 1: Script del Shell Bash 178

3.2.2. Lección 2: Administración de red 180 3.2.3. Lección 3: Conjunto de Protocolos TCP/IP 182

3.2.4. Lección 4: Herramientas y utilidades centrales del sistema 189 3.2.5. Lección 5: Configuración de la tarjeta de red 212

3.3 CAPITULO 3: CONFIGURACION EN ENTORNOS DE RED - INSTALACION Y CONFIGURACION DE LO PRINCIPALES SERVIDORES

220

3.3.1. Lección 1: Seguridad y configuración de firewall 220

3.3.2. Lección 2: Compartición de recursos a través de samba 223 3.3.3. Lección 3: Servidor dns y dhcp 227

3.3.4. Lección 4: Servidor apache y proxy 241 3.3.5. Lección 5: Servidor de correo electrónico 247

Page 5: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

5

INTRODUCCIÓN

El curso electivo en sistemas operativos GNU/Linux tiene como objetivo la

fundamentación en los conceptos básicos y la utilización y aplicación de sus

herramientas de administración por parte de los estudiantes del programa de

Ingeniería de Sistemas, bajo la estrategia de educación abierta y a distancia.

El curso GNU/Linux tiene 3 créditos académicos los cuales se desarrollan bajo

estudio independiente y en acompañamientos tutoriales sincrónicos y

asincrónicos, asistido por la utilización de medios y mediaciones tecnológicos de la

información y la comunicación que fortalecen y complementan el proceso del

aprendizaje autónomo.

De igual manera, le permite al estudiante desarrollar competencias específicas de

aplicación en su entorno, a través de apropiación de conceptos, procesos y

técnicas básicas para la administración y control del sistema operativo GNU/Linux,

las cuales fortalecen de manera eficiente sus quehaceres en los diferentes

escenarios futuros de su vida profesional. Esto permite fomentar en ellos el

espíritu investigativo, participativo e innovador que fortalezca la creatividad en el

desarrollo de soluciones a problemas reales y dar seguridad a la toma de

decisiones a través de todo el potencial que nos ofrece esta plataforma

computacional de filosofía libre.

Page 6: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

6

PRIMERA UNIDAD

1. SOFTWARE LIBRE, ADMINISTRACION DE GNU-LINUX

1.1 CAPITULO 1: GENERALIDADES SOBRE EL SOFTWARE LIBRE E HISTORIA DE GNU/LINUX

1.1. Lección 1: Software libre

Es una filosofía de trabajo consistente en compartir el software de desarrollo y

colocarlo a disposición de quien quiera utilizarlo, estas ideas fueron impulsadas

desde la década de los 70 por Richard Stallman en concreto se refiere a cuatro

libertades: 1. Libertad para ejecutar el programa en cualquier sitio, con cualquier

propósito y para siempre, 2. Libertad para estudiarlo y adaptarlo a nuestras

necesidades. Esto exige el acceso al código fuente, 3. Libertad de redistribución,

de modo que se nos permita colaborar con vecinos y amigos, 4. Libertad para

mejorar el programa y publicar las mejoras. También exige el código fuente.

Quien trabajo en el Instituto Tecnológico de Massachussets (MIT) pero con el

imperio de IBM y luego de Microsoft prácticamente el software libre desapareció.

Sin embargo en 1985 se reactiva esta forma de pensamiento con la creación de la

fundación de software libre (Free Software Foundation) y el proyecto GNU. Este

proyecto estaba destinado a ser un sistema operativo libre de tal forma que los

programadores de software GNU pudieran disponer de una plataforma

independiente de trabajo. Richard Stallman y los muchos compañeros que lo

siguieron construyeron una gran cantidad de utilidades, ya solo faltaba el núcleo.

En 1991 Linux Torvalds dió ese paso y creó la base del sistema que luego con la

colaboración de miles de programadores dio lugar a Linux. El software GNU y el

núcleo Linux se unificaron y dieron lugar a GNU/Linux

Page 7: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

7

El Software Libre es un tipo particular de software que le permite al usuario el

ejercicio de cuatro libertades básicas:

0. Ejecutarlo con cualquier propósito

1. Estudiar como funciona y adaptarlo a sus necesidades

2. Distribuir copias

3. Mejorarlo, y liberar esas mejoras al publico

Con la única restricción del copyleft (o sea, cualquiera que redistribuya el software,

con o sin cambios, debe dar las mismas libertades que antes), y con el requisito

de permitir el acceso al código fuente.

1.1.2. Lección 2: Fundación de software libre

La parte central de Linux (conocida como núcleo o kernel) se distribuye a través

de la Licencia Pública General GNU, lo que básicamente significa que puede ser

copiado libremente, cambiado y distribuido, pero no es posible imponer

restricciones adicionales a los productos obtenidos y, adicionalmente, se debe

dejar el código fuente disponible, de la misma forma que está disponible el código

de Linux. Aún cuando Linux tenga registro de Copyright, y no sea estrictamente de

dominio público. La licencia tiene por objeto asegurar que Linux siga siendo

gratuito y a la vez estándar.

Richard Stallman también fundó la Free Software Foundation (FSF con el fin de

conseguir fondos para el desarrollo y la protección del software libre, y sentó los

fundamentos éticos del software libre, con documentos como The GNU Manifesto

y Why Software Should Not Have Owners.1

Desde el punto de vista técnico, el proyecto GNU fue concebido como un trabajo

muy estructurado y con metas muy claras. El método habitual estaba basado en

1 http://www.fsf.org

Page 8: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

8

grupos relativamente pequeños de personas (habitualmente voluntarios) que

desarrollaban alguna de las herramientas que luego encajarían perfectamente en

el rompecabezas completo (el sistema GNU). La modularidad de UNIX, en la que

se inspiraba el desarrollo, encajaba perfectamente en esta idea. El método de

trabajo generalmente implicaba el uso de Internet, pero ante la escasa

implantación de aquellos días, la Free Software Foundation también vendía cintas

en las que grababa las aplicaciones, siendo probablemente uno de las primeras

organizaciones en beneficiarse económicamente (aunque de manera bastante

limitada) de la creación de software libre.

1.1.3. Lección 3: Ventajas del software libre

Escrutinio Público: Al ser muchos las personas que tienen acceso al código

fuente, eso lleva a un proceso de corrección de errores muy dinámico, no hace

falta esperar que el proveedor del software saque una nueva versión.

Independencia del proveedor: Al disponer del código fuente, cualquier persona

puede continuar ofreciendo soporte, desarrollo u otro tipo de servicios para el

software. No estamos supeditados a las condiciones del mercado de nuestro

proveedor, es decir que si este se va del mercado porque no le conviene y

discontinua el soporte, nosotros podemos contratar a otra persona.

Manejo de la Lengua:

Traducción: cualquier persona capacitada puede traducir y adaptar un software

libre a cualquier lengua.

Corrección ortográfica y gramatical: una vez traducido el software libre puede

presentar errores de este tipo, los cuales pueden ser subsanados con mayor

rapidez por una persona capacitada.

Page 9: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

9

Mayor seguridad y privacidad: Los sistemas de almacenamiento y recuperación

de la información son públicos. Cualquier persona puede ver y entender como se

almacenan los datos en un determinado formato o sistema. Existe una mayor

dificultad para introducir código malicioso como ser: espía (p/ej. capturador de

teclas), de control remoto (p/ej. Troyano), de entrada al sistema (p/ej. puerta

trasera), etc.

Garantía de continuidad: el software libre puede seguir siendo usado aun

después de que haya desaparecido la persona que lo elaboró, dado que cualquier

técnico informático puede continuar desarrollándolo, mejorándolo o adaptándolo.

Ahorro en costos: en cuanto a este tópico debemos distinguir cuatro grandes

costos: de adquisición, de implantación (este a su vez se compone de costos de

migración y de instalación), de soporte o mantenimiento, y de interoperabilidad. El

software libre principalmente disminuye el costo de adquisición ya que al otorgar la

libertad de distribuir copias la puedo ejercer con la compra de una sola licencia y

no con tantas como computadoras posea (como sucede en la mayoría de los

casos de software propietario). Cabe aclarar que también hay una disminución

significativa en el costo de soporte, no ocurriendo lo mismo con los costos de

implantación y de interoperatividad.

Desventajas del software libre

Dificultad en el intercambio de archivos: esto se da mayormente en los

documentos de texto (generalmente creados con Microsoft Word), ya que si los

queremos abrir con un Software Libre (p/ ej. Open Office o LaTeX) nos da error o

se pierden datos. Pero esta claro que si Microsoft Word creara sus documentos

con un formato abierto (o público) esto no sucedería.

Mayores costos de implantación e interoperabilidad: dado que el software

constituye "algo nuevo", ello supone afrontar un costo de aprendizaje, de

Page 10: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

10

instalación, de migración, de interoperabilidad, etc., cuya cuantía puede verse

disminuida por: mayor facilidad en las instalaciones y en el uso, uso de

emuladores (p/ej. Si el usuario utiliza Microsoft Windows, la solución sería instalar

alguna distribución de GNU/Linux y luego un emulador de Windows, como Wine,

VMWare. Terminal X, Win4Lin). Vale aclarar que el costo de migración esta

referido al software, ya que en lo que hace a Hardware generalmente el Software

Libre no posee mayores requerimientos que el Software Propietario.2

1.1.4. Lección 4: Reseña Histórica

Fue creado inicialmente como un hobbie por un estudiante joven, Linus Torvalds,

en la universidad de Helsinki en Finlandia, con asistencia por un grupo de hackers

a través de Internet. Linus tenía un interés en Minix, un sistema pequeño o

abreviado del UNIX (desarrollado por Andy Tanenbaum); y decidido a desarrollar

un sistema que excedió los estándares de Minix. Quería llevar a cabo un sistema

operativo que aprovechase la arquitectura de 32 bits para multitarea y eliminar las

barreras del direccionamiento de memoria.

Torvalds empezó escribiendo el núcleo del proyecto en ensamblador, y luego

comenzó a añadir código en C, lo cual incrementó la velocidad de desarrollo, e

hizo que empezara a tomarse en serio su idea.

Él comenzó su trabajo en 1991 cuando realizó la versión 0,02, la cual no la dio a

conocer porque ni siquiera tenía drivers de disquete, además de llevar un sistema

de almacenamiento de archivos muy defectuoso.

Trabajó constantemente hasta 1994 en que la versión 1,0 del núcleo (KERNEL) de

Linux se concretó. Linux tiene todas las prestaciones que se pueden esperar de un

Unix moderno y completamente desarrollado: multitarea real, memoria virtual,

bibliotecas compartidas, carga de sistemas a-demanda, compartimiento, manejo

debido de la memoria y soporte de redes TCP/IP.

2 http://www.softwarelegal.com

Page 11: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

11

Linux corre principalmente en PCs basados en procesadores 386/486/586,

usando las facilidades de proceso de la familia de procesadores 386

(segmentación TSS, etc.) para implementar las funciones nombradas.

1.1.5. LECCION 5: EL KERNEL

Es el núcleo del sistema operativo que contiene las funciones básicas y es el

encargado de que el software y hardware del PC puedan trabajar juntos. Algunas

de sus funciones son la aadministración de la memoria, para todos los programas

en ejecución, y la administración del tiempo de procesador, que estos programas

en ejecución utilizan, Es el encargado de que podamos acceder a los

periféricos/elementos de nuestro ordenador de una manera cómoda.

Existen dos versiones del Linux kernel:

Versión de producción: La versión de producción, es la versión estable hasta el

momento. Esta versión es el resultado final de las versiones de desarrollo o

experimentales. Cuando el equipo de desarrollo del kernel experimental, decide

que ha conseguido un kernel estable y con la suficiente calidad, se lanza una

nueva versión de producción o estable. Esta versión es la que se debería utilizar

para un uso normal del sistema, ya que son las versiones consideradas más

estables y libres de fallos en el momento de su lanzamiento.

Versión de desarrollo: Esta versión es experimental y es la que utilizan los

desarrolladores para programar, comprobar y verificar nuevas características,

correcciones, etc. Estos núcleos suelen ser inestables y no se deberían usar, a no

ser que sepas lo que haces.

Como interpretar los números de las versiones:

Page 12: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

12

· Las versiones del kernel se numeran con 3 números, de la siguiente

forma: XX.YY.ZZ

XX: Indica la serie principal del kernel. Hasta el momento solo existen la 1 y

2. Este número cambia cuando la manera de funcionamiento del kernel ha

sufrido un cambio muy importante.

YY: Indica si la versión es de desarrollo o de producción. Un número impar,

significa que es de desarrollo, uno par, que es de producción.

ZZ: Indica nuevas versiones dentro de una versión, en las que lo único que

se ha modificado, son fallos de programación /bugs.

Ejemplos:

ej1: versión del kernel 2.0.0: Kernel de la serie 2 (XX=2), versión de producción 0

(YY=0 par), primera versión de 2.0 (ZZ=0)

ej2: versión del kernel 2.0.1: Kernel de la serie 2, versión 0, en el que se han

corregido errores de programación presentes en la versión 2.0.0 (ZZ=1)

ej3: versión del kernel 2.1.100: versión 100 del kernel de desarrollo 2.1. 3

3 Documento. Diplomado Linux – nivel 1

Page 13: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

13

1.2 CAPITULO 2: DISTRIBUCIONES, ASPECTOS LEGALES Y DE

EXPLOTACIÓN 1.2.1. Lección 1: Distribuciones

Una distribución es un agrupamiento del núcleo del sistema operativo Linux (la

parte desarrollada por Linus Torvalds) y otra serie de aplicaciones de uso general

o no tan general. Estas distribuciones pueden conseguirse desde Internet,

revistas, etc. siendo todas estas gratuitas y legales.

Las distribuciones más conocidas son RedHat, Debían, Slackware, SuSE y Corel,

Caldera, Conectiva, Mandraque, todas ellas incluyen el software más reciente y

empleado lo cual incluye compiladores de C/C++, editores de texto, juegos,

programas para el acceso a Internet, así como el entorno gráfico de Linux: X

Windows.4

En la tabla No.1 se muestran algunas distribuciones de Linux más populares:

Empresa

Fecha de

la

primera

P.R.

Predecesor

Última

versión

estable

Precio Licencia Público País

Debian

GNU/Linux

Debian

Project

Agosto

1993 N/A

3.1r2

(sarge) Gratis

cualquier

DFSG

Desktop,

Workstation,

Server

Mundial

Fedora

Core

Fedora

Project

Noviembre

2003

Fedora Linux, Red Hat

Linux

Ver. 5 /

Marzo

2006

Gratis GPL

Workstation,

Server,

Público

EEUU

Gentoo Gentoo

Foundation

Marzo

2002 Enoch 2006.0 Gratis GPL

Workstation,

Server,

Público

Mundial

Mandriva

Linux Mandriva Julio 1998

Mandrakelinux/Conectiva

y Lycoris Xls

Mandriva

2006

Gratis

(Download GPL

Desktop,

Workstation, Mundial

4 http://www.distrowatch.com

Page 14: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

14

edition) Server

Rxart Pixart octubre

2001 rxart, rxart Linux Rxart 2.0

Gratis Live

CD GPL

Workstation,

Server

America

Spanish

Slackware

Linux

Patrick

Volkerding Julio 1993 SLS 10.2 Gratis GPL

Workstation,

Server,

Público

EEUU

SUSE

Linux Novell

Marzo

1994 Jurix 10.1

Descarga

gratuita

disponible

Ed.

Profesional:

51,95

GPL

Workstation,

Server,

Desktop,

Público

Mundial

Tabla No. 1Distribuciones de Linux

1.2.2. Lección 2: Propiedad intelectual e industrial

El desarrollo de esta lección será de gran importancia para entender sobre todo

cuanto pueda estar relacionado con patentes, marcas, modelos de utilidad,

investigaciones y estudios sobre el estado de la tecnología GNU / Linux en

cualquier área, especialidad o actividad en general, donde esta se aplique.

Propiedad Intelectual

Causa dos clases de derecho:

1. Derechos Morales: es el reconocimiento al autor o inventor por la obra o

invención registrada. No se puede ceder, ni renunciar, ni negociar.

2. Derechos Patrimoniales: le corresponden al autor o inventor por el beneficio de

exclusividad y autonomía para su explotación económica durante un tiempo

limitado. Se pueden ceder, donar, negociar o regalar.

Dos grandes ramas:

1. Derechos de Autor: se encarga de la protección de las producciones

intelectuales en el software (soporte lógico).

Page 15: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

15

Los derechos de autor (copyright) protegen la expresión de un contenido, no el

contenido en sí mismo. Se desarrollaron para recompensar a los autores de libros

o de arte. Las obras protegidas pueden expresar ideas, conocimientos o métodos

libremente utilizables, pero se prohíbe reproducirlas sin permiso, total o

parcialmente, con o sin modificaciones. Esta protección es muy sencilla, ya que

entra automáticamente en vigor en el momento de publicación de la obra con

ámbito casi universal. Modernamente, se ha extendido a los programas de

ordenador y a recopilaciones de datos.

2. Propiedad Industrial: se ocupa de las creaciones industriales (invenciones,

modelos, diseños), y de los signos distintivos (marcas, lemas, indicaciones

geográficas).

El Derecho de Autor ampara a los autores de obras: software.

Cuando se adquiere: En el momento de la creación de la obra, porque el derecho

de autor es un derecho natural y no requiere de formalidades para ejercerlo. Sin

embargo, es bueno registrarlo oficialmente, de tal forma que si alguien lo viola, es

más fácil hacer efectiva la protección de la ley.

En Colombia, el Derecho de Autor se registra en la Dirección Nacional de

Derechos de Autor, unidad administrativa especial del Ministerio del Interior. Para

ello se requiere suministrar copia de la obra y llenar formulario de solicitud

diseñado para el tipo de obra a registrar (software).

Normatividad en Colombia sobre la Propiedad Intelectual

Ley No. 23 del 28 de Enero de 1982 sobre Derechos de Autor. Dirección

Nacional del Derecho de Autor. Ministerio del Interior.

Decisión 344 del 21 de Octubre de 1993, por la cual se adopta el

Régimen Común sobre Propiedad Industrial en los países miembros del

Acuerdo de Cartagena. Comisión del Acuerdo de Cartagena.

Page 16: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

16

Decisión 345 del 29 de Octubre de 1993, por la cual se adopta el

Régimen Común de Protección a los Derechos de Autor de los

Obtentores de Variedades Vegetales. Comisión del Acuerdo de

Cartagena.

Decisión 351 del 17 de Diciembre de 1993, por la cual se adopta el

Régimen Común de Derechos de Autor y Derechos Conexos. Comisión

del Acuerdo de Cartagena. 5

Propiedad Industrial

La Propiedad Industrial abarca los derechos provistos para proteger invenciones

(creaciones novedosas que tienen una finalidad industrial definida y útil), los

signos distintivos de productos o servicios y además para reprimir la competencia

desleal (en caso de violación de los secretos industriales).

La Propiedad Industrial se clasifica en dos grandes grupos:

1. El que protege las creaciones industriales: patentes, diseños industriales y

secretos industriales.

2. El que protege los signos distintivos: marcas, lemas comerciales,

denominaciones de origen.

Protección de las Creaciones Industriales

Las creaciones industriales pueden protegerse a través de 3 mecanismos:

patentes, diseños y secretos.

1. Patentes de Invención y de Modelo de Utilidad

A. Patente de Invención: es un título de propiedad (certificado), ortogado por el

gobierno de un país. En Colombia lo expide la Superintendencia de Industria y

Comercio (Ministerio de Industria, Comercio y Turismo). La patente concede un

monopolio temporal, con cobertura que se limita al país.

5 http://www.HPA-CBE.com

Page 17: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

17

Titular: persona natural o jurídica dueñas de la invención

Qué se le permite hacer al titular: excluír a otros de hacer, usar o vender

el objeto patentado sin su aprobación, por un tiempo limitado de acuerdo

a las normas del país

Por cuánto tiempo: En Colombia por 20 años

A cambio de qué: que el gobierno haga pública la información

relacionada con la invención patentada.

2. El diseño industrial

El diseño industrial es una forma (2 o 3 dimensiones) que se incorpora a

un producto para darle una apariencia que lo identifica, sin cambiar su

propósito.

Se protegen a través del “Registro de Diseño Industrial” y deben cumplir

el requisito de que sean nuevos. Se lleva a cabo en la Superintendencia

de Industria y Comercio ( igual que las patentes)

Se concede un monopolio por 8 años

3. El secreto industrial

Es una forma de protección de la propiedad intelectual y comprende el

conocimiento relacionado con algún proceso, modelo, elemento o compilación de

información (técnica, administrativa o comercial) que sea utilizada en un negocio y

le provea al dueño una oportunidad para obtener ventajas sobre los competidores

que no conocen ni usan dicha información. La ley ampara los secretos industriales

(Decisión 344 del Acuerdo de Cartagena).

Decisión 486 Régimen Común sobre Propiedad Industrial. Comisión de la

Comunidad Andina

Capítulo II De los Titulares de la Patente Artículo 22:

El derecho a la patente pertenece al inventor. Este derecho podrá ser

transferido por acto entre vivos o por vía sucesoría.

Page 18: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

18

Los titulares de las patentes podrán ser personas naturales o jurídicas.

Si varias personas hicieran conjuntamente una invención, el derecho a

la patente corresponde en común a todas ellas.

Sin perjuicio de lo establecido en la legislación nacional de cada País

Miembro, en las invenciones ocurridas bajo relación laboral, el

empleador, cualquiera que sea su forma y naturaleza, podrá ceder parte

de los beneficios económicos de las invenciones en beneficio de los

empleados inventores, para estimular la actividad de investigación.

Que es una licencia de software

Es un tipo de contrato de software, de software ya creado. Recae sobre

los derechos de propiedad intelectual. En este artıculo no se tratan los

contratos de software por crear, como el contrato de desarrollo de

programas por encargo, servicios de adaptacion de software; ni

contratos como “escrow”, etc. Pero ojo: sı trata de los derechos de

propiedad intelectual originados por motivo de esos contratos, o de

cualquier otro por el que se genere software original.

Externamente una licencia puede adoptar muchas formas, desde un

documento en papel hasta un archivo electrónico de texto, parte de un

ejecutable, etc. Puede ser un acto jurídico independiente o puede

integrarse documentalmente en el seno de otro contrato, aunque la LPI

exige documentos independientes. La licencia puede recaer sobre

software tambien muy variado, aunque la LPI hable solo de programas.

Que es una licencia

En realidad lo que llamamos licencia pasa por varios estadios: Primero

es una declaración unilateral del autor del programa en la que expresa

las condiciones en que se puede acceder a el y explotarlo. Como tal

declaración prácticamente no tiene ningún valor legal, solo lo adquiere

(se dice que pasa a ser ley entre las partes) cuando otra persona acepta

Page 19: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

19

sus términos. Como es lógico, cuando la licencia se rechaza, o no se

acepta, simplemente no llega a tener efecto.

Es preciso recalcarlo: Aunque la licencia es unilateral, pues la origina el

autor voluntariamente y en los términos que le interesen, esta pensada

para ser aceptada o rechazada por otros, normalmente quienes van a

usar el programa o van a explotarlo de algún modo. Si la contraparte

rechaza la licencia no hay mas que hablar: probablemente el autor del

programa no cederá su software, p. ej. no permitiendo su instalación.

Pero si la licencia es aceptada, entonces deja de ser una declaración

unilateral y se convierte en un negocio bilateral, entre licénciate (el autor

o el titular de los derechos de autor) y licenciatario (quien va a usar o

explotar el software).

A este negocio puede llamársele “licencia” o “licencia contractual” o

también “acuerdo de licencia”. Su denominación técnica precisa es, para

la mayoría de los casos, la de “contrato de cesión de derechos de uso

y/o explotación del programa de ordenador”.

Es normal que el documento de licencia contenga otras cuestiones,

como garantía, servicios de soporte y postventa, que no tienen nada que

ver con la propiedad intelectual ni con el software.

Contenido deseable de una licencia de software

Lo que sigue pretende indicar al lector, que probablemente no seria

ducho en cuestiones jurídicas, en que debería fijarse al leer una licencia

para entenderla correctamente y sin mucho trabajo.

El método no va a ser la presentación de un prototipo de licencia

abstracta, sino el examen de la mejor licencia concreta que hemos

podido encontrar, ya sirva a un programador tal cual, o como modelo

para obtener otra a su gusto, o tal vez de anticristo para estigmatizarla a

placer. Se trata de la GPL.

Page 20: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

20

La GNU-GPL es una pieza jurídica de gran valor. Entre otras utilidades,

contiene la estructura completa del sistema de cesión de derechos de

autor sin atentados al copyright y respetuosa con los derechos y

libertades de los usuarios. Es superior técnicamente a los mejores

ejemplos de licencias de software no libre, es mas completa que las

licencias breves tipo BSD, y mucho mas clara y fácil de leer que

cualquier otra de software no libre que conozcamos.

Para empezar, la GNU-GPL carece de traducciones oficiales.

Por cierto, la GPL no se opone a la propiedad intelectual, pero su

enfoque no es desde luego el de la protección de los derechos de autor

-para eso ya esta la LPI- sino el del respeto de la libertad de los

usuarios. Para redactar una licencia que acabaría por dar nombre a una

forma de distribución (“copyleft”) la FSF debió sortear mas de un serio

escollo, además de enfrentarse con crıticas no siempre benévolas, con

el punto de mira desviado y finalmente incapaces de demoler el

imponente edificio que se estaba levantado bajo su protección. Por

ahora no disponemos de un modelo mejor, aunque todo es perfectible.

Las directrices Open Source son muy practicas, pero técnicamente

hablando no son un modelo de licencia, y en términos jurídicos

significan un paso atrás sobre el esquema de la FSF, como se trataría

de demostrar después. No son tampoco fáciles de entender.

La forma mas segura de licenciar el programa consiste en incluir un

anuncio al principio de cada fichero fuente, unas líneas de indicación de

autoría y año de publicación (es decir, lo que se llama “línea de

copyright”) y la indicación de uno o dos lugares fácilmente accesibles

donde encontrar el texto completo de la licencia.

Una licencia no necesita un preámbulo que exponga la justificación de

las cláusulas o cuerpo de la licencia, pero la GPL tiene uno, y muy útil

porque sirve para solventar las dudas que pueden aparecer al leer o al

aplicar las cláusulas. La GPL no es neutral, pretende ser interpretada en

Page 21: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

21

un sentido dado y no en otro distinto u opuesto. Su sentido es el de la

libertad, y esta recogido justamente en el preámbulo, que forma parte de

la licencia misma, aunque esto la FSF no se ha ocupado de indicarlo

así. De todos modos, la licencia es toda ella autoexplicativa, e

interpretarla debería de resultar fácil.

1. Cláusulas generales

a) Definiciones y ámbito de aplicación de la licencia. Advertencias de

copyright (GPL cláusula 0)

b) Formas de aceptación de la licencia (GPL cláusula 5)

2. Uso y explotación del programa

a) Copia, modificación y distribución libres (GPL cláusulas 1 a 3)

b) Copyleft, o persistencia de la libre distribución de programas

derivados (GPL cláusulas 4, 6 y 10)

c) Integridad del sistema copyleft en caso de impedimento forzoso a la

libre distribución (GPL Cláusula 7)

d) Posibilidad de limites geográficos a la libre distribución (GPL cláusula

8)

3. Intangibilidad de la licencia. Versiones sucesivas (GPL cláusula 9)

Las diferencias entre el orden lógico y el de presentación por la GPL se

deben a necesidades prácticas de exposición de la FSF.

Comprobaremos que para analizar el funcionamiento de una licencia de

software libre es mas apropiada la ordenación lógica.

Formas de aceptacion de la licencia Este asunto es clave, al menos

formalmente, pero no debe dar problemas en su puesta en practica. No

hay autentica licencia hasta su aceptaci´on por el destinatario, esto ya lo

sabemos. La forma de la aceptacion es variada, las hay muy

rebuscadas, incluso puede encontrarse algunas definitivamente

abusivas para el usuario (Aquı nos referiremos solo a las habituales. En

Page 22: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

22

esencia, se trata de que queden claras las voluntades del licenciante y

del licenciatario, por cualquier medio admitido.

Primero, es conveniente advertir al destinatario que no esta obligado a

aceptar la licencia para el uso y la copia privada, pero sı para la

modificacion y distribuci´on (o redistribucion) del programa. Los dos

primeros actos son privados, normalmente; pero los segundos

involucran a terceras personas. A primera vista, de lo dicho se podrıa

deducir que este software no va a tener “usuario legıtimo” en el sentido

genuino de la LPI, ni estara prohibida la copia privada, tambien en

contra de la LPI. Pero no es ası. El uso y la copia privada son actos que

normalmente solo conocen los mismos usuario y copista, Por tanto no

tiene mucho sentido exigir la aceptacion de la licencia para estas dos

formas de explotaci´on. Esto es ası sobre todo para el software libre, en

donde por definicion practicamente todo usuario es legıtimo y quedan

autorizadas las formas principales de explotaci´on. Obviamente, para el

software cerrado la situaci´on es muy distinta, ya que su explotaci´on

esta radicalmente restringida desde el mismo uso.

De hecho, desde antes del uso, pues para algunos fabricantes el romper

los precintos del paquete de CDs supone la aceptaci´on de la licencia

(puede comprobarse en las licencias de conocidas casas comerciales).

Suele darse por valido que la realizaci´on de actos de explotacion

permitidos por la licencia suponen su aceptaci´on. Por supuesto, pulsar

“aceptar” en el ejecutable interactivo tiene exactamente jurıdicamente

ese valor, aunque deberıa darse la oportunidad al usuario de poder usar

el programa durante un tiempo para comprobaciones y ajustes, antes de

la aceptacion. En fin, que no hace falta una declaracion pesonal por

escrito, firmada y fechada, para aceptar una licencia.

Sı tal vez para rechazarla, si uno cree que ha realizado, por error o

defecto del programa, algo que puede significar la aceptacion de lo

Page 23: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

23

inaceptable. El software libre, de todos modos, no se enfrenta con estos

problemas casi nunca.6

Tipos de licencias de software

Aunque la GNU-GPL, BSD, XFree86, Mozilla, y otras muchas son las

licencias más conocidas, lo cierto es que no podríamos enumerarlas

todas porque cada autor puede tener la suya, y una distinta para cada

programa. Pero esto no es ningún problema, por varias razones.

Primera, porque disponemos de un instrumento de análisis de las

licencias, porque hay varias licencias que sirven como modelos para

otros programas, y así hablamos de “tipo BSD” para referirnos a

licencias similares a la del sistema operativo de Berkeley. Hay incluso

licencias y modelos creados en abstracto, sin referencia a un concreto

Programa, como la misma GNU-GPL o la Open Source Definition. Las

licencias típicas son muy cómodas de usar ya que el autor de un

programa dado, conocedor de la que mas le conviene, la incluye tal cual

o hace solo las modificaciones que precisa, sin el trabajo de redactar

una por entero, o encargarla a un abogado. Por otro lado, quienes van a

usar o explotar un programa (los licenciatarios) también conocen estas

licencias típicas y saben de antemano a que atenerse. Igualmente, los

abogados y los jueces tienen mejor conocimiento de ellas que de una

licencia nueva u original. Todo esto simplifica las relaciones y los

negocios y resulta útil.

Nosotros vamos a ocuparnos solo de las licencias típicas. Las mas

interesantes son las licencias de software libre, ya que en una licencia

se materializa la voluntad del autor sobre como desea que su programa

se use y explote, y las de software libre materializan una voluntad

radicalmente contraria a la que la LPI espera de un autor. En particular,

6 http://www.alfa-redi.org

Page 24: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

24

las licencias copyleft revierten literalmente las relaciones autor-usuario

que la LPI presupone.

Por contra, las licencias de software no libre, exactamente las de

software cerrado, se asientan en la LPI y desde ella pueden incluso

lanzarse mas allá en la limitación de los derechos y libertades de los

usuarios. Pero esto solo es valido, como ya sabemos, si no se atenta

contra las normas imperativas,

Libertades de uso y reproducción

Estas libertades no nos darán ya mucho trabajo. Todo ha quedado

definido en apartados anteriores y sabemos por tanto que una licencia

de sl otorga libertad prácticamente plena para utilizar y copiar el

programa cuando, como, cuanto y donde a uno le apetezca. Suele

incluirse restricciones formales, como el mantenimiento del aviso de

copyright, que si son razonables no hacen al programa no libre.

Por supuesto, es licito bajo licencia de sl cobrar por el acto físico de

transfererir copias del programa (p. ej. en CDROM), así lo dice entre

otras la GPL en el ultimo inciso de la cláusula 1. 7

1.2.3. Lección 3: Elementos del contrato de licencia de software

Definiciones Concesión de Licencia Copyright Restricciones Exportación Versiones actualizadas Garantía Limitada Exclusión de responsabilidad. Limitación de responsabilidad Leyes aplicables y cláusulas generales. Licencia de software Derechos de Propiedad Intelectual.

7 http://www.gnu.org

Page 25: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

25

Actualizaciones Notificación a los Usuarios Finales del Gobierno de los EE.UU. Cumplimiento de Licencias. Disposiciones y excepciones específicas.

1.2.4. Lección 4: Modalidades de licencias de software

Licencias tipo BSD

La licencia BSD (Berkeley Software Distribution) tiene su origen en la publicación

de versiones de UNIX realizadas por la universidad californiana de Berkeley, en

EE.UU. La única obligación que exige es la de dar crédito a los autores, mientras

que permite tanto la redistribución binaria, como la de loscódigos fuentes, aunque

no obliga a ninguna de las dos en ningún caso. Asimismo, da permiso para

realizar modificaciones y ser integrada con otros programas casi sin restricciones.

La licencia BSD es ciertamente muy popular, como se puede ver a partir del hecho

de que existen varias licencias de condiciones similares (XWindow, Tcl/Tk,

Apache), que se han venido a llamar licencias tipo BSD. Estas licencias reciben el

nombre de minimalistas, ya que las condiciones que imponen son pocas,

básicamente asignar la autoría a los autores originales. Su concepción se debe al

hecho de que el software publicado bajo esta licencia era software generado en

universidades con proyectos de investigación financiados por el gobierno de los

Estados Unidos; las universidades prescindían de la comercialización del software

creado, ya que asumían que ya había sido pagado previamente por el gobierno, y

por tanto con los impuestos de todos los contribuyentes, por lo que cualquier

empresa o particular podía utilizar el software casi sin restricciones, incluso

redistribuyendo modificaciones al mismo de manera binaria sin tener que entregar

las fuentes.

Este último punto hace que a partir de un programa distribuido bajo una licencia de

tipo BSD pueda crearse otro programa (en realidad otra versión del programa)

Page 26: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

26

propietario, o sea, que se distribuyera con una licencia más restrictiva. Los críticos

de las licencias BSD ven en esta característica un peligro, ya que no se garantiza

la libertad de versiones futuras de los programas. Los partidarios de la misma, por

contra, ven en ella la máxima expresión de la libertad y argumentan que, a fin de

cuentas, se puede hacer (casi) lo que se quiera con el software.

La Licencia Pública General de GNU (GNU GPL)

La Licencia Pública General del proyecto GNU (más conocida por su acrónimo en

inglés GPL) es con diferencia la licencia más popular y conocida de todas las

licencias del mundo del software libre.

Su autoría corresponde a la Free Software Foundation (promotora del proyecto

GNU) y en un principio fue creada para ser la licencia de todo el software

generado por la FSF. Sin embargo, su utilización ha ido más allá hasta convertirse

en la licencia más utilizada (más del 70% de los proyectos anunciados en

FreshMeat están licenciados bajo la GPL), incluso por proyectos bandera del

mundo del software libre, como es el caso del núcleo Linux.

La licencia GPL es interesante desde el punto de vista legal porque hace un uso

tan curioso de la legislación de copyright que haciendo estricto uso del término

llega a una solución totalmente contraria a la original, hecho por el que también se

ha venido a llamar una licencia copyleft. Alguien, con una pizca de humor, llegó

incluso a lanzar el eslogan copyleft, all rights reversed. En líneas básicas, la

licencia GPL permite la redistribución binaria y la de las fuentes, aunque, en el

caso de que redistribuya de manera binaria, obliga a que también se pueda

acceder a las fuentes. Asimismo, está permitido realizar modificaciones sin

restricciones, aunque sólo se pueda integrar código licenciado bajo GPL con otro

código que se encuentre bajo una licencia idéntica o compatible, lo que ha venido

Page 27: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

27

a llamarse el efecto viral de la GPL, ya que el código publicado una vez con esas

condiciones nunca.8

La Licencia Pública General Menor de GNU (GNU LGPL)

La Licencia Pública General Menor del proyecto GNU (comúnmente conocida por

sus iniciales en inglés LGPL) es la otra licencia de la Free Software Foundation.

Pensada en sus inicios para su uso en bibliotecas (la L en sus comienzos venía de

library, ‘biblioteca’), fue modificada recientemente para ser considerada la

hermana menor (lesser,’menor’) de la GPL.

La LGPL permite el uso de programas libres con software propietario. El programa

en sí se redistribuye como si estuviera bajo la licencia GPL, pero se permite la

integración con cualquier otro software sin prácticamente limitaciones.

la Free Software Foundation decidió el cambio de library a lesser y desaconsejó su

uso, salvo para condiciones muy puntuales y especiales.

Hoy en día, existen muchos programas que no son bibliotecas licenciados bajo las

condiciones de la LGPL. Por ejemplo, el navegador Mozilla está licenciado, entre

otras, también bajo la LGPL.

Licencias Copyleft

Copyleft o izquierdo de copia describe un grupo de derechos aplicados a una diversidad de trabajos tales como programas informáticos, arte, cultura y ciencia, es decir prácticamente casi cualquier tipo de producción creativa.

Sus partidarios la proponen como alternativa a las restricciones de derechos para hacer y redistribuir copias de una obra determinada de las normas planteadas en los derechos de autor o propiedad intelectual. Se pretende garantizar así una mayor libertad, cada persona receptora de una copia o una versión derivada de un trabajo pueda, a su vez usar, modificar y redistribuir tanto el propio trabajo como las versiones derivadas del mismo. Así, y en un entorno no legal, puede considerarse como opuesto al copyright o derechos de autor tradicionales.

8 http://www.tucumanlinux.com.ar

Page 28: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

28

Licencias Creative Commomns

Creative Commons está inspirada en la licencia GPL (General Public License) de la Free Software Foundation (Sin embargo no es un tipo de licenciamiento de software libre). La idea principal es posibilitar un modelo legal y ayudado de herramientas informáticas para así facilitar la distribución y el uso de contenidos para el dominio público.

Ofrece una serie de licencias, cada una con diferentes configuraciones o principios como el derecho del autor original a dar libertad para citar su obra, reproducirla, crear obras derivadas, ofrecerlo públicamente y con diferentes restricciones como no permitir el uso comercial o respetar la autoría original.

Una de las licencias ofrecidas por Creative Commons es la licencia que lleva por nombre "Developing Nations" (Naciones en Desarrollo). Esta licencia permite que los derechos de autor y regalías por las obras, se cobren solo en los países desarrollados del primer mundo, mientras que las mismas se ofrecen de forma abierta en los países en vías de desarrollo.

Aunque originalmente fueron redactadas en inglés, las licencias han sido adaptadas a varias legislaciones alrededor del mundo. Entre otros idiomas, han sido traducidas al castellano, al portugués y al catalán a través del proyecto International Commons. Existen varios países que están involucrados en el proceso: Brasil, España, Chile, Argentina, México, Perú y Colombia ya tienen las licencias traducidas y en funcionamiento. Entre tanto, Venezuela y Puerto Rico (entre muchos otros) se encuentran en proceso de traducción e implementación de las mismas.

1.2.5. Lección 5: Herramientas de administracion de usuarios y de grupos

Cada archivo y programa son propiedad de un usuario. Cada usuario tiene un

identificador único llamado ID de usuario (UID). Cada usuario también debe

pertenecer, al menos, aun grupo, un conjunto de usuarios establecido por el

administrador de sistemas. Los usuarios pueden pertenecer a varios grupos.

Como los usuarios, los grupos también tienen identificadores únicos llamados ID

de grupos (GID).

Page 29: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

29

1.3 CAPITULO 3: ADMINISTRACION DE USUARIOS Y GRUPOS

1.3.1. Lección 1: Las bases de datos del usuario

Linux guarda toda la información de usuario en archivos de texto, esto es

beneficioso por la sencilla razón de que le permite hacer cambios en la

información de usuario sin la necesidad de otras herramientas distintas a un editor

de texto como el pico.

Archivo /etc/passwd

Este archivo almacena el nombre de usuario de entrada, la entrada de contraseña

encriptada, el ID de usuario (UID), el ID del grupo por defecto (GID), el nombre ( a

veces llamado GECOS), el directorio home y la shell de inicio. El archivo tiene un

usuario por línea, y cada entrada esta delimitada por dos puntos, por lo general el

nombre de usuario no supera los ocho caracteres.

Archivo /etc/shadow

El archivo /etc/passwd permanece de lectura para todo el mundo, pero las

contraseñas permanecen en el archivo/etc/shadow que solo puede ser leido por

los programas con privilegios de root, tales como el programa login.

Además del campo de contraseña encriptado, el archivo /etc/shadow contiene

información sobre el tiempo de validez de la contraseña y si la contraseña esta

deshabilitada.

Las entradas con –l implican infinito. En el caso donde aparece un – l en el campo

indicando el número de días antes de que expire la contraseña, tendrá que el

usuario nunca tendrá que cambiar su contraseña.

Archivo /etc/group

El formato de cada linea del archivo /etc/group es el siguiente:

Nombre del grupo

Page 30: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

30

Contraseña encriptada para ese grupo

Numero de ID de grupo(GID)

Lista de usuarios separados por comas

El archivo de grupo debe ser leido por todo el mundo, puesto que hay aplicaciones

que pueden usar las asociaciones entre usuarios y grupos. Los nombres de grupo

no deben exceder los ocho caracteres y el GID debe ser único para cada grupo.9

1.3.2. Lección 2: Administración de usuarios por líneas de comandos

Se puede escoger entre seis herramientas de linea de comandos para realizar las

mismas acciones que con la herramienta grafica: useradd, userdel, usermod,

groupadd, proupdel, y groupomod. La herramienta GUI es que es fácil de utilizar,

aquí es donde las herramientas de la linea de comandos se vuelven

verdaderamente practicas.

Useradd

Permite añadir un usuario al sistema. A diferencia de la herramienta GUI, no tiene

un símbolo de comandos interactivo. En su lugar, todos los parámetros se deben

especificar en la línea de comandos.

Useradd [-c comment] [-d homedir] [-e experi date] [-f inactive time] [-g intial group]

[-G group [,…] ] [-m [-k skeleton dir]] [-M] [- s shell] [- u uid [-o] [-n] [r] login

Opción Descripción

-c comment Le permite añadir el nombre de usuario

en el campo GECOS.

9 Steve Shah. Manual de Administración de Linux.McGraw-Hill.pag.81-90

Page 31: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

31

-d homedir Por defecto, el directorio home del

usuario es /home/nombre_usuario.

Cuando se crea un usuario nuevo, el

directorio home del usuario se creara

con la cuenta de usuario.

-e expire-date Para poner una fecha póngala

MM/DD/AA.

-f inactive-time Especifica el número de días después

de que expire una contraseña. Un valor

0 indica que la cuenta se deshabilita

inmediatamente.

-g initial-group Puede especificar el grupo por defecto

que tiene el usuario en el archivo

passwd. Puede usar un numero o un

nombre de grupo.

-G group [,…] Le permite especificar grupos

adicionales a los que unir al usuario

Nuevo.

-m [-k skell-dir] Por defecto, el sistema crea

automáticamente el directorio home del

usuario.

Userdel

Es el contrario exacto de useradd (borra los usuarios existentes). Este sencillo

comando solo tiene un parámetro opcional y un parámetro obligatorio:

Userdel [-r] nombre_usuario

Ejecutando el comando únicamente con el nombre de usuario en la línea de

comandos, se eliminan todas las entradas en el archivo /etc/passwd, en el

archivo/etc/shadow y las referencias en el archivo/etc/group.

Page 32: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

32

Usermond

Permite modificar un usuario existente en el sistema. Trabaja de una forma

parecida a useradd. El uso de la línea de comandos es el siguiente:

Usermod [-c comment] [-d homedir] [-m] [-e expire date]

[-f inactive time] [-g initial group]

[-G group [. . .] ] [ -l login] [-s shell]

[-u uid] login

Groupadd

Los comandos de grupos son similares a los comandos de usuario, aquí se trabaja

con los grupos listados en el archive /etc/group.

Este comando añade grupos al archivo /etc/group. Las opciones para la línea de

comando de este programa son las siguientes:

Group [-g gid] [-r] [-f] group

Opcion Descripcion

-g gid Especifica el GID para ese grupo como

gid. Por defecto, este valor se elige

automáticamente escogiendo el primer

valor libre.

-r Le dice al group que el grupo se

añadirá como un grupo del sistema y

tendrá el primer GID libre menor a 499.

-f No cambia el grupo configurado antes

de salir. Es muy útil en los casos de

scripts donde puede querer que el

script continué si el grupo ya existe.

Group Especifica el nombre del grupo que

quiera.

Page 33: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

33

Groupdel

Borra los grupos especificados en el archivo /etc/group. La única información

necesaria para este comando es esta:

Groupdel grupo

Donde group es el nombre del grupo a eliminar.

Groupmod

Permite modificar los parámetros de un grupo existente. Las opciones del

comando son:

Groupo –g gid -n nombre _ grupo group

Donde la opción –g le permite cambiar el GID del grupo, la opción –n le permite

especificar un nuevo nombre de grupo y, efectivamente, nesecitara especificar el

nombre de un grupo existente como ultimo parámetro.10

1.3.3. Lección 3: Herramientas básicas para el administrador

Será la combinación de las herramientas básicas, cada una con una tarea muy

definida, la que nos dará la posibilidad de solucionar un problema o tarea de

administración.

Otro esquema habitual es la utilización de herramientas de compilación y

depuración de lenguajes de alto nivel (como por ejemplo C). En general, serán

utilizadas por el administrador para generar nuevos desarrollos de aplicaciones o

herramientas, o para incorporar al sistema aplicaciones que vengan como código

fuente y tenga que adaptarse y compilarse.

También analizaremos el uso de algunas herramientas gráficas con respecto a las

de la línea de comandos. Estas herramientas suelen facilitar las tareas al

administrador, pero su uso es limitado, ya que dependen fuertemente de la

10 Steve shah. Manual de Administración de Linux. McGraw-Hill. Pag.91-94

Page 34: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

34

distribución de GNU/Linux, o incluso de cada versión. Aun así, hay algunas

herramientas útiles que son exportables entre distribuciones.

Por último, analizaremos un grupo de herramientas imprescindibles para mantener

el sistema actualizado, las herramientas de gestión de paquetes. El software

servido en la distribución GNU/Linux, o incorporado posteriormente, se suele

ofrecer en forma de paquetes y cada distribución suele aportar software de gestión

para mantener listas de paquetes instalados o por instalar, así como control de

versiones, o posibilidades de actualización de diferentes fuentes. Existen muchas

más herramientas de las que examinamos en esta unidad, y de las que veremos

en las unidades siguientes que son más concretamente de administración, ya

sean proporcionadas por terceros independientes a la distribución o por el mismo

distribuidor del sistema GNU/Linux.

Estas herramientas pueden cubrir más o menos aspectos de la administración de

una tarea concreta y presentarse con múltiples interfaces diferentes: ya sean

herramientas de línea de comandos con múltiples opciones y/o ficheros de

configuración asociados o herramientas textuales con algún tipo de menús

elaborados; o bien herramientas gráficas con interfaces más adecuadas para el

manejo de información, o asistentes que automaticen las tareas, o bien interfaces

web de administración.

Herramientas gráficas y líneas de comandos

Las herramientas gráficas de administración no suelen ofrecer una funcionalidad

completa, y es interesante conocer cuáles son los efectos de sus acciones. Todo

esto nos ofrece un gran número de posibilidades de cara a la administración, pero

siempre tenemos que valorar su facilidad de uso con las prestaciones y los

conocimientos que posea el administrador que se dedica a estas tareas.

Page 35: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

35

Las tareas habituales del administrador GNU/Linux pueden pasar por trabajar con

diferentes distribuciones (por ejemplo, las que comentaremos Red Hat [Inc03a] o

Debian [Deb03b], o cualquier otra), o incluso trabajar con variantes comerciales de

otros UNIX. Esto conlleva que tengamos que establecer una cierta manera de

trabajar que nos permita hacer de forma uniforme las tareas en los diferentes

sistemas. Por eso, a lo largo de las unidades intentaremos destacar todos aquellos

aspectos más comunes, y las técnicas de administración serán realizadas en su

mayor parte a bajo nivel, mediante una línea de comandos o con edición de

ficheros de configuración asociados. Cualquiera de las distribuciones de

GNU/Linux suele aportar herramientas del tipo línea de comandos, textual o

gráfica, que complementan las anteriores y simplifican en mayor o menor medida

la administración de las tareas [S+02].

Pero hay que tener en cuenta varias cosas:

a) Estas herramientas son una interfaz más o menos elaborada de las

herramientas básicas de línea de comandos y los correspondientes ficheros de

configuración.

b) Normalmente no ofrecen todas las prestaciones o configuraciones que pueden

realizarse a bajo nivel.

c) Los errores pueden no gestionarse bien, o simplemente proporcionar mensajes

tipo “la tarea no se ha podido realizar”.

d) El uso de estas herramientas oculta, a veces completamente, el funcionamiento

interno del servicio o tarea. Comprender bien el funcionamiento interno es un

conocimiento básico para el administrador, y más si tiene que desarrollar tareas de

corrección de errores u optimización de servicios.

e) Estas herramientas son útiles en la mejora de la producción, una vez que el

administrador tiene los conocimientos adecuados, puede manejar con ellas de

forma más eficaz las tareas rutinarias y automatizarlas.

f) O también el caso contrario, la tarea puede ser tan compleja, o necesitar tantos

parámetros, o generar tantos datos, que se vuelve imposible controlarla de forma

Page 36: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

36

manual. En estos casos, las herramientas de alto nivel pueden ser muy útiles y

volver practicables algunas tareas que de otra manera son difíciles de controlar.

Por ejemplo, dentro de esta categoría entrarían las herramientas de visualización,

monitorización o resumen de actividades o servicios complejos.

g) En la automatización de tareas, estas herramientas (de más alto nivel) pueden

no ser las adecuadas, pueden no haber estado pensadas para los pasos que hay

que realizar, o bien hacerlo de una forma no eficaz. Por ejemplo, un caso concreto

puede ser la creación de usuarios, una herramienta visual puede ser muy

atrayente, por la forma de introducir los datos, pero ¿qué pasa cuando en lugar de

introducir uno o pocos usuarios queremos introducir una lista de decenas o

centenares de éstos?, la herramienta, si no está preparada, se vuelve totalmente

ineficiente.

h) Por ultimo, los administradores suelen querer personalizar sus tareas utilizando

las herramientas que consideran más cómodas y fáciles de adaptar. En este

aspecto, suele ser habitual la utilización de las herramientas básicas de bajo nivel

y la utilización de shell scripts (veremos los fundamentos en esta unidad) para

combinarlas de modo que formen una tarea. Podemos dar a estas herramientas

un uso casual, si tenemos los conocimientos suficientes para tratar los errores que

puedan producirse, o bien facilitar algún proceso para el que haya sido pensada la

herramienta, pero siempre controlando lo que hacemos.

Los estándares, ya sean genéricos del mundo UNIX o particulares de GNU/Linux,

nos permiten seguir unos criterios básicos, por los que nos guiamos en el

momento de aprender o realizar una tarea, y que nos proporcionan información

básica para comenzar nuestro trabajo.

En el estándar FHS (Filesystem Hierchachy Standard) se describen la estructura

de árbol del sistema de ficheros principal (/), donde se especifica la estructura de

los directorios y los principales ficheros que contendrán. Este estándar es usado

en mayor o menor medida también para los UNIX comerciales, en los cuales al

Page 37: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

37

principio hubo muchas diferencias que hicieron que cada fabricante cambiara la

estructura a su gusto. El estándar pensado en origen para GNU/Linux se hizo para

normalizar esta situación y evitar cambios drásticos. Aun así, el estándar es

seguido con diferentes grados, la mayoría de distribuciones siguen en un alto

porcentaje el FHS, realizando cambios menores o aportando ficheros o directorios

que no existían en el estándar.

Un esquema básico de directorios podría ser:

• /bin: utilidades de base del sistema, normalmente programas empleados por los

usuarios, ya sean desde los comandos básicos del sistema (como /bin/ls, listar

directorio), pasando por los shells (/bin/bash), etc.

• /boot: archivos necesarios durante el arranque del sistema, por ejemplo la

imagen del kernel Linux, en /boot/vmlinuz.

Documentos de estándares

En GNU/Linux podemos encontrarnos con estándares como el FHS (Filesystem

Hierarchy Standard), que nos explica qué podemos encontrarnos (o dónde

buscarlo) en la estructura del sistema de ficheros de nuestro sistema. O el LSB

(Linux Standard Base), que nos comenta diferentes componentes que solemos

encontrar en los sistemas. El estándar FHS es una herramienta básica para el

conocimiento de una distribución, que nos permite conocer la estructura y

funcionalidad del sistema de archivos principal del sistema.

• /dev: aquí encontramos ficheros especiales que representan los dispositivos

posibles en el sistema, el acceso a los periféricos en sistemas UNIX se hace como

si fueran periféricos. Podemos encontrar ficheros como /dev/console, /dev/modem,

/dev/mouse, /dev/cdrom, /dev/floppy, ... que suelen ser enlaces a dispositivos más

específicos del tipo de controlador o interfaz que utilizan los dispositivos:

/dev/mouse Þ /dev/psaux, un ratón de tipo PS2; o /dev/cdrom Þ /dev/hdc, un CD-

ROM que es un dispositivo del segundo conector IDE y máster. Aquí encontramos

Page 38: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

38

los dispositivos IDE como /dev/hdx, los scsi /dev/sdx,... con x variando según el

dispositivo.

• /etc: ficheros de configuración. La mayoría de tareas de administración

necesitarán examinar o modificar los ficheros contenidos en este directorio. Por

ejemplo: /etc/passwd contiene la información de las cuentas de los usuarios del

sistema.

• /home: contiene las cuentas de los usuarios, es decir, los directorios personales

de cada usuario.

• /lib: las bibliotecas del sistema, compartidas por los programas de

usuario, ya sean estáticas (extensión .a) o dinámicas (extensión .so).

Por ejemplo, la biblioteca C estándar, en ficheros libc.so o libc.a.

• /mnt: punto para montar (comando mount) sistemas de ficheros extraíbles; por

ejemplo: /mnt/cdrom, para montar el lector de CD-ROM.

• /opt: suele colocarse el software añadido al sistema posterior a la instalación;

otra instalación válida es en /usr/local.

• /sbin: utilidades de base del sistema. Suelen ser comandos reservados al

administrador (root). Por ejemplo: /sbin/fsck para verificar el estado de los

sistemas de ficheros.

• /tmp: ficheros temporales de las aplicaciones o del propio sistema.

• /usr: diferentes elementos instalados en el sistema. Algún software de sistema

más completo se instala aquí, además de complementos multimedia (iconos,

imágenes, sonidos, por ejemplo en: /usr/ share) y la documentación del sistema

(/usr/doc). También en /usr/local se suele utilizar para instalar software.

• /var: ficheros de registro de sesión o de estado (ficheros de tipo log) y/o errores

del propio sistema y de diversos servicios, tanto locales como de red. Por ejemplo,

ficheros de sesión en /var/log, contenido de los mails en /var/spool/mail, o trabajos

de impresión en /var/spool/lpd. Respecto a las distribuciones, Red Hat sigue el

estándar FHS muy de cerca. Sólo presenta algunos cambios en los archivos

presentes en /usr, /var. En /etc suele existir un directorio por componente

Page 39: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

39

configurable, y en /opt, /usr/local no suele existir software instalado, a no ser que

el usuario lo instale. Debian, por su parte, sigue el estándar, aunque añade

algunos directorios de configuración en /etc.

Otro estándar en proceso es el LSB (Linux Standard Base) [Lin03c]. La idea de

éste es definir unos niveles de compatibilidad entre las aplicaciones, bibliotecas y

utilidades, de manera que sea posible la portabilidad de las aplicaciones entre

distribuciones sin demasiados problemas. Además del estándar, proporcionan

conjuntos de prueba (tests) para verificar el nivel de compatibilidad. LSB en sí

mismo es un recopilatorio de varios estándares aplicados a GNU/Linux.

Uno de los aspectos más importantes para nuestras tareas de administración será

disponer de la documentación correcta para nuestro sistema y el software

instalado. Hay muchas fuentes de información, pero destacaremos las siguientes:

a) man es la ayuda por excelencia. Nos permite consultar el manual de

GNU/Linux, que está agrupado en varias secciones, correspondientes a comandos

administración, formatos de ficheros, comandos de usuario, llamadas de lenguaje

C, etc. Normalmente, para obtener la ayuda asociada, tendremos suficiente con:

man comando

Cada página describiría el comando junto con sus opciones y, normalmente,

algunos ejemplos de utilización. A veces, puede haber más de una entrada en el

manual. Por ejemplo, puede que haya una llamada C con igual nombre que un

comando; en este caso, hay que especificar qué sección quiere mirarse: man n

comando siendo n el número de sección.

Existen también unas cuantas herramientas de exploración de los manuales, por

ejemplo xman y tkman, que mediante interfaz gráfica facilitan el examen de las

diferentes secciones, así como índices de los comandos. Otro comando

interesante es apropos palabra, que nos puede servir para localizar páginas man

que hablen de un tema determinado (asociado con la palabra buscada).

Page 40: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

40

b) info es otro sistema de ayuda habitual. Es un programa desarrollado por GNU

para la documentación de muchas de sus herramientas. Es básicamente una

herramienta textual en la que los capítulos y páginas se pueden recorrer por medio

de un sistema de navegación simple (basado en teclado).

c) Documentación de las aplicaciones: además de ciertas páginas man, es

habitual incluir en las aplicaciones documentación extra, ya sea en forma de

manuales o tutoriales, o simples guías de usuario. Normalmente, estos

componentes de documentación se instalan en el directorio /usr/doc, en donde se

crea un directorio por paquete de aplicación.

d) Sistemas propios de las distribuciones. Red Hat suele venir con unos CD de

manuales de consulta que son instalables en el sistema y tienen formatos HTML o

PDF. Debian trae los manuales como un paquete de software más y suelen

instalarse en /usr/doc. Por otra parte, dispone de herramientas que clasifican la

documentación presente en el sistema, y la organizan por menús para su

visualización, como documentación del sistema.

e) Por último, los escritorios X, como Gnome y KDE, normalmente también traen

sistemas de documentación propios con su documentación y manuales, así como

información para desarrolladores, ya sea en forma de ayudas gráficas en sus

aplicaciones, o en aplicaciones propias que recopilan las ayudas (por ejemplo

devhelp en Gnome). El término genérico shell se utiliza para denominar un

programa que sirve de interfaz entre el usuario y el núcleo (kernel ) del sistema

GNU/Linux. En este apartado nos centraremos en los shells interactivos de texto,

que serán los que nos encontraremos como usuarios una vez estemos validados y

dentro del sistema. El shell es lo que los usuarios ven del sistema. El resto del

sistema operativo permanece esencialmente oculto a sus ojos. El shell está escrito

de la misma forma que un proceso (programa) de usuario; no está integrado en el

kernel, sino que se ejecuta como un programa más del usuario. Cuando nuestro

sistema GNU/Linux arranca, suele presentar a los usuarios una interfaz de cara

determinada; esta interfaz puede ser tanto de texto, como gráfica. Dependiendo de

los modos (o niveles) de arranque del sistema, ya sea con los diferentes modos de

Page 41: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

41

consola de texto o con modos donde directamente tengamos arranque gráfico en

X Window.

Shells y scripts

El shell, como programa, es una utilidad que permite a los usuarios interactuar con

el kernel por interpretación de comandos que el mismo usuario introduce en la

línea de comandos o en los ficheros de tipo shell script.

En los modos de arranque gráfico, la interfaz está compuesta por algún

administrador de acceso que gestiona el proceso de login del usuario desde una

“carátula” gráfica, en la que se le pide la información de entrada correspondiente:

su identificador como usuario y su palabra de paso (o passsword). En GNU/Linux

suelen ser habituales los gestores de acceso: xdm (propio de X Window), gdm

(Gnome) y kdm (KDE), así como algún otro asociado a diferentes gestores de

ventanas (window managers). Una vez validado nuestro acceso, nos

encontraremos dentro de la interfaz gráfica de X Window con algún gestor de

ventanas, como Gnome o KDE. Para interactuar desde un shell interactivo, sólo

tendremos que abrir alguno de los programas de emulación de terminal

disponibles.Si nuestro acceso es por modo consola (en texto), una vez validados

obtendremos el acceso directo al shell interactivo.

Otro caso de obtención de un shell interactivo es el acceso remoto a la máquina,

ya sea vía cualquiera de las posibilidades de texto como telnet, rlogin, ssh, o

gráficas como los emuladores X Window.

Shells interactivos

Una vez iniciado el shell interactivo [Qui01], se muestra un prompt de cara al

usuario, indicándole que puede introducir una línea de comando. Tras la

introducción, el shell asume la responsabilidad de validarla y poner los procesos

necesarios en ejecución, mediante una serie de fases:

• Leer e interpretar la línea de comandos.

Page 42: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

42

• Evaluar los caracteres “comodín” como $ *? u otros.

• Gestionar las redirecciones de E/S necesarias, los pipes y los procesos en

segundo plano (background) necesarios (&).

• Manejar señales.

• Preparar la ejecución de los programas.

Normalmente, las líneas de comandos podrán ser ejecuciones de comandos del

sistema, comandos propios del shell interactivo, puesta en marcha de aplicaciones

o shell scripts.

Los ficheros script son directamente ejecutables por el sistema bajo el nombre que

se haya dado al fichero. Para ejecutarlos, se invoca el shell junto con el nombre

del fichero, o bien se dan permisos de ejecución al shell script. Los shell scripts

son ficheros de texto que contienen secuencias de comandos de sistema, más

una serie de comandos propios del shell interactivo, más las estructuras de control

necesarias para procesar el flujo del programa (tipo while, for, etc. ).

En cierta manera, podemos ver el shell script como código de un lenguaje

interpretado que se ejecuta sobre el shell interactivo correspondiente. Para el

administrador, los shell scripts son muy importantes básicamente por dos razones:

1) La configuración del sistema y de la mayoría de los servicios proporcionados se

hacen mediante herramientas proporcionadas en forma de shell scripts.

2) La principal forma de automatizar procesos de administración es mediante la

creación de shell scripts por parte del administrador.

Todos los programas invocados mediante un shell poseen tres ficheros

predefinidos, especificados por los correspondientes descriptores de ficheros (file

handles). Por defecto, estos ficheros son:

1) standard input (entrada estándar): normalmente asignada al teclado del terminal

(consola); usa el descriptor número 0 (en UNIX los ficheros utilizan descriptores

enteros).

2) standard output (salida estándar): normalmente asignada a la pantalla del

terminal; usa el descriptor 1.

Page 43: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

43

3) standard error (salida estándar de errores): normalmente asignada a la pantalla

del terminal; utiliza el descriptor 2. Esto nos indica que cualquier programa

ejecutado desde el shell tendrá por defecto la entrada asociada al teclado del

terminal, su salida hacia la pantalla y, en el caso de producirse errores, también

los envía a la pantalla. Además, los shells suelen proporcionar los tres

mecanismos siguientes:

1) Redirección: dado que los dispositivos de E/S y los ficheros se tratan de la

misma manera en UNIX, el shell los trata a todos simplemente como ficheros.

Desde el punto de vista del usuario, se pueden redefinir los descriptores de los

ficheros para que los flujos de datos de un descriptor vayan a cualquier otro

descriptor; a esto se le llama redirección. Por ejemplo, nos referiremos a la

redirección de los descriptores 0 o 1 como a la redirección de la E/S estándar.

2) Tuberías (pipes): la salida estándar de un programa puede usarse como

entrada estándar de otro por medio de pipes. Varios programas pueden ser

conectados entre sí mediante pipes para formar lo que se denomina un pipeline.

3) Concurrencia de programas de usuario: los usuarios pueden ejecutar varios

programas simultáneamente, indicando que su ejecución se va a producir en

segundo plano (background), en términos opuestos a primer plano (o foreground),

donde se tiene un control exclusivo de pantalla. Otra utilización consiste en

permitir trabajos largos en segundo plano cuando interactuamos con el shell con

otros programas en primer plano. En los shells UNIX/Linux estos tres aspectos

suponen en la práctica:

• Redirección: un comando va a poder recibir su entrada o salida desde otros

ficheros o dispositivos.

• Pipes: encadenamiento de varios comandos, con transmisión de sus datos:

comando1 | comando2 | comando3 Esta instrucción nos indica que comando1

recibirá entrada posiblemente de teclado, enviará su salida a comando2, que la

recibirá como entrada, y éste producirá salida hacia comando3, que la recibe y

produce su salida hacia salida estándar (la pantalla, por defecto).

Page 44: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

44

• Concurrencia en segundo plano: cualquier comando ejecutado con el ‘&’ al final

de línea se ejecuta en segundo plano y el prompt del shell se devuelve

inmediatamente mientras continúa su ejecución.

Podemos seguir la ejecución de los comandos con el comando ps y sus opciones,

que nos permite ver el estado de los procesos en el sistema. Y también

disponemos de la orden kill, que nos permite eliminar procesos que todavía se

estén ejecutando o que hayan entrado en alguna condición de error: kill 9 pid

permite “matar” el proceso número pid. pid es el identificador asociado al proceso,

un número entero que el sistema le asigna y que puede obtenerse con el comando

ps.

Shells disponibles

La independencia del shell respecto al kernel del operativo (el shell es sólo una

capa de interfaz), nos permite disponer de varios de ellos en el sistema [Qui01].

Algunos de los más comunes son:

a) El shell Bash (bash). El shell Linux por defecto.

Ejemplo

Por ejemplo:

Comando op fichero donde op puede ser:

• <: Recibir entrada del fichero.

• >: Enviar salida al fichero.

• >>: Indica que se añada la salida (por defecto, con > se crea de nuevo el

fichero).

b) El shell Bourne (sh). Éste ha sido desde siempre el shell estándar UNIX, y el

que todos los UNIX poseen en alguna versión. Normalmente, es el shell por

defecto del administrador (root). En GNU/Linux suele ser el Bash, una versión

mejorada del Bourne. El sh fue creado por Stephen Bourne en AT&T a finales de

los setenta. El indicador (o prompt) por defecto suele ser un ’$’ (en root un ’#’).

Page 45: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

45

c) El shell Korn (ksh). Es un superconjunto del Bourne (se mantiene cierta

compatibilidad), escrito en AT&T por David Korn (a mediados de los ochenta), en

el cual se hizo cierta mezcla de funcionalidades del Bourne y del C, más algún

añadido. El prompt por defecto es el $.

d) El shell C (csh). Fue desarrollado en la Universidad de Berkeley por Bill Joy a

finales de los setenta y tiene unos cuantos añadidos interesantes al Bourne, como

un histórico de comandos, alias, aritmética desde la línea de comandos, completa

nombres de ficheros y control de trabajos en segundo plano. El prompt por defecto

para los usuarios es ‘%’. Los usuarios UNIX suelen preferir este shell como

interactivo, pero los administradores UNIX prefieren utilizar el Bourne, ya que los

scripts suelen quedar más compactos, y la ejecución suele ser más rápida. Por

otro lado, una ventaja de los scripts en C shell es que, como su nombre indica, su

sintaxis está basada en el lenguaje C.

e) Otros, como versiones restringidas o especializadas de los anteriores. El shell

Bash (Bourne Again Shell) [G00] [Coo03] ha adquirido importancia desde su

inclusión en los sistemas GNU/Linux como shell por defecto. Este shell forma

parte del software GNU. Es un intento de combinar los tres shell anteriores

(Bourne, C y Korn), manteniendo la sintaxis del shell Bourne original. Es en el que

nos vamos a fijar para desarrollar ejemplos posteriores.

Una forma rápida de conocer bajo qué shell nos encontramos como usuarios es

mediante la variable $SHELL, desde una línea de comandos con la instrucción:

echo $SHELL.

Algunas cuestiones que encontraremos comunes a todos los shells:

• Todos permiten la escritura de shell scripts que son luego interpretados

ejecutándolos bien por el nombre (si el fichero tiene permiso de ejecución) o bien

pasándolo como parámetro al comando del shell. El shell es un programa más de

usuario, existiendo diferentes posibilidades de elección, con funcionalidades y

prestaciones diferentes.

Page 46: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

46

• Los usuarios del sistema tienen un shell por defecto asociado a ellos. Esta

información se proporciona al crear las cuentas de los usuarios. El administrador

asigna un shell a cada usuario, o bien si no se asigna el shell por defecto (bash en

GNU/Linux). Esta información se guarda en el fichero de passwords en

/etc/passwd.

• Cada shell es en realidad un comando ejecutable, normalmente presente en los

directorios /bin en GNU/Linux (o /usr/bin).

• Se pueden escribir shell scripts en cualquiera de ellos, pero ajustándose a la

sintaxis de cada uno, que es normalmente diferente (a veces hay sólo pequeñas

diferencias). La sintaxis de las construcciones, así como los comandos internos,

están documentados en la página man de cada shell.

• Cada shell tiene algunos ficheros de arranque asociados (ficheros de

inicialización), cada usuario puede adaptarlos a sus necesidades, incluyendo

código, variables, caminos (path),

• La potencia en la programación está en combinar la sintaxis de cada shell (de

sus construcciones), con los comandos internos de cada shell, y una serie de

comandos UNIX muy utilizados en los scripts, como por ejemplo los grep, sed,

awk.

• Si como usuarios estamos utilizando un shell determinado, nada impide arrancar

una copia nueva de shell (lo llamamos subshell), ya sea el mismo u otro diferente.

Sencillamente, lo invocamos por el nombre del ejecutable, ya sea el sh, bash, csh

o ksh. También cuando ejecutamos un shell script se lanza un subshell con el shell

que corresponda para ejecutar el script pedido.11

Herramientas de gestión de paquetes

El uso de paquetes facilita añadir o quitar software al considerarlo una unidad y no

tener que trabajar con los ficheros individuales. En el contenido de la distribución

(sus CD) los paquetes suelen estar agrupados por categorías como: a) base:

paquetes indispensables para el funcionamiento del sistema (útiles, programas de

11 Thomas Schenk et al. Administracion Red Hat linux. Prentice Hall. Pag 863-868

Page 47: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

47

inicio, bibliotecas de sistema); b) sistema: útiles de administración, comandos de

utilidad; c) desarrollo (developement): útiles de programación: editores,

compiladores, depuradores,... d) gráficos: controladores e interfaces gráficas,

escritorios, gestores de ventanas, ... e) otras categorías. Normalmente, para la

instalación de un paquete será necesario efectuar una serie de pasos:

1) Previo (preinstalación): comprobar que existe el software necesario (y con las

versiones correctas) para su funcionamiento (dependencias), ya sean bibliotecas

de sistema u otras aplicaciones que sean usadas por el software. 2) Descomprimir

el contenido del paquete, copiando los ficheros a sus localizaciones definitivas, ya

sean absolutas (tendrán una posición fija) o si se permite reubicarlas a otros

directorios.

3) Postinstalación: retocar los ficheros necesarios, configurar posibles parámetros

del software, adecuarlo al sistema, dependiendo de los tipos de paquetes, estos

pasos pueden ser automáticos en su mayoría (así es en el caso de RPM [Bai03] y

DEB Básicamente, un paquete es un conjunto de ficheros que forman una

aplicación o una unión de varias aplicaciones relacionadas, normalmente

formando un único fichero (denominado paquete), con un formato propio y

normalmente comprimido, que es el que se distribuye, ya sea vía CD, disquete o

mediante acceso a servicios de ftp o web. [Deb02]), o pueden necesitar hacerlos

todos a mano (caso .tgz) dependiendo de las herramientas que proporcione la

distribución. Veremos a continuación quizás los tres paquetes más clásicos de la

mayoría de distribuciones. Cada distribución tiene uno por estándar y soporta

alguno de los demás.

Paquete TGZ

Los paquetes TGZ son quizás los de utilización más antigua. Las primeras

distribuciones de GNU/Linux los utilizaban para instalar el software, y aún varias

distribuciones los usan (por ejemplo, Slackware) y algunos UNIX comerciales. Son

una combinación de ficheros unidos por el comando tar en un único fichero .tar,

que luego ha sido comprimido por la utilidad gzip, suele aparecer con la

Page 48: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

48

extensión .tgz o bien .tar.gz. Asimismo, hoy en día es común encontrar los tar.bz2

que utilizan en lugar de gzip otra utilidad llamada bzip2, que en algunos casos

consigue mayor compresión del archivo.

En contra de lo que pudiera parecer, es un formato muy utilizado, y sobre todo por

creadores o distribuidores de software externo a la distribución.

Muchos creadores de software que trabajan para plataformas varias, como varios

UNIX comerciales, y diferentes distribuciones de GNU/Linux lo prefieren como

sistema más sencillo y portable. Este tipo de paquete no contiene ningún tipo de

información de dependencias, y puede presentar tanto contenido de aplicaciones

en formato binario como en código fuente. Podemos considerarlo como una

especie de colección de ficheros comprimida.

Ejemplo

Un ejemplo es el proyecto GNU, que distribuye su software en este formato (en

forma de código fuente), ya que puede utilizarse en cualquier UNIX, ya sea un

sistema propietario, una variante BSD o una distribución GNU/Linux.

Los paquetes TGZ son una herramienta básica a la hora de instalar software no

organizado. Además, son una herramienta útil para realizar procesos de backup y

restauración de archivos.

Si se trata de formato binario, tendremos que tener en cuenta que sea adecuada

para nuestro sistema, por ejemplo, suele ser común alguna denominación como la

que sigue del navegador web Mozilla): mozilla-i686-pc-linux-gnu-1.4-installer.tar.gz

donde tenemos el nombre del paquete, como Mozilla, arquitectura a la que ha

destinado i686 (Pentium II o superiores o compatibles), podría ser i386, i586, i686,

k6 (amd k6), k7 (amd athlon) otras para máquinas sparc, powerpc, hppa, después

nos indica qué es para Linux, en una máquina PC, Si fuese en formato fuente,

suele aparecer como: mozilla-source-1.4.tar.gz donde se nos indica la palabra

source; en este caso no menciona versión de arquitectura de máquina, esto nos

indica que está preparado para compilarse en diferentes arquitecturas.

Page 49: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

49

De otro modo, habría diferentes códigos para cada sistema operativo o fuente:

Linux, Solaris, Irix, bsd. El proceso básico con estos paquetes consiste en:

1) Descomprimir el paquete (no suelen utilizar path absoluto, con lo que se pueden

descomprimir en cualquier parte): tar -zxvf fichero.tar.gz (o fichero.tgz) .Con el

comando tar ponemos opciones de z: descomprimir, x: extraer ficheros, v: ver

proceso, f: fichero por tratar. También se puede hacer por separado (sin la z del

tar): gunzip fichero.tar.gz (nos deja un fichero tar) tar -xvf fichero.tar

2) Una vez tenemos descomprimido el tgz, tendremos los ficheros que contenía,

normalmente el software debe incluir algún fichero de tipo readme o install, donde

nos especificarán las opciones de instalación paso a paso, y también posibles

dependencias del software.

En primer lugar habrá que verificar las dependencias por si disponemos del

software adecuado, y si no, buscarlo e instalarlo. Si se trata de un paquete binario,

la instalación suele ser bastante fácil, ya que o bien directamente ya será

ejecutable donde lo hayamos dejado, o traerá algún instalador propio. Otra

posibilidad será que tengamos que hacerlo manualmente, con lo que bastará con

copiar (cp -r, copia recursiva) o mover (comando mv) el directorio a la posición

deseada. Otro caso es el formato de código fuente. Entonces, antes de instalar

el software tendremos que pasar por un paso de compilación. Para eso habrá que

leerse con cierto detalle las instrucciones que lleve el programa. Pero la mayoría

de desarrolladores usan un sistema de GNU llamado autoconf (de

autoconfiguración), en el que habitualmente se usan los siguientes pasos (si no

aparecen errores):

• ./configure: se trata de un script que configura el código para poder ser

compilado en nuestra máquina, verifica que existan las herramientas adecuadas.

La opción --prefix = directorio permite especificar dónde se instalará el software.

• make: compilación propiamente dicha.

• make install: instalación del software a un lugar adecuado, normalmente

especificado previamente como opción al configure o asumida por defecto.

Page 50: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

50

Éste es un proceso general, pero depende del software que lo siga o no, hay

casos bastante peores donde todo el proceso se tiene que realizar a mano,

compilando uno a uno los ficheros, pero esto, por suerte, es cada vez menos

habitual. En caso de querer borrar el software instalado, habrá que utilizar el

desinstalador si nos lo proporcionan, o si no, borrar directamente el directorio o

ficheros que se instalaron, teniendo cuidado de posibles dependencias. Los

paquetes tgz son bastante habituales como mecanismo de backup en tareas de

administración, por ejemplo, para guardar copias de datos importantes, hacer

backups de cuentas de usuario, o guardar copias antiguas de datos que no

sabemos si volveremos a necesitar. Suele utilizarse el siguiente proceso:

supongamos que queremos guardar copia del directorio “dir” tar -cvf dir.tar dir (c:

compactar dir en el fichero dir.tar) gzip dir.tar (comprimir) o bien en una sola

instrucción como: tar -zcvf dir.tgz dir El resultado será un fichero dir.tar.gz.

Otra herramienta útil es el comando apt-cache, que nos permite interactuar con las

listas de paquetes de software Debian. Otras tareas más específicas necesitarán

realizarse con la herramienta de más bajo nivel, como dpkg. Por ejemplo, obtener

la lista de archivos de un paquete determinado: dpkg -L paquete Cabe destacar

que el software APT es muy flexible y potente a la hora de gestionar las

actualizaciones, y poco a poco se está imponiendo en las distribuciones. Por

ejemplo, en la actual Fedora se puede utilizar para gestionar la instalación de

paquetes RPM. En el campo de la administración, también prodríamos considerar

algunas herramientas, como las pensadas de forma genérica para la

administración:

a) Linuxconf: es una herramienta genérica de administración que agrupa

diferentes aspectos de administración en una interfaz de menús textual; puede

utilizarse en prácticamente cualquier distribución GNU/Linux, y soporta diversos

detalles propios de cada una.

Page 51: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

51

Otras herramientas

• Lenguajes de tipo script, útiles para administración, como: Perl, muy útil para

tratamiento de expresiones regulares, y análisis de ficheros (filtrado, ordenación,

etc.). PHP, lenguaje muy utilizado en entornos web. Python, otro lenguaje que

permite hacer prototipos rápidos de aplicaciones,...

• Herramientas de compilación y depuración de lenguajes de alto nivel: GNU gcc

(compilador de C y C++), gdb (depurador), xxgdb (interfaz X para gdb), ddd

(depurador para varios lenguajes).

1.3.4. Lección 4: Conceptos y líneas de comandos básicos. Descripción de

los Comandos

ls

Descripción: =list. Listar contenido de directorios.

Ejemplos: ls, ls -l, ls -fl, ls --color

cp

Descripción: =copy. Copiar ficheros/directorios.

Ejemplos: cp -rfp directorio /tmp, cp archivo archivo_nuevo

rm

Descripción: =remove. Borrar ficheros/directorios.

Ejemplos: rm -f fichero, rm -rf directorio, rm -i fichero

mkdir

Descripción: =make dir. Crear directorios.

Ejemplos: mkdir directorio

Page 52: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

52

rmdir

Descripción: =remove dir. Borrar directorios, deben estar vacios.

Ejemplos: rmdir directorio

mv

Descripción:=move. Renombrar o mover ficheros/directorios.

Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero

a_directorio

date

Descripción: gestion de fecha de sistema, se puede ver y establecer.

Ejemplos: date, date 10091923

history

Descripción: muestra el historial de comandos introducidos por el usuario.

Ejemplos: history | more

more

Descripción: muestra el contenido de un fichero con pausas cada 25 lineas.

Ejemplos: more fichero

grep

Descripción: filtra los contenidos de un fichero.

Ejemplos: cat fichero | grep cadena

cat

Descripción: muestra todo el contenido de un fichero sin pausa alguna.

Ejemplos: cat fichero

chmod

Descripción: cambia los permisos de lectura/escritura/ejecucion de

ficheros/directorios.

Page 53: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

53

Ejemplos: chmod +r fichero, chmod +w directorio, chmod +rw directorio -R, chmod

-r fichero

chown

Descripción: =change owner. Cambia los permisos de usuario: grupo de

ficheros/directorios.

Ejemplos: chown root: root fichero, chown pello: usuarios directorio -R

tar

Descripción: =Tape ARchiver. archivador de ficheros.

Ejemplos: tar cvf fichero.tar directorio , tar xvf fichero.tar, tar zcvf fichero.tgz

directorio, tar zxvf fichero.tgz

gunzip

Descripción: descompresor compatible con ZIP.

Ejemplos: gunzip fichero

rpm

Descripción: gestor de paquetes de redhat. Para instalar o actualizar software de

sistema.

Ejemplos: rpm -i paquete.rpm, rpm -qa programa, rpm --force paquete.rpm, rpm -q

--info programa

mount

Descripción: montar unidades de disco duro, diskette, cdrom.

Ejemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt -t vfat

umount

Descripción: desmontar unidades.

Ejemplos: umount /dev/hda2, umount /mnt/lnx

Page 54: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

54

wget

Descripción: programa para descargar ficheros por http o ftp.

Ejemplos: wget http://www.rediris.es/documento.pdf

lynx

Descripción: navegador web con opciones de ftp, https.

Ejemplos: lynx www.ibercom.com, lynx --source http://www.ibercom.com/script.sh |

sh

ftp

Descripción: cliente FTP.

Ejemplos: ftp ftp.ibercom.com

whois

Descripción: whois de dominios.

Ejemplos: whois ibercom.com

Who

Descripción: muestra los usuarios de sistema que han iniciado una sesion.

Ejemplos: who, w, who am i

mail

Descripción: envio y lectura de correo electronico.

Ejemplos: mail [email protected] < fichero, mail -v [email protected] < fichero

sort

Descripción: ordena el contenido de un fichero.

Ejemplos: cat /etc/numeros | sort, ls | sort

ln

Descripción: =link. para crear enlaces, accesos directos.

Ejemplos: ln -s /directorio enlace

Page 55: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

55

tail

Descripción: muestra el final (10 lineas) de un fichero.

Ejemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more

head

Descripción: muestra la cabecera (10 lineas) de un fichero.

Ejemplos: head fichero, head -100 /var/log/maillog | more

file

Descripción: nos dice de que tipo es un fichero.

Ejemplos: file fichero, file *.

Awk

Procesamiento de archivos generalizado el comando awk es un lenguaje de

programación.

Cd

Cambio de directorio Con cd cambiamos el directorio donde estamos trabajando.

Cut

Cortar archivo por campo o columnas Se usa para separar de cada línea de un

archivo uno o mas campos, o una parte del archivo. Los campos se delimitan, por

defecto, por espacio en blanco; pero se puede especificar el contenido.

Mv

Mover archivos entre directorio (o renombrar).El comando mv es similar a cp,

excepto que borra el origen. En otras palabras, mueve archivos de un directorio a

otro, o de un archivo a otro. En este ultimo caso, como el original desaparece, mv

puede a veces tener efectos inesperados. El ultimo argumento de mv indica el

destino del movimiento; los primeros son los origenes.

Paste

Unir archivos horizontalmente (por columnas) paste es lo suficientemente util para

incluirlo en esta lista de comandos basicos, porque puede ahorrar mucho trabajo

con el editor. Si tenemos dos archivos con columnas.

Page 56: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

56

Pwd

Dar el nombre del directorio actual. Nos recuerda, cuando estamos perdidos, del

nombre del directorio actual. pwd nos da el camino completo.

Touch

Actualizar fecha de archivos. Este comando tiene dos usos: uno, crear un archivo

vacio y dos, actualizar la fecha de un archivo cambia la fecha a la de "ahora".

Sed

Edicion "batch" de un archivo.Este programa tiene su mayor utilidad en shell

scripts. Lo veremos en detalle en otra leccion. Para comenzar, basta decir que sed

es un editor estilo "batch" que aplica unos subcomandos a todas las lineas de un

archivo. Esto implica que para usar a sed, hay que aprenderse estos

subcomandos. Lamentablemente, el manual correspondiente es casi indescifrable.

12

Comandos de administracion

Sysctl

Descripción: Configurar los paràmetros del kernel en tiempo de ejuecución.

Ejemplos: sysctl –a

Ulimit

Descripción: muestra los limites del sistema (maximo de ficheros abiertos, etc..)

Ejemplos: ulimit

Adduser

Descripción: añadir usuario de sistema.

Ejemplos: adduser pepe, adduser -s /bin/false pepe

12 http://www.pello.info

Page 57: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

57

Userdel

Descripción: = eliminar usuario de sistema

Ejemplos: userdel pepe

Usermod

Descripción: = modificar usuario de sistema

Ejemplos: usermod -s /bin/bash pepe

Df

Descripción: = disk free. Espacio en disco disponible. Muy util.

Ejemplos: df, df -h

Uname

Descripción: =unix name. Informacion sobre el tipo de unix en el que estamos,

kernel, etc.

Ejemplos: uname, uname -a

Netstat

Descripción: la informacion sobre las conexiones de red activas.

Ejemplos: netstat, netstat -ln, netstat -l, netstat -a

Ps

Descripción: =proccess. toda la informacion sobre procesos en ejecucion.

Ejemplos: ps, ps -axf, ps -A, ps -auxf

Free

Descripción: muestra el estado de la memoria RAM y el SWAP.

Ejemplos: free

Ping

Descripción: heramienta de red para comprobar entre otras cosas si llegamos a un

Page 58: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

58

host remoto.

Ejemplos: ping www.rediris.es

Traceroute

Descripción: herramienta de red que nos muestra el camino que se necesita para

llegar a otra maquina.

Ejemplos: traceroute www.rediris.es

Du

Descripción: =disk use. uso de disco. Muestra el espacio que esta ocupado en

disco.

Ejemplos: du *, du -sH /*, du -sH /etc

Ifconfig

Descripción: =interface config. Configuracion de interfaces de red, modems, etc.

Ejemplos: ifconfig, ifconfig eth0 ip netmask 255.255.255.0

Route

Descripción: gestiona las rutas a otras redes.

Ejemplos: route, route -n

Iptraf

Descripción: muestra en una aplicacion de consola TODO el trafico de red IP,

UDP, ICMP.

Permite utilizar filtros, y es SUMAMENTE UTIL para diagnostico y depuracion de

firewalls

Ejemplos: iptraf

Tcpdump

Descripción: vuelca el contenido del tráfico de red.

Ejemplos: tcpdump, tcpdump -u

Page 59: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

59

Lsof

Descripción: muestra los ficheros (librerias, conexiones) que utiliza cada proceso

Ejemplos: lsof, lsof -i, lsof | grep fichero

Lsmod

Descripción: Muestra los modulos de kernel que estan cargados.

Ejemplos: lsmod

Modprobe

Descripción: Trata de instalar un modulo, si lo encuentra lo instala pero de forma

temporal.

Ejemplos: modprobe ip_tables, modprobe eepro100

Rmmod

Descripción: Elimina modulos del kernel que estan cargados

Ejemplos: rmmod <nombre de modulo>

Sniffit

Descripción: Sniffer o husmeador de todo el trafico de red. No suele venir instalado

por defecto.13

Ejemplos: sniffit -i

man comando Muestra un manual sobre el comando.

Su modo de uso y sus variantes.

Prendiendo y apagando el sistema.

shutdown -h 5 Apaga el sistema en 5 minutos después

13Steve Shah. Manual de Administración de Linux. Pag.103-135

Page 60: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

60

de ejecutarse y no reinicia.

shutdown -h now Apaga el sistema en ese momento y

NO lo vuelve a reinicia

halt Apaga el sistema de la misma manera

que el comando anterior

shutdown -r 5 Apaga el sistema 5 minutos después de

haberlo ejecutado y reinicia

shutdown -r now Apaga el sistema en ese momento y

reinicia

reboot Reinicia el sistema

startx Inicia el entorno gráfico.

Administración de usuarios.

adduser LPT Agrega un usuario llamado LPT

passwd LPT Le asigna la clave de acceso al usuario

LPT

userdel LPT Borra la cuenta LPT

Su Da momentáneamente privilegios de

ROOT (Si sabemos la clave :) )

Su - LPT Se toma momentáneamente los

privilegios del usuario LPT.

exit Sale del perfil del usuario que lo

ejecuta.

Montado de sistemas de archivos.

mount -t iso9660 /dev/cdrom

/mnt/cdrom

Monta la unidad de CD-ROM en el

directorio especificado (/mnt/cdrom)

Page 61: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

61

mount -t msdos /dev/hda1 /mnt/win_c Monta el disco "C" en el directorio

especificado con partición msdos.

mount -t vfat /dev/hda1 /mnt/win_c Monta el disco "C" con partición FAT en

el directorio especificado.

umount /mnt/cdrom Desmonta el CD-ROM.

umount /mnt/win_c Desmonta el disco rígido "C"

usermount Una forma fácil y rápida de montar y

desmontar unidades.

Configurando X

Xconfigurator Sirve para cambiar la resolución,

profundidad y placa de vídeo.

xf86config Archivo de configuración de X.

switchdesk Cambia el entorno gráfico por defecto

(Gnome, KDE, etc)

Tratamiento de archivos.

Moviéndonos por directorios.

Cd /home/LPT Ingresa al directorio /home/LPT

cd.. Vuelve al directorio raíz

Listar archivos

ls -l Lista los archivos del directorio actual

con todos sus atributos.

ls -F Lista los archivos del directorio actual

indicando su tipo (archivo, directorio,

Page 62: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

62

etc)

ls -lC Lista los archivos del directorio actual

en columnas.

ls -a

Lista los archivos invisibles del

directorio actual.(los que empiezan con

"../../../../home/jbarrios/.")

Borrar archivos

Rm lpt.txt Borra el archivo con nombre lpt.txt.

Rm -R /LPT Borra el directorio LPT con todos los

archivos que tiene dentro (Recursivo).

Rm -Rf /LPT Borra el directorio LPT en forma

recursiva y SIN PREGUNTAR. -Ojo con

este comando siendo Root-

Copiar y mover archivos

Cp lpt.txt /home/LPT Copia el Archivo lpt.txt dentro del

directorio /home/LPT

Mv lpt.txt /home/LPT Mueve el Archivo lpt.txt dentro del

directorio /home/LPT

Renombrar archivos.

Mv lpt.txt linux_para_todos.txt Le cambia el nombre al archivo lpt.txt

por linux_para_todos.txt

Comodines

* Representa todo. Ejemplo: ls *.rpm (lista

Page 63: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

63

todos los archivos con extensión rpm)

?

Representa un solo caracter. Ejemplo:

ls ?.txt (lista todos los archivos de un

solo caracter con extensión txt)

Instalando paquetes RPM

rpm -ivh lpt-news-0.1-5.i386.rpm Instala el paquete lpt-news-0.1-

5.i386.rpm (Use preferentemente -Uvh)

rpm -Uvh lpt-news-0.1-5.i386.rpm

Instala o actualiza el paquete lpt-news-

0.1-5.i386.rpm (usar este,

preferentemente, para instalar)

rpm -e lpt-news Desinstala el paquete lpt-news (no se

necesita ni la versión ni la extinción)

rpm -qf /bin/ls Muestra en que paquete esta incluido el

comando ls. -ver whereis, en sección

búsqueda-

rpm -q lpt-news Muestra la versión del paquete ya

instalado lpt-news.

rpm -ql lpt-news Lista los componentes del paquete lpt-

news, previamente instalado, con sus

respectivas rutas.

rpm -qa

Lista todos los paquetes instalados en

el sistema(no se necesita privilegios de

ROOT)

rpm -qa |grep ltp Lista todos los paquetes que

contengan lpt en su nombre.

Page 64: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

64

Comprimir, descomprimir archivos tar.gz y tar.bz2

Tar -zxvf lpt.tar.gz Descomprime y Desempaqueta el

archivo lpt.tar.gz

tar -zcvf lpt.tar.gz /home/LPT Empaqueta y Comprime el directorio

/home/LPT dentro de lpt.tar.gz

Tar -jxvf lpt.tar.bz2 Descomprime y Desempaqueta el

archivo lpt.tar.bz2

Tar -jcvf lpt.tar.bz2 /home/LPT Empaqueta y Comprime el directorio

/home/LPT dentro de lpt.tar.bz2

Tar -cMf /dev/fd0 Empaqueta el directorio actual en

múltiples Diskettes.

Matar procesos

Ps axu Lista los procesos que se están

corriendo.

Kill -9 123 Mata el proceso con número de PID

123. Sin darle tiempo a terminar

Kill -9 mozilla Mata el proceso mozilla. Sin darle

tiempo a terminar.

Kill -15 123

Fuerza a terminar el proceso (el -15 no

es necesario ya que es el número por

defecto)

Kill -l Lista los posibles argumentos de la

orden, -15(terminar), -9(matar) etc.

Top Cumple la función de ps y kill

simultáneamente en consola.

Page 65: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

65

Combinaciones de teclas

[Ctrl]+[Alt]+[Del] Shutdown. Apaga el sistema de forma

organizada desde una terminal texto.

[Ctrl]+[Alt]+[F1] Cambia a la primera terminal de texto.

[Ctrl]+[Alt]+[Fn] Cambia a la terminal de texto numero n

(n=1,...,8)

[Ctrl]+[Alt]+[F7] Cambia a la primera terminal X (si se

esta usando alguna)

[Ctrl]+[Alt]+[Fn] Cambia a la terminal X numero n

(n=7,...,12)

[Tab]

Auto-completa el nombre de un

comando, fichero, directorio, programa,

cuando trabajamos en una terminal

texto.

[ArrowUp]

(Flecha arriba) Va editando la historia

de comandos que hemos escrito

anteriormente en terminal texto.

[Shift][PgUp] Scroll la salida de la terminal hacia

arriba, en terminal texto.

[Shift][PgDown]: Scroll la salida de la terminal hacia

abajo, en terminal texto.

[Ctrl]+c Termina el proceso actual. Si no esta

corriendo de fondo

[Ctrl]+d Termina la terminal actual.

[Ctrl]+s Para la transferencia a la terminal.

[Ctrl]+z Manda el proceso actual a correr de

fondo.

Page 66: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

66

Información del Sistema

hostname Devuelve el nombre de la maquina.

uptime

Devuelve la cantidad de tiempo

transcurrido desde la última vez que se

arranco el sistema.

uname -a Información sobre el sistema operativo

de la maquina.

dmesg|more Imprime el "ring buffer" del kernel.

free -tm Información sobre la cantidad de

memoria disponible y usada

df -h Información sobre todo los dispositivos

montados en la maquina

Du -bh /|more

Información sobre el espacio ocupado

por cada subdirectorio, comenzando en

el directorio raíz (/)

cat /proc/cpuinfo Información sobre el microprocesador

cat /proc/interrupts Información sobre las interrupciones en

uso (IRQs)

cat /proc/filesystems

Información sobre los sistemas de

archivos que se pueden utilizar

(compilados en el kernel).

who Información sobre los usuarios usando

el sistema.

id LPT Información sobre UID, GID y GROUPS

del usuario LPT

last Información sobre los últimos usuarios

que han usado el sistema.

Page 67: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

67

/sbin/ifconfig Información sobre los distintos

dispositivos de red

netstat Información valiosa sobre la conexion

de red

Búsquedas.

find / -name lpt.txt -print Busca el archivo ltp.txt empezando por

el directorio / y lo muestra en pantalla .

find / -name lpt.txt > búsqueda.txt Busca el archivo ltp.txt empezando por

el directorio / y guarda la salida en el

archivo búsqueda.txt

fichero Busca los ficheros binarios, fuentes y

páginas del manual correspondientes a

un paquete

1.3.5.. Lección 5: Comandos para usuarios avanzados

Startx inicia las X-window

chmod [parámetro] cambia los atributos de los archivos

Mount monta discos o unidades para ser utilizados

Umount desmonta discos o unidades despues de ser

utilizados

mount /dev/cdrom [dir] monta el cdrom en el directorio especificado

mount /dev/fd0 -t msdos [dir] monta un disquete con formato MSDOS

Page 68: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

68

mount /dev/hda1 -t vfat [dir] monta un disco duro con formato FAT32

mount /dev/hda1 -t ntfs [dir] monta un disco duro con formato NTFS

Ps [parámetro] muestra información sobre los procesos

Hill [número] mata el proceso con el número precisado

ifconfig eth[0,1,...] [ip +

máscara]

cambia la IP en memoria del dispositivo

especificado

netstat [parámetro] muestra información sobre el estado de las

conexiones

network restart reinicia todos los servicios de red

Route muestra la tabla de enrutam

Comando brctl, comando cut, comando expr, comando dnsmasq, comando ip,

comando ifup, comando ifconfig, comando iptables, comando scp, comando tc,

comando udhcpd, comando wl.14

14 http://www.linuxparatodos.com

Page 69: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

69

FUENTES DOCUMENTALES DE LA PRIMERA UNIDAD

Referentes Bibliográficos:

RICHARD Petersen, Linux Manual de Referencia. Osborne McGraw-Hill. 1998, España. ISBN: 84-481-0812-4. Páginas: 894.

THOMAS Schenk et al, Administración de Red Hat Linux. Prentice Hall. 2000. España. ISBN: 84-205-3124-3. Páginas: 1148.

STEVE Shah, Manual de Administración de Linux. Osborne McGraw-Hill. 2000, España. ISBN: 84-481-2892-3. Páginas: 545.

STEVE Maxwell, Red Hat Linux Herramientas para la Administración de Redes. McGraw-Hill. 2001, Bogotá - Colombia. ISBN: 958-41-0220-6. Páginas: 697.

Diplomado Linux. Editorial UNAD. 2002, Bogotá – Colombia. Nivel básico, nivel 2, nivel 3 y nivel 4.

Cibergrafía:

http://www.linuxencd.com/descargar/Fedora-Core http://es.wikipedia.org/wiki/Linux http://www.linux-es.org/ http://www.linuxparatodos.net/ http://www.gnu.org/home.es.html http://www.todo-linux.com/ http://www.planetalinux.com.ar/ http://www.espaciolinux.com/ http://www.linuxespanol.com/ http://www.monografias.com/trabajos14/linux/linux.shtml http://www.redes-linux.com/ http://www.gacetadelinux.com/ http://www.diariolinux.com/ http://www.ciberdroide.com/misc/donde/dondelinux.html http://structio.sourceforge.net/guias/AA_Linux_colegio/AA_Linux_colegio.html http://www.redhat.es/ E-Books:

http://www.it.uc3m.es/tlp/docs/AprendaUnix.pdf

Page 70: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

70

SEGUNDA UNIDAD

2. SISTEMA OPERATIVO GNU-LINUX

2.1 CAPITULO 1: INSTALACION DE APLICACIONES, HERRAMIENTAS Y

LINEAS DE COMANDOS

2.1.1. Lección 1: El gestor de paquetes redhat

La función principal del gestor de paquetes RedHat es permitir la instalación y la

eliminación de archivos. Es muy fácil de usar, y se han construido varias interfaces

graficas para hacerlo todavía mas fácil. RedHat, caldera y otras distribuciones han

empezado a utilizar esta herramienta para distribuir su software.

Un archivo RPM es un conjunto de todos los archivos necesarios para que un

programa en particular se pueda ejecutar. También incluye las descripciones del

programa, la información de la versión y los scripts necesarios para realizar la

propia instalación.

La herramienta RPM realiza una gestión general de todos los paquetes RPM que

estén instalados en una maquina. Esto incluye que paquetes están instalados, su

numero de versión y la localización de los paquetes. Toda esta información se

almacena en un archivo de base de datos en esa maquina.

En general, el software que viene en forma de un RPM es menos trabajoso de

instalar y mantener que el software que necesita ser compilado.

2.1.2. Lección 2: Uso de rpm para instalar paquetes de software

RPM (RedHat Package Manager) es un sistema de manejo de paquetes de

software muy potente, que puede ser utilizado para construir, instalar, consultar,

verificar, actualizar y desinstalar paquetes de software individuales. Un paquete

consiste de dos partes fundamentales: el software en si y un encabezamiento que

contiene la información del paquete (nombre, version, dependencias, etc). RPM

Page 71: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

71

le otorga al administrador al habilidad de poder actualizar componentes

individuales o sistemas enteros conservando la configuración del sistema o

paquete, consultar la base de datos de paquetes para averiguar la locacion de los

archivos, paquetes o información relacionada.

RPM es el sistema de manejo de paquetes de Red Hat, pero esto no significa que

solo pueda ser usado en una distribución Red Hat. Se desarrollo pensando en ser

un sistema de paquetes abiertos, es decir, para poder ser utilizado en cualquier

distribucion. Actualmente, Red Hat recomienda a otros distribuidores de Linux a

usarlo en sus distribuciones. Hoy, podemos considerar que es el sistema de

manejo de paquetes mas utilizado en la comunidad Linux.

Convenciones en los nombres de los paquetes: Un paquete de software RPM

construido correctamente tiene la característica de que su nombre (package.rpm)

identifica la siguiente información: el nombre del paquete, su version, la última

revisión de compilación y la arquitectura para la cual fue construido. En general los

paquetes son distribuidos en archivos con extension .rpm.

Veamos un ejemplo con el paquete XFree86-3.3.1-14.i386.rpm. El nombre del

paquete es XFree86 y es el sistema grafico de ventanas que se utiliza en

Linux. Su version es la 3.3.1 y es revisión 14 de esa version. La plataforma para

la cual fue construido es la Intel 80386 o superiores. Como vemos, el nombre del

archivo mediante el cual se distribuye el paquete nos puede brindar mucha

informacion del mismo. Es mas, aun, la informacion que posee un paquete

internamente. Aunque el estudio de la estructura interna de un paquete RPM esta,

claramente, fuera del ambito de este manual, podemos destacar que en un

paquete internamente tiene:

* Archivos ejecutables.

* Archivos de configuración.

* Archivos de documentación (HTML, man-pages, etc).

Page 72: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

72

* Archivos misceláneos relacionados directamente con el paquete.

* Un registro de los lugares donde se deben instalar los archivos.

* Un registro de todos los paquetes requeridos (dependencias).

La base de datos de rpm.

El sistema de manejo de paquetes RPM mantiene una base de datos, local al

sistema, donde se mantienen los datos de todos los paquetes instalados en el

sistema. Una vez instalado un paquete exitosamente, toda la informacion del

paquete se registra en la base de datos.

Modos de operación de rpm

Todas las operaciones del sistema de manejo de paquetes se realizan con el

programa rpm. El mismo tiene varios modos de operación, donde cada uno de

ellos posee opciones especiales.

Los 4 modos más importantes de la operación son:

Modo de Instalación:

rpm -i [install-options] <package>

Este comando instala un nuevo paquete. El siguiente comando actualiza un

paquete de version más nueva que la anterior.

rpm -U [install-options] <package>

Las opciones de instalación más importantes son:

replacefiles: reemplaza todos los archivos, por mas que sean de otros

paquetes.

allfiles: instala o actualiza todos los archivos, por mas que no

exista.

--nodeps: no realiza un chequeo de dependencias sobre el paquete a

instalar.

Page 73: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

73

Modo de consulta:

La forma general de un comando de consulta es:

rpm -q [query-options]

Las opciones de consulta más importantes son:

<package-name>: consulta el paquete con ese nombre. Notar que no es l

nombre del archivos, sino el nombre del paquete.

* -a: consulta todos los paquetes.

* -l: lista los archivos que contiene un paquete.

* -R: lista las dependencias del paquete.

* -p <package-file>: consulta un archivo .rpm que no esta instalado.

* -i: muestra la informacion del paquete: nombre, version, etc.

Modo de verificacion:

El modo de verificacion nos permite comparar la informacion de los archivos

instalados como parte de un paquete con la informacion de los archivos sacada

del paquete original que es guardada en la base de datos de RPM.

Incluyendo otras cosas, el modo de verificacion, compara el tamaño de los

archivos, permisos, tipos, y grupos de cada archivo. Cualquier discrepancia se

muestra en pantalla.

El comando de verificacion es de la siguiente forma:

rpm -V [verify-options]

Las opciones de especificacion de paquetes son iguales a las de consulta.

Modo desinstalación:

La forma del comando de desinstalación es la siguiente:

rpm -e <package-name>

Pueden ser especificadas opciones adicionales:

* --nodeps: no realizar un chequeo de las dependencias. Si algun paquete

instalado necesita del paquete que estamos desinstalando, seborrara igual.

--allmatches: remueve todas las versiones del paquete especificado.

Page 74: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

74

Compilar un paquete RPM: A continuación se describen los pasos que deben

seguirse para compilar un programa con código fuente almacenado en un paquete

RPM (extensión .src.rpm) e instalar la aplicación en el sistema.

rpm –ihv Prog-Vers.src.rpm Instala el código fuente de la aplicación en un

subdirectorio de /usr/src/redhat (para programas en Linux basados en Red Hat) o

en /usr/src/VersiónNúcleo (en el caso de los paquetes del núcleo).

cd /usr/src/redhat/SPECS

vi Programa.spec

Editar el fichero de especificaciones del paquete para realizar las modificaciones

necesarias. Este fichero contiene los parámetros de configuración, el entorno de

compilación y los directorios de instalación.

rpmbuild –bb Programa.spec Configura, compila y genera el paquete RPM de la

aplicación para la arquitectura de procesadores del sistema, siguiendo las

instrucciones indicadas en el fichero de especificaciones.

cd /usr/src/redhat/RPMS/Arquit

rpm -Uhv Prog-Vers.Arquit.rpm

Instala el paquete de la aplicación.15

2.1.3. Lección 3: Procedimientos de instalación de paquetes que no son rpm

Puede que no todo el sofware que quieras instalar en tú sistema esté en formato

de paquete RPM. Otros tipos de ficheros que puedes encontrar, son los paquetes

de Linux gzip/tar.

Para instalar software empaquetado de esta forma puedes hacerlo siguiendo las

pautas que se explican a continuación:

1º Si el fichero está comprimido con un formato gzip. Tendrás que utilizar el

comando:

15 http://www.hispalinux.es

Page 75: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

75

# gzip -d paquete.tar.gz

El resultado es que el fichero se descomprime y desaparece la extensión .gz del

nombre del paquete. En este ejemplo el nombre del fichero después de haber sido

descomprimido quedaría paquete.tar.

2º EL archivo tar resultante tendrá que ser desempaquetado de la siguiente forma:

# tar xvf paquete.tar

Este comando extrae todos los ficheros desde el archivo y los copia en un

subdirectorio del directorio actual.

3º Cambia de directorio y vete al nuevo directorio creado en el paso anterior.

# cd nuevo_directorio

4º Busca un fichero llamado INSTALL o README. Uno de estos ficheros

contendrá las instrucciones sobre como debes realizar la instalación de ese

software en concreto. El comando make se utiliza en general para instalar el

paquete. Dependiendo de los ficheros que se hayan desempaquetado en el

directorio, deberás usar este comando de un modo u otro. Generalmente viene

explicado en el fichero INSTALL o README, pero para que te hagas una idea:

Si aparece el fichero Make.in prueba a ejecutar:

#. /Configure -prefix=/usr

# make all

Si aparece el fichero Imake, prueba:

# xmkmf -a

Page 76: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

76

# make all

Si aparece el fichero Make, prueba lo siguiente:

# make all

2.1.4. Lección 4: Recomendaciones antes de la instalación

Una de las cosas que se deben de tener en cuenta antes de instalar el so linux es

la parte del hardware, pues se debe conocer información del microprocesador, la

placa base, las tarjetas de sonido, grafica, modem, etc.

La instalación depende del tipo de distribución y en caso existen particularidades

que es necesario tenerlas muy en cuenta.

Requisitos de Placa Base y de CPU

Actualmente GNU/Linux soporta sistemas con una CPU Intel 80386, 80486, o

Pentium. Esto incluye todas las variantes del tipo de CPU, como el 386SX, 486SX,

486DX, y 486DX2. Los clónicos tambien funcionan con GNU/Linux. GNU/Linux ya

soporta otras arquitecturas tales como Alpha y PowerPc de Apple.

Requisitos de memoria

GNU/Linux, comparado con otros sistemas operativos avanzados, necesita muy

poca memoria para funcionar, debería contar con un mínimo de 4 megabytes de

RAM; sin embargo, es altamente recomendable tener 16 megabytes. Cuanta más

memoria tenga más rápido ira su sistema. Para la instalación de algunas

distribuciones se necesita más RAM.

GNU/Linux soporta el rango completo de direcciones de 32-bits de los 386/486; es

decir, utilizara toda la memoria RAM de forma automática.

Page 77: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

77

Requisitos de la controladora de disco duro

Es posible ejecutar GNU/Linux desde un disquete o algunas distribuciones,

directamente desde el CDROM, pero para un buen funcionamiento, es necesario

tener espacio en el disco duro. GNU/Linux puede coexistir con otros sistemas

operativos solo necesita una o varias particiones del disco.

GNU/Linux soporta todos los controladores IDE y EIDE, GNU/Linux tambien

soporta un amplio número de controladores SCSI.

Requisitos de espacio en disco

GNU/Linux soporta múltiples discos duros en la misma maquina; puede disponer

de espacio para GNU/Linux en múltiples unidades si es necesario.

La cantidad de espacio en disco duro que necesitara depende en gran medida de

las necesidades y de la cantidad de software a instalar.

Requisitos de monitor y adaptador de video

GNU/Linux soporta todas las tarjetas de video estándar Hércules, CGA, EGA,

VGA, IBM monocromo, y Súper VGA así como monitores para el interfaz

predeterminado basado en texto. 16

2.1.5. Lección 5: Instalación Gnu/Linux

A pesar de ser diferente cada distribución de Linux, el método utilizado

paraInstalar el software es, en general, como sigue:

1. Reparticione su(s) disco(s) duro(s). Si usted tiene instalados otros sistemas

operativos, necesitará reparticionar los discos con el fin de reservar espacio para

Linux.

16 Richard Petersen. Linux manual de referencia. McGraw-Hill.pag.21-29

Page 78: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

78

2. Arranque la instalación de Linux. Cada distribución de Linux incluye algo para

arrancar inicialmente e instalar el software, usualmente un diskette de arranque.

Arrancando de esta forma, usted entrará en un programa de instalación para el

resto del software, o bien le permitirá seguir instalándolo a mano.

3. Cree las particiones para Linux. Después de reparticionar su disco para reservar

espacio para Linux, debe crear particiones de Linux en dicho espacio. Esto se

realiza con el programa fdisk.

4. Cree los sistemas de ficheros y el espacio de intercambio. En este momento,

debe crear uno o más sistemas de ficheros, utilizados para guardar sus ficheros,

en las particiones recién creadas. Además, si piensa usar espacio de intercambio

("swap"), debe crear dicho espacio en una de las particiones para Linux.

5. Instale los programas en los sistemas de ficheros. Finalmente, debe instalar el

software en sus nuevos sistemas de ficheros. Después de esto, lo que queda es

fácil si todo va bien.

La mayoría de las distribuciones de Linux proporcionan un programa de

instalación que le guiará en cada paso de la instalación, y automatiza algunos de

esos pasos. Tenga en cuenta que cualquiera de los siguientes pasos pueden estar

automatizados o no, dependiendo de la distribución.

Conceptos sobre particiones

En general, los discos duros se encuentran divididos en particiones, donde cada

partición corresponde a un sistema operativo. Por ejemplo, en un disco duro se

pueden tener varias particiones_una dedicada a, digamos, MS-DOS, otra a OS/2

otra a Linux.Si usted tiene ya otro software instalado en su sistema, puede

necesitar cambiar el tamaño de sus particiones con el fin de reservar espacio para

Linux. En el espacio reservado se crearán una o más particiones para almacenar

Page 79: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

79

el software de Linux y el espacio de intercambio. A este proceso lo llamamos

reparticionar.

La mayoría de los sistemas MS-DOS utilizan una única partición que ocupa todo el

disco. Para MS-DOS, esta partición es accedida como C:. Si usted tiene más de

una partición, MS-DOS las llamará D:, E:, y así sucesivamente, de modo que cada

partición actúa como si fuera un disco duro independiente.

En el primer sector del disco está el registro de arranque maestro junto a la tabla

de particiones. El registro de arranque (como su nombre indica) se usa para

arrancar el sistema. La tabla de particiones contiene información acerca del lugar

y el tamaño de cada partición.

Hay tres clases de particiones: primarias, extendidas, y lógicas. De éstas, las más

usadas son las primarias. Sin embargo, debido al límite del tamaño de la tabla de

particiones, sólo pueden tenerse hasta cuatro particiones primarias en un disco.

La forma de superar este límite de cuatro particiones es usar particiones

extendidas. Una partición extendida no tiene datos ella misma; en su lugar, actúa

como "soporte" de particiones lógicas. Por lo tanto, se puede crear una partición

extendida que ocupe todo el disco, y dentro crear cualquier número de particiones

lógicas. Sin embargo, sólo puede tenerse una partición extendida por disco.

Reparticionado de los discos

La manera habitual de cambiar el tamaño de una partición es borrarla (lo que

implica borrar toda la información que contenga) y rehacerla. Antes de

reparticionar sus discos, haga un backup.

Después de cambiar las particiones, puede proceder a reinstalar el software desde

el backup. Sin embargo, podemos encontrar programas para MS-DOS que

consiguen cambiar el tamaño de las particiones de forma no destructiva. Uno de

Page 80: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

80

éstos se conoce como "FIPS", y puede encontrarse en muchos servidores de FTP

de Linux. Recuerde también que debido a que se empequeñecen las particiones

originales, no se va a poder reinstalar todo el software que se tenía antes. En este

caso, hay que borrar el software innecesario para permitir que el resto quepa en

las particiones más pequeñas.El programa utilizado para hacer particiones es

fdisk. Cada sistema operativo tiene su propia versión de este programa; por

ejemplo, bajo MS-DOS, se activa con el comando FDISK. Debe consultarse la

documentación de los sistemas operativos en uso para obtener información sobre

este asunto.

Instalación del software de Linux

Después de modificar sus particiones para reservar espacio a Linux, usted está

preparado para instalar el software. A continuación se muestra un resumen del

procedimento a seguir:

Arrancar con el dispositivo de arranque de Linux (disquete);

Ejecutar fdisk bajo Linux para crear las particiones de Linux;

Ejecutar mke2fs y mkswap para crear los sistemas de ficheros y el

espacio de intercambio;

Instalar el software de Linux;

Finalmente, instalar el cargador LILO en el disco duro, o crear un disco de

arranque con el fin de arrancar su nuevo sistema Linux.

Como hemos dicho, uno (o más) pasos de los anteriores pueden estar

automatizados por los programas de instalación, según la distribución que esté

utilizando. Por favor, consulte la documentación de su distribución para ver las

instrucciones específicas.

Arranque de Linux: El primer paso es iniciar el computador con el dispositivo de

arranque de Linux, que suele ser un disco "boot" que contiene un pequeño

sistema Linux. Tras arrancar con el floppy, se le presentará un menú de

Page 81: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

81

instalación de algún tipo que le guiará en el proceso de instalación. En otras

distribuciones, se le mostrara un prompt de login cuando arranque. Aquí se suele

entrar como root o install para comenzar el proceso de instalación.

La documentación que viene con su particular distribución le explicará qué

necesita para arrancar Linux.17

17 Steve Shah. Manual de Administración de Linux.Pag.13-32

Page 82: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

82

2.2 CAPITULO 2: ENTORNOS DE ESCRITORIO Y SISTEMAS DE ARCHIVOS

2.2.1. Lección 1: Configuración de dispositivos

MODEMS

Puertos serie y modems

Los modems funcionan exclusivamente a través de un puerto serie de nuestra

computadora. Si el modem es externo, entonces el puerto serie es físico. Si el

modem es interno, no se utiliza un puerto serie de la maquina ya que el modem

tiene el puerto serie como parte del mismo. Los puertos serie, en Linux, son

representados por los siguientes archivos de dispositivos:

.----------.------------.

| MS-DOS | Linux |

|----------|------------|

| COM1 | /dev/ttyS0 |

| COM2 | /dev/ttyS1 |

| COM3 | /dev/ttyS2 |

| COM4 | /dev/ttyS3 |

ø----------ø------------ø

Modems externos

Para instalar un modem externo debemos seleccionar un puerto serie (físico) de la

maquina y conectar al mismo el cable que va al modem (cable serie).

Para que el modem funciones debemos tener en cuenta que debe ser detectado

correctamente el puerto serie utilizado.

Modems internos

Un modem interno se instala agregando la tarjeta a la maquina en un spot libre.

Existen modems para los slots ISA y otros mas modernos para los slots

PCI. Los modems internos tienen el puerto serie dentro de la tarjeta del modem y

no necesitan utilizar un puerto serie (físico) de la maquina.

Page 83: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

83

El seteo de la direccion de los puertos se realizaba con jumpers. Los modems

Plug & Play no utilizan jumpers y se configuran enviándoles comandos. Estos

comandos pueden ser enviados de tres formas:

1. Una BIOS Plug & Play.

2. El programa isapnp.

3. Un S.O. (Sistema Operativo) PNP (Linux 2.2).

El archivo /dev/modem: En algunas instalaciones se crean dos archivos de

dispositivos adicionales que son /dev/modem y /dev/mouse. Ambos son links

simbólicos a los dispositivos adecuados. Debemos hacer que el link simbolico

/dev/modem apunte al puerto serie que corresponda antes de poder utilizar el

modem. Esto es porque la Mayorga del software trabaja con este link simbolico.

Probando el modem: Una vez instalado y configurado el modem debemos revisar

el archivo /var/log/dmesg para ver si el modem es detectado al iniciar el sistema.

Debemos buscar las siguientes lineas de deteccion de puertos serie:

Serial driver version 4.27 with no serial options enabled

ttyS00 at 0x03f8 (irq = 4) is a 16550A

ttyS01 at 0x02f8 (irq = 3) is a 16550A

Una vez que nos aseguramos de que el modem es detectado, podemos utilizar el

programa minicom para testear el modem.

IMPRESORAS

El dispositivo parport: En Linux los puertos paralelos se manejan con los

dispositivos /dev/lpi, donde "i" es el numero del puerto. /dev/lp0 equivale a LPT1

en MS-DOS, /dev/lp1 equivale a LPT2, etc. En los kernels anteriores al 2.1.32 los

dispositivos de puertos paralelos se manejan con un driver llamado "lp" que tenia

muchos problemas y limitaciones. A partir del kernel 2.1.33 se integra un nuevo

driver de puertos paralelos llamado parport (parallel port). Si queremos trabajar

con impresoras conectadas a un puerto paralelo debemos compilar el soporte para

Page 84: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

84

"parport" dentro del kernel o como modulo para que el sistema detecte nuestro

nuestros puertos paralelos. Una vez que los puertos funcionan (verificarlo en

/var/log/dmseg) podemos pasar a la configuración de la impresora.

Impresoras soportadas: Prácticamente cualquier impresora que se conecte a un

puerto paralelo podrá ser utilizada con Linux. La mejor opcion es una impresora

que tenga soporte nativo para el formato PostScript ya que la gran mayoría de los

programas que trabajan sobre Linux generan impresión en ese formato.

Desafortunadamente es raro encontrar una impresora que soporte PostScript que

no sea láser Para solucionar este problema Linux provee un intérprete en SW del

formato PostScript llamado GhostScript, que produce una salida especifica para

una gran cantidad de impresoras conocidas.

Para configurar la impresora podemos utilizar el programa printtool que nos

realiza una serie de preguntas acerca de las características de nuestra impresora

y la configura por nosotros.

Configuracion del lpd: La configuración manual de las impresoras se realiza

editando el archivo /etc/printcap que contiene una serie de líneas que definen la

configuración de cada impresora que tengamos en el sistema.

Software de spooling: Para poder hacer funcionar bien la impresora en el

sistema hay que entender como funciona el software de spooling. El software de

spooling es el encargado de recibir los trabajos a imprimir y encargarse de enviar

la informacion a la impresora en el orden que sea necesario (usualmente el primer

trabajo que llega es el primer trabajo en imprimirse). El software de impresión en

Linux es conocido como LPD (Line Printing Daemon). Este software es una

colección de programas que contiene:

lpd: El demonio que realiza las tareas de spool.

lpr: El comando que inserta un nuevo trabajo en la cola de spool.

lpq: Nos muestra la lista de trabajos que se encuentran en la cola.

Page 85: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

85

lpc: El panel de control de lpd; podemos detener o iniciar una impresion,

reordenar la cola, etc.

lprm: Elimina un trabajo de la cola de spool.

Cuando el sistema se inicia, se ejecuta el demonio lpd como un servicio activado

en el runlevel. Este demonio escanea el archivo de configuración /etc/printcap

para saber con que impresora debe trabajar.

Cada vez que un usuario quiere imprimir un trabajo, ejecuta lpr. Este comando se

comunica con el demonio a traves del socket /dev/printer y le pasa el archivo a

imprimir e informacion del usuario que manda a imprimir. El demonio luego se

ocupa de enviar el trabajo a la impresora que corresponda.

TARJETAS DE SONIDO

Instalando la tarjeta de sonido: Para instalar la tarjeta debemos seguir las

intrucciones del manual de la misma. Las tarjetas viejas tienen switchs o jumpers

para configurar los parametros de IRQ, DMA, etc. Debemos anotar los valores

utilizados para luego pasarselos al driver para que pueda trabajar.

Usualmente debemos utilizar los mismos puertos, IRQ y DMA que la placa utiliza

bajo MS-DOS. En otros casos, particularmente con las tarjetas PnP, debemos

utilizar parametros diferentes para que las cosas funcionen en Linux. Puede ser

necesario que experimentemos bastante hasta lograr nuestra meta. :)

Configurando el kernel: Si no tenemos compilados los drivers que necesitamos

para nuestra tarjeta debemos seguir el proceso de compilación seleccionando el

driver adecuado y compilándolo como parte del kernel o como modulo

(recomendado).

Booteando Linux y testeando la instalación: Una vez que instalamos el nuevo

kernel, debemos reiniciar el sistema y ya estamos en condiciones de testear el

driver. Si compilamos el driver como parte del kernel debemos revisar el archivo

Page 86: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

86

/var/log/dmseg en búsqueda de las siguientes líneas (en caso de tener una Sound

Blaster):

Sound initialization started

<Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5

<Sound Blaster 16> at 0x330 irq 5 dma 0

<Yamaha OPL3 FM> at 0x388

Sound initialization complete

Estos datos deben equivaler a los que seleccionamos con los jumpers en la tarjeta

(en caso de que tenga). Si no se muestra ningún mensaje, significa que el driver

no es parte del kernel. En este cado debemos chequear que hayamos instalado

correctamente el nuevo kenel.

Si los mensajes nos muestran lo siguiente:

Sound initialization started

Sound initialization complete

Quiere decir que ningún dispositivo fue detectado. Esto puede ser porque no

instalamos el driver adecuado, o que la tarjeta no esta soportada, el puerto de

trabajo de la tarjeta esta mal seteado o que la tarjeta es PnP y no ha sido

configurada. El driver tambien puede mostrar algunos mensajes de error y

advertencias cuando se inicia. Debemos tener en cuenta estos errores y anotarlos

en caso de encontrarlos.

En caso de que el driver se haya compilado como modulo, debemos cargarlo y

ver que nos informa. No olvidemos proveer al modulo con las opciones

necesarias:

* io: Puerto de trabajo (en hexadecimal - ejemplo: 0x220).

* irq: Interrupcion de la tarjeta.

* dma: Acceso directo a memoria (usualmente 1)18

18 Richard pertersen.linux manual de referencia. McGraw-hill.pag.734-747

Page 87: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

87

2.2.2. Lección 2: X-windows

X-Windows es un interfaz grafico de usuario estándar en las maquinas UNIX; se

trata de un potente entorno que soporta todo tipo de aplicaciones.

El sistema de ventanas X-Windows se desarrollo originariamente en el

Massachussets Institute of Technology (MIT) y es de libre distribución. La version

de las X para GNU/Linux es XFree86 es el servidor en xwindows por excelencia,

maneja el sistema cliente/servidor muy potente diseñado para ejecutarse dentro

de una red y tambien en maquinas individuales, soporta una amplia variedad de

tarjetas de video VGA, Súper VGA, y tarjetas aceleradoras y 3D.

En teoría, cualquier aplicación escrita para las X compila sin problemas bajo

GNU/Linux.

El interfaz del sistema X-Windows esta controlado en gran medida por el gestor de

ventanas. Este amigable programa se encarga de situar las ventanas y el interfaz

de usuario que las mueve y las cambia de tamaño, minimiza las ventanas en

iconos, y controla la apariencia de los marcos de las ventanas, entre otras tareas.

La distribución de XFree86 incluye bibliotecas de programación para hábiles

programadores que deseen desarrollar aplicaciones X.

Una advertencia importante para usar el sistema X-Windows es la cuestión del

hardware necesario. Un386 con 4 megabytes de RAM puede ejecutar las X, pero

se necesitan 16 mePara utilizar el sistema en modo grafico es necesario instalar

X-windows en tu sistema. Existen servidores comerciales y bajo licencia GNU, en

estos apartados nos basaremos en el X-windows bajo licencia GNU, XFree, ya

que es el que se incluye en todas las distribuciones de Linux.

Page 88: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

88

Una vez instaladas las X-windows tendremos que configurarlas para que

funcionen en nuestro sistema. El fichero de configuracion del las X-windows se

llama XF86Config y generalmente se encuentra en el directorio /etc/X11/.

Unos datos que teneis que saber antes de configurar X-windows son:

Datos tecnicos de la tarjeta grafica que utiliceis, o por lo menos el nombre

de la tarjeta. El programa /usr/X11R6/bin/SuperProbe os puede ayudar a

obtener informacion sobre vuestra tarjeta.

Datos tecnicos del monitor que teneis, resoluciones/frecuencias de refresco

verticales/horizontales a la que puede trabajar. Este punto es importante

para evitar problemas posteriores con vuestro monitor.

Antes de lanzar X-windows mediante el comando startx debemos asegurarnos de

la correcta configuración de los diferentes parámetros del mismo (teclado, ratón,

tarjeta de vídeo, etc.). Hay diferentes métodos para hacer esto.

En primer lugar tenemos los programas de configuración semi-automática. Según

la distribución de Linux que utilicemos tendremos a nuestra disposición una serie

de programas que nos permitirán realizar la configuración de XWindow de una

manera más o menos sencilla:

/usr/X11R6/bin/xf86config - Todas las distribuciones: Programa en modo

texto.

/usr/X11R6/bin/XF86Setup - SuSe, Redhat, Slackware: Programa en modo

grafico, tiene que arrancarse en una consola texto.

/usr/X11R6/bin/Xconfigurator Redhat: Programa semi-grafico con menus.

Estos programas nos preguntarán cosas básicas sobre el teclado, el monitor, la

videomemoria o la tarjeta de vídeo instalada (lo harán cuando no sean capaces de

detectarlas por sí mismos). Debemos responder siempre la opción más acertada y

en cuanto a monitores, nunca especificar características superiores de las que

Page 89: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

89

disponemos. Un caso muy habitual en tarjetas muy nuevas es no encontrar un

soporte exacto para los últimos chipsets, problema que se suele corregir

acudiendo al soporte de framebuffer del kernel o esperando a que quienes

trabajen en XFree86 obtengan por parte de los fabricantes (poco colaboradores) la

información sobre cómo programar sus tarjetas.

En ciertos casos también se nos puede preguntar si deseamos que el sistema

arranque directamente en XWindow o incluso testear los diferentes modos de

vídeo para ver que si son correctamente soportados.Además para que estos

programas realicen una correcta configuración el sistema debe estar ya

correctamente configurado en cuanto a modo texto se refiere. Por ejemplo,

Xconfigurator no activará el teclado en castellano para XWindow si no hemos

especificado que el idioma en que queremos usar nuestro Linux es este mismo,

mediante la orden export LANG=es_ES bien en la línea de comandos, o en el

fichero /etc/profile. Cuando Xconfigurator detecta esta variable de entorno ya sabe

qué lenguaje utiliza el usuario y por tanto configurará XWindow para el correcto

uso del teclado en este lenguaje. Otras variables indican el tipo de ratón, etc. y

suelen ser correctamente especificadas por el programa de instalación.

En el caso de XF86Setup la configuración permite una mayor participación por

parte del usuario, ya que en lugar de realizar una configuración automática

proporciona una lista de opciones para cada apartado, de modo que si conocemos

nuestro hardware es la mejor manera de configurar el sistema. Además, a la hora

de elegir resoluciones de vídeo, este programa permite especificar cual es la

resolución por defecto deseada mientras que Xconfigurator deja marcada la menor

de ellas como "por defecto" (o la primera que seleccionemos).

El programa de configuración xf86config es el más antiguo de todos, y realiza la

configuración mediante preguntas que se responderán con teclado. Nos

preguntará la tarjeta de vídeo, monitor, rango de frecuencias del monitor,

Page 90: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

90

videomemoria y resoluciones de trabajo deseadas, así como el mapa del teclado a

utilizar (es 102 = España 102 teclas).

Como siempre, el método más eficaz de configurar XWindow es directamente

editando los ficheros de configuración.Y es que otro método de configuración

básico es sencillamente editar el fichero /etc/X11/XF86Config, que es en realidad

lo que hacen todos los programas comentados anteriormente. En este fichero la

configuración está dividida en secciones y mediante cualquier editor de texto llano

es posible cambiar cualquier parámetro de XWindow.

Este fichero se divide en varias categorías o secciones (todas ellas con más

subopciones muy bien comentadas en dicho fichero de configuración):

Sección Files: Indica los caminos hacia las fuentes o ficheros de colores.

RgbPath "/usr/X11R6/lib/X11/rgb" FontPath

"/usr/X11R6/lib/X11/fonts/75dpi:unscaled" (etc.)

Sección ServerFlags: Opciones varias sobre el servidor.

Sección KeyBoard: Configuración del teclado. Para teclados en castellano

las opciones son similares a las siguientes: Protocol "Standard" LeftAlt Meta

RightAlt Meta ScrollLock Compose RightCtl Control XkbKeycodes "xfree86"

XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc101)"

XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc101" XkbLayout "es"

Sección Pointer: Configuración del ratón: # Para un ratón microsoft mouse o

un genius: Protocol "Microsoft" Device "/dev/mouse"

Sección Monitor: Datos sobre el monitor (frecuencias).

Sección Device: Indica el servidor X a utilizar: Por ejemplo para una tarjeta

con chipset Mach64: Section "Device" Identifier "Mach64 GB" VendorName

"ATI" BoardName "ATI 3d Rage II" VideoRam 8192 EndSection

Sección Screen: Modos de vídeo seleccionados: Por ejemplo para activar

320x200, 640x480, 800x600 y 1024x768 tanto a 8 como a 16 bpp de color,

siendo usado por defecto el modo 1024x768x16 (el primero que aparezca

Page 91: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

91

en la lista): Section "Screen" Driver "accel" Device "Mach64 GB" Monitor

"My Monitor" DefaultColorDepth 16 Subsection "Display" Depth 16 Modes

"1024x768" "800x600" "640x480" "320x200" ViewPort 0 0 Virtual 1024 768

EndSubsection Subsection "Display" Depth 8 Modes "1024x768" "800x600"

"640x480" "320x200" ViewPort 0 0 Virtual 1024 768 EndSubsection

EndSection

Una vez creado este fichero, entramos en XWindow mediante el comando startx.

Del entorno XWindow se puede salir en cualquier momento mediante la

combinación de teclas Ctrl+Alt+Borrar, o bien seleccionando LOGOUT en el menú

del gestor de ventanas que utilicemos.

Para volver a las consolas de texto bastará con utilizar la combinación de teclas

Ctrl+Alt+F1, +F2, etc (hasta F6 en las instalaciones por defecto). Para volver al

terminal gráfico se utiliza de F7 en adelante (Ctrl+Alt+F7, +F8, etc.).

Si durante la instalación (o en la línea apropiada del fichero XF86Config)

seleccionamos varias resoluciones de vídeo, es posible cambiar entre ellas

mediante las teclas Ctrl+Alt+'+' y Ctrl+Alt+'-' (los signos del teclado numérico).

Además, si por defecto marcamos 8bpp (o 16 bpp) en las opciones, nada nos

impide lanzar posteriormente XWindow en la profundidad de color deseada:

[sromero@localhost]# startx -- -bpp 8 [sromero@localhost]# startx -- -bpp 16 etc.

También es posible establecer la profundidad de color por defecto mediante una

línea DefaultColorDepth = 16 en el fichero de configuración XF86Config, sección

Screen.

Page 92: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

92

2.2.3. Lección 3: Gnome

GNOME

Captura de GNOME 2.12.3 bajo Gentoo Linux

Desarrollador: The GNOME Foundation

Última versión: 2.14.3 / 2 de Agosto de 2006

S.O.: Multiplataforma

Género: Entorno de escritorio

Licencia: GPL

En castellano: Sí

Sitio Web: www.gnome.org

GNOME (GNU Network Object Model Environment) surge en agosto de 1997

como proyecto liderado por los mexicanos Miguel de Icaza y Federico Mena para

crear un entorno de escritorio completamente libre para sistemas operativos libres,

en especial para GNU/Linux. Desde el principio, el objetivo principal de GNOME

Page 93: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

93

ha sido proporcionar un conjunto de aplicaciones amigables y un escritorio fácil de

utilizar.

Cuando se inicia una sesión gráfica se verá el escritorio Gnomo, un escritorio que

cuenta con iconos para acceder rápidamente a aplicaciones y con menús que le

permiten iniciar programas. También le permite usar varios espacios de trabajo,

cada uno como un escritorio independiente de los demás aunque es fácil pasar

aplicaciones de un espacio de trabajo a otro, pues basta arrastrarlas con el

ratón.19

Manejo básico

Cuando inicie una sesión gráfica verá el escritorio Gnome. Este escritorio cuenta

con iconos para acceder rápidamente a aplicaciones y con menús que le permiten

iniciar programas. También le permite usar varios espacios de trabajo [8], cada

uno como un escritorio independiente de los demás aunque es fácil pasar

aplicaciones de un espacio de trabajo a otro, pues basta arrastrarlas con el ratón.

El botón izquierdo del ratón normalmente permite elegir una opción de un menú o

activa un icono. El botón derecho tiene diversas aplicaciones de acuerdo al

contexto por ejemplo sobre los iconos permite configurarlos, el botón del centro

permite pegar el texto que se hubiera seleccionado con el ratón, si su ratón sólo

tiene 2 botones, puede «emular» el botón del centro oprimiendo simultáneamente

el izquierdo y el derecho. Para seleccionar un texto se pasa por encima del mismo

con el puntero del ratón mientras se mantiene presionado el botón izquierdo.

19 http://www.gnome.org

Page 94: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

94

El escritorio Gnome es bastante configurable: puede configurar los menús, los

iconos, las tipografías, el fondo, el protector de pantalla, el tema, el administrador

de ventanas, sonido, la interacción con las ventanas y muchos otros detalles de

acuerdo a su gusto. Para hacer algunas de las configuraciones puede emplear

opciones de los menús Gnome, el ratón por ejemplo para administrar los iconos

que hay sobre el escritorio, el programa «Centro de control Gnome» y

eventualmente los archivos de configuración de X-Window.

El gestor de ventanas empleado decorará cada ventana con botones que le

permitirán cerrar, maximizar o minimizar. Las ventanas minimizadas se verán en la

parte inferior del escritorio Gnome más precisamente en el panel que no

necesariamente está en la parte inferior, porque puede reubicarse de acuerdo a su

gusto.

Page 95: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

95

Entre los menús de Gnome, existen múltiples herramientas: calculadora gcalc;

editor de texto sencillo gnotepad; calendario gnomecal, procesador de palabra,

hoja de cálculo, reproductor multimedia y muchas otras.

GNOME se instala con una configuración predeterminada que es modificable.

GNOME tiene un método de configuración que permite combinar la configuración

de los distintos programas. De esa forma se puede realizar una configuración

compatible para todas las aplicaciones. La herramienta utilizada es el editor de

configuración gconf-editor y que puede ser utilizado por administradores y por

usuarios. gconf-editor es accesible a través de Aplicaciones->Herramientas del

sistema->Editor de configuración. No obstante, muchas de la personalizaciones

más usuales se encuentran disponibles de una forma más sencilla en el menú

Sistema->Preferencias.

Menú Preferencias

Page 96: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

96

Accesibilidad

GNOME, pensando en las personas con discapacidades o algún tipo de limitación

en el acceso al ordenador, ha incorporado opciones especiales de acceso que

permiten a este tipo de usuarios utilizar el entorno de escritorio de forma sencilla.

Estas características se agrupan en dos niveles:

Preferencias de accesibilidad del teclado: Aquí se puede modificar el

comportamiento del teclado, permitiendo filtrar la repetición involuntaria de

pulsaciones, la velocidad de respuesta del teclado, activar opciones de

sonido en los eventos de teclas o permitir controlar el puntero del ratón con

el teclado.

A esta opción se puede acceder a través de las preferencias del teclado:

Sistema->Preferencias->Teclado. Se abrirá una ventana en la que

seleccionaremos el botón Accesibilidad .

Tecnologías de asistencia, engloba varias herramientas:

o Lector de pantalla: permite, mediante un sintetizador de voz, leer el

contenido de la pantalla para usuarios con problemas de visión y

sacarlo también por un dispositivo braille.

Para que esta opción esté disponible, es necesario tener instalado el

paquete gnopernicus.

o Lupa: amplificador de pantalla, que permite destinar un trozo de

pantalla a ampliar la zona por donde pasa el puntero del ratón.

Al igual que la anterior, es necesario tener instalado el paquete

gnopernicus.

Page 97: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

97

o Teclado en pantalla: muestra un teclado en pantalla. Permite realizar

las mismas funciones que un teclado mediante el ratón o un

dispositivo de selección. Está pensado para usuarios que no puedan

utilizar un teclado convencional pero sí puedan utilizar el ratón

mediante algún tipo de dispositivo hardware/software.

Para que esta opción esté disponible, es necesario tener instalado el

paquete gok (GNOME On-screen Keyboard).

Administración de archivos

Sistema->Preferencias->Administración de archivos. Permite establecer las

preferencias en la administración de archivos (Nautilus). El cuadro de diálogo que

abre es:

Preferencias de administración de archivos

Contiene cinco solapas: Vistas, Comportamiento, Mostrar, Columnas de la lista y

Vista previa.

Page 98: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

98

Cada una de estas solapas ayuda al usuario a concretar el aspecto y

comportamiento del administrador de archivos, tales como información que se va a

visualizar de los archivos, si se mostrarán como iconos, etc.

Combinaciones de teclas

Sistema->Preferencias->Combinaciones de teclas. Permite desactivar las

combinaciones de teclas, modificar las existentes y establecer nuevas

combinaciones de teclas.

Combinaciones de teclas

Fondo del escritorio

Sistema->Preferencias->Fondo del escritorio, o también con botón derecho del

ratón sobre el área del escritorio y opción Cambiar el fondo del escritorio. Abre el

cuadro de diálogo sobre preferencias del fondo de pantalla. Se puede añadir,

Page 99: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

99

quitar y elegir el estilo como se visualizará la imagen. Se puede escoger una

imagen desde una ventana abierta del Nautilus y arrastrarla al fondo del escritorio.

Si no se quiere establecer imagen se puede elegir el color de fondo que se

prefiera, así como establecer si se prefiere un color sólido o un degradado.

Preferencias del fondo del escritorio

Preferencias del menú y la barra de herramientas

Sistema->Preferencias->Menús y barras de herramientas. Mediante esta entrada

es posible configurar el comportamiento y la apariencia de la barra de

herramientas y de los menús, pudiendo decidir la localización de las etiquetas

asociadas a los botones (bajo el icono, junto al icono, sin texto.) y comprobar su

apariencia.

Page 100: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

100

Preferencias de la barra de herramientas y del menú

Proxy de la red

Sistema->Preferencias->Proxy de la red. Esta opción permite configurar si la

salida a Internet se va a hacer vía proxy o directamente. En el caso de salir con

proxy este se puede configurar de forma manual, estableciendo el nombre del

proxy o su dirección IP y el puerto de escucha en el proxy.

Este proxy se utilizará en todas las aplicaciones compatibles con gconf.

Page 101: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

101

Preferencias del proxy de la red

Ratón

Sistema->Preferencias->Ratón. Abre un cuadro de diálogo con diferentes solapas

que permiten establecer la configuración del ratón.

Solapa Botones: configura el ratón para zurdos y establece un tiempo de

demora para la doble pulsación del ratón.

Solapa Cursores: establece el tamaño del cursor.

Solapa Movimiento: establece la velocidad del puntero del ratón en cuanto

a aceleración y a sensibilidad y el umbral para el efecto arrastrar y soltar.

Page 102: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

102

Preferencias del ratón

Resolución de la pantalla

Sistema->Preferencias->Resolución de la pantalla. Este cuadro de diálogo permite

al usuario establecer la resolución de pantalla deseada, dentro de las permitidas y

la frecuencia de refresco del monitor.

Preferencias de la resolución de la pantalla

Page 103: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

103

Sonido

Sistema->Preferencias->Sonido. El cuadro de diálogo contiene tres solapas:

General: se puede activar o desactivar el servidor de sonido para seleccionar los

efectos de sonido que se utilizarán al arrancar.

Eventos de sonido: si el servidor de sonido está funcionado, se pueden activar, de

forma opcional, efectos de sonido para diferentes tareas. En la lista de sonidos

aparece la tarea y el efecto de sonido asociado.

Campana del sistema: activa el sonido de la campana y/o el efecto visual.

Preferencias de sonido

Teclado

Sistema->Preferencias->Teclado. El cuadro de diálogo tiene cuatro solapas:

Page 104: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

104

Teclado: establece si la pulsación continuada de una tecla supone la repetición de

dicha tecla, la velocidad y el retraso. Establece también el parpadeo del cursor y

su velocidad.

Descanso de escritura: esta opción permite bloquear el teclado para forzar un

descanso, indicando el intervalo y la duración del descanso.

Distribuciones: para seleccionar el modelo del teclado y la distribución.

Opciones de distribución: para configurar las preferencias del teclado.

Preferencias del teclado

En cualquiera de las cuatro solapas aparece un botón de accesibilidad. Esta

opción configura las preferencias de accesibilidad del teclado, tal y como vimos al

principio del capítulo.

Page 105: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

105

Accesibilidad del teclado

Tipografía

Sistema->Preferencias->Tipografía. Esta opción permite seleccionar las fuentes

predeterminadas: para las aplicaciones, el escritorio, título de las ventanas,

terminales.

Page 106: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

106

Preferencias de la tipografía

Ventanas

Sistema->Preferencias->Ventanas. Opción para seleccionar las preferencias de

las ventanas, tales como evento para maximizar y enrollar la ventana, selección de

la ventana cuando el ratón se mueve sobre ella, evento para mover una ventana.

Page 107: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

107

Preferencias de ventana

20

2.2.4. Lección 4: KDE

K Desktop Enviroment

Captura de KDE 3.5 bajo Gnu/Linux

20 http://es.wikipedia.org

Page 108: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

108

Desarrollador: equipo KDE

Última versión: 3.5.4 / 2 de agosto de 2006

S.O.: Multiplataforma

Género: Entorno de escritorio

Licencia: GPL, LGPL, licencia BSD y otras

En castellano: Sí

Sitio Web: www.kde.org

El proyecto fue iniciado en Octubre de 1996 por el programador alemán Matthias

Ettrich, quien buscaba crear una interfaz gráfica unificada para sistemas Unix. Las

siglas KDE significan K Desktop Environment (entorno de escritorio K). El entorno

KDE sigue desarrollándose y en los últimos años se ha convertido en un entorno

muy flexible y atractivo para los usuarios de Linux, es un robusto escritorio que le

permite al usuario trabajar en Linux como si estuviera en Windows, aunque con

mayor funcionalidad, el entorno KDE ofrece un administrador de ventanas

sofisticado con útiles aplicaciones, como varias ventanas virtuales, menús

personalizables y una opción para que el sistema recuerde, de una sesión a otra y

de forma automática, los programas y su situación en la pantalla. Puede tener

hasta 16 escritorios funcionando al mismo tiempo en KDE. Además la interfaz

grafica KDE ofrece un entorno de escritorio que incluye, entre otras cosas, iconos

para archivos y directorios, una barra de tareas, y una barra de herramientas.

KDE se basa en el principio de la personalización. Todos los componentes de

KDE pueden ser configurados en mayor o menor medida por el usuario. Las

opciones más comunes son accesibles en su mayoría desde menús y diálogos de

configuración. Los usuarios avanzados pueden optar por editar los archivos de

Page 109: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

109

configuración manualmente, obteniendo en algunos casos un mayor control sobre

el comportamiento del sistema.21

El escritorio KDE

Aqui se pueden distinguir las principales partes que componen el escritorio:

El Panel.

El fondo de escritorio.

Los iconos de acceso directo.

El panel esta compuesto de los siguientes elementos:

La barra de tareas.

Los iconos de acceso directo.

La bandeja de sistema.

El reloj.

21 http://es.wikipedia.org/wiki/KDE

Page 110: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

110

Este panel podemos personalizarlo y colocarlo donde queramos. Incluso crear

nuevos paneles. Simplemente pulsando el boton derecho sobre el panel o sobre

cada uno de los componentes se puede mover o añadir nuevos elementos. En la

siguiente captura puede ver el menu que se despliega el menu de configuracion

de cada componente del panel. En este caso el de la barra de tareas:

Como mover los componentes del panel.

En esta otra se puede ver como añadir un boton de aplicacion a la barra de

accesos directos:

Como colocar una nueva aplicacion en el panel.

Page 111: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

111

En esta otra se puede ver como añadir nuevos elementos al panel:

Como añadir componentes nuevos en el panel

Aqui se puede ver el módulo de control de KDE para el panel:

El componente del panel de control sobre el panel.

22

22 http://es.wikipedia.org/wiki/KDE

Page 112: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

112

2.2.5. Lección 5: Administración de los sistemas de archivos

Para poder acceder a un sistema de archivos, antes debe ser montado en un

directorio, por ejemplo, si tenemos un diskette con cierta información y queremos

acceder a ella debemos montarla bajo algún directorio, como por ejemplo '/floppy'.

Entonces, cuando vayamos al directorio '/floppy' y miremos el contenido veremos

el contenido del diskette. Si luego desmontamos el sistema el directorio '/floppy'

estará vació o solamente contendrá el contenido original del directorio. Veamos un

ejemplo:

Localhost:/# mount /dev/fd0 /floppy # Monto el disco de 3 1/2

Localhost:/# cd /floppy # Entro al directorio donde monte

localhost:/floppy# ls # Miro el contenido del directorio

Archivos dentro del disco

localhost:/floppy# umount /dev/fd0 # Desmonto el disco

localhost:/floppy# ls # Miro el contenido del directorio

localhost:/floppy# # El directorio vuelve a estar vació

El sistema de archivos es el software que se utiliza para organizar y manipular los

datos almacenados en los compartimientos de disco duro; es el responsable de

garantizar la consistencia de los datos, al procurar que los que se lean del disco

después resulten idénticos a los que se escribieron en él. El sistema de archivos

nativo de Linux es el EXT2. Ahora proliferan otros sistemas de archivos con

journalising (si se arranca sin haber cerrado el sistema, no necesitan hacer un

chequeo sino que recuperan automáticamente su último estado), los más

conocidos son EXT3, ReiserFS y XFS. La estructura de directorios que sigue

Page 113: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

113

Linux es parecida a la de cualquier UNIX. No tenemos una "unidad" para cada

unidad física de disco o partición como en Windows, sino que todos los discos

duros o de red se montan bajo un sistema de directorios en árbol, y algunos de

esos directorios enlazan con estas unidades físicas de disco.

Tipos de sistemas de archivos

Los tipos de sistemas de archivos mas conocidos son:

FAT 16-32

EXT2 (Extended)

EXT3 (Extended)

NTFS

ReiserFS

JFS

XFS

La estructura jerárquica de archivos

Linux organiza los archivos en un conjunto de directorios jerárquicamente

conectados. Cada directorio puede contener archivos u otros directorios. A este

respecto, Los directorios efectuan dos importantes funciones. Un directorio

almacena archivos y un directorio se conecta con otro directorio.

Directorios del sistema

El directorio raíz, en el que empieza el sistema de archivo de Linux, contiene

varios directorios del sistema. Los directorios del sistema contienen archivos y

programas que se usan para ejecutar y mantener el sistema, muchos contienen

otros programas para ejecutar características especificas de Linux.

Page 114: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

114

Estructura de directorios en Linux

Directorio Descripción

/

Es la raíz del sistema de directorios. Aquí se monta la partición principal Linux

EXT.

/etc Contiene los archivos de configuración de la mayoría de los programas.

/home Contiene los archivos personales de los usuarios.

/bin Contiene comandos básicos y muchos programas.

/dev Contiene archivos simbólicos que representan partes del hardware,

tales como discos duros, memoria...

/mnt Contiene subdirectorios donde se montan (se enlaza con) otras

particiones de disco duro, CDROMs, etc.

/tmp Ficheros temporales o de recursos de programas.

/usr Programas y librerías instalados con la distribución

/usr/local Programas y librerías instalados por el administrador

/sbin Comandos administrativos

/lib Librerías varias y módulos ("trozos") del kernel

/var Datos varios como archivos de log (registro de actividad) de programas,

bases de datos, contenidos del servidor web, copias de seguridad...

/proc Información temporal sobre los procesos del sistema (explicaremos

esto más en profundidad posteriormente).

Permisos

Linux, al igual que todos los sistemas Unix, mantiene un sistema de permisos de

acceso a los ficheros muy estricto, a fin de controlar qué es lo que se puede hacer

con ellos, y quien lo puede hacer. Estos permisos se identifican con letras y son:

Page 115: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

115

r permiso de lectura el fichero

w permiso de escritura en el fichero

x permiso de ejecución del fichero

s permiso para cambiar el propietario del fichero

Al contrario que en Windows o MS-DOS los programas ejecutables de Linux no

están marcados por una determinada extensión (.exe) sino por un atributo, el

permiso de ejecución x. Si se elimina este atributo a un programa, Linux no será

capaz de ejecutarlo.23

23 Documento. Diplomado Linux – nivel 1

Page 116: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

116

2.3 CAPITULO 3: ADMINISTRACIÓN DE DISCOS, NAVEGADOR MOZILLA Y

CLIENTES DE CORREO ELECTRÓNICO

2.3.1. Lección 1: Partición de un disco

Cada disco debe ser particionado, las particiones dividen el disco, y cada

segmento actúa como un disco completo. Una vez que se llena una partición, no

se puede (excepto con un software especial) rellenar con otra partición.

Normalmente, el proceso de particionado de un disco persigue: bien que el usuario

necesita tener dos sistemas operativos instalados y cada sistema operativo

requiere su propia partición, o bien, es prudente que el uso de espacio de una

partición no interfiera con el espacio dedicado a otras tareas en otras particiones.

Los discos IDE empiezan con el nombre /dev/hdx, donde x puede ir del rango de

la a a la z, con cada letra representando un dispositivo físico.

Cuando se crean particiones, se usan nuevos dispositivos. Toman la forma de

/dev/hdxy, donde la X es la unidad de dispositivo y la Y representa el numero de

partición. Así, la primera partición del disco /dev/hda es /dev/hda1, la segunda

partición debería ser /dev/hda2, y así sucesivamente.

Los discos SCSI siguen la misma idea básica que los IDE, excepto que en lugar

de empezar con /dev/hd, comienzan con /dev/sd. De todas formas, la primera

partición del primer disco SCSI seria /dev/sda1, la segunda partición del tercer

disco SCSI debería ser /dev/sdc2, y así sucesivamente.

Particiones de disco

Partición Descripción

/ La partición del disco raíz sirve para

que los archivos del núcleo del sistema

Page 117: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

117

necesarios lleven al sistema a modo

monousuario. una establecido, los

contenidos de la partición no deberían

variar y no deberían necesitar crecer.

/usr Esta partición se usa para el software

del sistema, como herramienta de

usuario, compiladores, X windows, etc.

Debido a que llegara el día en que se

necesitara un lugar mas grande para

nuestro software del sistema,

pondremos este en una partición

separada.

/var Esta se usa para almacenar archivos

que cambian mucho, lo que incluye

directorios de spool (correo, impresión,

etc.)y archivos de log. Lo que hace esta

partición tan delicada es que hay

eventos externos que pueden provocar

que su contenido crezca por encima de

su tamaño reservado.

/tmp Similar a /var, los archivos de /tmp

pueden consumir espacio inesperado.

Cuando los programas de aplicación

crean grandes archivos temporales. De

cualquier forma, mantener esta

partición es un buen mecanismo de

seguridad.

/home Si necesita almacenar directorios home

en su disco, especialmente para

Page 118: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

118

usuarios cuyo consumo de disco

necesita restringirse, definitivamente

querrá tener esta partición separada

/swap La partición swap es necesaria para

guardar la memoria virtual. Aunque no

se requiere, swap es con frecuencia

una buena idea en el caso de que gaste

un RAM física. En general, querrá que

esta partición tenga el mismo tamaño

que su RAM

24

Crear particiones utilizando fdisk

Un mecanismo basico que existe con todas las distribuciones Linux es fdisk (que

se encuentra e4nel directorio /sbin), aunque pequeña y algo difícil, es una

herramienta de particionado fiable. Esta herramienta de línea de comandos

funciona en casi todo tipo de Terminal.

Opción Descripción

-v Imprime el numero de la versión y sale

-l [dispositivo] Imprime la tabla de particiones del

dispositivo especificado.

-u Muestra tamaño en sectores en vez de

en cilindros.

-s partición Muestra el tamaño de la partición

especificada en bloques

Creación de particiones con cfdisk

Es una herramienta orientada apantalla y similar a la utilidad de MS-DOS fdisk.

Esta utilidad proporciona la misma funcionalidad que fsdik, pero muestra

24 Steve shah. Manual de Administracion de linu7x. McGraw-hill. Pag.161-169

Page 119: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

119

información a pantalla completa. Es sencillo trabajar con cfsdik. Se selecciona la

partición con la que se va a trabajar y se selecciona la acción a realizar. Esta

utilidad es un comando interactivo y contiene opciones de la línea de comandos.

Opción Descripción

-a Utiliza el cursor con forma de flecha

para indicar la partición en vez del

resaltado inverso.

-z Asume que el usuario volverá a escribir

la tabla de partición y no lee la

información del disco

-v Muestra la versión y los derechos de

autor de cfdisk y sale

-c cilindros

-h cabezas

-s sectores

Especifica el número de cilindros,

cabezas y sectores en vez de utilizar la

información proporcionada por la BIOS

al kernel en el momento del arranque.

-p opt Muestra la información en el formato

especificado por el argumento opt, que

puede ser r para el formato de datos sin

modificar, s para el formato del orden

de los sectores o t para el formato sin

modificar.

2.3.2. Lección 2: Sistemas de archivos de red

El sistema de archivos de red (NFS - Network File System) le permite montar un

sistema de archivos residente en un PC remoto como si estuviera en su propio

sistema.

Page 120: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

120

En los montajes NFS, las particiones se refieren por su nombre de maquina y su

directorio exportado.

NFS utiliza el protocolo de red TCP/IP. El PC remoto que contiene el sistema de

archivos lo pone a disposición de otros PC de la red exportándolo, lo que significa

crear entradas en un archivo de configuración llamado /etc/exports, así como

ejecutar dos demonios (daemons) para dar soporte al acceso por otros sistemas.

Componentes de NFS

rpc.statd: este demonio maneja el bloqueo de archivos entre el cliente y el

servidor.

rpc.quotad: como sugiere su nombre, proporciona una interfaz entre NFS y

el gestor de cuotas. Los usuarios permanecen con las mismas restricciones

a pesar de que trabajen con sus datos por medio de NFS.

rpc.mountd: se ocupa de verificar que el cliente tenga los permisos

suficientes para hacerlo. Estos permisos se guardan en el

archivo/etc/exports.

rpc.nfsd: es el componente principal del sistema NFS. Este proceso se

ocupa de manejar las peticiones NFS.

La configuración de un servidor de NFS es un proceso de 2 pasos: el primer paso

es crear el archivo /etc/exports, este archivo define que partes del disco del

servidor se compartirán con el resto de la red y las reglas mediante las cuales se

comparten. Y el segundo paso es iniciar el proceso servidor de NF que lea el

archivo /etc/exports y continuar con las especificaciones.

Una vez que un sistema NFS este disponible, los diferentes PC de la red

necesitan montarlo en sus propios sistemas de archivo antes de poderlo usar.

Puede montar un sistema de archivos NFS mediante una entrada en su

archivo/etc/fstab o con una orden mount explicita. Una entrada en el

archivo/etc/fstab deberá especificar como tipo de sistema de archivos nfs. Un

Page 121: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

121

nombre de sistema de archivos NFS consta del nombre de host del PC donde

reside, seguido por el nombre de vía del directorio donde esta montado,

separados por dos puntos. Por ejemplo, rose.berkeley.edu:/home/Project

especifica un sistema de archivos montado en el directorio /home/Project del PC

ros.berkeley.edu.

2.3.3. Lección 3: Instalación

Requerimientos del sistema

Son necesarias las siguientes versiones de bibliotecas (o compatibles):

glibc 2.2.4, XFree86 3.3.x, GTK 1.2.x, Glib 1.2.x, Libstdc++ 2.9.0.

Instalaciones de Red Hat Linux 7.0, Debian 3.0, y SuSE 7.3 (o

posteriores) deberían funcionar.

Procesador tipo Intel Pentium (recomendado 233 MHz o más rápido)

64 MB de RAM

26 MB de espacio libre en el disco duro

Instalación con el instalador de Mozilla

Para instalar Mozilla descargando el instalador de Mozilla, siga estos pasos:

1. Cree un directorio con el nombre mozilla (mkdir mozilla) y vaya a ese

directorio (cd mozilla).

2. Haga clic en el enlace para descargar el fichero del instalador (llamado

Mozilla-i686-pc-linux-gnu-installer.tar.gz).

3. Cambie el directorio actual al directorio de Mozilla (cd mozilla) y

descomprima el fichero con el siguiente comando: gunzip -dc moz*.tar.gz |

tar -xvf - (Esto coloca el instalador en un subdirectorio de Mozilla llamado

mozilla-installer).

Page 122: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

122

4. Vaya al directorio mozilla-installer (cd mozilla-installer) y ejecute el instalador

con el comando. /mozilla-installer.

5. Siga las instrucciones del assistente de instalación para instalar Mozilla.

Nota: si tiene una máquina lenta, sepa que el proceso de instalación puede

llevar su tiempo. En este caso, puede parecer que el avance de la

instalación queda congelado indefinidamente, aún cuando la instalación

está en marcha.

6. Para iniciar Mozilla, vaya al directorio donde lo instaló y ejecute el comando.

/Mozilla.25

Instalación manual con el fichero .tar.gz

Para instalar Mozilla descargando el fichero .tar.gz:

1. Cree un directorio con el nombre mozilla (mkdir mozilla) y vaya a ese

directorio (cd mozilla).

2. Haga clic en el enlace para descargar el fichero sin instalador mozilla*.tar.gz

en el directorio mozilla.

3. Vaya al directorio de Mozilla (cd mozilla) y descomprima el fichero con el

siguiente comando: gunzip -dc moz*.tar.gz | tar -xvf - (Esto crea un

subdirectorio mozilla en su directorio mozilla1.6).

4. Cambie al directorio mozilla (cd mozilla).

5. Ejecute Mozilla con el script. /mozilla.

Instalaciones multi-usuario en Linux

Para instalar Mozilla para múltiples usuarios en Unix, instale normalmente,

después cree el siguiente script en su directorio de Mozila, hágalo ejecutable

(chmod u+x <scriptname>), y ejecútelo como un usuario que tenga permisos de

25 http://mozillaes.mozdev.org/otros/traducciones/mozilla.org/releases/mozilla1.5/installation.html

Page 123: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

123

escritura en el directorio mozilla (p.e. root). No ejecute este programa como su[do]

root. (Bug 52653)

#!/bin/sh

dist_bin=`dirname $0`

MOZILLA_FIVE_HOME=$dist_bin

LD_LIBRARY_PATH=$dist_bin

export MOZILLA_FIVE_HOME LD_LIBRARY_PATH

$dist_bin/regxpcom

$dist_bin/regchrome

touch $dist_bin/chrome/user-skins.rdf $dist_bin/chrome/user-locales.rdf

Así ya debería poder usar esa instalación de Mozilla como cualquier usuario que

tenga permisos de acceso.

Añadir Mozilla al panel de GNOME

1. Haga clic en el botón del menú principal de GNOME, abra el menú del

panel y abra el sub-menú "añadir al panel" y escoja Launcher.

2. Haga clic con el botón derecho en el icono de Mozilla en el panel y escriba

el siguiente comando: nombre_del_directorio/mozilla donde

nombre_del_directorio es el nombre del directorio donde descargó Mozilla. Por

ejemplo, el directorio por defecto que Mozilla sugiere es /usr/local/mozilla.

3. Escriba un nombre para el icono, y escriba un comentario si lo desea.

4. Haga clic en el botón del icono y escriba lo siguiente como localización del

icono: nombre_del_directorio/icons/mozicon50.xpm donde nombre_del_directorio es el

directorio donde instaló Mozilla. Por ejemplo, el directorio por defecto es

/usr/local/mozilla/icons/mozicon50.xpm.

Instrucciones de desinstalación

Borre el directorio mozilla donde instaló Mozilla

Page 124: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

124

Borre el directorio ~/.mozilla, que contiene información de los perfiles

2.3.4. Lección 4: Configuración básica del navegador, privacidad y seguridad

Configuración

1. Abra el correo del Mozilla

2. En la ventana "New Account Setup".

1. Seleccione "Email account".

2. Presione el botón "Next".

3. En la ventana "Identity".

1. Introduzca su Nombre y Apellido en el campo "Your Name".

2. Introduzca su Dirección de Correo en el campo "E-mail Address:"

siguiendo el formato [email protected], sustituyendo suLogin por el login

que se le asignó.

Page 125: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

125

3. Presione en botón "Next".

4. En la ventana "Server information".

1. Seleccione "POP".

2. Introduzca pop-mail.ula.ve en el campo "Incoming Server", por favor no

use mailhost.ula.ve.

3. Introduzca smtp-mail.ula.ve en el campo "Outgoing Server", por favor no

use mailhost.ula.ve.

4. Presione el botón "Next".

Page 126: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

126

5. En la ventana "User Names".

1. Introduzca el login que se le asignó en el campo "Incoming User Name".

2. Introduzca el login que se le asignó en el campo "Outgoing User Name".

3. Presione el botón "Next".

Page 127: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

127

6. En la ventana "Account Name".

1. Colóquele un nombre a esta configuración; por ejemplo "Mail ULA".

2. Presione el botón "Next".

7. En la ventana "Congratulations!"; verifique que los datos estén correctos,

presione el botón "Finish".

Page 128: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

128

8. En el menú "Edit", seleccione "Mail & Newsgroups Account Settings...”

9. En el grupo "Server Settings":

Page 129: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

129

1. Verifique pop-mail.ula.ve; en el campo "Server Name".

2. Verifique su login; en el campo "User Name".

3. Verifique que el valor "995" aparezca en el campo "Port".

4. La opción "Use secure connection (SSL)" debe estar activada.

5. Verifique que la opción "Use secure Authentication" no esté activada.

10. En el grupo "Outgoing Server (SMTP)":

1. Verifique smtp-mail.ula.ve en el campo "Server Name".

2. Verifique que el valor "465" aparezca en el campo "Port".

3. La opción "Use name and password" debe estar activada.

4. Introduzca el login que se le asignó en el campo "User Name".

5. Seleccione la opción "SSL" del campo "Use secure connection".

6. Pesione el botón "OK".

Page 130: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

130

11. Abra el navegador Mozilla

12. En el menú "File" Seleccione "Open Web Location...".

Page 131: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

131

13. Copie "http://mail.ula.ve/ULA_CAcert.crt" en el campo disponible y pulse el

boton "Open". Deberá tener una conexión a Internet activa para que este paso

tenga éxito.

14. En la ventana "Downloading Certificate";

1. Active la opción "Thust this CA to identify web sites".

2. Presione el botón "OK".

Page 132: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

132

Privacidad y seguridad

Este es un terreno en el que Mozilla realmente brilla. Hay cantidad de

características y posibilidades aparte del control de cookies, prevención de «pop-

ups».La opción con la que sólo se aceptan las «cookies» e imágenes del mismo

servidor web que provee la página que actualmente se lee. De esta forma se

evitan algunos anuncios de la red. Se puede ver y eliminar «galletas» o «cookies»

individualmente, o seleccionar qué sitios web tienen permiso para «engalletarte»

(Mozilla puede pedir permiso por cada cookie y recordar sus elecciones.)

Considere si necesita Java, JavaScript y cookies y desconecte todo aquello que

no necesita (por defecto Mozilla acepta todas las «galletitas» y JavaScript puede

abrir anuncios emergentes ¡desconéctelos!).

Mozilla es también capaz de recordar contraseñas y datos de formularios.26

2.3.5. Lección 5: Clientes de correo electronico

Aplicaciones de correo electrónico

El correo electrónico es un modo muy popular de comunicarse con otros a través

de Internet. Puede usarlo con un email client, una aplicación que entiende las

diversas transmisiones de correo electrónico estándar y le permite enviar, recibir y

leer el correo electrónico. Todas las aplicaciones de clientes de correo electrónico

están diseñadas para satisfacer a ciertos tipos de usuarios; de manera que pueda

escoger uno con las características que mejor satifacen sus necesidades en

particular.

Evolution

KMail

26 http://www.google.com

Page 133: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

133

Mozilla Mail

Clientes de correo electrónico basados en texto

Antes de lanzar el cliente de correo electrónico, debería tener alguna información

útil sobre su Internet Service Provider (ISP) de manera que pueda configurar el

cliente adecuadamente. Las siguientes listas muestran algunas cosas que es

necesario que conozca:

Su dirección de correo electrónico

La dirección de correo electrónico que utilizará para enviar y recibir el correo.

Normalmente adopta la forma de [email protected].

Tipo de servidor para recibir correo (POP o IMAP)

Para recibir correo, debe saber el tipo de servidor que utiliza su administrador de

la red o proveedor de servicios de Internet. Esta dirección POP o IMAP

normalmente adopta la forma de mail.someisp.net.

POP, acrónimo de Post Office Protocol, se usa para enviar y correo electrónico

desde un servidor de correo a su cliente de correo electrónico inbox, el lugar en el

que el correo electrónico en entrada está almacenado. La mayoría de los

servidores de correo electrónico ISP usan el protocolo POP, aunque puedan

utilizar el protocolo más reciente IMAP (Internet Message Access Protocol).

IMAP, acrónimo de Internet Message Access Protocol, es un protocolo para

recuperar los mensajes de correo electrónico desde su servidor de correo

electrónico ISP. IMAP se diferencai de POP en que los correos electrónicos de los

servidores IMAP están almacenados en el servidor y permanece allí incluso si

descarga y lee su correo electrónico, mientras que el correo de POP está

descargado para su cliente de correo electrónico directamente y no está en el

servidor.

Page 134: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

134

Tipo de servidor para enviar correo electrónico (SMTP)

El Simple Mail Transfer Protocol (SMTP)(Protocolo de transferencia de correo

simple), es un protocolo para enviar mensajes de correo electrónico entre

servidores. La mayoría de los sistemas de correo electrónico que envían correo a

través de Internet utilizan el protocolo SMTP para enviar mensajes de un servidor

a otro; los mensajes se pueden recuperar posteriormente con un cliente de correo

electrónico que utilice el protocolo POP o IMAP. SMTP se utiliza normalmente

para enviar mensajes de un cliente de correo a un servidor de correo. Por este

motivo, deberá especificar tanto el servidor POP o IMAP como el servidor SMTP

cuando configure la aplicación de correo electrónico.

Si tiene alguna duda o pregunta sobre la información necesaria, póngase en

contacto con su proveedor de servicios de Internet o administrador de la red. Salvo

si ha configurado correctamente esta información, no podrá hacer un uso completo

de los clientes de correo electrónico que se describen en este capítulo.

Evolution

La aplicación Evolution es más que un simple cliente de correo electrónico.

Proporciona todas las funciones de administración de correo electrónico estándar,

que incluyen una administración eficaz de buzones, filtros definidos por el usuario

y búsquedas rápidas. Admite el uso de un calendario/programa flexible y permite a

los usuarios crear y confirmar reuniones de grupo en línea y eventos especiales.

Evolution es la primera herramienta mpleta de administración de información

personal y de trabajo en grupo para Linux y sistemas basados en UNIX y es el

cliente del correo electrónico predeterminado.

Para lanzar Evolution en el panel del escritorio, seleccione Main Menu =>

Programs =>Internet =>Email.

Page 135: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

135

La primera vez que inicie Evolution aparecerá la pantalla de bienvenida), que le

permite configurar su conexión de correo electrónico. Siga las instrucciones de la

pantalla en la información que ha recopilado desde su ISP o administrador en las

casillas de texto proporcionadas.

Para ver el contenido de su buzón o enviar un correo, haga clic en el icono Inbox.

Page 136: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

136

Para componer un correo, seleccione New Message en la barra de herramientas.

Cuando haya compuesto el mensaje y haya introducido la dirección de correo

electrónico a la que enviará el correo, haga clic en Send en la barra de

herramientas.Mientras que Evolution hace mucho más que leer y enviar correo

electrónico, este capítulo se centra exclusivamente en las posibilidades del correo

electrónico. Si desea conocer más sobre el uso de algunas de las características

de Evolution, como calendario/programa y mensajes de grupo, haga click en Help

Page 137: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

137

desde la barra de herramientas principal y escoja el componente que del que

desea obtener más información.

KMail

Si ha escogido una instalación personalizada de Red Hat Linux, su sistema tendrá

el cliente de correo electrónico KMail. KMail es una herramienta para KDE, el

entorno de escritorio K. Posee una interfaz gráfica intuitiva parecida a Evolution

que hace que enviar y recibir correo electrónico sea sencillo. Para abrir KMail,

haga click en Main Menu => All ApplicationsInternet => KMail.

Antes de que use KMail, debe configurarlo de manera que pueda enviar y recibir

correo electrónico. Para ejecutar la herramienta de configuración, seleccione

Settings desde la barra de herramientas KMail y Configure KMail.

La ventana Configure Mail Client posee siete secciones: Identity, Network,

Appearance, Composer, Security, and Miscellaneous. Para iniciar a enviar y recibir

mensajes de los que deberá tan sólo cambiar la configuración en las pestañas

Identity y Network. Obtenga la información de correo electrónico desde su

proveedor de servicios o administrador de manera que pueda completar la

información necesaria para empezar a usar KMail.

Page 138: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

138

Una vez que tenga la configuración de su correo electrónico, puede empezar a

enviar y recibir correos electrónicos. Las carpetas del lado izquierdo de la pantalla

KMail le permiten ver correos electrónicos que haya recibido, correos que estén

listos para ser enviados, correos que haya enviado y mucho más.

Para escribir un correo, haga click en el icono de la barra de herramientas de

mensaje nuevo:

Page 139: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

139

Una vez que haya escrito un mensaje y haya escrito la dirección de correo

electrónico para enviar el email, haga click en Send en la barra de herramientas:

Mozilla Mail

En esta sección se ofrece una breve descripción de los pasos básicos para enviar

y recibir correo con Mozilla. Si necesita obtener más información sobre el uso de

Mozilla Mail, encontrará la sección Help contents de Mozilla, situada bajo Help en

el menú principal.

Para iniciar Mozilla Mail, seleccione Main Menu => All Applications Internet =>

Mozilla Mail.

Para abrir Mozilla Mail mientras está en la aplicación Mozilla, haga clic en el icono

de correo situado en la esquina inferior izquierda de la pantalla de Mozilla.

Page 140: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

140

Para enviar un correo electrónico, haga clic en el botón Send o seleccione File =>

Send Now o Send Later. Si opta por enviar el correo más tarde, puede volver a la

pantalla de correo principal y seleccionar File => Send unsent messages.

Para leer el correo electrónico, haga clic en la carpeta de correo que ha creado

para ver una lista de los mensajes que ha recibido y todavía no ha leído. A

continuación, haga clic en el mensaje que desee leer.

Cuando haya leído un mensaje, puede eliminarlo o guardarlo en otra carpeta,

entre otras muchas opciones.

Page 141: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

141

Mozilla y los grupos de noticias

Los grupos de noticias son grupos de debate en Internet que tratan temas

específicos. Los debates se realizan en formato threaded (lo que significa que

todos los temas y respuestas al tema están organizados de manera que la lectura

y suscriptción a un grupo sea sencilla. No debe enviar mensajes si no lo desea,

puede llevar a cabo lurk, que es un término de los grupos de noticias para la

lectura sin enviar mensajes. Hay muchos grupos de noticias realmente excelentes

en la Web con temas que abarcan desde la política hasta juegos de ordenador y

extrañas filosofías. Puede enviar y descargar fotografías y ficheros a los grupos de

noticias (aunque su ISP restrinja los grupos de noticias a envios de sólo texto).

Para participar en un grupo de noticias, primero deberá configurar una cuenta de

grupo de noticias. Haga clic en el nombre de la cuenta de correo en la barra lateral

y seleccione Create a new account en las opciones que aparecen en el lado

derecho de la pantalla. Aparecerá la pantalla New Account Setup. Seleccione

Newsgroup account y haga click en Next.

Introduzca su nombre y la dirección de correo electrónico en la siguiente pantalla y

haga clic en Next. En la siguiente pantalla, escriba el nombre del servidor de

Page 142: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

142

noticias (si no conoce el nombre del servidor de noticias, póngase en contacto con

el proveedor de servicios de Internet para que le proporcione esta información). En

las últimas pantallas, puede determinar o su administrador de redes para esta

información). En las otras pantallas, puede determinar el nombre al que esta

cuenta se referirá y revisar la configuración.

Ahora, aparecerá la cuenta de grupo de noticias que acaba de crear en la barra

lateral de la pantalla de correo de Mozilla. Haga clic con el botón derecho del ratón

en este nombre de cuenta y seleccione Subscribe. Aparecerá un cuadro de

diálogo con una lista de todos los grupos de noticias disponibles. Seleccione los

grupos que desee leer y haga clic en Subscribe. Cuando haya acabado, haga clic

en OK.

Ahora, haga clic en la flecha situada junto al nombre de cuenta del grupo de

noticias y la lista de grupos a la que está suscrito aparecerá al lado. Seleccione el

grupo de noticias al que desea acceder y aparecerá un cuadro de diálogo con

información sobre cómo descargar y leer los mensajes existentes. La acción de

publicar un mensaje en un grupo de noticias es similar a escribir un correo

electrónico, con la diferencia de que el nombre del grupo de noticias aparece en el

campo To en lugar de la dirección de correo electrónico. Para anular la suscripción

de un grupo de noticias, haga clic con el botón derecho en el nombre del grupo y

seleccione Unsubscribe.

Clientes de correo electrónicos de texto plano

La mayoría de los clientes de correo electrónico modernos permiten al usuario

seleccionar si desea enviar los correos en formato de texto plano (sin formato) o

en formato HTML. La ventaja del correo electrónico con formato HTML es que

pueden contener gráficos y enlace interactivos para los sitios Web. Se puede

especificar el tipo de fuente concreto, el diseño es muy cómodo y se pueden

Page 143: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

143

agregar fondos, imágenes y texturas; todo esto aporta al mensaje un aspecto muy

atrayente para el destinatario.

Por otro lado, un mensaje de correo electrónico en texto plano es simplemente

eso, texto plano sin formato. No son elaborados ni tiene imágenes incrustadas en

el correo electrónico. Tampoco tienen tipos de letra especiales. Los mensajes de

texto plano son sencillos.

El término "texto plano" hace referencia a datos de texto con el formato ASCII. El

texto plano (también denominado texto sin formato) es el formato más portátil

porque es compatible con casi todas las aplicaciones de varios tipos de máquinas.

En este capítulo también se describen dos clientes de correo electrónico de texto

plano, Pine y mutt.

Uso de Pine

Pine and mutt (el acrónimo de pine es elm o Program for Internet News and Email)

es un cliente de correo electrónico basado en caracteres para sistemas UNIX.

Para lanzar Pine escriba pine como comando en el indicador de comandos de la

shell. Una vez iniciado pine, aparecerá la pantalla Main Menu.

Page 144: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

144

Pantalla principal de Pine

Todas las pantallas de pine tienen un diseño similar: la línea superior indica el

nombre de la pantalla e información adicional útil, debajo se encuentra el área de

trabajo (en la pantalla Main Menu, el área de trabajo es un menú de opciones), a

continuación figura la línea de mensajes y el indicador de comandos y, por último,

está el menú de comandos.

En Main Menu, puede seleccionar opciones para leer la ayuda en línea, componer

y enviar un mensaje, mirar un índice de mensajes de correo, abrir o mantener las

carpetas de correo, actualizar la libreta de direcciones, configurar pine y salir de

pine. También hay opciones adicionales en la parte inferior de la pantalla.

Para escribir un mensaje, presione [C] (abreviación de Compose). Aparecerá la

pantalla Compose Message.

Page 145: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

145

Según si el cursor se sitúa sobre un campo u otro de la pantalla, se presentarán

diferentes comandos. Para ver otros comandos disponibles al situar el cursor

sobre el campo Message Text, presione [Ctrl]-[G] (Obtener ayuda). Por ejemplo,

para desplazarse, utilice las teclas de flecha o [Ctrl]-[N] (Línea siguiente) y [Ctrl]-

[P] (Línea anterior); para corregir los errores tipográficos, utilice las teclas

[Retroceso] o [Supr].

En el menú de comandos se ha utilizado el carácter ^ para indicar que se trata de

una tecla de control. Este carácter significa que debe mantenerse presionada la

tecla Control ([Ctrl]) simultáneamente a la letra correspondiente de cada comando.

Si desea salir de Pine, presione [Q] (Salir).

Para ver un mensaje en la pantalla Message Index, utilice las teclas de flecha

para resaltar el mensaje que desee ver. Presione [V] (Ver mensaje) o [Intro] para

leer un mensaje seleccionado. Para ver el siguiente mensaje, presione [N]

(Siguiente mensaje). Para ver el mensaje anterior, presione [P] (Mensaje anterior).

Para volver del mensaje al índice de mensajes, presione [I] (Índice).

Page 146: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

146

Para obtener información adicional sobre pine, consulte la página del manual de

pine. Para ver esta página del manual, escriba el comando man pine en el indicador

de comandos de shell.

Uso de mutt

Mutt es un cliente de correo basado en texto de reducido tamaño pero muy eficaz

para sistemas operativos UNIX.

El fichero de configuración de Mutt, ~/.muttrc., confiere a mutt una gran flexibilidad y

capacidad de configuración. También es este fichero el que puede ocasionar

problemas a los nuevos usuarios. El número de opciones que mutt tiene

disponibles es verdaderamente sorprendente. mutt permite al usuario controlar

todas las funciones que mutt utiliza para enviar, recibir y leer el correo. Al igual

que sucede con cualquier otro tipo de software de estas características, lleva

mucho tiempo comprender las funciones y dominar lo que se puede hacer con

ellas.

La mayoría de las opciones se llaman utilizando los comandos set o unset, bien con

valores booleanos o de cadena. Por ejemplo, set folder = ~/Mail.

Todas las opciones de configuración se pueden cambiar en cualquier momento si

se escriben dos puntos ([:]) seguidos del comando correspondiente. Por ejemplo,

:unset help desactiva las útiles sugerencias del comando del teclado en la parte

superior de la pantalla. Para volver a activar estas sugerencias, presione :set help.

Si no puede recordar el comando que desea utilizar, siempre podrá utilizar una

función para rellenar la ficha que le será de ayuda.

No tiene que escribir todos los comandos de configuración preferidos cada vez

que ejecute mutt. Puede guardarlos en un fichero que se cargue en el momento

Page 147: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

147

de iniciar el programa. Este fichero de configuración debe guardarse en el

directorio principal y se tiene que denominar ~/.muttrc o ~/.mutt/muttrc.

Al lanzar mutt, lo primero que verá es una pantalla con una lista de los mensajes

de correo electrónico. Este menú inicial se denomina índice.

Estos mensajes se almacenan en una carpeta de correo predeterminada que se

suele denominar mailspool, lo que sugiere la idea de una bandeja de entrada.

Utilice las teclas [K] y [J] del teclado para mover el cursor hacia arriba y hacia

abajo por la lista de mensajes

En las vistas de índice o localizador, utilice la tecla [R] para contestar a un

mensaje o la tecla [M] para crear uno nuevo. Mutt le pedirá que defina la dirección

To: y la línea Subject: . A continuación, se lanzará un editor de texto (definido por

la variable de entorno $EDITOR en el fichero de configuración) con el que podrá

componer el mensaje.

Después de editar su correo electrónico, Mutt abrirá el menú de composición,

donde puede ajustar las cabeceras de los mensajes, cambiar la codificación,

Page 148: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

148

agregar ficheros adjuntos o, simplemente, presionar la tecla [Y] que significa sí

para enviar el correo electrónico.

Para obtener más información sobre Mutt, consulte las páginas del manual de

muttrc y mutt (escriba man muttrc o man mutt en el indicador de comandos de shell).

También puede consultar el manual mutt que será muy útil. El manual mutt se

instala en /usr/share/doc/mutt-1.2.x, donde x es el número de versión del programa mutt

instalado en el sistema.

Page 149: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

149

FUENTES DOCUMENTALES DE LA SEGUNDA UNIDAD

Referentes Bibliográficos:

RICHARD Petersen, Linux Manual de Referencia. Osborne McGraw-Hill. 1998, España. ISBN: 84-481-0812-4. Páginas: 894.

THOMAS Schenk et al, Administración de Red Hat Linux. Prentice Hall. 2000. España. ISBN: 84-205-3124-3. Páginas: 1148.

STEVE Shah, Manual de Administración de Linux. Osborne McGraw-Hill. 2000, España. ISBN: 84-481-2892-3. Páginas: 545.

STEVE Maxwell, Red Hat Linux Herramientas para la Administración de Redes. McGraw-Hill. 2001, Bogotá - Colombia. ISBN: 958-41-0220-6. Páginas: 697.

Diplomado Linux. Editorial UNAD. 2002, Bogotá – Colombia. Nivel básico, nivel 2, nivel 3 y nivel 4.

Cibergrafía:

http://www.linuxencd.com/descargar/Fedora-Core http://es.wikipedia.org/wiki/Linux http://www.linux-es.org/ http://www.linuxparatodos.net/ http://www.gnu.org/home.es.html http://www.todo-linux.com/ http://www.planetalinux.com.ar/ http://www.espaciolinux.com/ http://www.linuxespanol.com/ http://www.monografias.com/trabajos14/linux/linux.shtml http://www.redes-linux.com/ http://www.gacetadelinux.com/ http://www.diariolinux.com/ http://www.ciberdroide.com/misc/donde/dondelinux.html http://structio.sourceforge.net/guias/AA_Linux_colegio/AA_Linux_colegio.html http://www.redhat.es/ E-Books:

http://www.it.uc3m.es/tlp/docs/AprendaUnix.pdf

Page 150: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

150

TERCERA UNIDAD

3: UTILIDADES, HERRAMIENTAS, REDES Y SERVICIOS WEB

3.1 CAPITULO 1: OFIMATICA CON OPENOFFICE, PROGRAMACION BÁSICA

CON SHELLS

OpenOffice.org es una suite ofimática de software libre y código abierto que

incluye herramientas como procesador de textos, hoja de cálculo, presentaciones,

herramientas para el dibujo vectorial y base de datos. Está disponible para

muchas y diversas plataformas, como Microsoft Windows, sistemas de tipo Unix

con el Sistema X Window como GNU/Linux, BSD, Solaris y Mac OS X. Está

pensado para ser compatible con Microsoft Office, con quien compite. Soporta el

estándar OpenDocument para el intercambio de datos, y puede ser utilizado sin

coste alguno.

OpenOffice.org está basado en la base del código de StarOffice, una suite

ofimática desarrollada por StarDivision y adquirida por Sun Microsystems en

Agosto de 1999, que todavía existe. El código fuente de la suite fue liberado en

Julio de 2000, con la intención de hacer frente al dominio en el mercado de

Microsoft Office proporcionando una alternativa abierta, de bajo coste y alta

calidad. El código fuente de la aplicación está disponible bajo la licencia LGPL.Las

versiones más recientes de StarOffice están basadas en el código base de

OpenOffice.org; de forma similar a la relación existente entre Netscape Navigator y

Mozilla.

El proyecto y el programa son denominados "OpenOffice" de forma informal, pero

los organizadores del proyecto dicen que este término es una marca registrada en

posesión de otra empresa, obligándoles a adoptar "OpenOffice.org" como nombre

formal, y abreviado como OOo.

Page 151: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

151

Existe una versión portátil de OpenOffice.org que puede ser transportada y usada

directamente desde una memoria USB sin necesidad de instalarse en el

computador.27

Características de OpenOffice.org

El paquete OpenOffice.org contiene varias aplicaciones para la creación y la

modificación de documentos, hojas de cálculo, presentaciones y arte. Incluye

templates, formas y asistentes de configuración para la creacion rápida de

documentos profesionales básicos y presentacines.

Aplicación Compatibilidad del

fichero

Tipos de documentos

OpenOffice.org Writer .sxw, .sdw, .doc, .rtf, .txt,

.htm/.html

Se usa para la creación

de cartas en estilo formal,

informes, redacciones,

newsletters.

OpenOffice.org Calc .sxc, .dbf, .xls, .sdc, .slk, .csv,

.htm/.html

Se usa para la creación

de hojas de cálculo,

gráficos, tablas,

directorios, agenda de

direcciones, recibos y

facturas, presupuestos y

pequeñas bases de

datos.

OpenOffice.org Impress sxi, .ppt, .sxd, .sdd Se usa para las

presentaciones

27 http://www.openoffice.org

Page 152: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

152

académicas,

presentaciones de web,

conferencias.

3.1.1. Lección 1: Open Writer

Escribir documentos con OpenOffice.org es parecido a las aplicaciones de los

procesadores de texto que ya ha usado anteriormente. Un procesador de texto es

como un editor de textos pero tiene características adicionales que le permiten

formatear, diseñar e imprimir sus documentos sin necesidad de memorizar tipos

de formatos complicados o códigos.El OpenOffice.org Writer es un poderoso

precesador de textos que se caracteriza por el formato WYSIWYG.

Para arrancar el OpenOffice.org Writer desde el panel del escritorio, elija Main

Menu => Office => OpenOffice.org Writer; para hacerlo desde el indicador de

comandos de la shell escriba el comando oowriter.

Page 153: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

153

La interfaz priincipal en el área para la modificación del documento ( el espacio en

blanco en el medio de la pantalla en el que escribe el texto). En la parte de arriba

de la pantalla se encuentrasn diversas funciones que aparecen en barras de

herramientas que controlan el tamaño de la letra, el tipo de letra, justificaciones

(para alinear el texto hacia la derecha, al centro o a la derecha) así como otros

botones para el formteo del documento. También hay una caja de texto que le

permite escribir en la posición exacta de un documento en el ordenador y cargar el

documento en el área de modificación. Puede encontrar botones para abrir, salvar

e imprimir documentod así como botones para crear nuevos documentos (que

abre una hoja en blanco en la que puede escribri un nuevo documento).

En el margen izquierdo de la pantalla, hay uan barra de herramientas con botones

para la ortografía, para señalar las palabra mal escritas, para la búsqueda de

palabras y frases y otra serie de funciones. Si se pone con la flecha del ratón en

uno de estos botones, aparece un pequeña explicación sobre para qué sirve el

botón. Puede encontrar más información pulsando en Ayuda.

Puede comenzar a escribir inmediatamente el texto en el área de modificación del

documento usando las configuraciones predeterminadas. Para salvar el texto,

haga click en Salvar button . Puede escoger el tipo de formato del fichero en

el menú desplegable Tipo de fichero. El tipo de fichero predeterminado se adapta

solamente a los ficheros en los que esté usando las aplicaciones del

OpenOffice.org. Sin embargo, para los ficheros que tenga uw distribuir a los

usuarios de Microsoft Office o si está modificando un fichero que se mandó por e-

mail como fichero .doc, puede salvarlo como tipo de fichero Microsoft Word de

manera que los otros usuarios lo puedan abrir en Microsoft Word.

Aunque el OpenOffice.org Writer es útil para la modificación de documentos en

general, puede tambien añadir imágenes, gráficos y tablas para completar el texto

o para mejorar la presentación del documento. Para añdir imágenes, haga click en

Page 154: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

154

Introducir => Graacute; fico => Del fichero, y elija la imagen del fichero

desplegable. La imagen aparecerá en donde haya situado el cursor y se puede

aumentar o disminuir según sus necesidades.

Una vez que ha creado el documento, puede salvarlo en cualquier formato.

3.1.2. Lección 2: Open Calc

OpenOffice.org Calc es una aplicación para la creación de hojas de cálculo que

le permite entrar y manipular datos en celdas organizadas en columans y filas.

Puede llevar a cabo cálculos en grupos de celdas (añadiendo o sustrayendo una

columna de celdas) o crear gráficos basdos en grupos de celdas. Puede

incorporar hojas de cálculo en documentos profesionales.

Para arrancar la aplicación OpenOffice.org Calc desde el panel del escritorio,

seleccione Main Menu => Office => OpenOffice.org Calc. Desde el indicador de

comandos de la shell, escriba el comando oocalc.

Page 155: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

155

OpenOffice.org Calc le permite introducir y manipular datos personales o

empresariales. Si necesita crear gráficos o tablas para las presentaciones de la

universidad o del trabajo, OpenOffice.org tiene diversos templates de graficos.

Seleccione las áreas en las que desee crear el gráfico o la tabla y luego haga click

en Introducir => Tabla.... En la pantalla Tabla aparecen los datos en el espacio

par escribir el texto para que ustedlos personalice de otra manera si lo desea.

Haga click en Siguiente para mostrar los diversos tipos de tablas y gráficos que

puede crear con los datos. Elija el estilo y haga click en Crear. El gráfico o la tabla

aparecerán en la hoja de cálculo de la pantalla. Puede imprimirlo o salvarlo como

objeto que podrá usar más adelante en los documentos OpenOffice.org Writer o

en las presentaciones OpenOffice.org Impress. 28

28 http://www.openoffice.org

Page 156: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

156

3.1.3. Lección 3: Open Impress

OpenOffice.org Impress es una herramienta gráfica que le puede ayudar a hacer

que su presentación sea más convincente.

Para arrancar OpenOffice.org Impress desde el panel del escritorio, seleccione

Main Menu => Office => OpenOffice.org Impress. Desde el indicador de

comandos escriba el comando ooimpress.

OpenOffice.org Impress contiene diversa características AutoPilot que le permite

crear presentaciones con un conjunto de templates de estilo. Puede crear páginas

para la presentación con listas de puntos, gráficos o imágenes. Puede incluso

importar gráficos y tablas de la aplicación OpenOffice.org Calc a las hojas de la

presentación.

Page 157: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

157

Cuando arranca por primera vez la aplicación OpenOffice.org Impress, verá la

pantalla de la presentación en la que se le pedirá información básica sobre el tipo

de presentación que desea crear. Puede elegir el estilo de las páginas, la manera

en la que desea realizar la presentación (en papel, en transparencias para los

proyectores o en un monitor) asó como efectos visuales que desea aplicar a la

presentación desde el ordenador.

Una vez que ha escogido las preferencias de la herramienta AutoPilot, puede

elegir el tipo de página que desea crear. Puede selccionar el tipo predeterminado

Page 158: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

158

de la lista o empezar una página en balnco y personalizarla. Para crear páginas

nuevas, haga click en Introducir página... en la barra de herramientas flotante y

aparecerá una pantalla desplegable que le permitirá escoger el estilo de la nueva

página. Puede crear tantas páginas como necesite para la presentación.

Puede visualizar la presentación en cualquier momento seleccionando Mostrar

página del menú desplegable. La presentación ocupará toda la pantalla, para salir

haga click en en cada una de las páginas hasta que llegue a la última o pulse

[Esc].

Puede salvar la presentación en diversos formatos como en el formato nativo de

OpenOffice.org Impress (por ejemplo, mypresentation.sxi), en el formato Microsoft

PowerPoint (mypresentation.ppt),o en el formato StarImpress (mypresentation.sdd).

Puede imprimir la presentación en palpel normal o en transparencias haciendo

click en Fichero => Imprimir.29

3.1.4. Lección 4: Introducción a la programacion en gnu/linux

Módulos de Perl

Introducción a los módulos de perl

Los paquetes de módulos de perl añaden objetos útiles al lenguaje Perl. Los

módulos utilizados por otros paquetes a lo largo del BLFS están listados aquí,

junto con sus dependencias.

PDL-2.3.4

Astro-FITS-Header-2.2

Gtk-Perl-0.7008

XML-Writer-0.4

29 http://es.wikipedia.org

Page 159: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

159

XML-Parser-2.31

Parse-RecDescent-1.80

Instalación de los módulos de perl

Instala los módulos perl ejecutando los siguientes comandos:

perl Makefile.PL &&

make &&

make install

A continuación tienes las instrucciones de instalación para módulos que parecen

estar rotos a día de hoy.

Gtk-Perl-0.7008:

perl Makefile.PL --without-guessing &&

cp Gtk/Makefile Gtk/Makefile.bak &&

sed '/^OBJECT/s/xs/./g' Gtk/Makefile.bak > Gtk/Makefile &&

cp Gtk/Makefile Gtk/Makefile.bak &&

sed '/^OBJECT/s/build/./g' Gtk/Makefile.bak > Gtk/Makefile &&

make &&

make install

Python

Introdución a Pitón

El paquete Python contiene el entorno de desarrollo python. Es útil para

programación orientada a objetos, escribir guiones, hacer prototipos de programas

extensos o desarrollarlos por completo.

Python utilizará:

Page 160: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

160

expat-1.95.6

Instalación de Python

Instala Python ejecutando los siguientes comandos:

./configure --prefix=/usr &&

make &&

make install

Contenido

El paquete Python contiene python y pydoc

Descripciones

Python es un lenguaje de programación interpretado e interactivo orientado a

objetos.

Pydoc es la herramienta de documentación de Python.

gcc

Introducción a gcc

Hay dos razones para instalar gcc. primera es que los desarrolladores del núcleo

han certificado a gcc omo el compilador preferido para compilar el núcleo. La otra

razón (y la más convincente) es que algunos paquetes comerciales de código

cerrado (como Netscape Navigator o Yahoo Pager) y paquetes precompilados

(como Mozilla) están enlazados con las librerías de gcc.

Instalación de gcc

Aplica los dos parches, uno para corregir la compilación y el otro para evitar que

se ejecute el guión fixincludes.

patch -Np1 -i ../gcc.patch &&

Page 161: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

161

patch -Np1 -i ../gcc-no-fixinc.patch

El equipo de desarrollo de gcc recomienda que la construcción se realice en un

directorio aparte.

Mkdir../gcc-build &&

Cd../gcc-build

Configura gcc para que construya los compiladores de C y C++ y active las

opciones relacionadas con C++.

../gcc/configure \

--prefix=/opt/gcc2 \

--enable-shared --enable-languages=c,c++ \

--enable-threads=posix

Compila e instala gcc y elimina los directorios innecesarios (ajusta el identificador

de la máquina de acuerdo con tu arquitectura).

make bootstrap &&

make install &&

ln -sf gcc /opt/gcc2/bin/cc &&

rm -rf /opt/gcc2/{i686-pc-linux-gnu,info,man}

Toma nota de la librería que se instaló.

L=`find /opt/gcc2/lib -name "*libstdc++*.so" -type f` &&

IL=`basename $L`

Mueve las librerías de C++ al directorio estándar de librerías para no tener que

añadir /opt/gcc2/lib a /etc/ld.so.conf.

Page 162: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

162

for i in /opt/gcc2/lib/*.so*; do mv -f $i /usr/lib;

ln -sf /usr/lib/`basename $i` /opt/gcc2/lib; done

Crea los enlaces requeridos por los paquetes comerciales y precompilados.

ln -sf $IL /usr/lib/libstdc++-libc6.1-1.so.2 &&

ln -sf $IL /usr/lib/libstdc++-libc6.2-2.so.3 &&

ln -sf $IL /usr/lib/libstdc++-libc6.3-2.so.3

Configuración de gcc2lib

Información sobre la configuración

Como muchas otras librerías, no necesita configuración, salvo que el directorio de

la librería, por ejemplo /usr/lib o /usr/local/lib debe aparecer en /etc/ld.so.conf para

que ldd pueda encontrar las librerías compartidas. Después de comprobar si este

es el caso, se debe ejecutar /sbin/ldconfig mientras estás como root.

Las instrucciones de arriba crean los enlaces simbólicos que necesitan los

paquetes precompilados de BLFS. Puede que necesites crear otros enlaces

simbólicos según tus necesidades.

Si sólo necesitas las librerías de gcc-2.95.3, puedes borrar /opt/gcc2.

Cuando necesites usar gcc-2.95.3 en vez del compilador instalado en el sistema,

agrega /opt/gcc2/bin al principio de tu PATH antes de compilar el paquete en

cuestión.30

30 http://www.google.com

Page 163: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

163

Contenido

El paquete gcc-2.95.3 contiene los compiladores C y C++ de gcc y la librería

libstdc++.so de gcc que necesitan varios paquetes comerciales y precompilados.

j2sdk

Introducción a j2sdk

El paquete j2sdk contiene el entorno de desarrollo de Java de Sun. Sirve para

desarrollar programas java y proporciona el entorno de ejecución necesario para

ejecutar dichos programas. También incluye un añadido (plugin) para que los

navegadores puedan ejecutar programas java.

El JDK viene en dos sabores, un binario precompilado y un paquete fuente. El

binario precompilado está enlazado con las librerías gcc2. Debido a

incompatibilidades entre gcc2 y gcc3, el plugin java precompilado causa

problemas cuando los paquetes compilados con gcc3 (por ejemplo, mozilla)

intentan cargarlo. El paquete fuente requiere que te registres en el sitio de

desarrolladores de Sun y que aceptes la Licencia Comunitaria de Sun (Sun

Community Source License). El código fuente no puede ser descargado desde

ciertos países, de modo que para los usuarios de esos países la única opción es

usar el binario.

Incluso si planeas compilar el código fuente del jdk, necesitarás descargar la

versión binaria para construir el jdk. Sigue el enlace de arriba para descargar los

paquetes fuente y binario. Cuando descargues el código fuente descarga también

el paquete con los ficheros de cabecera de mozilla, disponible en la misma

dirección.

Descarga los parches para el código fuente de j2sdk en

http://downloads.linuxfromscratch.org/blfs-patches.

Page 164: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

164

Si tienes problemas construyendo el jdk, consulta la receta javafromscratch en

http://www.linuxfromscratch.org/~tushar/ para obtener información más detallada.

Para los usuarios que no puedan descargar el código fuente del j2sdk, debido a

las restricciones de la licencia, blackdown tiene una versión precompilada basada

en gcc3. Mira en http://www.blackdown.org/ para más información.

j2sdk depende de:

xfree86-4.3.0, zip-2.3, unzip-5.50,

cpio-2.5, tcsh-6.12 y gcc-2.95.3

Instalación de j2sdk

Ambas versiones se instalarán en paralelo. Puedes elegir si mantener una o

ambas.

Instala la versión binaria del jdk ejecutando los siguientes comandos:

VERSION=1.4.1_02 &&

MV=`echo $VERSION | cut -d "_" -f 1,1` &&

V=`echo ${VERSION} | sed -e "s/\./_/g"` &&

T=`grep -a tail j2sdk-${V}-linux-i?86.bin | cut -f 2 -d " "` &&

tail $T j2sdk-${V}-linux-i?86.bin > install.sfx.$$ &&

chmod +x install.sfx.$$ &&

./install.sfx.$$ &&

cd j2sdk${VERSION} &&

install -d /opt/j2sdk/j2sdk-precompiled-${MV} &&

mv * /opt/j2sdk/j2sdk-precompiled-${MV}

Ahora, la versión binaria está instalada.

Page 165: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

165

Si no quieres compilar el código fuente, pasa a la sección de configuración.

Añade el JDK compilado a la variable PATH.

export JAVA_HOME=/opt/j2sdk/j2sdk-precompiled-${MV} &&

export PATH=$PATH:${JAVA_HOME}/bin

Descomprime el código fuente y aplica los parches:

VERSION=1.4.1 &&

V=`echo $VERSION | sed -e "s/\./_/g"` &&

unzip j2sdk-${V}-src-scsl.zip &&

unzip j2sdk-${V}-mozilla_headers-unix.zip &&

patch -Np1 -i j2sdk-${VERSION}-fix-intl-files.patch &&

patch -Np1 -i j2sdk-${VERSION}-link-missing-libs.patch &&

patch -Np1 -i j2sdk-${VERSION}-remove-fixed-paths.patch &&

patch -Np1 -i j2sdk-${VERSION}-syntax-fixes.patch &&

patch -Np1 -i j2sdk-${VERSION}-use-included-motif.patch

Establece algunas variables que afectan a la construcción:

export ALT_BOOTDIR="$JAVA_HOME" &&

unset JAVA_HOME &&

unset CLASSPATH &&

unset CFLAGS &&

unset CXXFLAGS &&

unset LDFLAGS &&

export ALT_DEVTOOLS_PATH="/usr/bin" &&

export BUILD_NUMBER="blfs-`date +%s`" &&

export DEV_ONLY=true &&

export ALT_MOZILLA_PATH=$PWD &&

Page 166: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

166

export INSANE=true &&

export MAKE_VERBOSE=true &&

export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts

El motif incluido no se construye correctamente con los actuales glibc y xfree86.

Una solución es construir la librería de motif antes de compilar el j2sdk. Advierte

que la construcción de motif falla en la primera ejecución debido a algún error de

sintaxis. La solución más fácil y por fuerza bruta es volver a ejecutar el comando

make :)

cd motif/lib/Xm &&

make || make &&

cd ../../..

Crea e instala el j2sdk con los siguientes comandos. Habrá un montón de

mensajes sobre ficheros no encontrados que parecerán errores. Mientras la

compilación no se detenga, los mensajes son inofensivos, ignóralos.

cd control/make &&

make &&

cd ../.. &&

cd control/build/linux-i?86 &&

cp -a j2sdk-image /opt/j2sdk/j2sdk-1.4.1

Explicación de los comandos

T=`grep...: Determina la parte donde empieza el fichero tar en el archivo

autoextraible.

Page 167: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

167

patch -Np1 -i j2sdk-${VERSION}-fix-intl-files.patch : Este parche corrige mensajes

duplicados en los ficheros intl.

patch -Np1 -i j2sdk-${VERSION}-link-missing-libs.patch : Este parche añade unas

librerías para corregir los símbolos sin resolver.

patch -Np1 -i j2sdk-${VERSION}-remove-fixed-paths.patch : El guión de construcción

quiere que los binarios estén en lugares específicos. Este parche hace que se

utilice la variable de entorno PATH para buscarlos.

patch -Np1 -i j2sdk-${VERSION}-syntax-fixes.patch : Este parche corrige la sintaxis para

gcc3.

patch -Np1 -i j2sdk-${VERSION}-use-included-motif.patch : Este parche renombra la

librería motif interna para evitar conflictos con una versión imcompatible instalada

en el sistema.

export ALT_BOOTDIR="$JAVA_HOME" : Esta variable establece la localización del

JDK precompilado que se utilizará para compilar el código fuente del JDK.

export ALT_MOZILLA_PATH=$PWD : Esto establece la variable que apunta a donde

has descomprimido los ficheros de cabecera de mozilla.

export ALT_DEVTOOLS_PATH="/usr/bin" : Esto cambia la localización donde el guión

de construcción encuentra los ejecutables necesarios.

export BUILD_NUMBER="blfs-`date +%s`" : Esto te ayudará a identificar esta versión

compilada del entorno de ejecución y máquina virtual, añadiendo esta información

a la versión, en la salida de "java -version".

export DEV_ONLY=true : Este comando evita compilar la documentación y elimina

una dependencia con rpm.

Page 168: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

168

unset JAVA_HOME : Esto borra la variable JAVA_HOME y evita problemas durante la

compilación.

unset CLASSPATH : Esto borra la variable CLASSPATH y evita problemas durante la

compilación.

unset CFLAGS... : Estas opciones causan una mala compilación. Nunca las uses.

export INSANE=true : A menos que especifiques que estás loco (insane), la

compilación no procederá. La plataforma certificada para compilar es RedHat 6.1.

Esta variable asegura que todos los errores por compilar en una plataforma no

certificada se conviertan en advertencias.

export MAKE_VERBOSE=true : Permite que se muestre en la consola el comando

actual de compilación.

export ALT_CACERTS_FILE... : Epecifica el fichero de certificados a usar.

Configuración de j2sdk

Información sobre la configuración

Tenemos dos Java SDKs instalados en /opt/j2sdk. Decide cual quieres utilizar por

defecto. Por ejemplo, si decides utilizar el j2sdk compilado a partir de los fuentes,

haz lo siguiente:

ln -nsf j2sdk-1.4.1 /opt/j2sdk/j2sdk

Añade las siguientes líneas a tu fichero de inicio del intérprete de comandos (p.e.

/etc/profile).

export JAVA_HOME=/opt/j2sdk/j2sdk

export PATH=$PATH:$JAVA_HOME/bin

Page 169: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

169

Añade $JAVA_HOME/man a tu variable MANPATH o a /etc/man.conf

El plugin java está en el directorio $JAVA_HOME/jre/plugin/i?86/ns610/. Crea un enlace

simbólico al fichero en este directorio desde tu directorio de plugins.

Descripciones

Appletviewer ejecuta subprogramas (applets) Java fuera del contexto de un

navegador.

Extcheck comprueba en un fichero jar los conflictos en el título y la versión con

cualquier extensión instalada en el software JDK.

Idlj genera vínculos Java a partir de un fichero IDL.

Jar combina múltiples ficheros en un archivo JAR simple.

Jarsigner firma ficheros JAR (Java ARchive) y verifica las firmas e integridad de un

JAR firmado.

Java lanza una aplicación Java iniciando el entorno de ejecución Java, cargando

la clase especificada e invocando el método principal de esa clase.

Javac lee definiciones de clases e interfaces, escritas en el lenguaje de

programación Java, y las compila en un fichero de clases de código de bytes.

Javadoc procesa las declaraciones y comentarios de documentación en un

conjunto de ficheros fuente Java y genera un conjunto de páginas HTML con la

descripción de clases, interfaces, constructores, métodos y campos.

Javah genera las cabeceras C y los ficheros fuente necesarios para implementar

métodos nativos.

javap desensambla un fichero de clases Java.

Page 170: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

170

jdb es un depurador simple en línea de comandos para clases Java.

Rmiregistry crea e inicia un registro de objeto remoto en el puerto indicado de la

máquina actual.

Serialver devuelve el serialVersionUID para una o más clases en un formato

adecuado para copiarlo en una clase envolvente.

Librep

Introducción a librep

El paquete librep contiene un sistema Lisp. Es útil para hacer guiones o para

aplicaciones que puedan usar el intérprete Lisp como un lenguaje de extensión.

librep depende de:

gmp-4.1.2 y gdbm-1.8.3

librep utilizará:

readline-4.3

Instalación de librep

Instala librep ejecutando los siguientes comandos:

./configure --prefix=/usr --libexec=/usr/lib --mandir=/usr/share/man \

--infodir=/usr/share/info &&

make &&

make install

Page 171: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

171

Explicación de los comandos

--libexec=/usr/lib: Este comando instala los ficheros en /usr/lib/rep en lugar de en

/user/libexec/rep.

Contenido

El paquete librep contiene rep y las librerías librep.

Descripciones

rep es el intérprete Lisp.

Las librerías librep contienen las funciones necesarias para el intérprete

Ruby

Introducción a ruby

El paquete ruby contiene el entorno de desarrollo ruby. Es útil para guiones

orientados a objetos.

Instalación de ruby

Instala ruby ejecutando los siguientes comandos:

./configure --prefix=/usr &&

make &&

make install

Contenido

El paquete ruby contiene ruby e irb.

Page 172: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

172

Descripciones

Ruby es un lenguaje de guiones interpretado para una rápida y fácil programación

orientada a objetos.

Irb es la interfaz interactiva para ruby.31

3.1.5. Lección 5: Programacion del Shells Bash

El shell es el encargado de interpretar las pulsaciones que introduzcamos desde la

línea de comandos. Existen varios shells en GNU/Linux. El predeterminado es

bash.

Arrancar y detener el sistema

shutdown -h now

halt Apaga el sistema en el momento y no lo reinicia

shutdown -r 5 Apaga el sistema a los 5 minutos y lo reinicia

shutdown -r now

reboot Apaga el sistema en el momento y lo reinicia

startx Arranca el entorno gráfico

Acceder a Sistemas de Archivos y montarlos

mount -t iso9660

/dev/cdrom /mnt/cdrom

Monta el dispositivo de CD-ROM como "cdrom" y lo

pone a disposición en el directorio /mnt

mount -t msdos /dev/hdd

/mnt/dos

Monta el disco duro 'd' como "dos" con sistema de

archivos de MS-DOS y lo pone a disposición en el

directorio /mnt

mount -t vfat /dev/hda1 Monta la partición 1 del disco duro 'a' como "datos" con

31 http://www.linuxparatodos.com

Page 173: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

173

/mnt/datos sistema de archivos FAT y lo pone a disposición en el

directorio /mnt

umount /mnt/cdrom Desmonta la unidad de CD-ROM

Buscar archivos y texto dentro de los archivos

find / -name archivo Busca el archivo llamado "archivo" empezando en el

directorio raíz

find / -name "*cadena*" Busca un archivo que contenga la cadena "cadena",

empezando en el directorio raíz

updatedb

Crea o actualiza la base de datos de archivos en todos

los sistemas de archivos relacionados con el directorio

raíz de Linux

locate archivo

Busca el archico llamado "archivo" en la base de datos

de archivos del sistema (que debe estar actualizada con

'updatedb')

which archivo Muestra el subdirectorio que contiene el archivo

ejecutable llamado "archivo"

grep cadena /datos Busca todos los archivos que contengan la cadena

"cadena" en el directorio /datos

El sistema gráfico (X-Window)

xvidtune Lanza la herramienta de ajuste gráfico del servidor X

XF86Setup Lanza el menú de configuración del servidor X, que

permite probar las tarjetas gráficas de modo automático

Xconfigurator

Lanza otro menú de configuración del servidor X, que

también permite probar las tarjetas gráficas de modo

automático

Page 174: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

174

xf86config Lanza un menú de configuración del servidor X en modo

de texto

Mover, copiar, borrar, examinar archivos

ls

dir

Lista los archivos del directorio en el que nos

encontramos

ls -l Lista los archivos del directorio en el que nos

encontramos usando el formato largo

ls -F

Lista los archivos del directorio en el que nos

encontramos indicando, además, el tipo de archivo que

es.

ls -laC

Lista los archivos del directorio en el que nos

encontramos usando el formato largo, y distribuyéndolo

en columnas.

rm archivo Borra el archivo o directorio (siempre que éste esté

vacío) llamado "archivo"

rm -rf directorio Borra un directorio completo y todos los archivos y

subdirectorios contenidos en él

cp archivo

/home/directorio

Copia el archivo llamado "archivo" en el directorio

llamado "/home/directorio"

mv archivo

/home/directorio

Traslada el archivo llamado "archivo" al directorio

llamado "/home/directorio"

cat archivo Muestra el contenido del archivo llamado "archivo"

El shell BASH es una versión avanzada del shell bourne, que incluye la mayoría

de las características avanzadas que han sido desarrolladas para el shell Korn y

para el shell C.

Page 175: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

175

El shell BASH tiene una capacidad incorporada de edición de línea de órdenes

que le permite modificar con facilidad las órdenes que ha introducido antes de

ejecutarlas.

Un programa de shell combina órdenes de Linux de manera que permita realizar

una tarea determinada. El shell de Linux proporciona muchas herramientas de

programación con las que crear programas de shell. Puede definir variables y

asignar valores. También puede construir expresiones que efectúan operaciones

aritméticas o de comprobación. Puede combinar variables de shell, estructuras de

control, expresiones y ordenes de Linux para formar un programa shell.

Un guión del shell es un archivo de texto que contiene ordenes de Linux que

pueden ser introducidas con cualquier editor estándar. Puede ejecutar las

ordenes con sh o de la orden (.).

Puede hacer que un guión sea ejecutable estableciendo su permiso con la orden

chmod. El permiso de ejecución de la orden chmod se puede establecer utilizando

referencias simbólicas o absolutas.

Ordenes del shell BASH efectos

Break Sirve para salir de un bucle for, while o

un til.

Continue Se salta las ordenes restantes de un

bucle y continua con la siguiente

iteración.

Echo Visualiza valores

Eval Ejecuta líneas de ordenes

Exec Ejecuta una orden en lugar del proceso

en curso. No genera un shell

subordinado, utiliza el shell actual.

Page 176: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

176

Exit Permite salir del shell

Export var Genera una copia de la variable var

para cada shell subordinado.

History Lista los sucesos recientes del histórico

de sucesos.

Let “expresión” Evalúa una expresión aritmética,

relacional o una expresión de

asignación.

Read Lee una línea desde la entrada

estándar

Return Sale de una función

Set opc caract Activa o desactiva una característica

caract según lo que indique la opción

opc. Cuando se usa sola lista, todas las

variables que han sido definidas.

Shift Desplaza al la izquierda cada

argumento de la línea de ordenes, de

manera que el numero que se usa para

reverenciarlo disminuye en 1.

Test valor opción valor Compara dos argumentos

Unset Anula la definición de una variable

Argumento de línea de ordenes

$o Nombre de la orden de Linux

$n El enésimo argumento de la línea de

ordenes partiendo de 1:$1-$n.

$* Todos los argumentos de la línea de

ordenes, partiendo de 1: $1-$n.

$@ Los argumentos de la línea de órdenes,

puestos individualmente entre comillas.

Page 177: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

177

$# La cuenta de los argumentos de la línea

de ordenes

Variables de procesos

$$ El numero PID, la ID del proceso

(numero de identificación del proceso

actual).

$! El PID del trabajo de segundo plano

más reciente.

$? El estado de salida de la última orden

de Linux que ha sido ejecutada.

32

En conclusión Linux tiene tres tipos de shell, el shell BASH, el shell PDKSH y el

shell TCSH. El shell BASH incorpora la mayoría de las órdenes que se encuentran

en los shells PDKSH y TCSH, incluyendo caracteristicas tales como edición de

línea de órdenes, la utilidad history y los alias.

El shell BASH también cuenta con un conjunto de caracteristicas de shell que

puede activar o desactivar. Tres características de uso como son ignoreeof

(impide que se produzca salidas accidentales del sistema), noclobber (impide que

mediante la operación de redirección se sobrescriban archivos existentes) y

noglob (trata los caracteres especiales como si fueran caracteres ordinarios).33

32 Richard petersen. Linux manual de referencia.McGraw-Hill.pag.584,585 33 Thomas Schenk et al. Administración Red Hat Linux. Prentice Hall. Pag.863-888

Page 178: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

178

3.2 CAPITULO 2: GENERALIDADES SOBRE REDES GNU/LINUX

3.2.1. Lección 1: Script del Shell Bash

BASH esta basada en la shell de bourne y, por tanto, es completamente

compatible hacia atrás con dicha shell. Cualquier script generado para la shell de

bourne funcionara bajo bash, que es la shell predeterminada de red hat.

Cualquier cosa que podamos hacer habitualmente en bash lo podemos colocar en

un script e indicar a bash que lo ejecute. Los script de bash no tienen ninguna

función principal (main), a diferencia de otros lenguajes de programación mas

avanzados, pero bash implementa opciones como estructuras de control,

canalizaciones y asignación de alias.

Una de las cosas mas importantes es crear un código correcto consiste en añadir

comentarios apropiados.

La creación de nuestras propias variables en un script de bash es idéntica a

crearlas en la línea de comandos. Simplemente tendremos que teclear el nombre

de la variable, seguida por un símbolo de igual (=)y luego el valor que queramos

asignar a la variable. La sintaxis:

Nombre= valor.

Cuando se tiene un script de shell que contiene algún error, puede llevar mucho

tiempo encontrar y eliminar dichos errores. Bash tiene unas cuantas

características que ayudan a depurar los scripts de shell. Hay un argumento que

puede pasarse a bash y que imprime todos los comandos y sus argumentos a

medida que son ejecutados. Se trata de la opción –x. para usarla en un script de

shell, cambie la primera línea por lo siguiente:

#!/bin/bash –x

Page 179: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

179

La opción –x mostrara el punto exacto en el que se produzca cualquier error en el

programa.

Otra opción útil es –e coloca la shell en modo no interactivo, haciéndola salir

inmediatamente si falla cualquier comando.

Típico script `hola mundo'

#!/bin/bash

echo Hola Mundo

Este script tiene sólo dos líneas. La primera le indica al sistema qué programa

usar para ejecutar el fichero.

La segunda línea es la única acción realizada por este script, que imprime 'Hola

Mundo' en la terminal.

Si le sale algo como ./hello.sh: Comando desconocido., probablemente la primera

línea, '#!/bin/bash', está mal. Ejecute whereis bash, o vea 'encontrando el bash' para

saber cómo debe escribir esta línea.

Un script de copia de seguridad muy simple

#!/bin/bash

tar -cZf /var/my-backup.tgz /home/yo/

En este script, en vez de imprimir un mensaje en la terminal, creamos un tar-ball

del directorio home de un usuario. Esto NO pretende ser un script útil; más tarde

se ofrece un script de copia de seguridad más útil.

Page 180: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

180

3.2.2. Lección 2: Administracion de red

Linux dispone de los dos principales protocolos de red para sistemas UNIX:

TCP/IP y UUCP. TCP/IP (para los aficionados a los acrónimos, Transmisión

Control Protocol/Internet Protocol) es un conjunto de protocolos de red que

permite a sistemas de todo el mundo comunicarse en una única red conocida

como Internet. Con Linux, TCP/IP y una conexión a la red, puede comunicarse con

usuarios y máquinas por toda Internet mediante correo electrónico, noticias

(USENET news), transferencias de ficheros con FTP y mucho más. Actualmente

hay muchos sistemas Linux conectados a Internet.

La mayoría de las redes TCP/IP usan Ethernet como tipo de red física de

transporte. Linux da soporte a muchas tarjetas de red Ethernet e interfaces para

ordenadores personales, incluyendo el adaptador Ethernet D-Link de bolsillo para

ordenadores portátiles.

Pero dado que no todo el mundo tiene una conexión Ethernet en casa, Linux

también proporciona SLIP (Serial Line Internet Protocol), el cual permite

conectarse a Internet a través de un módem. Para poder usar SLIP, necesitará

tener acceso a un servidor de SLIP, una máquina conectada a la red que permite

acceso de entrada por teléfono. Muchas empresas y universidades tienen

servidores SLIP disponibles. De hecho, si su sistema Linux dispone de conexión

Ethernet y de módem, puede configurarlo como servidor de SLIP para otros

usuarios.

NFS (Network File System) permite fácilmente compartir ficheros con otras

máquinas de la red. FTP (File Transfer Protocol) permite la transferencia de

ficheros entre máquinas. El sistema proporciona la interface estándar de

programación por “sockets”, lo que virtualmente permite que cualquier programa

que use TCP/IP pueda ser llevado a Linux. El servidor Linux de X también soporta

Page 181: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

181

TCP/IP, permitiendo ver aplicaciones que están corriendo en otros sistemas sobre

su pantalla. UUCP (UNIX-to-UNIX Copy) es un viejo mecanismo usado para

transferir ficheros, correo electrónico y noticias entre máquinas UNIX.

La importancia de una administración adecuada

Todos los sistemas UNIX son distintos de una forma u otra y cada sistema

individual UNIX es distinto en la forma en que debe administrarse. Linux no es una

excepción. Las tareas de administración varían dependiendo, entre otras cosas,

del número de usuarios a administrar, los tipos de periféricos conectados al

conmutador, las conexiones de red y el nivel de seguridad necesaria.

Un administrador de sistema tiene que proporcionar a los usuarios del sistema un

entorno eficiente, seguro y fiable.

La delegación de las responsabilidades de administración varía de un sistema a

otro. En sistemas pequeños se asigna a un simple usuario la tarea de

administrador.

Si se trabaja en un entorno de red, la administración la realiza un administrador de

red.

Todos los sistemas Linux tienen un sólo usuario que puede realizar cualquier

operación en el computador denominado superusuario, con un nombre especial de

entrada llamado root.

La cuenta root

Los usuarios normales están restringidos normalmente para que no puedan dañar

a nadie más en el sistema, sólo a ellos mismos. Los permisos de los ficheros en el

sistema están preparados para que los usuarios normales no tengan permitido

borrar o modificar ficheros en directorios compartidos por todos los usuarios (como

son /bin y /usr/bin). Muchos usuarios también protegen sus propios ficheros con

los permisos adecuados para que otros usuarios no puedan acceder o modificar

éstos ficheros.

Page 182: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

182

Estas restricciones desaparecen para root. El usuario root puede leer, modificar

o borrar cualquier fichero en el sistema, cambiar permisos y pertenencias en

cualquier fichero, y ejecutar programas especiales, como pueden ser los que

particionan un disco o crean sistemas de ficheros. La idea básica es que la

persona o personas que ejecutan y cuidan del sistema entren como root cuando

sea necesario para realizar tareas que no pueden ser ejecutadas por un usuario

normal. Puesto que root puede hacer todo, es fácil cometer errores que tengan

consecuencias catastróficas cuando se trabaja utilizando esta cuenta.

3.2.3. Lección 3: Conjunto de Protocolos TCP/IP

Protocolo Descripción

Transporte

TCP Transmisión control protocol. Pone a

los sistemas en comunicación directa.

UDP User datagrama protocol(protocolo de

datagrama de usuario)

Encaminamiento

IP Internet protocol. Sirve para transmitir

datos.

ICMP Internet control message protocol. Para

mensajes de estado IP.

RIP Routing information protocol. Para

determinar el encaminamiento.

OSPF Open shortest path first. Determina el

encaminamiento.

Direcciones de redes

ARP Address resolution protocol. Determina

una dirección IP unica para los

sistemas.

Page 183: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

183

DNS Domain name service. Traduce

nombres de maquina a direcciones IP

RARP Reserve adress resolution protocol.

Determina las direcciones de los

sistemas.

Servicios de usuarios

FTP File transfer protocol. Transmite

archivos desde un sistema a otro

usando TCP.

TFTP Trivial file transfer protocol. Transmite

archivos usando UDP.

TELNET Entrada remota a otros sistemas de red

SMTP Simple mail transfer protocol. Transmite

correo electrónico entre sistemas.

Pasarela

EGF Exterior gateway protocol. Proporciona

encaminamiento para redes externas.

GGP Gateway+to+gateway. Proporciona

encaminamiento entre pasarelas entre

pasarelas Internet.

IGP Interior gateway protocol. Proporciona

encaminamiento para redes internas.

Servicios de redes

NFS Network file systems. Permite montar

sistemas de archivo en maquinas

remotas.

NIS Network information service. Mantiene

cuentas de usuario a lo largo de una

red.

Page 184: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

184

RPC Remote procedure cal. Permite que los

programas de sistemas remotos se

pueden comunicar.

BOOTP Boot protocol. Inicia el sistema usando

información de arranque que esta en el

servidor de la red.

SNMP Service network management protocol.

Proporciona mensajes de estado sobre

una configuración TCP/IP.

TCP/IP consta, realidad, de diferentes protocolos, cada uno de los cuales ha sido

diseñado para realizar una tarea concreta dentro de una red TCP/IP.

La configuración de una red TCP/IP en un sistema Linux no es tarea complicada

existen un conjuntos de archivos de configuración que el sistema utiliza para

establecer y mantener su red.

Dirección Descripción

Dirección de maquinas Es la dirección IP de su sistema. Tiene

una parte de red para identificar a la red

a la que pertenece y una parte de

maquina para identificar a su propio

sistema dentro de dicha red.

Dirección de red Dirección IP de su red.

Dirección de emisión Dirección IP para enviar, a la vez,

mensajes a todas las maquinas de su

red.

Dirección de pasarela Dirección IP de su sistema de pasarela,

si tiene una (normalmente, la parte de

red de su dirección de maquina con la

parte de maquina puesta 1).

Page 185: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

185

Mascara de red Parte de red de su dirección IP puesta

a 255, con la parte de maquina puesta

a 0(255.255.255.0)

Archivos

/etc/hosts Asocia nombres de maquinas con

direcciones IP

/etc/networks Asocia nombres de dominios con

direcciones de redes

/etc/rc.d/init.d/inet Guión para configurar su interfaz

ethernet al arrancar.

/etc/host.conf Lista opciones del discriminador

/etc/hosts lista los nombres de dominios de

maquinas remotas con sus direcciones

IP

/etc/resolv.conf Lista los nombres del servidor de

nombres de dominio, direcciones IP(del

servidor de nombres) y nombres de

dominio en los cuales pueden estar

localizadas las maquinas

remotas(search).

/etc/protocols Lista los protocolos que están

disponibles en su sistema

/etc/services Lista los servicios de red que están

disponibles, tales como ftp y telnet.

/etc/hostname Contiene el nombre de su sistema

La propiedad esencial de TCP es que usa IP para darle la impresión de una

conexión simple entre dos procesos en su equipo y la máquina remota, de modo

que no tiene que preocuparse de cómo y sobre qué ruta viajan realmente sus

datos. Una conexión TCP funciona básicamente como una tubería de doble

Page 186: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

186

sentido en la que ambos procesos pueden escribir y leer. TCP identifica los

extremos de tal conexión por las direcciones IP de los dos nodos implicados, y el

número de los llamados puertos de cada nodo. Los puertos se pueden ver como

puntos de enganche para conexiones de red. 34

Hardware requerido

Puede utilizar el TCP/IP para Linux sin hardware de red. Así podrá usar el

dispositivo “loopback” para conectarse con usted mismo. Aunque parezca poco

serio, hay algunos programas que necesitan conexiones de red “loopback” para

funcionar.

Configuración de TCP/IP

El sistema Linux ha sido instalado con el software TCP/IP. Esto incluye clientes

como telnet y ftp, comandos de administración como ifconfig y route (que suelen

estar en /etc) y ficheros de configuración de red, como /etc/hosts. También vamos

a suponer que el núcleo está compilado con el soporte TCP/IP.

Una vez hecho esto, se deben modificar los ficheros de configuración que usa

NET-2. Esta parte suele ser bastante simple, pero existen desacuerdos entre las

diferentes distribuciones de Linux. Los ficheros pueden estar en /etc o en /usr/etc o

incluso /usr/etc/inet. En el peor caso puede usar el comando find para localizar los

ficheros. A veces los ficheros están también repartidos por varios directorios y no

en uno sólo.

La configuración de red

Antes de configurar su sistema con TCP/IP necesita conocer cierta información

sobre la red. En muchos casos, el administrador local se la proporcionará.

34Richard Petersen. Linux manual de referencia.McGraw-Hill. Pag. 749-777

Page 187: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

187

Dirección IP: Es la dirección única de cada máquina, formada por números

separados por puntos. Por ejemplo, 128.253.153.54. El administrador de red le

dará este número. Si está configurando el modo “loopback” únicamente (esto es,

no tiene conexión a la red mediante SLIP o Ethernet) su dirección IP será la

127.0.0.1.

Máscara de red: Es un número similar a la dirección IP, que determina en qué

parte de la dirección IP se encuentra el número de subred, y qué parte especifica

el host en la subred. La máscara de red es un patrón de bits, que al ser

superpuesto a una dirección de la red, le dirá en qué subred se encuentra esa

dirección. Esto es muy importante para el rutado, y si usted nota que puede

comunicarse con gente de redes externas pero no con gente de su misma red, es

posible que tenga mal configurada la máscara de red. Los administradores de la

subred habrán seleccionado las máscaras en tiempo de diseño de la red, y serán

quienes deban darle esa información.

Dirección de red: Es el resultado de la operación lógica AND entre su dirección

IP y la máscara. Por ejemplo, si su dirección IP es la 128.253.154.32 y la máscara

es 255.255.255.0, su dirección de red será la 128.253.154.0. Con una máscara

255.255.0.0, la dirección sería 128.253.0.0. Si utiliza solo la configuración en

“loopback”, la dirección de red no existe.

Dirección de “broadcast”: Se utiliza para lanzar paquetes que deben recibir

todas las máquinas de la subred. Así pues, si el número de host de la subred se

obtiene mediante el último octeto de la dirección IP (o sea, la máscara es la

255.255.255.0), su dirección de “broadcast” será su dirección de red operado en

OR con 0.0.0.255. Por ejemplo, si su número IP es el 128.253.154.32, y la

máscara es la 255.255.255.0, la dirección de “broadcast” sería la

128.253.154.255. Observe que por motivos históricos, algunas subredes están

Page 188: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

188

configuradas para usar la dirección de red como dirección de “broadcast”. Si tiene

dudas, consulte con el administrador de la red.

Dirección de pasarela: En ocasiones puede tener varias pasarelas. Una pasarela

o gateway es simplemente una máquina que se encuentra a la vez en dos

subredes (tiene una dirección IP por cada una), y reparte los paquetes entre ellas.

En muchas subredes existe una sola pasarela para comunicarse con las redes

externas, pero en otras hay varias, una para cada subred adicional. Si su red está

aislada de otras, o su máquina se encuentra en configuración “loopback”, no

necesitará dirección de pasarela. Se trata de la dirección de la máquina que va a

ser su pasarela a otras máquinas que no estén en su misma subred. Muchas

veces es una dirección IP como la suya, sólo que terminada en “.1”. Por ejemplo,

si su dirección IP es la 128.253.154.32, la de la pasarela podría ser la

128.253.154.1. El administrador se la dirá en cualquier caso.

Dirección del servidor de nombres: Suele existir un servidor que traduce

nombres de máquinas a direcciones IP. Puede usted mismo ejecutar en su

máquina un servidor de nombres, el programa named, en cuyo caso su dirección

será la 127.0.0.1. A menos que realmente lo necesite, le recomendamos que

procure siempre usar otra máquina distinta. La configuración de named es otro

tema; y lo primordial aquí es que se comunique con la red. Puede tratar estos

asuntos más tarde. En una configuración “loopback” no es necesario este dato.

Page 189: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

189

3.2.4. Lección 4: Herramientas y utilidades centrales del sistema

UTILIDADES

GPM

Introducción a GPM

El paquete GPM (demonio del Ratón de Proposito General) contiene un servidor

de ratón para consola y xterm. No solo proporciona soporte general para cortar y

pegar, si no que su librería es usada por diverso software, como Links, para

proporcionar soporte completo del ratón a la aplicación. Es útil en escritorios,

especialmente si sigues las instrucciones de (Más allá de) Linux From Scratch.

¡Con frecuencia es mucho mas fácil (y menos propenso a errores) copiar y pegar

entre dos ventanas de consola que escribirlo todo a mano!

Instalación de GPM

Instala GPM ejecutando los siguientes comandos:

patch -Np1 -i ../gpm-1.20.1-segfault-1.patch &&

patch -Np1 -i ../gpm-1.20.1-silent-1.patch &&

LDFLAGS="-lm" ./configure --prefix=/usr --sysconfdir=/etc &&

make

Ahora, como usuario root:

make install &&

cp conf/gpm-root.conf /etc &&

ldconfig

Page 190: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

190

Explicación de los comandos

Export LDFLAGS="-lm”: La librería matemática debe enlazarse con gpm, ya que

se usa la función ceil () en el código de movimiento del cursor.

Configuración de GPM

Guión gpm para init.d

Instala el guión de incio /etc/rc.d/init.d/gpm:

Make install-gpm

Ficheros de configuración

/etc/gpm-root.conf y ~/.gpm-root: Los ficheros de configuración global y personal

de cada usuario para gpm-root.

/etc/sysconfig/mouse Este fichero contiene el nombre del dispositivo de ratón y el

protocolo que utiliza. Para crear este fichero ejecuta lo siguiente:

cat > /etc/sysconfig/mouse << "EOF"

# Inicio de /etc/sysconfig/mouse

MDEVICE="[tu dispositivo]"

PROTOCOL="[tu protocolo]"

GPMOPTS="[opciones adicionales]"

# Fin de /etc/sysconfig/mouse

EOF

Page 191: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

191

Información sobre la configuración

Valores de ejemplo para establecer MDEVICE, PROTOCOL y GPMOPTS son:

MDEVICE="/dev/psaux"

PROTOCOL="imps2"

GPMOPTS=""

Una lista de los protocolos conocidos puede obtenerse ejecutando gpm -t -help.

Tu MDEVICE depende del tipo de ratón que tengas. Por ejemplo, /dev/ttyS0 para

un ratón serie (en Windows esto es COM1), /dev/input/mice se utiliza normalmente

para ratones USB, y /dev/psaux para ratones PS2. GPMOPTS es el "todo cabe"

para cualquier opción adicional necesitada por tu hardware.

Contenido

Programas instalados: disable-paste, gpm, gpm-root, hltest, mev y mouse-test

Descripciones cortas

Disable-paste: Mecanismo de seguridad utilizado para desactivar el almacén de

copiado.

Gpm: Una utilidad para cortar y pegar y un servidor de ratón para consolas

virtuales.

Gpm-root: Un manejador predefinido para gpm. Se utiliza para dibujar menús en

la ventana raíz.

Hltest: Una aplicación simple de ejemplo usando la librería de alto nivel, destinado

a ser leido por programadores que intenten utilizar dicha librería.

Mev: Un programa para notificar eventos del ratón.

Page 192: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

192

Mouse-test: Herramienta para determinar el tipo de ratón y el dispositivo al que

está conectado.

Fcron

Introducción a Fcron

El paquete Fcron contiene un planificador de tareas periódicas pensado como

sustituto de Vixie Cron.

Instalación de Fcron

Fcron utiliza la facilidad cron de syslog para registrar todos los mensajes. Puesto

que LFS no establece esta facilidad en /etc/syslog.conf, debemos hacerlo antes de

instalar Fcron. Este comando añadirá la línea necesaria al actual fichero

/etc/syslog.conf:

cat >> /etc/syslog.conf << "EOF"

# Inicio de la adición de fcron a /etc/syslog.conf

cron.* -/var/log/cron.log

# Fin de la adición de fcron

EOF

El fichero de configuración ha sido modificado, por tanto recarga el demonio

sysklogd para activar los cambios.

/etc/rc.d/init.d/sysklogd reload

Page 193: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

193

Por razones de seguridad, necesitamos crear un usuario y un grupo sin privilegios

para fcron:

groupadd fcron &&

useradd -d /dev/null -c "Fcron User" -g fcron -s /bin/false fcron

Instala Fcron ejecutando los siguientes comandos:

. /configure --without-sendmail --with-answer-all=no &&

make

Ahora, como usuario root:

make install

Explicación de los comandos

--without-sendmail: Fcron usará un MTA instalado para enviarte por correo los

resultados del guión fcron. Si deseas usar esta característica, cambia la opción

por --with-sendmail=[ruta a tu MTA].

--with-answer-all=no: Tras instalar los ficheros, el guión make install entra en una

rutina de configuración. La primera prueba trata sobre la instalación de un guión

de arranque en el directorio /etc/rc.d/init.d con sus correspondientes enlaces

simbólicos en los niveles de arranque 2, 3, 4, y 5. La segunda es para detener

cualquier proceso fcron actual e iniciar uno nuevo. Puesto que esta es

probablemente tu primera instalación y queremos un guión de arranque basado en

la plantilla de BLFS, respondemos "n" en ambas pruebas. 35

35 http://www.google.com

Page 194: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

194

Configuración de Fcron

Ficheros de configuración

/etc/fcron.conf, /etc/fcron.allow, /etc/fcron.deny

Información sobre la configuración

No son necesarios cambios en los ficheros de configuración. Puedes encontrar

información sobre la configuración en la página de manual de fcron.conf.

Los guiones de fcron se escriben usando fcrontab. Consulta su página de

manual para ver los parámetros apropiados para tu situación.

Instala el guión de inicio /etc/rc.d/init.d/fcron.

make install-fcron

Si Linux-PAM está instalado, dos ficheros de configuración de PAM se instalan en

/etc/pam.d. Alternativamente, si no se usa /etc/pam.d, la instalación añadirá dos

secciones de configuración al fichero /etc/pam.conf existente. Deberías verificar que

los ficheros coinciden con tus preferencias. Modificalos según sea necesario para

cubris tus necesidades..

Contenido

Programas instalados: fcron, fcrondyn, fcronsighup y fcrontab

Librerías instaladas: Ninguna

Directorios instalados: /usr/share/doc/fcron-2.9.5.1 y /var/spool/fcron

Descripciones cortas

Fcron: El demonio de planificación de tareas.

Page 195: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

195

Fcrondyn: Una herramienta de usuario pensada para interactuar con un demonio

fcron que esté ejecutandose.

Fcronsighup: ordena a fcron que lea de nuevo las tablas.

Fcrontab: el programa usado para instalar, editar, listar y eliminar las tablas

usadas por fcron.

Hdparm

Introducción a hdparm

El paquete hdparm contiene una aplicación útil para controlar tanto las

controladoras ATA/IDE como los discos duros, para incrementar sus prestaciones

y, en ocasiones, mejorar la estabilidad.

Instalación de hdparm

Construye hdparm ejecutando el siguiente comando:

make

Como usuario root, instala hdparm:

make install

Advierte que, por defecto, hdparm se instala en /sbin pues algunos sistemas

pueden necesitarlo en el arranque antes de que /usr sea montado. Si deseas

instalar hdparm bajo la jerarquía /usr, entonces sustituye el comando anterior por

el siguiente:

Page 196: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

196

make binprefix=/usr install

Contenido

Programa instalado: hdparm

Librerías instaladas: Ninguna

Directorios instalados: Ninguno

Descripción corta

hdparm

Proporciona una interfaz en línea de comandos para varios ioctls soportados por el

controlador de dispositivo del subsistema ATA/IDE de Linux.

Which y sus alternativas

La presencia o ausencia del programa which en el libro LFS es posiblemente una

de las más polémicas discusiones que hemos tenido en las listas de correo,

provocando al menos una disputa en el pasado. Para poner de una vez un final

feliz a esto, presentamos dos de las varias opciones que hay para equipar tu

sistema con which. La cuestión sobre qué “which” usar la decides tu.

La primera opción es instalar realmente el programa which de GNU.

Instalación de which

Instala which ejecutando los siguientes comandos:

. /configure --prefix=/usr &&

make

Page 197: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

197

Ahora, como usuario root:

Make install

Contenido

Programa instalado: which

Librerías instaladas: Ninguna

Directorios instalados: Ninguno

Descripción corta

Which

Muestra la ruta completa de los comandos (del intérprete de comandos) instalados

en tu PATH.

El guión 'which'

La segunda opción (para aquellos que no quieran instalar el programa) es crear un

sencillo guión como usuario root:

cat > /usr/bin/which << "EOF"

#!/bin/bash

type -pa "$@" | head -n 1 ; exit ${PIPESTATUS[0]}

EOF

Chmod 755 /usr/bin/which

Chown root: root /usr/bin/which

Normalmente esto debería funcionar correctamente y es, posiblemente, la solución

más simple en muchos casos, pero no es la implementación más comprensiva.

Page 198: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

198

UnZip

Introducción a UnZip

El paquete UnZip contiene utilidades de extracción ZIP. Son útiles para extraer

ficheros de archivos ZIP. Los archivos ZIP se generan con las utilidades de PKZIP

o Info-ZIP, sobre todo en entornos DOS.

Instalación de UnZip

Instala UnZip ejecutando los siguientes comandos:

Patch -Np1 -i../unzip-5.51-fix_Makefile-1.patch &&

Patch -Np1 -i../unzip-5.51-fix_libz-1.patch &&

Patch -Np1 -i../unzip-5.51-dont_make_noise-1.patch &&

Cp unix/Makefile . &&

Make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK linux &&

Make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK linux_shlibz

&&

Make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK install &&

Cp -d libunzip.so* /usr/lib

Explicación de los comandos

Make prefix=/usr LOCAL_UNZIP=-DUSE_UNSHRINK linux: Este comando

sobreescribe la variable prefix, que está establecida a /usr/local en el Makefile,

establece la variable de entorno LOCAL_UNZIP para indicarle a UnZip que utilize

Page 199: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

199

el algoritmo shrinking basado en el algoritmo de compresión LZW y construye los

ejecutables para un sistema Linux. Las alternativas a 'linux' pueden verse con el

comando make list.

Make... linux_shlibz: Construye la librería compartida libunzip y enlaza UnZip con

ella y con zlib.

Contenido

El paquete UnZip contiene unzip, funzip, unzipfsx, zipgrep, zipinfo. y la librería

libunzip.

Descripciones

Unzip lista, comprueba o extrae ficheros de un archivo ZIP.

Funzip permite redirigir la salida de los comandos unzip.

Unzipfsx es el fragmento de auto-extracción que puede incorporarse a un archivo

ZIP. Los ficheros en este formato permiten al receptor descomprimir el archivo sin

instalar UnZip.

Zipgrep es un grep para archivos ZIP.

Zipinfo genera información técnica sobre los ficheros de un archivo ZIP, como los

permisos de acceso del fichero, estado de encriptación, tipo de compresión, etc.

Page 200: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

200

PCI utilities

Introducción a PCI Utilities

El paquete PCI Utilities está formado por programas que permiten listar

dispositivos PCI, inspeccionar su estado y establecer sus registros de

configuración.

Instalación de PCI Utilities

Instala PCI Utilities ejecutando los siguientes comandos:

make PREFIX=/usr &&

make PREFIX=/usr install

Contenido

El paquete PCI Utilities contiene lspci, setpci y update-pciids.

Descripciones

lspci es una utilidad que muestra información sobre todos los buses PCI del

sistema y todos los dispositivos conectados a ellos.

Setpci es una utilidad para consultar y configurar dispositivos PCI.

Update-pciids obtiene la versión actual de la lista de IDs PCI.

Pkgconfig

Introducción a pkgconfig

Page 201: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

201

El paquete pkgconfig contiene herramientas para indicar la ruta a las cabeceras

y/o a las librerías durante la fase make.

Instalación de pkgconfig

Instala pkgconfig ejecutando los siguientes comandos:

. /configure --prefix=/usr &&

Make &&

Make install

Configuración de pkgconfig. Por defecto, la variable PKG_CONFIG_PATH está

establecida a /usr/lib/pkgconfig, pues es el prefijo que usamos para instalar

pkgconfig. Puedes añadir las rutas adicionales a los ficheros pkgconfig instalados

en tu sistema a PKG_CONFIG_PATH para exportarlas. Ten en cuenta que

PKG_CONFIG_PATH solo es necesario durante la compilación de paquetes, no

en tiempo de ejecución. Contenidos

El paquete pkgconfig contiene pkg-config.

Descripción

Pkg-config es una función que devuelve metainformación sobre la librería

indicada.

Cpio

Introducción a cpio

El paquete cpio contiene herramientas para archivar ficheros.

Instalación de cpio

Page 202: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

202

Instala cpio ejecutando los siguientes comandos:

Sed -i -e "s/invalid_arg/argmatch_invalid/" src/mt.c &&

. /configure CPIO_MT_PROG=mt --prefix=/usr \

--bindir=/bin --libexecdir=/tmp \

--with-rmt=/usr/sbin/rmt &&

Make &&

Make install

Explicación de los comandos

Sed -i -e "s/invalid_arg/argmatch_invalid/" src/mt.c: Este comando corrige un

problema de construcción en el programa mt.

CPIO_MT_PROG=mt: Este comando fuerza la construcción e instalación del

programa mt.

--bindir=/bin: Este comando instala cpio en /bin en lugar de en /usr/bin, como

recomienda el estándar FHS.

--libexecdir=/tmp: Este par.ametro se usa para que no se cree /usr/libexec.

--with-rmt=/usr/sbin/rmt: Este parámetro inhibe la construcción del programa rmt

que ya se instalo por el paquete tar en el LFS.

Contenido

El paquete cpio contiene cpio y mt.

Descripciones

cpio copia ficheros en y de archivos.

mt controla las operaciones de los dispositivos de cinta magnética.

Page 203: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

203

MC

Introducción a MC

MC (Midnight Commander) es un administrador de ficheros e intérprete de

comandos visual en modo texto y a pantalla completa. Facilita una interfaz limpia,

amigable y en cierto modo protegida a un sistema Unix mientras hace más

eficientes muchas de las operaciones frecuentes con ficheros y conserva el poder

completo de la línea de comandos.

Instalación de MC

Instala MC ejecutando los siguientes comandos:

. /configure --prefix=/usr &&

Make &&

Make install

Configuración de MC

Ficheros de configuración ~/.mc/*

Información sobre la configuración

El directorio ~/.mc y su contenido se crean cuando inicias mc por primera vez.

Entonces puedes editar el fichero principal de configuración ~/.mc/ini manualmente

o mediante la interfaz de MC. Consulta los detalles en la página de manual de mc

(1).

Contenido

El paquete MC contiene mc, mcedit, mcmfmt y mcview.

Page 204: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

204

Descripciones

Mc es un intérprete de comandos visual.

Mcedit es un editor de ficheros interno.

Mcview es un visor de ficheros interno.

Sysstat

Introducción a Sysstat

El paquete Sysstat contiene utilidades para monitorizar el rendimiento del sistema

y la actividad. Sysstat contiene la utilidad sar, común en muchos Unix

comerciales, y herramientas que puedes programar via cron para recojer datos de

rendimiento y actividad y mantener un historial.

Instalación de Sysstat

Instala Sysstat ejecutando los siguientes comandos:

Make config &&

Make

Ahora, Como usuario root:

Make install

Explicación de los comandos: Ejecuta un proceso de configuración interactiva.

La primera pregunta te solicita un "Directorio de instalación". Contestale con /usr,

pues esto es el equivalente al parametro --prefix=/usr de Autoconf' para configure.

Page 205: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

205

Para todas las demas preguntas puedes presionar Enter para aceptar los (muy

sanos) valores por defecto.

Configuración de Sysstat

Información sobre cron

Para empezar a reunir el historial de información de Sysstat, debes añadir a, o

crear, un crontab para un usuario con privilegios. La localización por defecto del

historial de datos es /var/log/sa. El usuario que ejecute las utilidades Sysstat via

cron debe tener accesos de escritura a esta localización.

A continuación hay un ejemplo de qué instalar en el crontab. Ajusta los parámetros

para cubrir tus necesidades. Utiliza man sa1 y man sa2 para obtener información

sobre los comandos.

# 8am-7pm activity reports every 10 minutes during weekdays

0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &

# 7pm-8am activity reports every hour during weekdays

0 19-7 * * 1-5 /usr/lib/sa/sa1 &

# Activity reports every hour on Saturday and Sunday

0 * * * 0,6 /usr/lib/sa/sa1 &

# Daily summary prepared at 19:05

5 19 * * * /usr/lib/sa/sa2 -A &

Asegurate de que suministras el crontab revisado al demonio cron.

Page 206: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

206

Información de inicio del sistema

Al inicio del sistema se debe insertar un mensaje LINUX RESTART en el fichero

de datos diario para reinicializar los contadores del núcleo. Esto puede

automatizarse instalado el guión de inicio /etc/rc.d/init.d/sysstat incluido en el paquete

blfs-bootscripts-6.0 usando el siguiente comando:

Make install-sysstat

Contenido

Programas instalados: iostat, mpstat, sar, sa1, sa2 y sadc

Librerías instaladas: Ninguna

Directorios instalados: /usr/lib/sa y /var/log/sa

Descripciones cortas

Iostat: Muestra estadísticas de la CPU y de entrada/salida para dispositivos y

particiones.

Mpstat: Muestra estadísticas individuales o combinadas relacionadas con

procesadores.

Sar: Recopila, muestra y salva información sobre la actividad del sistema.

sa1: Recopila y almacena datos binarios en el fichero de datos diario de actividad

del sistema. Es un frontal para sadc diseñado para ser ejecutado desde cron.

sa2: Escribe un informe resumido de actividad diaria. Es un frontal para sar

diseñado para ser ejecutado desde cron.

Sadc: Es el recopilador de datos de la actividad del sistema, usado como backend

para sar.

Apache Ant

Page 207: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

207

Introducción a Apache Ant

El paquete Apache Ant es una herramienta de construcción basada en Java. Es

teoría es algo como make, pero sin las dobleces de make. Ant es diferente. En

vez de un modelo que se extiende comandos basados en el intérprete de

comandos, Ant se extiende usando clases Java. En vez de escribir comandos del

intérprete, los ficheros de configuración se basan en XML, llamando a un árbol de

objetivos en el que diversas tareas son ejecutadas. Cada tarea es ejecutada por

un objeto que implementa una interfaz de tarea particular.

Instalación deApache Ant

Nota: puede que necesites librerías adicionales para satisfacer los requisitos de

construcción de los diversos paquetes que se instalan usando Apache Ant. Una de

dichas librerías es la librería del entorno de trabajo para pruebas JUnit. Muchos

paquetes instalados con Ant usarán esta librería para realizar las unidades de

pruebas durante el proceso de construcción. Instala Apache Ant ejecutando los

siguientes comandos:

Patch -Np1 -i../apache-ant-1.6.2-blfs_install-1.patch

Ahora, Como usuario root:

./build.sh -Ddist.dir=/opt/ant-1.6.2 dist &&

ln -sf /etc/ant /opt/ant-1.6.2/etc &&

ln -sf ant-1.6.2 /opt/ant

Explicación de los comandos

./build.sh -Ddist.dir=/opt/ant-1.6.2 dist: Este comando lo hace todo. Construye el

paquete y luego lo instala en /opt/ant-1.6.2.

Page 208: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

208

ln -sf /etc/ant /opt/ant-1.6.2/etc: El parche cambia el fichero de configuración a

/etc/ant para cumplir con el FHS. Este comando crea un enlace simbólico desde el

directorio de configuración al directorio de instalación, pues el paquete espera

encontrar los ficheros allí.

ln -sf ant-1.6.2 /opt/ant: Este comando es opcional y crea un enlace simbólico de

cenveniencia.

Configuración de Apache Ant

Ficheros de configuración /etc/ant/ant.conf, ~/.ant/ant.conf y ~/.antrc

Informacioón sobre la configuración

Algunos paquetes necesitarán que ant se encuentre en la ruta de búsqueda y que

la variable de entorno $ANT_HOME esté definida. Satisface estos requisitos

añadiendo las siguientes líneas a /etc/profile o a los ficheros ~/.profile o ~/.bashrc

individuales de cada usuario:

Export PATH=$PATH:/opt/ant/bin

Export ANT_HOME=/opt/ant

Contenido

Programas instalados: ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl y

runant.py

Librerías instaladas: ant-*.jar, xercesImpl.jar y xml-apis.jar

Directorios instalados: /etc/ant y /opt/ant-1.6.2

Descripciones cortas

Ant: Herramienta de construcción basada en Java usada por diversos paquetes

en vez del programa make convencional.

Page 209: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

209

AntRun: Guión de soporte usado para iniciar los guiones de construcción de ant

en un directorio dado.

antRun.pl: Guión Perl que proporciona una funcionalidad similar a la ofrecida por

el guión antRun.

complete-ant-cmd.pl: Guión Perl que permite a Bash completar una línea de

comandos ant.

runant.pl: Guión envoltorio en Perl usado para invocar a ant.

runant.py: Guión envoltorio en Python usado para invocar a ant.

ant-*.jar:Las librerías de clases Java de Apache Ant.

xercesImpl.jar: Librería de clases Java usada por Apache Ant para procesar XML.

Xml-apis.jar: Contiene las clases Java para DOM requeridas por el formateador

XML de Apache Ant. 36

HERRAMIENTAS

Herramientas y métodos para un enfoque activo hacia la seguridad: La gran

mayoría de las herramientas de seguridad trabajan para proteger activamente su

sistema. Estas son algunas de las más comunes y útiles herramientas de open

source:

Utilidades Shadow — Una colección de herramientas a norma industrial

para administrar usuarios locales y grupos en un sistema que utiliza

contraseñas encriptadas.

Kerberos 5 — Un sistema seguro que proporciona servicios de

autentificación de redes. No permite que contraseñas de texto común pasen

sobre una red para obtener acceso a los servicios.

OpenSSL — Le ayuda a proteger una amplia gama de servicios que

soportan operaciones sobre una capa de encriptación. (

36 http://www.google.com

Page 210: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

210

OpenSSH — Un conjunto de utilidades que puede fácilmente sustituir

herramientas omnipresentes pero inseguras como telnet y ftp con las

potentes y seguras ssh y scp.

Los siguientes son métodos que soportan el enfoque activo hacia la seguridad:

Limitar el número de usuarios que pueden ejecutar comandos como root —

Ya sea intencionalmente que accidentalmente, un gran porcentaje de los

problemas de seguridad surge al menos indirectamente de alguien que

conoce la contraseña de root o a quien ha sido dado permiso por medio de

sudo para ejecutar un comando en el ámbito de root.

Saber qué paquetes de software se han instalado en su sistema y

permanecer alerta para detectar brechas de seguridad recientemente

descubiertas — No sabrá qué paquetes hay que supervisar si no es

consciente de cuáles están instalados en su sistema y no sabrá que hay

que actualizarlos a menos que supervise las fuentes de información, como

Red Hat Network.

Limitar los servicios que se ejecutan en el sistema sólo a aquellos que en

realidad necesita — Fundamentalmente, mientras más programas se

ejecuten, más posibilidades hay que se quebranten o proporcionen el

acceso no autorizado. Conserve los recursos del sistema (y de este modo

ahórrese la molestia de mantener cosas que no utiliza) y desinstale

paquetes que no usa. Como mínimo ejecute una herramienta como ntsysv

para evitar que servicios innecesarios inicien con el sistema a la hora del

arranque.

Requerir que los usuarios creen contraseñas seguras y cambiarlas a

menudo — La mayoría de los problemas de seguridad empiezan con el

acceso no autorizado al sistema. Este riesgo puede minimizarse

imponiendo a sus usuarios que también ellos practiquen métodos de

seguridad activos protegiendo las claves que abren su puerta.

Page 211: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

211

Asegurarse que los permisos de fichero no estén abiertos sin que esto sea

necesario — la mayoría de los ficheros no deberían ser escribibles.

Herramientas y métodos para un enfoque pasivo hacia la seguridad

Mientras la mayoría de las herramientas de seguridad fueron ideadas para un

enfoque activo hacia la seguridad, hay algunas herramientas que ayudan a que la

seguridad pasiva sea una carga administrativa mucho menos pesada:

Tripwire — una aplicación ideada para dar la alerta si directorios y ficheros

de sistema específicos son modificados. De esta manera por lo menos

sabrá si hay usuarios no autorizados que están teniendo acceso a su

sistema o si usuarios autorizados están haciendo cambios indeseados a

ficheros importantes.

COPS — una colección de herramientas de seguridad ideadas para

desempeñar una cantidad de cosas diferentes, desde el control de puertos

abiertos en un determinado host a estar atento a contraseñas de usuario

incorrectas.

Otros métodos que soportan el enfoque pasivo hacia la seguridad son:

Convertir en una rutina la actividad de supervisión de los registros de

sistema —Una tarea sencilla ejecutada como root, como el comando grep

"session opened for user root" /var/log/messages | less, le permite

desempeñar una potente revisión parcial de su sistema y supervisar quién

está en el sistema a la root. Esto le permitiría, por ejemplo, reducir

rápidamente el número de posibles usuarios que podrían haber cambiado

un determinado fichero que se puede sólo escribir como root, simplemente

comparando la hora en que el fichero en cuestión fue cambiado con la hora

de los inicios de sesión en el fichero /var/log/messages. Sin embargo,

considere que este no es un método a prueba de fallos, porque alguien con

Page 212: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

212

el poder de escritura sobre un fichero de sistema importante también podría

tener el derecho de modificar el fichero /var/log/messages para borrar su

rastro.

3.2.5. Lección 5: Configuracion de la tarjeta de red

La configuración de las tarjetas consiste básicamente en cargar el driver apropiado

para la tarjeta o tarjetas de que se dispongan. Los drivers de las tarjetas de red se

cargan como cualquier otro módulo del kernel. El número de tarjetas de red

soportadas por Linux es considerable prácticamente todas las tarjetas de los

fabricantes importantes están soportadas.

Si disponemos de una tarjeta PCI, casi seguro que bastará con insertar el módulo

correspondiente en el kernel sin indicar ningún parámetro adicional. En caso de

que se trate de una tarjeta ISA es recomendable conocer previamente la

interrupción (irq) y la dirección del puerto de entrada/salida empleado por la tarjeta

(io) para indicárselo al programa modconf a la hora de instalar el driver.

En el caso de tarjetas Ethernet, cada módulo cargado asignará un nombre de

dispositivo a la tarjeta, empezando por eth0 y siguiendo con eth1, etc. Esto debe

en equipos con varias tarjetas.

Veamos la configuración de la tarjeta:

# ifconfig

Eth0 Link encap: Ethernet HWaddr 00:E0:4C:00:4C:79

inet addr: 161.67.28.216 Bcast:161.67.28.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric:1

RX packets: 30360 errors:0 dropped:0 overruns:0 frame:0

TX packets: 9987 errors:0 dropped:0 overruns:0 carrier:0

Collisions: 1590 txqueuelen: 100

RX bytes: 7352067 (7.0 MiB) TX bytes: 1209496 (1.1 MiB)

Interrupt: 11 Base addresses: 0xd000

Page 213: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

213

lo Link encap:Local Loopback

Inet addr: 127.0.0.1 Mask: 255.0.0.0

UP LOOPBACK RUNNING MTU: 16436 Metric: 1

RX packets: 722 errors:0 dropped:0 overruns:0 frame:0

TX packets: 722 errors:0 dropped:0 overruns:0 carrier:0

Collisions:0 txqueuelen:0

RX bytes: 98985 (96.6 KiB) TX bytes:98985 (96.6 KiB)

Si la configuración que nos muestra para el dispositivo en cuestión es correcta,

pasamos al enrutado. En caso contrario, lo primero que debes hacer el desactivar

la interfaz:

# Ifconfig eth0 down

Para levantar el interfaz de red con los nuevos parámetros se utilizará la

instrucción ifconfig. Quedaría algo así:

~# ifconfig eth0 up netmask 255.255.255.0 broadcast 161.67.27.0 161.67.28.216

Para comprobar que se ha añadido bien, utilizaremos de nuevo ifconfig

~# ifconfig

Enrutado: Para ver la tabla de enrutamiento actual, escribiremos:

~# route

Por defecto, el sistema añade la entrada de enrutamiento correspondiente a la red

local. Debería ser algó así:

~# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

localnet * 255.255.255.0 U 0 0 0 eth0

Page 214: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

214

Quizá, en lugar de localnet aparezca una dirección IP del tipo: 161.67.28.0

En este momento, deberíamos poder hacer ping a cualquier máquina de la red

local.

~$ ping 161.67.28.150

PING 161.67.28.150 (161.67.28.150): 56 data bytes

64 bytes from 161.67.28.150: icmp_seq=0 ttl=255 time=2.0 ms

64 bytes from 161.67.28.150: icmp_seq=1 ttl=255 time=0.3 ms

64 bytes from 161.67.28.150: icmp_seq=2 ttl=255 time=0.3 ms

--- 161.67.28.150 ping statistics ---

5 packets transmitted, 5 packets received, 0% packet loss

round-trip min/avg/max = 0.3/0.6/2.0 ms

Por tanto, nos queda indicar quién es el router que nos permita comunicarnos con

la red exterior, es lo que se llama el enrutador "por defecto":

~# route add default gw 161.67.28.1

Siendo la dirección IP indicada la del router para nuestra red local. Si miramos

ahora la tabla de enrutamiento, aparecerá una nueva entrada:

~# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

161.67.28.0 * 255.255.255.0 U 0 0 0 eth0

default 161.67.28.1 0.0.0.0 UG 0 0 0 eth0

Ya podremos hacer un ping a un host conectado fuera de la red local (indicando su

IP, ya que aún no podemos resolver nombres).

Page 215: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

215

$ ifconfig

knoppix@ttyp1[knoppix]$ ifconfig

eth0 Link encap:Ethernet HWaddr 00:0D: 61:08:2B:E6

inet addr: 192.168.0.230 Bcast:192.168.0.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1

RX packets: 71 errors: 0 dropped: 0 overruns:0 frame:0

TX packets: 4 errors: 0 dropped: 0 overruns: 0 carrier:0

Collisions: 0 txqueuelen: 1000

RX bytes:345 (345.0 b) TX bytes:1368 (1.3 KiB)

Interrupt:20 Base address:0xa400 Memory:f8011000-f8011038

lo Link encap:Local Loopback

Inet addr: 127.0.0.1 Mask: 255.0.0.0

UP LOOPBACK RUNNING MTU: 16436 Metric: 1

RX packets: 10 errors: 0 dropped: 0 overruns: 0 frame: 0

TX packets: 10 errors: 0 dropped: 0 overruns: 0 carrier: 0

Collisions: 0 txqueuelen: 0

RX bytes: 500 (500.0 b) TX bytes: 500 (500.0 b)

La salida correspondiente a la tarjeta de red es la eth0. El interfaz lo es la

dirección de loopback.37

Configuración de la tarjeta de red: Esto sólo será necesario en caso de que no

se disponga de un servidor DHCP en la red local que se encargue de configurar

los parámetros del protocolo TCP/IP, durante el arranque, comprueba si existe uno

y en caso afirmativo, recibe automáticamente los parámetros enviados por el

DHCP.

37 http://www.insflug.org

Page 216: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

216

Para configurar la tarjeta de red si no disponemos de servidor DHCP (en realidad

lo que se configura son los parámetros del protocolo TCP/IP), acceder al menú: -->

Red/Internet --> Configuración de la tarjeta de red.

Sólo si hay más de una tarjeta de red instalada en el equipo se nos mostrará el

siguiente cuadro de diálogo para elegir cuál de ellas se va a configurar:

Después se nos preguntarán una serie de parámetros como:

Page 217: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

217

Seleccionaremos NO, ya que no tenemos un servidor DHCP, de lo contrario no

necesitaríamos configurar la tarjeta de red. De todas formas, si se desconoce la

existencia del servidor DHCP, podemos seleccionar SÍ y si no hay un servidor

DHCP en marcha, no ocurre nada, simplemente se producirá un error al cabo de

unos segundos y habrá que empezar de nuevo.

En este diálogo habrá que introducir la dirección IP del ordenador. Puede

utilizarse, por ejemplo: 192.168.0.206, el tercer número identificará la red y puede

ser cualquier nº del 0 al 255 (el 0 puede ser una buena elección). El cuarto nº

identifica el ordenador dentro de la red y puede ser un nº entre el 1 y el 254.

(Todos los demás ordenadores de la red tendrán un nº IP de la forma 192.168.0.X)

A continuación vienen un par de diálogos que hay que dejar tal y como aparecen

por defecto:

Page 218: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

218

A continuación se pide la dirección de la puerta de enlace ( o gateway) por

defecto. Hay que poner la dirección IP del router del aula, si lo tenemos:

Por último habrá que poner las direcciones IP de los servidores de nombres (o

DNS) separados por espacios. Por ejemplo, estas de Telefónica:

Page 219: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

219

Puede comprobarse que la tarjeta de red está funcionando mediante el comando:

$ ifconfig

knoppix@ttyp1[knoppix]$ ifconfig eth0 Link encap:Ethernet HWaddr 00:0D:61:08:2B:E6 inet addr:192.168.0.230 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:71 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:345 (345.0 b) TX bytes:1368 (1.3 KiB) Interrupt:20 Base address:0xa400 Memory:f8011000-f8011038 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:500 (500.0 b) TX bytes:500 (500.0 b) La salida correspondiente a la tarjeta de red es la eth0. El interfaz lo es la dirección de loopback.

Page 220: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

220

3.3 CAPITULO 3: CONFIGURACION EN ENTORNOS DE RED, INSTALACIÓN

Y CONFIGURACIÓN DE LOS PRINCIPALES SERVIDORES

3.3.1. Lección 1: Seguridad y configuracion de firewall

Un firewall o cortafuegos es un servicio que evita extraños en la red, es un

direccionador, Puede servir como punto de entrada único a sus sitios. A su vez

evita que los virus se esparzan por su ordenador y evita que los usuarios no

autorizados accedan a su ordenador. Determina los servicios a los que pueden

acceder los usuarios remotos en su red. Un firewall que haya sido configurado

debidamente puede aumentar la seguridad de su sistema. Se le recomienda que

configure un firewall para cualquier sistema con una conexión de Internet.

El firewall puede realizar tareas de routing más complejas, como el NAT (Network

Address Translation), que permite que toda una red local acceda a Internet

disponiendo únicamente de una única IP pública, o disponer de varios servidores

prestando distintos servicios y poder acceder a ellos a través de una única IP

pública.

Configuración del firewall

Red Hat Linux también le ofrece protección vía firewall para una seguridad

mejorada del sistema. Un firewall se dispone entre su ordenador y la red y

determina qué recursos de su equipo están accesibles para los usuarios remotos

de la red. Un firewall bien configurado puede aumentar significativamene la

seguridad de su sistema.

Page 221: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

221

Configuración del firewall

Seleccione el nivel de seguridad apropiado del sistema.

Alto

Si elige Alto, su sistema no aceptará más que las conexiones (además de

las definidas por defecto) que hayan sido explícitamente definidas por

usted. Por defecto, sólo se aceptan las siguientes conexiones:

Respuestas de DNS

DHCP — en el caso de que varias interfaces de red que usen DHCP

puedan ser configuradas correctamente

Si elige Alto, su firewall no permitirá:

FTP en modo activo (el modo pasivo de FTP, usado por defecto en

la mayoría de los clientes debería funcionar)

Page 222: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

222

Transferencias de ficheros IRC DCC

RealAudioTM

Clientes del Sistema X Window remotos

Si conecta su sistema a Internet, pero no piensa utilizarlo como servidor, ésta es la

opción más segura. Si necesita servicios adicionales, puede elegir Personalizar

para permitir servicios específicos a través del firewall.

Si selecciona configurar un firewall con un nivel de seguridad medio o alto durante

la instalación, los métodos de autenticación de red (NIS y LDAP) no funcionarán.

Medio

Si elige Medio, u firewall no permitirá a las máquinas remotas acceder a ciertos

recursos de su sistema. Por defecto, los accesos a los recursos siguientes no

están permitidos:

Puertos menores del 1023 — los puertos reservados estándar,

usados por la mayoría de los servicios, como FTP, SSH, telnet,

HTTP y NIS.

Puerto del servidor NFS (2049) — NFS está desactivado para los

servidores remotos y los clientes locales.

La pantalla local del Sistema X Window para clientes X remotos.

Puerto del servidor de fuentes de X (por defecto, xfs no escucha a la

red, ya que está deshabilitado en el servidor de fuentes).

Si quiere, puede permitir recursos, como, por ejemplo, RealAudioTM, mientras que

bloquee los recursos normales, (elija Medio). Puede seleccionar Personalizar

para permitir a servicios específicos pasar a través del firewall.

Si selecciona configurar un firewall con un nivel de seguridad medio o alto durante

la instalación, los métodos de autenticación de red (NIS y LDAP) no funcionarán.

Page 223: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

223

Ningún Firewall

La configuración Ningún Firewall proporciona un acceso completo al sistema y no

realiza ningún tipo de verificación de seguridad. La comprobación de seguridad es

la desactivación del acceso a determinados servicios. Tan sólo se recomienda

esta opción si está usando una red certificada y segura (no Internet), o si planea

realizar una configuración detallada del firewall más adelante.

Elija Personalizar para añadir dispositivos autenticados o para permitir nuevos

servicios.38

3.3.2. Lección 2: Compárticion de recursos a traves de samba

Es un conjunto de herramientas que permiten compartir recursos sobre una red

TCP/IP, utilizando el protocolo SMB (Server Message Block) para comunicar

datos entre clientes Windows y servidores Unix.

Su autor es Andrew Tridgell, quien dirige el desarrollo desde su casa en

Canberra, Australia. El proyecto comenzó en 1991 como un servidor de

archivos para su red casera. Tuvo que cambiarle el nombre y uso

Usa el mismo protocolo que los sistemas operativos Microsoft e IBM.

Es gratis y libre.

La administración se centraliza en el servidor.

$ grep -i 's.*m.*b' /usr/dict/words

salmonberry samba sawtimber scramble.

Herramientas que incluye samba

smbd. El demonio responsable de manejar los recursos compartidos a los

clientes (archivos, impresoras y examinador). Controla el uso apropiado

38 http://www.redhatlinux.com

Page 224: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

224

de los recursos implementando autenticación, bloqueo granular y acceso

concurrente.

nmbd. El demonio que imita los servicios de nombre NetBIOS y WINS.

Provee las listas de recursos ("Entorno de Red") y participa en las

elecciones de examinadores.

smbclient. Un cliente SMB para Unix con interfaz similar a FTP.

smbtar. Un utilitario para respaldar datos compartidos a través de la red.

nmblookup. Un utilitario para consultar nombres NetBIOS sobre TCP/IP.

smbpasswd. Un utilitario administrativo para los passwords de Samba.

smbstatus. Un utilitario para listar las conexiones al servidor Samba.

testparm. Un utilitario para validar la configuración de Samba.

testprn. Un utilitario para validar las impresoras de Samba.

SWAT (Samba Web Administration Tool)

¿Cómo instalo Samba?

Si la distribución ya tiene el paquete precompilado, es tan simple como

ejecutar el instalador apropiado (rpm, dselect, pkgtool, etc.). En este caso

los archivos de configuración estarán en /etc y los binarios en /usr/bin.

Si se usa otro Unix, obtener el paquete precompilado apropiado desde

ftp.samba.org.

Si se quiere/necesita construir Samba manualmente:

1. Obtener el paquete fuente de ftp.samba.org.

2. Desempaquetar.

3. Leer la documentación de instalación.

4. Compilar el código del servidor.

5. Instalar los demonios/programas compilados.

En cualquier caso, es necesario escribir un archivo de configuración

(smb.conf), verificar su validez, iniciar los demonios Samba y probar los

servicios.

Page 225: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

225

La configuración más simple

El archivo de configuración es smb.conf, generalmente ubicado en /etc en las

distribuciones Linux.

Configuración de los clientes Windows

Indicar que los usuarios deben tener perfiles separados. (Control Panel

=> Passwords -> User Profiles)

Utilizar usuarios y passwords para autenticar en el servidor Samba.

(Control Panel => Passwords -> Change Passwords)

Utilizar TCP/IP como protocolo. Establecer la configuración

manualmente o con DHCP (Control Panel => Network)

Dirección IP y máscara.

Indicar servidores DNS si existen, en caso contrario configurar el archivo

C:\WINDOWS\HOSTS

Indicar el IP del servidor para usar WINS.

Identificar el computador para hacerle formar parte del grupo de trabajo.

(Control Panel => Network -> Identification)

Nombre del computador (sin espacios).

Nombre del grupo de trabajo.

Administracion de samba

Inicio y parada de samba

Iniciar samba tiene dos pasos. Primero, arrancar el proceso smbd. Aunque

pueden configurararse muchos parámetros en la linea de comandos es mejor

hacerlo en el archivo de configuración (smb.conf). si usa SWAT, este mantendra el

archivo por usted. El unico parámetro ques es posible que use la opcion –D que le

dice a samba que se ejcute como un demonio:

[root@ford samba] # /usr/local/samba/bin/smbd -D

Page 226: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

226

Lo siguiente es iniciar el proceso Vd. como smbd, se pueden configurara muchos

parámetros, pero probablemente encontraras mas sencillo hacer los cambios

sobre el archivo smb.conf. El unico parámetro que es posible que use es la opcion

–D que le dice a Vd. Que se ejecute como un demonio.

[root@ford samba] # /usr/local/samba/bin/Vd. –d.

El uso de samba es encillo. Todas las configuraciones se hacen por medio de un

navegador web. SWAT toma la información del navegador y construye el archivo

smb.conf. Para aquellos que editen los archivos de configuración, pueden

encontrarlo un poco fastidiosos porque SWAT no preserva los comentarios del

archivo de configuración. 39

Comandos de SAMBA

A continuación se muestra la relación de comandos que instala el paquete SAMBA

así como una breve descripción de cada uno de ellos.

smbd: Demonio del servidor SAMBA. Provee servicios de archivos e

mpresoras.

nmbd: Demonio del servidor SAMBA. Provee servicios de nombres de

NetBios y exploración del servidor.

smbclient: Implementa un cliente parecido al ftp pero para SAMBA.

testparm: Es una simple utilidad para comprobar el fichero de

configuración del servidor smb.conf.

testprns: Utilidad para comprobar la capacidad de impresión para las

impresoras definidas en el fichero printcap.

nmblookup: Permite obtener los nombres NetBios a partir del fichero hosts

de Unix.

make_smbcodepage: Utilidades para crear la pagina de código.

smbpasswd: Permite cambiar las contraseñas del acceso de los usuarios

al servicio.

39 Steve Shah.Manual de administración de Linux .pag.410-420

Page 227: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

227

Smbstatus: Proporciona información sobre las conexiones actuales al

cliente smbd

Control de acceso

Los usuarios existentes en SAMBA se gestionan de forma diferente a los del

sistema. Las contraseñas de estos usuarios pueden ser diferentes a las que

poseen en sus cuentas. Es posible mantener sincronizadas las contraseñas

mediante una directiva en la configuración global del servidor: unix password sync

= yes También es posible gestionar estas contraseñas manualmente mediante un

comando smbpasswd. Con este comando cada usuario puede cambiar su

contraseña de acceso a los recursos del servidor.40

3.3.3. Lección 3: Servidor dns y dhcp

SERVIDOR DNS

El DNS es un acrónimo de Domain Name System (Sistema de Nombres de

Dominio) es extremamente importante y difícil de entender, pero podríamos decir

que es el encargado de transformar direcciones IP reales (200.72.13.52) a

nombres IP (www.midominio.tld) y viceversa e informar de una serie de datos a

otros DNS y servidores existentes en el mundo.

Los servidores DNS se dividen en tres grupos: primarios (son a los unicos a los

que se les considera autorizados para un dominio en particular), secundarios

(trabajan como resplado y como distribuidores de carga de los servidores de

nombres primarios), y de cache (no tienen archivos de configuración de ningun

dominio).}

40 http://www.linuxparatodos.com

Page 228: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

228

Instalacion de un servidor DNS

El servidor natural de DNS para Linux y para la mayoria de los servidores unix es

BIND (berkley Internet name domain Server, servidor de nombres de dominios de

Internet de berkley)

BIND se distribuye en tres archivos: el codigo fuente completo, la documentación

(bind operators guide,guia de operación de bind, conocida como “el BOG” y las

contribuciones de desarrollos externos.las contribuciones externas consisten

normalmente en varias herramientas y scripts que simplifican la gestion de bind o

el trabajo con DNS en general.

En la configuración de un DNS (Bind 9.0) intervienen los siguientes archivos;

-/etc/named.conf

-/var/named/named.local

-/var/named/named.cache

-/var/named/midominio.tld.zone

- /var/named/13.72.200.in-addr.arpa

Bind entrega dos tipos de servicios DNS el caching only nameserver, que se

limita a guardar en una caché las IPs de los nombres de máquina más solicitados,

obteniéndolas de servidores externos, el archivo de configuración para este

servicio es /var/named/named.cache y por lo general sólo se debe actualizar por

lo menos una vez al mes.

El otro servicio es el de entregar la configuración de un determinado dominio y es

esto exactamente lo que hace tan famoso al DNS. DNS es un sistema jerárquico.

La raíz se escribe como `.´ (punto) y se denomina `root´(raíz). Debajo hay cierto

número de Dominios de Nivel Superior (Top Level Domain, TLD), los más

conocidos son .ORG, .COM, .NET, pero hay muchos más, identificando dos

clases; geográficos (.ES .CL .AR etc.) y globales (.COM .NET .ORG)

Page 229: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

229

Cuando se busca una máquina, la pregunta procede recursivamente en al

jerarquía comenzando desde arriba. Si queremos localizar la dirección

prep.ai.mit.edu, nuestro servidor de nombres ha de encontrar primero un servidor

de nombres que sirva a edu. Pregunta al servidor `.´ (este tipo de servidores "."

son los que utiliza el fichero named.cache), y el servidor `.´ proporcionará una lista

de servidores para edu y después para cada subdominio.

Herramientas instaladas con BIND Descripción

/usr/bin/addr Convierte las direcciones IP a valores

hedadecimales, y viceversa

/usr/bin/nslookup Permite resolucion de nombre de

maquina a IP y de IP a nombren de

maquina, asi como otras busquedas de

registros relacionados con DNS, todos

desde la linea de comandos.

/usr/bin/dig Muestra los procesos de busqueda on

los cuales se resuelven las direcciones,

incluyendo todos los servidores DNS

intermedio involucrados.

/usr/bin/dnsquery Una alternativa a nslookup

/usr/bin/host Otra alternativa a nslookup

/usr/bin/named El proceso servidor responsabe de

proporcionar los servicios DNS.

/usr/sbin/named-xfer Un programa auxiliar ejecutado por

named para conseguir informaron de

otros servidores.

/usr/sbin/ndc Un programa para controlar el

programa named

/usr/bin/nsupdate Le permite actualizar la información en

la tabla de DNS en un servidor en

Page 230: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

230

funcionamiento

/usr/sbin/named-bootconf Una utilidad para convertir archivos de

configuración de BIND.

Configuración de clientes

Hay solo dos archivos involucrados: /etc/resol.conf y /etc/nsswitch.conf.

/etc/resol.conf: Contiene la información necesaria para que el cliente sepa cual

es su servidor DNS local.

El formato del archivo /etc/resol.conf es como sigue:

Search domainname

Nameserver IP-address

Donde domainname es el nombre del dominio por defecto donde buscar , e IP-ad-

dress es la direccion IP del servidor DNS.

/etc/nsswitch.conf: Le dice al sistema donde buscar cierta clase de información

de configuración (servicios).cuando se identifican varias localizaciones, el archivo

tambien especifica el orden en el cual se puede encontrar mejor la información.41

TIPOS DE REGISTROS DNS

SOA(Star of Authority (inicio de autoridad)): inicia la descripcion de las

entradas de un sitio DNS.

41 Steve shah. Manual de Administración de Linux .pag241-243

Page 231: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

231

NS Name Server (nombre del servidor): se usa para especificar cual servidor de

nombres mantiene los registros para esta zona.el formato de este registro es el

siguiente:

IN NS ns1.domain.com.

IN NS ns2.domain.com.

Puede tener tantos servidores de nombres de respaldo como desee para un

dominio. La mayoria de los IP actuaran como servidores DNS secundarios si le

proporcionan conectividad.

A Address Record (registro de direccion): se usa para proporcionar un

mapeado de nombre de maquina a direccion IP. El formato de una direccion A es

simple:

Nombre-maquina IN A direccion-IP

PTR point Record (registro de puntero): es para realizar resolucion de nombres

inversa, permitiendo de esta forma que alguien especifique una direccion IP y

determine el nombre de maquina correspondiente. El formato es el siguiente:

Direccion-IP IN A nombre-maquina

MX Mail Exchanger (intercambiador de correo): Esta encargado de decirles a

otros sitios cual es el servidor de correo de la zona. Si una maquina de la red

genera un coreeo saliente con su nombre de maquina de la zona. Su formato es :

Nombre-dominio. IN MX peso nombre-maquina

Donde nombre-dominio. Es el nombre del dominio del sitio; el peso es la

importancia del servidor de correo; y nombre- maquina es el nombre del servidor

de correo.

Page 232: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

232

CNAME Canonical Name (nombre canonico): le permiten crear alias de sus

nombres de maquinas. Es util cuando quiera proporcionar un servicio disponible

con un nombre facil de recordar, pero seguir dandole a la maquina el nombre

real.su formato es:

nombre-nuevo IN CNAME nombre-antiguo

Para comprobar si tu configuración es correcta lo puedes probar con una utilidad

llamada nslookup, para usarla desde un terminal ejecutas nslookup ingresaras a

un prompt `>´ , aquí setearemos algunas cosas como siguen;

> Server ns.midominio.tld

Default Server: ns.midominio.tld

Address : 200.72.13.52

> Set q=ns

Esto significa lo siguiente; `q=´ es query y es un parámetro para indicar que

información queremos obtener, en este caso los RR NS.

> midominio.tld

Default Server : ns.midominio.tld

Address : 200.72.13.52

midominio.tld nameserver = ns.midominio.tld

midominio.tld nameserver = ns2.otrodominio.tld

> Set q=mx

Page 233: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

233

Esto resultará en los RR MX del dominio

> Set q=any

any es un parámetro que entregará toda la información del dominio, muy útil para

revisar de una sola vez si la configuración es correcta.

Llegado este punto y no habiendo ningún error pasamos al siguiente servicio.

PD: Recuerda poner `.´ después de cada nombre de dominio y máquina al igual

que la dirección de correo de lo contrario DNS agregará el nombre de dominio otra

vez jemplo ns.midominio.tld (sin punto), de este error resultará

ns.midominio.tld.midominio.tld comprendes que pasa con el puntito, así que

cuidado.

SERVIDOR DHCP

DHCP son las siglas de Dynamic Host Configuration Protocol, (Protocolo de

Configuración Dinámica de Hosts). Como su nombre indica es un protocolo que va

a permitir la configuración de los parámetros de red de los host de forma dinámica.

Esto es algo realmente util a la hora de configurar grandes redes .Es el

responsable de servir direcciones IP y otra información relevante a las peticiones

de los clientes. Puesto que el protocolo DHCP es de broadcast, tendrá que haber

presente un servidor en cada que quiera proporcionar servicio DHCP.

Servidor DHCP: serán las máquinas que ejecutarán el servicio DHCP.

Cliente DHCP: Las máquinas que requerirán del servicio ofertado por los

servidores.

Page 234: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

234

Ambito: Es el intervalo de direcciones de red que estarán disponibles para ser

asignadas por los servidores a los clientes. Suelen definir subredes fisicas por lo

general, por eso se agrupan en ámbitos.

Intervalo de exclusión: Algunas direcciones que están incluidas en el ámbito que

administramos puede que no nos interese asignarlas, las incluiremos aquí. Un uso

habitual para esto suele ser las direcciones de los servidores, las cuales serán

estáticas.

Conjunto de direcciones disponibles: ámbito - intervalo de exclusión. Es decir

las direcciones asignables a los clientes.

Reserva: Algunas direcciones pueden interesarnos que sean reservadas a un

cliente determinado, de forma que este siempre reciba la misma asignación.

Concesión: Cuando a un cliente se le ha asignado una dirección, se dice que se

ha realizado una concesión. Como veremos en la información de la concesión se

indica hasta cuando es válida.

Proceso de concesión: Cuando un cliente se activa (arrancamos el sistema

operativo de la máquina, en nuestro caso nuestro preciado Linux), el cliente

intenta conseguir una configuración válida para la red en la que está. Para ello se

lo hace saber a los servidores DHCP que estén a la eschucha, que un nuevo

cliente quiere una dirección válida. A esto le sigue un proceso de intercambio de

mensajes, que resumido se puede esquematizar asi:

CLIENTE DHCP SERVIDOR DHCP

> Solicitud de concesión < Oferta de concesión > Selección de concesión <

Confirmación de selección

Page 235: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

235

Solicitud de concesión: Es importante que primero el cliente avise de que está

activo y quiere una configuración, para ello manda un mensaje del tipo

DHCPDiscover (es como se llama a este tipo de mensaje) por medio de difusión a

toda la subred. Esto de difusión quiere decir que se manda a todas las máquinas

de la subred. Hay que tener en cuenta que la máquina aún no tiene dirección IP

válida, por lo que el mensaje tendrá que identificar de alguna forma a su emisor.

Esto se hace por me-

dio de la dirección MAC, q es una dirección física y única del cliente. De esta

forma el servidor que "escuche" el mensaje sabrá quien lo mando. Ahora el clien-

te se quedará durante un tiempo a la espera de una respuesta, de un mensaje tipo

DHCPOffer.

Oferta de concesión: El mensaje anteriormente enviado por el nuevo cliente, está

recorriendo la subred entera en busca de alguna máquina que lo intercepte. La

máquina q lo haga será un servidor DHCP (o varios) que tengan alguna dirección

disponible para conceder. Cada uno de los servidores que puedan conceder una

dirección a la máquina que la solicitó, enviarán un mensaje DHCPOffer, que

contendrá la dirección IP del servidor que envia el DHCPOffero, el tiempo de

conce sión de la oferta y la dirección ofertada. También debemos de darnos

cuanta de que el envío de esos mensages ha de ser por medio de difusión, ya que

el cliente ue la espera aún no es reconocible por medio de una dirección IP.

Selección de concesión: La última vez que vimos el cliente estaba en estado de

espera. Esperaba por ofertas a su solicitud, y vimos como los servidores le

enviaron sus ofertas por medio de los mensajes DHCPOffer. Entonces el cliente

captará los DHCPOffer que hay por la red, en cuanto reciba uno, pueden suceder

2 cosas:

El cliente se acaba de incorporar, y solicita una dirección por primera vez,

en este caso, el mensaje DHCPOffer que captó contendrá una dirección

ofertada, por lo que ahora el cliente ya sabe quien le ofrece la dirección y

Page 236: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

236

que dirección. Con lo que manda por medio de difusión un mensaje

DHCPRequest con la dirección que le interesa (la ofrecida por el mensaje

que captó :)

El cliente quiere recuperar una IP de una concesión anterior, en este caso,

el cliente manda un mensaje DHCPRequest por medio de difusión que

contendrá la P

que quiere recuperar.

Como vemos la única diferencia es la IP solicitada. Y que en el primer caso, se

conoce la ip del servidor que nos ofrece la dirección, por lo que le será más facil

saber que va para el. En el segundo caso, sólo respondera aquel servidor que

posea en su intervalo de concesiones la ip requerida. Hay que tener nuevamente

claro que aún no se posee una IP válida, por lo que los mensajes son por difusión

todavía. En ambos casos, en el mensaje junto con la IP requerida se, envía la

petición de los distintos parámetros que nos han de asginar de forma dinámica

(DNS, gateway, ...).

Confirmación de selección: Ya tenemos viajando por difusión por toda la red el

mensaje con la petición. Sólo nos queda que nos confirmen la petición para

establecerla y estar en la red con una IP válida. Para ello el servidor que nos

puede asignar esa dirección, recordemos en el apartado anterior los 2 casos por

los que podía pasar el cliente, nos enviará un mensaje DHCPAck con la

confirmación de la información requerida (la dirección IP y los parámetros

auxiliares). Una vez recibido este mensage (también es enviado por medio de

difusión) ya somos un cliente real de la red. En caso de negativa del servidor, este

nos enviaría un DHCPNack y tendría que reiniciarse todo el protocolo.

Page 237: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

237

CONFIGURACIÓN DEL SERVIDOR DHCP

El arhivo de ocnfiguracion por defecto es /etc/dhcpd.conf. el archivo de

confuguracion encapsula dos ideas:

un conjunto de declaraciones de redes, maquinas o grupos unidos al

sistema y posiblemente un rango de direcciones que se conceden a cada

entidad.

Un conjunto de parametros que describen el comportamiento del servidor

y configuran las respuestas apropiadas. Los parametros pueden ser

goblales, o locales al conjunto de declaraciones.

Requísitos

* Una distribución Linux

* dhcp-client v3.0pl1

El DHCPD consiste en 2 ejecutables principales:

* dhcpd – el DHCP

* dhcrelay – un transmisor DHCP (para transmitir peticiones a un servidor

DHCP central, puesto que el DHCP está basado en broadcasts, las cuales por

lo general no se extienden (o no deberían) a routers.

DHCPD requiere 2 librerías:

* /lib/ld-linux.so.2

* /lib/libc.so.6

* /etc/dhcpd.conf – información de configuración, situación de los ficheros

de arranque, etc.

Y varios otros ficheros:

* /etc/dhcpd.leases – una lista de las conexiones activas

* un fichero de inicio, se puede modificar el que viene o hacerte el tuyo propio

La forma más sencilla de configurar el dhcpd con chroot es sencillamente

instalar el dhcpd (preferiblemente la última versión) y mover/editar los

ficheros necesarios. Una buena idea es crear un directorio (como

Page 238: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

238

/chroot/dhcpd/), preferiblemente en un sistema de ficheros separado de /,/usr,

etc (enlaces simbólicos…), y después crear una estructura de ficheros por

debajo para dhcpd.

RSH, REXEC, RCP

Los servicios R como rsh, rcp, rexec, etc., son muy inseguros. Sencillamente no

hay otra forma de decirlo. Sus fundamentos de seguridad se basan en la dirección

hostname/IP de la máquina desde la que se conecta, la cual se puede falsificar

con facilidad, utilizando técnicas como envenenamiento de DNS, comprometido de

cualquier forma. Por defecto, no están todos deshabilitados, por favor, hazlo

inmediatamente. Edita el fichero /etc/inetd.conf y busca rexec, rsh, etc., y

coméntalos, seguido de un "killall -1 inetd" para reiniciar inetd.

Si es absolutamente necesario ejecutar estos servicios, utiliza los

TCP_WRAPPERS para restringir el acceso, no es mucho pero ayudará. También

asegúrate de que se filtran con el cortafuego, puesto que los TCP_WRAPPERS le

permiten a un atacante ver que se están ejecutando, lo cual puede dar como

resultado un ataque falsificado, algo contra lo que los TCP_WRAPPERS no se

pueden defender si se hace correctamente. El acceso a varios servicios R se

controla vía ficheros rhosts, por lo general cada usuario tiene su propio fichero

rhosts, por desgracia esto es susceptible a spoofing de paquetes. El problema con

los servicios r también estriba en que existe una pequeña brecha que se puede

utilizar para modificar ficheros, editar el fichero rhosts de un usuario (como el del

root) es una sencilla forma de reventar ampliamente un sistema.

Compilando dhcp-client v3.0pl1

Ese fichero contiene las fuentes comprimidas y empaquetadas, para compilar el

dhcp-client hay q seguir estos pasos:

En un directorio de nuestro home (yo lo suelo llamar src), copiamos el tar

con los fuentes.

Page 239: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

239

Desempaquetamos y descomprimimos el tar.gz con este comando:

#tar zxvf dhcp-latest.tar.gz

Eso nos creara un fichero llamado dhcp-3.0.p11, entramos dentro y

empezamos a compilar:

#. /Configure ---> esto prepara la compilación

Según nuestro sistema

#make ---> esto compilara el dhcp-3.0pl1

# make install (hacerlo como root) ----> esto instalara en nuestro arbol de

directorios el dhcp-3.0pl1.

* bueno ya lo tenemos compilado, ahora veamos que nos ha instalado:

* /sbin/dhclient ---> ese es el binario que nos interesa, es el cliente de DHCP que

usaremos.

* /Sbin/dhclient-script ---> El script al que llama el programa binario dhclient. Este

fichero también es necesario.

* /usr/sbin/dhcrelay ---> un agente relé de DHCP, no hemos hablado que es esto

de agente relé, tampoco nos será necesario, solo pensad que es para utilizar un

servidor DHCP que este en una subred lógica diferente.

* /usr/sbin/dhcpd ---> Un servidor dhcpd, por si queremos montar un servidor,

que no es el caso ;).

* Instala alguno más, que no comentaremos. Nosotros únicamente utilizaremos los

2 primeros. Para más información mirad en el directorio desde el que compilasties

un subdirectorio llamado work.linux-X.X (X es el número de versión).

Configurando el arranque

Bueno ya sabemos como llamarlo, para que configure las interfaces por medio de

DHCP, ahora vamos a aprender a configurar el sistema para que lo ejecute cada

vez que arranque. Aunque nuestro sistema sea estilo System V (excepto los que

usen slackware), nosotros para ahorrar compilcaciones con las pequeñas

diferencias que pueda haber entre distintas distribuciones vamos ha hacerlo de

forma general. Para ello primero creamos un fichero llamado /etc/default/network:

Page 240: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

240

# Vim /etc/default/network

Y ponemos lo siguiente:

-------cut here--------

#Variable q controla la configuracion del eth via DHCP o no.

DHCP="si"

----------------------

Ahora editamos el fichero /etc/init.d/network:

# Vim /etc/init.d/network

Si por cualquier cosa, en tu sistema no se llama así, busca el script que levanta la

red.

Ahora añadimos lo siguiente:

./etc/default/network

if[$DHCP=="no"]

then

echo "Subiendo eth0 para la red de forma manual"

IPADDR=xxx.xxx.xxx.xxx

NETMASK=xxx.xxx.xxx.xxx

NETWORK=xxx.xxx.xxx.xxx

BROADCAST=xxx.xxx.xxx.xxx

GATEWAY=xxx.xxx.xxx.xxx

ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}

route add -net ${NETWORK} dev eth1

[ "${GATEWAY}" ] && route add default gw ${GATEWAY} metric 1

else

echo "Obteniendo parametros de red por medio de dhcp"

/sbin/dhclient eth0 fi

Como resulta obvio, debes de borrar cualquier línea que configurara el dispositivo

que añades por medio de DHCP.

Ahora solo te queda rebootar para comprobar que la cosa funciona, o ejecutar:

# /etc/init.d/network

Page 241: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

241

Recomendo que rebootees, asi ves como funciona las modificaciones en el script

de arranque.

Algunas notas sobre dhclient

En el fichero /var/state/dhcp/dhclient.leases podremos encontrar las últimas

concesiones, que serán las que intente renovar el cliente, o en caso de que no

pueda comunicarse correctamente con el servidor DHCP, las que usará para subir

el dispositivo de red.

En /etc/ debe de tener un fichero ed configuración llamado dhclient.conf, desde el

cual se le pueden especificar algunos parámetros al dhclient, no será necesarío

retocarlo, pero en caso de hacerlo leete el man de la configuración del fichero:

man dhclient.conf. Si no tienes este fichero encontrarás uno módelo en los fuentes

del dhcp-3.0pl1, en el subdirectorio client.42

3.3.4. Lección 4: Servidor apache y proxy

SERVIDOR APACHE

Por defecto Apache se ejecuta como el usuario 'nobody', lo cual le da muy poco

acceso al sistema, y por lo general el equipo Apache ha hecho un buen trabajo

evitando desbordamientos de pila/etc. En general, la mayoría de los servidores

www simplemente toman datos del sistema y los envían fuera, los mayores

peligros no vienen del Apache sino de programas descuidados que se ejecutan

víaApache (CGI's, server side includes, etc.).

La mayoría de los servidores basados en Apache (Red Hat Secure Server,

Stronghold, etc.) suelen, en general, estar libres de bugs, pero ocasionalmente se

dan problemas.

42 Steve shah.Manual de Administración de Linux. McGraw-Hill. Pag.433-445

Page 242: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

242

La forma más simple de configurar el Apache con chroot es instalarlo y mver/editar

los ficheros necesarios. Una buena idea es crear un directorio (como

/chroot/apache/), preferiblemente en un sistema de ficheros separado de /, /usr,

/etc (enlaces simbólicos, llenado accidental de particiones, etc...) y después crear

para el Apache una estructura de ficheros por debajo. Lo siguiente es un ejemplo,

simplemente reemplaza /chroot/apache/ por algo de tu elección. Por supuesto que

hay que ejecutar estos pasos como root para que funcione. RPM lo soporta

mediante la directiva "—root /cualquier/directorio", simplemente hay que instalar

Apache y las bibliotecas necesarias utilizando rpm (y de paso ganando soporte de

dependecias/etc, haciéndote la vida más fácil). Si no se está en un sistema

basado en RPM, simplemente hay que utilizar ldd para encontrar las librerías

compartidas que se necesitan, y mover todo lo que se necesite al directorio

/chroot/apache [seifried@host seifried] $ ldd /usr/bin/httpdlibm.so.6 =>

/lib/libm.so.6 (0x40017000)libc.so.6 => /lib/libc.so.6 (0x40060000)/lib/ld-linux.so.2

=> /lib/ld-linux.so.2 (0x40000000) Las peticiones de logs de Apache se hacen

internamente, de modo que no hay porqué preocuparse de instalar pseudo-

demonios para hacer logging.

Instalación del servidor

Para instalar el servidor bajo la distribución Debian hay que instalar el paquete

apache, bien desde el programa dselect o con apt get como es habitual. En ambos

casos surgirán dependencias con el paquete apache common por lo que también

se instalara. $ apt-get install apache Es recomendable instalar también la

documentación disponible en el paquete de Debian llamado apache doc.

Inicio y parada de apache

Una de las caracteristicas mas utiles de Linux es la habilidad para iniciar y parar

servicios del sistema sin la necesidad de reiniciar. Esto es facil de hacer con el

servidor apache.

Page 243: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

243

Para iniciar apache:

[root@ford root] # /usr/local/apache/bin/apachect1 start

Para parar apache:

[root@ford root] # /usr/local/apache/bin/apachet1 stop

Configuración de Apache

En cuanto a la forma más simple de asegurar Apache y asegurarse de que no

tiene acceso innecesario al sistema de ficheros es crear un directorio /www/ o algo

similar, y situar por ahí debajo todos los sitios web, contenido web, cgi's, etc.

Después sólo es necesario configurar access.conf para que deniegue el acceso a

/ , y se lo permita a /www/ y sus varios directorios cgi-bin.

Archivos de configuración Apache

Los archivos de configuración apache estan localizados en el directorio

/usr/local/apache/conf. Hay tres archivos srm.conf (En este fichero se puede

realizar la configuración de las diferentes partes del Web que tengamos en el

servidor, así como de los diferentes webs que tengamos.), access.conf (Contiene

las directivas globales de control de acceso a los diferentes puntos delWeb.

), httpd.conf(Es la configuración global del servidor. Contiene el conjunto de

opciones comunes a todo el servicio http) y mime.types (Contiene información

sobre el modo en que el servidor debe interpretar los diferentes tipos de archivos

existentes en el Web).

Comandos de Apache

Tras la instalación del servidor, se instalan una serie de comandos a continuación

descritos:

httpd: Servidor de paginas Web.

apachectl: Es una utilidad de control del servidor. Permite detener o iniciar

el servidor, así como permite comprobar la sintaxis de los ficheros de

Page 244: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

244

configuración en busca de errores. También es posible comprobar el estado

del servicio a través de este comando.

ab: Es una utilidad que permite comprobar el rendimiento del servidor

instalado. Principalmente es útil para ver las peticiones servidas por unidad

de tiempo.

apxs: Esta utilidad permite instalar módulos de extensión en el servidor de

forma dinámica. Para poder hacer esto es necesario habilitar esta

posibilidad en el momento en que se inicie mediante el comando httpd l.

dbmmanage, htdigest, htpasswd: Permite crear y modificar los archivos

usados para guardar usuarios y contraseñas para la autentificación básica

de usuarios http.

logresolve: Permite hacer la resolución de nombres para las direcciones IP

que se encuentran el los archivos de log.

rotatelogs: Permite continuar los archivos de seguimiento (logs) en otros

archivos, sin necesidad de reiniciar el servidor.

suexec: Cambia el usuario que ejecuta procesos del servidor.

Control de Accesos

El acceso a los directorios también se puede controlar con facilidad, el Apache

soporta la definición y localización de ficheros (generalmente conocidos como

ficheros htaccess) que controlan el acceso basado en nombre de usuario y

contraseña, IP de origen, etc. Esto se define en srm.conf:

AccessFileName .htaccess. El formato del este fichero viene desarrollado en la

documentación del Apache, y es idéntico a directivas que se colocarían en

access.conf (bueno, casi). 43

43 Thomas Schenk et al. Administración Red Hat Linux. Prentice Hall.pag.594-616

Page 245: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

245

SERVIDOR PROXY

Un Proxy es un sistema que permite acelerar el acceso a Internet de determinados

protocolos y reducir el ancho de banda consumido. Por lo tanto, permite obtener

un mejor rendimiento de Internet consumiendo menos ancho de banda.

Los proxies hacen esta función almacenando copias de los datos descargados de

Internet (cache) de forma que si otro usuario quiere acceder a la misma

información, ya no es necesario volverla a descargar. Los proxies hacen cache de

las peticiones a través del protocolo HTTP, es decir, de páginas Web y de todos

sus contenidos (HTML e imágenes). Para que los usuarios utilicen el Proxy cache

es necesario configurar adecuadamente el navegador de Internet de cada

máquina. Esta configuración local puede evitarse utilizando un Proxy transparente.

En combinación con el firewall, puede hacerse que todas las peticiones Web de

los usuarios sean redirigidas automáticamente a través del Proxy, de forma

totalmente transparente para los usuarios.

El servidor Proxy incorpora un potente gestor de ACL (Access Control List) para

un control detallado de quien está accediendo a través del Proxy y a qué páginas.

SQUID es un proxy para los servicios ftp, http, https. Toda la documentación sobre

el este servidor proxy la podemos encontrar en las siguientes direcciones de

Internet:

_ http://www.squid-cache.org

_ http://squid.nlanr.net

_ http://cache.is.co.za/squid

Haciendo un pequeño resumen, inicialmente los servidores proxy se utilizaban

como cachés de Internet. Actualmente ofrecen gran cantidad de servicios. El uso

más habitual consiste en colocarlo en un ordenador que tenga dos conexiones de

red, una hacia Internet y otra hacia una red local, de forma que a través del proxy

se consigue dar acceso a Internet a toda la red local.

Page 246: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

246

Instalación

El paquete de instalación en la distribución de Linux Debian es squid la instalación

sería: apt-get install squid Tras la instalación se instala el servicio correspondiente

al servidor proxy SQUID en /etc/init.d/ squid. La configuración del servidor queda

centralizada en el fichero /etc/squid.conf

Configuración del servidor

En el archivo de configuración /etc/squid.conf hay una serie de directivas que

definen el comportamiento del servidor proxy.Capítulo 8. Servidor Proxy SQUID 70

Si editamos el archivo de configuración tras la instalación se puede observar que

todas las directivas de control de los servicios están deshabilitadas. Por omisión,

SQUID funciona con unos puertos predeterminados para cada uno de sus

servicios. Esto puede ser problemático en muchos casos, ya que puede haber

algún otro servicio funcionando en el puerto por defecto. Un caso en el que sucede

esto es cuando tenemos en la misma máquina el servidor Apache y Squid. Ambos

para se colocan en el puerto 80 por defecto, de forma que si otra máquina usa el

proxy en el puerto 80 el resultado es que siempre responde con la página que

tenga por defecto Apache en el puerto 80 no pudiendo acceder a ningún otro sitio

de Internet. Existen directivas que nos permiten colocar los diferentes servicios en

diferentes puertos, únicamente hay que ir descomentándolos. En el caso del

servicio http, se puede colocar en otro puerto de la siguiente forma: http_port 3128

con esto la colocamos en el puerto 3128. Tras reiniciar el servicio tenemos en el

puerto 3128 el proxy funcionando para ofrecer servicios http. Otro problema es

que en la configuración por defecto, solo se permite el uso local, es decir, ningún

ordenador de la red lo puede usar nuestra máquina como servidor proxy. Para

habilitar el acceso a otras máquinas es necesario manipular las listas de acceso,

las cuales se explican en la siguiente sección.

Page 247: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

247

Control de acceso

SQUID tiene un complejo sistema de control de acceso. Este es una de las

características más difícil de utilizar en el servidor, si se consigue una buena

configuración podría llegarse a usar como firewall. Este sistema de control de

acceso se basa en las denominadas listas de control de acceso (ACL). Estas listas

de control de acceso se declaran en el archivo de configuración mediante la

directiva acl. A continuación se muestra un ejemplo de una lista de acceso: acl dte

srcdomain dte.us.es Esta lista de acceso contiene todos los clientes que se

conecten desde el dominio dte.us.es. Cuando ya tenemos declarada una lista

ACL, se puede utilizar para permitir o denegar el acceso al Proxy.44

3.3.5. Lección 5: Servidor de correo electronico

Prácticamente, todo e-mail es transportado en la actualidad por SMTP (simple mail

transfer protocol, protocolo de transferencia de correo sencillo) o por eSMTP

(extended SMTP, SMTP ampliado).

Este protocolo se apoya sobre TCP/IP y se diseño originalmente solamente para

mensajes de texto. Y asu vez para maquinas que estaban permanentemente

conectadas a Internet. No obstante, la mayoria de los servidores de correo

almacenaran durante un periodo de varios dias el correo destinado a una

computadora desconectada. Por tanto, si se tiene una conexión no permanente,

se puede utilizar SMTP para la trasmisión de todo el correo e ignorar

completamente los protocolos POP e IMAP, siempre que se hagan conexiones a<l

ISP a intervalos razonables regulares.

Explicación básica de SMTP

La gestión de todo lo concerniente a la red por parte de IP y TCP deja a los

programas de aplicación como un simple intercambio de comandos y datos. Por

44

Page 248: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

248

ejemplo, el protocolo de correo, del que podemos hacer un seguimiento muy

sencillo, trabaja de la manera que vamos a describir a continuación.

Nuestro programa de mail abre una conexión contra el mail server remoto.

Entonces, envía su nombre de máquina local, así como el nombre del emisor, el

buzón de destino y un comando diciendo que empieza el texto del mensaje. En

este punto, el servidor finaliza el tratamiento de lo que ha asumido como

comandos y comienza a aceptar el mensaje hasta que recibe una marca especial.

Después de esto, ambos programas entienden que el envío de comandos ha sido

retomado.

Un ejemplo de cómo se podría hacer sería de la siguiente forma, suponemos que

enviamos un mensaje desde norba:

Date: Sat, 22 May 98 04:22:28 GMT

From: [email protected]

To: [email protected]

Subject: Hola root

Este es el mensaje el formato del mensaje está basado en Internet estándar (RFC

822), donde también se especifica que el mensaje debe transmitirse como net

ASCII (ASCII con <cr><lf>), con unas líneas de cabecera determinadas, una línea

en blanco, y, a continuación, el cuerpo del mensaje que deseamos enviar.

El log del programa de mail, puede enviarse al administrador que interactua

con el servidor SMTP.

Este número es lo que realmente tiene efecto en la operación de los programas; el

texto en realidad es meramente informativo. De entre estos números de respuesta,

lo verdaderamente importante es el primer dígito: Un número de respuesta que

empieza por 2 indica una ejecución satisfactoria. Los que empiezan por 3

Page 249: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

249

requieren una acción a continuación. El rango de los que comienzan por 4 es de

error temporal (por ejemplo cuando el disco se encuentra lleno), y el mensaje

tendrá que ser salvado para reintentarlo más tarde. El 5 es error permanente, (por

ejemplo, no existe recipiente), y el mensaje tendrá que ser devuelto al emisor con

un código de error. Cada sesión empieza con un HELO, que proporciona el

nombre del sistema que ha iniciado la conexión. Después de eso, por medio de

una sentencia MAIL será especificado el emisor del correo y un grupo de

sentencia RCPT de los recipientes destino. Finalmente, se envían los datos

mediante DATA, acabándolos con una línea que contiene tan sólo un punto en su

primera columna. Si hubiese que incluir una línea de esas características como

parte del mensaje, entonces habría que hacer que el punto fuera doble.

Después de que el mensaje haya sido aceptado por el receptor, el programa de

mail tiene dos posibilidades: enviar otro mensaje o bien terminar la conversación

mediante QUIT.

El cliente mail (recepción de correo)

La llamada a mail sin argumentos permitirá a un usuario leer el correo que se

encuentre almacenado en su buzón.

Por defecto, los ficheros buzón de correo se almacenan en el directorio

/usr/spool/mail con el login name de cada usuario. Una vez que los mensajes han

sido leídos, desaparecen del buzón y se almacenan en el fichero ‘mbox’ que se

encuentra en el directorio de conexión del usuario. Para leer el fichero mbox, en

vez del buzón correspondiente, se pude utilizar la opción –f.

La lectura de un buzón de correo presenta los mensajes perfectamente

ordenados, cada uno con su número de mensaje, con objeto de poder ser

accesibles de manera independiente.

Page 250: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

250

Una vez seleccionado un mensaje se puede disponer del mismo para llevar a cabo

las siguientes funciones:

1. Visualizar su contenido mediante ‘p’ (print) o, simplemente, pulsando <intro>.

2. Borrarlo pulsando ‘d’ (delete). Esta acción es reversible mediante el

comando ‘u’ (undo).

3. Responderlo, es decir, mandar correo al emisor del mensaje, con el comando ‘r’

(reply).Para poder salir de nuestra sesión con mail se utiliza la orden ‘q’ (quit) o

bien la orden ‘x’ (Exit).Esta última aborta la sesión con todos los cambios que

hayamos realizado. Es decir, no efectúa nunca modificaciones sobre el propio

buzón del usuario.

Lo explicado hasta ahora constituye lo necesario para una sesión habitual con

Si queremos obtener mas ayuda sobre el mail, podemos referirnos a la ayuda del

man, poniendo ‘man mail’. (En algunos sistemas, la ayuda se obtiene poniendo

‘man mailx’ o ‘help mail’).

El cliente mail (envío de correo)

Si queremos enviar un mensaje a uno o más usuarios que se encuentren en

nuestra red, basta con utilizar el comando ‘mail’ con los nombres de dichos

usuarios como parámetros.

Se pueden dar algunas causas por las que un determinado mensaje no pueda ser

distribuido, (por ejemplo, por un repentino error del sistema, o bien que el

recipiente para determinado usuario no exista, etc.).

Configuración del cliente mail

La activación y la desactivación de todas las opciones de comportamiento que

posee el programa ‘mail’ se pueden realizar a través de dos comandos,

denominados “set” y “unset”.

Page 251: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

251

De todas maneras, no todo queda ahí. Se dispone, en efecto, de una segunda

posibilidad que puede ser muy útil: también pueden establecerse si utilizamos

convenientemente los ficheros de configuración. En la configuración del cliente

mail intervienen dos ficheros:

/etc/mail.rc

$HOME/.mailrc

/etc/mail.rc contiene una serie de opciones del cliente mail que pueden ser

controladas mediante los comandos ‘set’ y ‘unset’. De esta forma, se pueden

activar y desactivar las distintas opciones booleanas.

Otras opciones se definen con variables que pueden adoptar distintos valores. La

información completa sobre la composición del fichero ‘mail.rc’ se pude obtener

tecleando el comando ‘man mailx’.

Las opciones de comportamiento del cliente mail pueden ser establecidas

particularmente para cada usuario a través del fichero ‘.mailrc’, que se encuentra

en los distintos directorios de conexión.45

45 Steve shah. Manual de Administración de Linux. Pag.311-324

Page 252: 250550-Linux

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CUSO: 250550 – LINUX

252

FUENTES DOCUMENTALES DE LA TERCERA UNIDAD

Referentes Bibliográficos:

RICHARD Petersen, Linux Manual de Referencia. Osborne McGraw-Hill. 1998, España. ISBN: 84-481-0812-4. Páginas: 894.

THOMAS Schenk et al, Administración de Red Hat Linux. Prentice Hall. 2000. España. ISBN: 84-205-3124-3. Páginas: 1148.

STEVE Shah, Manual de Administración de Linux. Osborne McGraw-Hill. 2000, España. ISBN: 84-481-2892-3. Páginas: 545.

STEVE Maxwell, Red Hat Linux Herramientas para la Administración de Redes. McGraw-Hill. 2001, Bogotá - Colombia. ISBN: 958-41-0220-6. Páginas: 697.

Diplomado Linux. Editorial UNAD. 2002, Bogotá – Colombia. Nivel básico, nivel 2, nivel 3 y nivel 4.

Cibergrafía:

http://www.linuxencd.com/descargar/Fedora-Core http://es.wikipedia.org/wiki/Linux http://www.linux-es.org/ http://www.linuxparatodos.net/ http://www.gnu.org/home.es.html http://www.todo-linux.com/ http://www.planetalinux.com.ar/ http://www.espaciolinux.com/ http://www.linuxespanol.com/ http://www.monografias.com/trabajos14/linux/linux.shtml http://www.redes-linux.com/ http://www.gacetadelinux.com/ http://www.diariolinux.com/ http://www.ciberdroide.com/misc/donde/dondelinux.html http://structio.sourceforge.net/guias/AA_Linux_colegio/AA_Linux_colegio.html http://www.redhat.es/ E-Books:

http://www.it.uc3m.es/tlp/docs/AprendaUnix.pdf