You are on page 1of 164

Slackware Linux Essentials

La gua oficial del Slackware Linux


David Cantrell Logan Johnson Chris Lumens Este documento esta autorizado segn las condiciones del GNU. Una copia de esta licencia puede encontrarse en el Apndice A. Linux es una marca registrada de Linus Torvalds. Slackware es una marca registrada de BSDi y Patrick Volkerding.

slackware@venezuela.com http://slackware.venezuela.com

INDICE I. Introduccin 1. Introduccin al Slackware Linux


Que es Linux? Que es Slackware? Open Source y Free Software

2. Ayuda
Ayuda del Sistema Ayuda en Lnea

II. Instalacin 3. Instalacin


Consiguiendo Slackware Requisitos del Sistema Resumen

III. Configuracin 4. Configuracin del Sistema


Conociendo el Sistema Seleccionando el Kernel Resumen

5. Configuracin de Red
Hardware de Red Utilidades de Red Los Archivo de /etc rc.inet1 rc.inet2 NFS (Sistema de Archivos de Red) tcp_wrappers Resumen

6. El sistema X window
xf86config XF86Setup Archivos de configuracin de sesin Servidores y gestores de Ventana Seleccionando un escritorio Exportando Pantallas Resumen

7. Booteando
LILO LOADLIN Booteo Dual Resumen

IV. Usando Slackware Linux 8. El Shell


Usuarios La linea de comandos The Bourne Again Shell (bash) Terminales Virtulaes Resumen

9. Estructura del filesystem


Propietarios Permisos Enlaces(Links) Montando Dispositivos Montaje NFS
2

Resumen

10. Manejando Archivos y Directorios


ls cd more less cat touch echo mkdir ln cp mv rm rmdir Resumen

11. Control de Procesos


Backgrounding Foregrounding ps kill top Resumen

12. Administracion Esencial del Sistema


Usuarios y Grupos Apagando Correctamente Resumen

13. Comandos Bsicos de Red


ping finger telnet Clientes FTP email lynx wget traceroute Hablando con otras personas Resumen

14. Guardando Archivos


gzip bzip2 tar zip Resumen

15. vi
Iniciando vi Modos Abriendo Archivos Guardando Archivos Cerrando vi Configuracin de vi Teclas del vi Resumen

16. Manejo de paquetes en Slackware


Vision general del formato de los paquetes Utilidades de paquetes Creando paquestes Creando tags y tagfiles (para la instalacin) Resumen

17. ZipSlack y BigSlack


Que es ZipSlack/BigSlack? Consiguiendo ZipSlack/BigSlack Instalacion Arrancando ZipSlack/BigSlack Agregando, eliminado y acuatlizando Software Problemas comunes Obteniendo Ayuda Resumen

Glosario A. Licencia Publica GNU


Preambulo Trminos y condiciones para la copia, distribucin y modificacin Cmo aplicar estos trminos a sus nuevos programas

I. Introduccin
Captulo 1. Introduccin al Slackware Linux
Contenido Que es Linux? Que es Slackware? Cdigo abierto y el Software Libre

Que es Linux?
Linux fue creado por Linus Torvalds en 1991 como un proyecto personal. l estaba buscando una manera de ejecutar un sistema operativo basado en Unix sin gastar mucho dinero. Adems, de aprender las entradas-y-salidas del procesador 386. El lanzo el sistema de forma gratuita para que cualquiera pudiera hackearlo y hacerle mejoras bajo la licencia GNU General Public License (Licencia Publica General).(vea la seccin llamada Open Source y Software Libre) Hoy, Linux ha crecido en el mercado de los sistemas operativos. Se ha puesto a tono para correr en una variedad de arquitecturas incluso el Alfa de Compaq, Sun SPARC y UltraSPARC, y Motorola PowerPC (a travs de Apple Macintosh e IBM las computadoras de RS/6000, por ejemplo). Linux est desarrollndose ahora por los centenares (si no miles) de programadores en el mundo. Ejecuta programas como Sendmail, Apache, y LAZO que son algunos de los software de servidor ms populares en la Internet. El trmino "Linux" slo se refiere al Kernel el centro del sistema operativo. Esta parte es responsable de controlar su procesador, memoria, unidades de disco duro, y perifricos. Eso es realmente todo lo que Linux hace. Controla las funciones de su computadora y se asegura que todos los programas se comporten. Todos esos programas que hacen til a Linux son desarrollados por los grupos de programadores independientes. El Kernel y sus programas son desarrollados conjuntamente por varias compaas e individuos para hacer un sistema operativo. A esto lo llamamos una distribucin de Linux.

Que es Slackware?
Slackware fue la primera distribucin de Linux en lograr un uso extendido. Fue creada por Patrick Volkerding a finales de 1992. El comenz a utilizar Linux
5

cuando necesit un intrprete de LISP barato para un proyecto. En ese momento, haba muy pocas distribuciones, Patrick uso la distribucin de Soft Landing Systems (SLS Linux). Sin embargo, SLS tena algunos problemas, por lo que Patrick comenzo a arreglar los problemas que el encontr. En el futuro, l decidi fusionar todos esos arreglos en su propia distribucin para l y sus amigos. Esta distribucin privada gan popularidad rpidamente, y Patrick la hizo disponible al pblico bajo el nombre de Slackware. En el camino, Patrick agreg nuevas cosas a la distribucin como un programa de instalacin de uso fcil basado en un sistema de menus y el concepto de manejo de paquetes. Esto le permite a los usuarios fcilmente agregar, actualizar o quitar paquetes de software de su sistema.

Open Source and Free Software


Dentro de la comunidad de Linux, hay dos movimientos ideolgicos de trabajo. El movimiento del Free Software (Software Libre) que est trabajando hacia la meta de hacer todo el software libre de restricciones de propiedad intelectuales , cree en la mejoras tcnicas y trabaja en favor de la comunidad. El movimiento Open Source (Cdigo Abierto) est trabajando hacia la mayora de las mismas metas, pero toma un acercamiento ms pragmtico, prefiriendo basar sus argumentos en los mritos econmicos y tcnicos de hacer el cdigo fuente disponible libremente, en lugar de los principios morales y ticos que manejan el Movimiento del Software Libre. El movimiento del Software Libre esta encabezado por la Free Software Fundation que esta organizando la recaudacin de fondos para el proyecto GNU. El software libre es ms que una ideologa. En esencia, el software libre es un esfuerzo por garantizar ciertos derechos para usuarios y diseadores. Estas libertades incluyen la libertad para ejecutar el programa por cualquier razn, la libertad para estudiar y modificar el cdigo fuente, la libertad para redistribuir la fuente, y la libertad para compartir cualquier modificacin. Para garantizar estas libertades, se cre la GNU General Pblic License (GPL). La GPL, proporciona a cualquiera que distribuya un programa compilado autorizado bajo la GPL a proporcionar el cdigo fuente, y ser libre de hacer las modificaciones al programa con tal de que esas modificaciones estn disponibles en el cdigo fuente. Esto garantiza que una vez el programa se abre a la comunidad, no puede cerrarse" excepto por el consentimiento de cada autor de cada pedazo de cdigo (incluso las modificaciones) dentro de l. La mayora de los programas de Linux son distribuidos bajo la GPL. Es importante sealar que la GPL no dice nada sobre el precio. Tan contradictorio como puede parecer, usted puede cobrar por el software libre. La" parte libre" est en que usted posee el cdigo fuente, no en el precio que usted paga por el software. (Sin embargo, una vez que alguien lo ha vendido, o incluso lo ha dado, un programa compilado distribuido bajo la GPL les obligan a que proporcionen su cdigo fuente tambin.) Al frente del joven movimiento del Open Source, se encuentra la OSI (Open Source Iniciative) cuyo propsito es buscar apoyo para la distribucin de software de cdigo abierto. Es decir, software que tiene el cdigo fuente disponible as como el programa listo para ejecutarse. Ellos no ofrecen una
6

licencia especfica, pero en cambio ellos apoyan los varios tipos de licencia de fuente abierta disponibles. La idea detrs de la OSI es tener mas compaas usando cdigo abierto permitindoles escribir sus propias licencias certificadas por la Open Source Initiative. Muchas compaas quieren liberar el cdigo fuente, pero no quiere usar la GPL. Debido a que ellos no pueden cambiar la GPL radicalmente, ellos ofrecen la oportunidad de proporcionar su propia licencias certificadas por esta organizacin. Aunque la Free Software Foundation y la Open Source Initiative trabajan para ayudarnos no son la misma cosa. La Free Software Fundation usa una licencia especfica y proporciona el software bajo esa licencia. La Open Source Initiative busca un soporte para todas las licencias de cdigo abierto, incluyendo la licencia de la Free Software Foundation. La forma en que cada uno defiende hacer el cdigo fuente disponible divide a los dos movimientos, pero el hecho que dos grupos ideolgicamente diversos estn trabajando hacia la misma meta presta creencia a los esfuerzos de cada uno.

Capitulo 2. Ayuda
Contenido Ayuda del Sistema Ayuda en lnea

Hay ocasiones en la que usted puede necesitar ayuda especifica sobre algn comando, configurando un programa, o instalando una pieza de hardware. Por suerte hay una variedad de maneras de conseguir la ayuda. Si usted instalara los paquetes de las F software series, usted ya tiene una gran cantidad de ayuda instalada. Los Programas tambin vienen con la ayuda sobre sus opciones, la configuracin y uso. Finalmente, usted puede verificar el web site oficial de Slackware para la ayuda.

Ayuda del Sistema


man man (abreviatura de "manual") es una forma tradicional de documentacin en lnea en Unix y sistemas operativos de Linux. Los archivos especialmente estructurados, las "man pages, estn escritas para la mayora de las rdenes y son distribuidos con el software. Ejecutando man comando mostrara la ayuda sobre el comando o programa especificado. Como hay tantos de ellos, se agrupan las pginas del man en secciones enumeradas. Este sistema es tan largo que usted ver a menudo rdenes, programas, e incluso funciones de biblioteca de programacin referidas con su nmero de seccin en man. Por ejemplo, usted podra ver el man(1). Esto le indica que usted esta viendo las paginas del man de la seccin uno (comandos de usuario); usted puede especificar que quiere ver en la seccin 1 la pagina del manual referente al comando man ejecutando el comando man 1 man. Especificar la seccin del manual que usted desea ver puede ser muy til en el caso de que existan varios comandos o programas con el mismo nombre. Tabla 2-1. Secciones de las paginas del Manual Seccin Seccin 1 Seccin 2 Funciones del sistema Contenido Comandos de usuario (introduccin solamente)

Seccin 3 Seccin 4 Seccin 5 Seccin 6 Seccin 7 Seccin 8

Funciones de la librera de C dispositivos (Ej. Discos Duros) Formatos de Archivos y Protocolos (Ej. wtmp, /etc/passwd, nfs) Juegos (introduccin solamente) Convenciones , paquetes macro, etc. (Ej.: nroff, ascii) Administracin de Sistema (introduccin solamente)

Adems del man(1), estan los comandos whatis(1) y apropos(1) cuyo propsito es hacerle ms fcil encontrar la informacin en el sistema man. El whatis da una descripcin muy breve de comandos del sistema, un poco en el estilo de una referencia de bolsillo. apropos se usa para buscar la pgina del man que contiene una palabra clave dada. Vea esas paginas del manual para mas detalles. ;)

El Directorio /usr/doc
Los programas que no son diseados por nosotros vienen con su propia documentacin. Archivos README, instrucciones de uso, licencias... cualquier otro tipo de documentacin que se incluya con el programa se instala en el directorio /usr/doc Si las pginas del man no le proporcionan suficiente informacin usr/doc deben ser su prxima parada.

HOWTOs y mini-HOWTOs
Es el verdadero espritu de comunidad el que crea la coleccin de HOWTO/mini-HOWTO. Estos archivos son exactamente lo que parecen documentos que describen cmo hacer las cosas. Si usted instala el paquete de HOWTO , se instalar los HOWTOs en el directorio /usr/doc/Linux-HOWTOs y los mini-HOWTOs en /usr/doc/Linux-mini-HOWTOs. Tambin incluido en el mismo paquete se encuentra la coleccin de FAQs (Listas de Preguntas Frecuentes--con las respuestas) qu se instala en el mismo lugar. Estos archivos merecen la pena cuando usted no est seguro de cmo proceder con algo. Un rango asombroso de temas se cubre a veces con detalle sorprendente.

Ayuda en Lnea
Adems de la documentacin proporcionada e instalable con el Slackware Linux, hay varios recursos en lnea disponible.

Web site y Foro


www.slackware.com El web site oficial del Slackware Linux est lleno de documentacin sobre Slackware. En el se encuentran las pginas de ayuda introductorias, una gua de la instalacin, listas de FAQs, y toda clases de material bueno para los nuevos (y a menudo experimentados) usuarios. Tambin disponible en el web site el Foro de Slackware, una seccin dnde los usuarios pueden discutir sus experiencias con el Slackware y nos ayudan con las preguntas y problemas. Se demuestra que es un recurso muy popular y til, y probablemente debe ser su primera parada para el apoyo. (Debido al gran pblico que leer su mensaje, usted puede tener a veces una buena oportunidad de conseguir una solucin rpida). Por favor busque en el foro su pregunta, para ver si ya se ha preguntado y se ha contestado, antes de anunciar.

Apoyo por correo electrnico


Cualquiera que compra el CD oficial obtiene el apoyo de la instalacin va correo electrnico. Eso dije, nosotros somos de la vieja escuela. Nosotros hacemos nuestro mejor esfuerzo para ayudar a cualquiera que nos manda electrnicamente las preguntas. Por favor verifique su documentacin y el web site (sobre todo el FAQs y el Foro); usted puede conseguir una respuesta ms rpida as, y es menos correo electrnico el que nosotros tenemos que contestar, obviamente ms pronto podremos ayudar a todos. La direccin del correo electrnico para el soporte tcnico es: < support@slackware.com >. Se listan otras direcciones de correo electrnico e informacin de contacto en el web site.

10

II. Instalacin
Capitulo 3. Instalacin
Contenido Consiguiendo Slackware Requisitos del Sistema Resumen Antes de que usted pueda usar Slackware Linux, usted tendr que obtenerlo e instalarlo. Conseguir Slackware es tan fcil como comprndolo o bajndolo gratis a travs de la Internet. Instalarlo tambin es fcil siempre que usted tenga un poco de conocimiento bsico sobre su computadora y este deseoso de aprender unas otras cosas. El programa de instalacin es un proceso paso a paso. Debido a esto, usted puede ponerse rpidamente en marcha.

Consiguiendo Slackware El CD official y los paquetes


El CD oficial del Slackware Linux est disponible de Slackware Inc. comprando el disco oficial, usted obtiene el CD de instalacin, el apoyo de la instalacin va el correo electrnico, un folleto de instalacin de 30-pginas, y ms. Los paquetes de Slackware, incluyen el CD de instalacin ms el manual oficial del Slackware Linux. Quizs ms pretenciosamente, comprar el paquete sea una manera excelente de apoyar el Proyecto Slackware Linux directamente (y nos ayuda a comprar los nachos).

Tabla 3-1. informacin de contacto de Slackware, Inc.


Mtodo telfono website email snail mail Informacin 1-800-786-9907 http://www.slackware.com <orders@slackware.com> 4041 Pike Lane, Suite F Concord, CA 94520-1207

Va Internet
Slackware Linux tambin est disponible gratis a travs de la Internet. Usted puede mandar electrnicamente su pregunta a nuestro servicio de apoyo, pero se dar prioridad superior a aquellos que han comprado el paquete de CD oficial. El web site oficial donde se localiza el Slackware es: http://www.slackware.com / La direccin de FTP primaria del Slackware Linux es:ftp://ftp.slackware.com/pub/slackware/
11

Requisitos del Sistema


Una instalacin sencilla de Slackware requiere, mnimo, lo siguiente,: Tabla 3-2. Requisitos del Sistema Hardware Procesador RAM Floppy Drive 386 16 MB 1.44 MB

Requiere

Espacio en disco 500MB

Si usted tiene el CD booteable, probablemente usted no necesitar una Floppy Drive. Claro, est que si usted planea instalar el CD usted necesitar una unidad de CD-ROM. Una tarjeta de red se requiere para una instalacin tipo NFS. Vea la seccin llamada NFS para ms informacin. El requisito de espacio en disco es algo variable. Los 500MB recomendados son para una instalacin normal, pero si usted hace un instalacin completa, usted necesitar alrededor de un gigabyte de espacio en el disco duro disponible. La mayora de los usuarios no hace una instalacin completa. De hecho, Slackware corre en espacios tan pequeos como 100MB de espacio en disco. Slackware puede ser instalado en equipos con menos RAM pero para esto ara falta un poco de sufrimiento. Si usted esta listo para un poco de trabajo, eche una mirada al archivo de LOWMEM.TXT en el rbol de la distribucin para algunas instrucciones tiles.

Las Series del Software


Por razones de simplicidad, Slackware ha sido histricamente dividido en series de software. Una llamada "disk sets" por que fue diseada para la instalacin mediante Floppy, las series de software se usan actualmente para categorizar los paquetes incluidos en la instalacin. Hoy, la instalacin mediante Floppy todava es posible para la serie A y la mayora de las series de N (vea debajo). El siguiente cuadro es una descripcin breve de cada serie de software. Tabla 3-3. Series de Software Series A AP D

Contenido

El sistema base. Contiene el software para ponerse en marcha publicar texto y el programa de comunicacin bsico. Varias aplicaciones que no requieren del sistema X window Herramientas para el desarrollo de programas. Compiladores, debuggers, interpretes, y todas las paginas del man se encuentran
12

all.. DES E F GTK K KDE Incluye la funcion crypt del GNU libc. GNU emacs. FAQs, HOWTOs, y otras documentaciones miscelneas. El entorno de escritorio GNOME, GTK widget library, y el GIMP. El cdigo fuente del Kernel de Linux El entorno de escritorio de K. Un ambiente de X que comparte mucho rasgos con el MacOS y Windows. La biblioteca de Qt que KDE requiere, tambin est en esta serie. Programas de Red. Daemons, mail, telnet, grupos de noticias, y as sucesivamente. teTeX sistema de formato de documentos Lenguaje de Herramientas de Comando. Tk, TclX, y TkDesk. X Window System basico.
Aplicaciones de X que no son parte de un ambiente de escritorio (por ejemplo, Ghostscript y Netscape).

N T TCL X XAP XD XV Y

X11 desarrollo de programas. Libreras, Server link kit, y soporte para PEX XView libreras, el OpenLook Virtual y No-Virtual Window Manager, y muchas otras aplicaciones XView Juegos

Mtodos de Instalacin
Floppy Mientras alguna una vez fue posible instalar todo Slackware Linux desde los disquetes flexibles, el tamao creciente de paquetes de software (de hecho, de algunos programas individuales) ha forzado el abandono de este tipo de instalacin para todas las series excepto dos. La serie A todava es totalmente instalable desde los disquetes, y la mayora de la serie N tambin. Esto le dar un sistema muy bsico que puede usarse para instalar el resto de la distribucin va red. Por favor note que todava se requieren los disquetes para la instalacin por CD-ROM si no tiene el CD booteable, as como para la instalacin NFS.

CD-ROM
Si usted tiene el CD booteable, disponible en el paquete oficial publicado por Slackware, Inc. (vea la seccin llamada Consiguiendo Slackware), la instalacin basada en CD ser ms simple para usted. Si no usted necesitara iniciar desde los disquetes. Adems, si usted tiene un hardware especial que cause conflictos con el kernel usado en el CD bootable, usted necesitara usar disquetes especiales.

13

Vea la Seccin llamada Disco de Inicio en la seccion llamada Disco Suplemental para informacin de cmo escoger y crear los discos para iniciar, si es necesario.

NFS
NFS Net File System ( Sistema de Archivo de Red) es una manera de hacer el sistema de archivos disponible a las mquinas remotas. La instalacin NFS le permite instalar Slackware desde otra computadora conectada en su red. La mquina desde la que usted est instalando necesita ser configurado para exportar la distribucin de Slackware a la mquina a que usted est instalando. Esto, claro, involucra un poco de conocimiento de NFS que se cubre en la seccin llamada NFS (Sistema de Archivo de Red) en Captulo 5. Es posible realizar una instalacin NFS a travs de mtodos como PLIP (mediante el puerto paralelo), SLIP, y PPP (aunque no mediante una conexin de mdem). Sin embargo, nosotros recomendamos el uso de una tarjeta de red si esta disponible. Despus de todo, instalar el sistema operativo a travs de el Puerto de impresora va a ser un proceso muy, muy lento.

Disco de Inicio(Boot Disk)


El disco de inicio es el que se utiliza para arrancar la maquina y empezar la instalacin. Contiene una imagen del kernel comprimida que se usa para controlar el hardware durante la instalacin. Por consiguiente, es muy importante (a menos que usted est iniciando desde el CD, como se explica en la seccin llamada CD-ROM). Los discos de inicio estn localizados en el directorio bootdsks.144/ en el rbol de la distribucin. Hay ms discos de inicio de Slackware que usted puede utilizar (es decir aproximadamente 60). Una lista completa de discos de inicio, con una descripcin de cada uno, est disponible en el arbol de archivos de la distribucin de Slackware en el archivo bootdsks.144/WHICH.ONE. Sin embargo, la mayora de las personas puede usar el bare.i (para los dispositivos de IDE) o scsi.s (para los dispositivos de SCSI) como imagen del disco de inicio. Vea la seccin llamada la Creacin de los Discos para instrucciones de como hacer un disco de imagen. Despus de iniciar, se le pedir insertar el disco raz. Recomendamos que inserte el disco raz y contine con la instalacin.

Disco Raiz(Root Disk)


El disco raz contiene el programa de instalacin y un el sistema de archivos que se usa durante la instalacin. Es indispensable. Las imagines del disco raz se encuentran el directorio rootdisk en el rbol de la distribucin. Hay afortunadamente, menos imgenes de disco raz que de discos de inicio. Hay slo tres de hecho.
color.gz Es el que la mayora de la personas utiliza. Esta en colores. text.gz Es como el color.gz, pero sin color. umsdos.gz se usa por instalar en una particin tipo FAT (Windows) se recomienda slo para los propsitos experimentales. Para aquellos

14

interesados probar Slackware en una particin de Windows, nosotros recomendamos usar ZipSlack o BigSlack.

Disco Suplemental
Un disco suplemental se necesita si usted est realizando una instalacin NFS o instalando en un sistema con dispositivos PCMCIA. Los Discos Suplementales se encuentran en el directorio rootdsks, bajo el nombre de network.dsk y pcmcia.dsk. El disco raz lo instruir en el uso de discos suplementales cuando este cargado.

Creando los discos


Una vez seleccionada la imagen de disco de inicio que utilizara ,usted debe colocarla en el disquete. El proceso es ligeramente diferente dependiendo del sistema operativo que este usando para hacer los discos. Si esta bajo Linux (o cualquiera basado en UNIX) usted necesitar usar el comando dd(1). Asumiendo a hejaz.dsk Como imagen de inicio y su unidad de disquete como /dev/fd0 el comando para hacer el disco hejaz.dsk es:
# dd if=hejaz.dsk of=/dev/fd0

Si usted est ejecutando un sistema operativo Microsoft, usted necesitar usar el RAWRITE.EXE programa que es incluido en el rbol de la distribucin en los mismos directorios de las imgenes de disquetes. Asumiendo que hejaz.dsk de nuevo es su archivo de imagen de disco y su unidad de disquete es A:, abra una ventana de DOS y teclee lo siguiente:
c:\ rawrite a: hejaz.dsk

Creando las Particiones


Despus de iniciar desde el dispositivo que halla elegido , usted necesitar particionar su disco duro. La particiones del disco es donde se crearan los sistemas de archivos de Linux y es donde Slackware se instalar. Como mnimo nosotros recomendamos crear dos particiones; uno para la raz de su filesystem(/) y una para swap. Despus de cargar el Disco Raz(Root Disk), se le pedir el inicio de sesin. Entre como root (no tiene contrasea). En el prompt del shell, ejecute cfdisk(8) o fdisk(8). El programa cfdisk incluye una interfase mas amigable que fdisk, pero no incluye ciertas funciones. Nosotros explicaremos brevemente el programa fdisk a continuacin. Empiece ejecutando fdisk en su disco duro. En Linux, los discos duros no tienen letras para designar las unidades, pero se representan por un archivo. El primer disco duro IDE (primary master) es /dev/hda, el esclavo
15

primario(primary slave) es /dev/hdb, y as sucesivamente. Los discos SCSI siguen el mismo tipo de sistema, pero est con la forma de /dev/sdX. Usted necesitar ejecutar fdisk y asignarle su disco duro:
# fdisk /dev/hda

Como todos los buenos programas de Unix, el fdisk le mostrara un prompt (estaba pensando en un men, verdad?). La primera cosa que usted debe hacer es examinar sus particiones actuales. Hacemos esto escribiendo p en el prompt de fdisk:
Command (m for help): p

Esto desplegar toda la informacin sobre sus particiones actuales. La mayora de las personas escoge una unidad libre para instalar y despus quitar cualquier particin existente para crear las particiones de Linux.
ES MUY IMPORTANTE QUE USTED RESPALDE CUALQUIER INFORMACIN QUE DESEE CONSERVAR ANTES DE DESTRUIR CUALQUIERA DE LAS PARTCIONES DONDE SE ENCUENTRA.

No hay manera de recuperar despus de borrar una particin, as que haga un respaldo de todo antes de empezar a jugar con ellas. Mirando la informacin de la particin usted debe ver el numero de particiones, el tamao de la particin, y su tipo. Hay mas informacin, pero no se preocupe por eso ahora. Nosotros vamos a anular todas las particiones en este paso para crear las de Linux. Ejecutamos el comando d para eliminarlas:
Command (m for help): d Partition number (1-4): 1

Este proceso debe continuarse para cada una de las particiones. Despus de anular todas las particiones nosotros estamos listos crear las de Linux. Nosotros decidimos crear una particin para nuestro directorio raz y una para swap. Nuestro consejo es hacer dos particiones para empezar, una para la raiz del filesystem y una para el espacio swap. Con el tiempo usted encontrara un esquema de particin que satisfaga su sistema. Ahora nosotros creamos las particiones con el comando n:
Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4):1 First cylinder (0-1060, default 0):0 Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M

Usted necesita asegurarse de crear las particiones primarias. La primera particin va a ser nuestra particin swap. Nosotros decimos al fdisk hacer la particin nmero 1 una particin primaria. Nosotros la comenzamos en el cilindro 0 y como cilindro final escribimos +64M. Esto nos dar una particin de
16

64 Mb para el swap. (El tamao de la particin swap que usted realmente necesita depende de la cantidad de RAM que usted tiene. En la mayora de los casos debe ser el doble de la cantidad de RAM que usted posee.) Entonces nosotros definimos la particin primaria 2 arrancando en el primer cilindro disponible y tomando todo el espacio disponible en la unidad.
Command (m for help):n Command action e extended p primary partition (1-4) p Partition number (1-4):2 First cylinder (124-1060, default 124):124 Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060

Ya casi esta listo. Necesitamos cambiar el tipo de la primera particin a 82 (swap de Linux). Teclee t para cambiar el tipo, seleccione la primera particin, y teclee 82. Antes de escribir sus cambios al disco, usted debe mirar la nueva tabla de particin una ltima vez. Use p en el fdisk para desplegar la tabla de particin. Si todo esta bien, tecleamos w para escribir sus cambios al disco y salir del fdisk.

El Programa de Instalacin
Una vez creadas sus particiones, usted est listo para instalar Slackware. El prximo paso en el proceso de instalacin ser ejecutar el programa de instalacin: setup(8). Para hacer esto, simplemente escriba setup en el prompt del shell. setup es un sistema manejado por mens que sirve para instalar los paquetes de Slackware y configurar su sistema.

El proceso instalacin es as: Usted va paso a paso a travs de cada opcin en el programa de instalacin, en el orden en que ellos se listan. (Por su puesto usted puede hacer las cosas en el orden que usted escoja, pero tendr pocas posibilidades para que las cosas le salgan bien.) Las opciones del men se seleccionan usando las teclas de navegacin arriba y abajo, " Okay" y" Cancel" ser escogidos usando la flechas de izquierda y derecha.
17

Opcionalmente, cada opcin tiene una tecla correspondiente a la letra que se resalta en el nombre de la opcin. Las opciones que son flaggables (aqullas indicadas con una [X]) se marcan usando la barra espaciadora. Por supuesto, todo eso se describe en la seccin "help" del setup. HELP Si ste es su primera vez instalando Slackware, usted podra echar una mirada a la pantalla de ayuda. Encontrara la descripcin de cada parte del setup (mas o menos como la que estamos escribiendo ahora menos profunda.) e instrucciones para recorrer el resto de la instalacin.

Keymap (Teclado) Si usted posee un teclado diferente al de Estados Unidos, usted debe entrar a esta seccin Ofrece varios diseos alternativos para el uso de su teclado.

ADDSWAP Si usted creo una particin swap ,esta seccin le permitir habilitarlo. El las detectara automticamente y le mostrara las particones swap de su disco duro, permitindole seleccionar una para estructurarla y habilitara.
18

TARGET La seccin Target es donde sus otras particiones (no-swap) son formateadas y trazar los puntos de montaje del filesystem. Una lista de las particiones en su disco duro se desplegar. Para cada particin, usted tendra la opcin de formatear (y en ese caso, verificar los bloques malos) y una seleccin de tamaos del inode. Para el uso normal, el tamao del inode predefinido est bien. La primera opcin en la seccin Target es la seleccin de una particin para instalar la raz del filesystem(/). Despus de eso, usted podr trazar otras particiones al filesystems. (Por ejemplo, usted puede querer una tercera particin, digamos el /dev/hda3, para ser el HOME de su sistema de archivos. Esto es simplemente un ejemplo; cree las particiones como le parezca mejor.) SOURCE La seccin Source es donde usted selecciona los medios con los que usted est instalando Slackware. Hay cuatro fuentes actualmente para escoger Disquetes, CD-ROM, NFS, o un directorio PRE-montado.

La instalacin por disquetes empieza solicitando muchos discos. Esta opcin requiere de mucho tiempo y paciencia, pero es posible. Tenga presente que usted necesita crear los discos antes de empieza el programa de instalacin. La seleccin de CD-ROM habilita la instalacin mediante CD. Ofrece la opcin de buscar su tipo de unidad de CD o mostrar una lista para que usted escoja el tipo de unidad de CD que usted posee. Asegrese que usted tiene el CD de Slackware en su CDROM antes de permitirle examinar. Despus que el programa encuentre su unidad del CD-ROM le preguntar si usted quiere realizar una instalacin tipo "slakware" o tipo "slaktest." El valor predeterminado es slakware que es una instalacin normal. La opcin del slaktest instala un mnimo de software al disco duro y guarda la mayora de l en el CD. Usted necesitara el CD live incluido en el set de instalacin para poder utilizar esta opcin. La seleccin de NFS le pedir la informacin de red de su equipo y la informacin de red del servidor NFS. El servidor NFS debe prepararse por adelantado. Tambin note que usted no puede usar hostnames, usted debe
19

usar las direcciones IP para su mquina y el servidor de NFS (no hay ningn resolvedor de nombres en el disco de instalacin). El directorio pre-mounted ofrece una mayor flexibilidad. Usted puede usar este mtodo para instalar desde discos Jaz, NFS a travs de PLIP, y sistemas de archivos FAT. Monte el filesystem en antes del setup, entonces especifique esa direccin aqu.

20

SELECT La opcin SELECT le permite seleccionar las series del software que usted desea instalar. Estas series se describen en la seccin llamada Series de Software. Por favor note que usted debe instalar serie A para tener un sistema activo. Todas las otras series son optativas.

INSTALL Asumiendo que usted ha pasado por " TARGET"," SOURCE", y" SELECT", la opcion INSTALL le permitir seleccionar los paquetes de sus series desoftware escogidas. Si no, le pedira regresar y completar las otras secciones del programa de instalacin. Esta opcion le permite seleccionar seis tipos diferentes de instalacion: full, newbie, menu, expert, custom, y tag path.

21

La opcin full instalar cada paquete de todas las series desoftware que usted escogi en la "seccin select.". ste es el mtodo de la instalacin ms fcil, ya que usted no necesita tomar cualquier decisin en los paquetes a instalar. Claro, esta opcin tambin aumenta la cantidad de espacio requerido en la unidad de disco duro. La prxima opcin es el newbie (novato). Esta opcin instala todos los paquetes requeridos en las series seleccionadas. Para todos los otros paquetes, ofrece una sugerencia dnde usted puede escoger" Yes"," No", o" Skip. Yes y No hacen lo obvio, Mientras que Skip permite saltar a la prxima serie de software. Adicionalmente, usted ver una descripcin y el tamao requerido para cada paquete para ayudarle a decidir si usted lo necesita. Nosotros recomendamos esta opcin para los nuevos usuarios, con ella asegura que usted obtiene todos los paquetes requeridos instalados. Sin embargo, es un poco lento debido a las preguntas. El menu es una versin ms rpida y ms avanzada de la opcin newbie. Para cada series, un men se despliega en el que usted puede seleccionar todos los paquetes no-requeridos que usted quiere instalar. No se despliegan los paquetes requeridos en este men. Para el usuario ms avanzado, instale la opcin expert. Esto permite usted un control completo sobre los paquetes que se instalan. Usted puede cancelar una seleccin paquetes que se requieren absolutamente, produciendo un sistema daado. Por otro lado, usted puede controlar lo que va hacia su sistema exactamente. Simplemente seleccione los paquetes de cada series que usted necesita instalar. Esto no se recomienda para el nuevo usuario.. La custom y tag path tambin son para los usuarias avanzados. Estas opciones le permiten instalar archivos basados en etiquetas de costumbre(tag path) que usted cre en el rbol de la distribucin. Esto es til para instalar rpidamente a gran numero de mquinas. Para ms informacin sobre usar los tag path, vea la seccin llamada la Fabricacin de Tags y Tagfiles (para la instalacin) en Captulo 16. Despus de seleccionar su mtodo de la instalacin, algunas cosas pasarn. Si usted seleccionara full o menu, una pantalla del men aparecer, permitindole seleccionar los paquetes a ser instalados. Si usted selecciono full, los paquetes empezarn inmediatamente a ser instalados. Si usted ha seleccionado newbie, se instalarn los paquetes hasta que se encuentre con un paquete optativo. note que es posible quedarse sin espacio mientras esta instalando. Si usted selecciono demasiados paquetes para la cantidad de espacio libre en el dispositivo designado, usted tendr problemas. La forma mas segura de hacerlo es seleccionar algn software y agregar ms tarde, si usted lo necesita. Esto puede hacerse fcilmente usando Slackware's package
22

management tools(Herramientas de manejo de paquetes de Slackware). Para esta informacin, vea Captulo 16. CONFIGURE la seccin configure le permite hacer una configuracin bsica del sistema, ahora que los paquetes se han instalado. Lo qu usted ve aqu depende principalmente del software que usted ha instalado. Usted , sin embargo, siempre vera lo siguiente: Kernel selection(Seleccin de Kernel) Aqu le pedirn que seleccione un Kernel para instalar. Usted puede instalar el Kernel del disco que uso para iniciar(bootdisk), el del CDROM de Slackware(cdrom), o desde otro disco que usted tenga (siempre pensando antes) preparado(floppy). O usted puede elegir skip en este caso el kernel predefinido se instalara.

Make a boot disk (Crear un disco de arranque) Hacer un disco de arranque para el uso futuro probablemente es una buena idea. Usted tendr la opcin de formatear un disco y crear uno de dos tipos de disco de inicio. El primer tipo, simple, simplemente escribe un Kernel en el disco. Un una opcin ms flexible (y recomendada) es lilo que crear un disco de inicio de lilo . Vea la seccin llamada LILO en Captulo 7 para informacin sobre el lilo. Claro, usted tambin puede escoger simplemente continue en esta ningn disco de inicio se har.

23

Modem Usted ser consultado sobre la informacin del mdem. Ms especficamente, se preguntar si usted tiene un mdem, y en ese caso, en que puerto serial se encuentra.

Estas prximas subdivisiones de la configuracin pueden o no aparecer, dependiendo de si instalo o no los paquetes correspondientes. Timezone (Zona Horaria) Se le preguntara en que zona horaria se encuentra usted. Si usted opera en la zona horaria de Zulu, lo sentimos; La (extremadamente larga) lista esta ordenada alfabticamente, y usted esta de ultimo.

24

Mouse Esta subdivisin simplemente pregunta qu tipo de ratn usted tiene, y si usted quiere el gpm(8) (soporte de mouse para la consola) activado en el inicio.

Font (Fuentes) La subdivisin FONT le permite escoger de una lista el tipo de fuente para la consola.
25

LILO Aqu se le pide la instalacin de LILO (Linux Loader o cargador de Linux ; vea la seccin llamada LILO en Captulo 7 para ms informacin). Si el va de Slackware un ser el nico sistema operativo en su computadoras, el debe trabajar bien para usted simple. Si usted tiene un sistema dual de inicio, la opcin expert es una buena opcin. Vea que la seccin llamada booteo dual en el Captulo 7 para ms informacin sobre el inicio-dual. La tercera opcin, do not install, no se recomienda a menos que usted sepa lo que usted est haciendo y tiene una razn muy buena por no instalar LILO. Si usted est realizando una instalacin en modo experto , usted tendr la opcin acerca de dnde LILO se instalara. Usted puede poner LILO en el MBR (Master Boot Record de su unidad de disco duro), en el superblock de su particin raz de Linux, o en un disquete flexible. Por favor note que si usted est usando el inicio de otro sistema operativo actualmente es aconsejable o instalar LILO al superblock de particin raz de Linux o a un disquete. Instalando al MBR se borrara el inicio de cualquier otro sistema operativo y puede hacerle la vida muy difcil. Network (Red) La subdivisin de configuracin de red es realmente el netconfig. Vea la seccin llamada netconfig en Captulo 5 para ms informacin. CD-ROM La subdivisin de CD-ROM simplemente pregunta si le gustara que el sistema examinara y montara automticamente un disco de CD-ROM disponible en /cdrom.

26

X Window Manager (El Gestor de Ventanas X) Esta seccin le permitir configurar su gestor window predeterminado para X . Vea el Captulo 6 para ms detalles sobre X Window Manager.

No importa qu paquetes que usted instal, la ltima cosa que har es preguntarle si usted quiere proseguir y poner una contrasea de root. Por las razones de seguridad, sta es probablemente una buena idea; sin embargo, como casi todo lo dems en Slackware, sta es su decisin. EXIT La existencia misma de esta seccin en el libro es un insulto a su inteligencia. Nosotros nos disculpamos humildemente y pedimos su perdn.

Resumen
Usted debe tener Slackware Linux ahora instalado en su sistema. Adems, usted debe tener un poco de conocimientos sobre particiones, paquetes de software, el programa de instalacin, y algunas opciones de la configuracin simples. Con este conocimiento, usted debe estar listo para trabajar terminando la configuracin de su sistema.
27

III. Configuracin
Contenido 4. Configuracin del Sistema 5. Configuracin de Red 6. El sistema de ventanas X 7. Inicio

Capitulo 4. Configuracin del Sistema


Contenido Conociendo el Sistema Seleccionando el Kernel Resumen Antes de que usted pueda configurar las partes ms avanzadas de su sistema, es una buen idea aprender cmo esta organizado y qu rdenes pueden usarse para buscar archivos y programas. Tambin es bueno saber si usted necesitara compilar un Kernel propio y los pasos que debe hacer. Este captulo lo familiarizar con la organizacin del sistema y los archivos de configuracin. Entonces, usted puede seguir a configurar las partes ms avanzadas del sistema.

Conociendo el Sistema
Es importante entender cmo se distribuye el sistema Linux antes de entrar en los varios aspectos de la configuracin. Un sistema Linux es significativamente diferente a DOS o a Windows (o incluso a un Macintosh), pero estas secciones lo ayudarn a entender el diseo para que usted pueda configurar su sistema fcilmente para satisfacer sus necesidades.

Sistema de Archivos
La primera diferencia notable entre Slackware Linux y DOS o Windows es el filesystem(Sistema de Archivos). Para comenzar, nosotros no usamos letras diferentes para denotar las particiones diferentes. Bajo Linux, hay un directorio principal. Usted puede relacionar esto al C: de DOS. Cada particin en su sistema se monta en un directorio en el directorio principal. Nosotros llamamos a el directorio principal ,directorio raz, y se denota con un solo slash(/). Este concepto puede parecer extrao, pero hace la vida realmente fcil para usted cuando usted quiere agregar ms espacio. Por ejemplo, digamos que se quede sin espacio en el directorio /home. La mayora de las personas instala Slackware y crea un gran directorio raz. Bien, desde que una particin puede montarse en cualquier directorio, usted simplemente puede ir a la tienda comprar una nueva unidad de disco duro y montarlo en el
28

directorio /home. Usted ha unido" ahora" un poco ms de espacio a su sistema. Y todo sin tener que mover muchas cosas. Debajo, usted encontrar descripciones del tope mayor de los directorios bajo Slackware. /bin Aqu se guardan los programas de usuario esenciales. stos representan el grupo mnimo de programas requerido para usar el sistema. Las cosas como el shell y los comandos del filesystem (ls, cp, y as sucesivamente) se guardan aqu. El directorio /bin normalmente no recibe modificacin despus de la instalacin. Si lo hace, normalmente est en el paquete de actualizaciones que nosotros proporcionamos. /boot Archivos que utiliza el Cargador de Linux (LILO). Este directorio tambin recibe la poca modificacion despus de la instalacin. /cdrom Recuerda que todas las unidades tienen que ser montadas en un directorio en el directorio raz? Bien, /cdrom es provisto para el montaje de la unidad de CDROM. /dev Todo en Linux se trata como un archivo, los dispositivos del hardware como los puertos en serie, discos duros, y escneres. Para acceder a estos dispositivos, un archivo especial que llame al nodo del dispositivo tiene que estar presente. Todos los nodos del dispositivo se guardan en el directorio /dev. Usted encontrar esto en muchos sistemas basados en UNIX. /etc Este directorio guarda los archivos de configuracin del sistema. Todo el archivo de configuracin del sistema X window, la base de datos del usuario, las entradas de inicio de sistema. El administrador del sistema se familiarizara con el tiempo a este directorio. /home Linux es un sistema operativo multiusuario. Cada usuario en el sistema se le otorga una cuenta y un nico directorio para los archivos personales. A este directorio se le llama el Home del usuario. El directorio /home es el predefinido como ubicacin para estos directorios. /lib Aqu se guardan bibliotecas del Sistema que se requieren para el funcionamiento bsico. La biblioteca de C, el cargador dinmico, la biblioteca del ncurses, y los mdulos del kernel estn entre otras cosas guardados aqu. /lost+found Cuando el sistema se arranca, los filesystems se verifican para cualquier error. Si se descubren los errores, se ejecuta el programa fsck para ver si cualquiera puede corregirse. Las partes corregidas del filesystem se escriben al directorio /lost+found. /mnt Este directorio sirve de punto de montaje temporal para discos duros o discos extrables.

29

/opt Paquetes de software optativos. La idea detrs de /opt es de que cada paquete opcional se instale en /opt/<software package>, lo que har fcil desinstalarlo despus. Slackware incluye algunas cosas en /opt (como KDE en /opt/kde), pero usted es libre agregar lo que usted quiera a /opt. /proc ste es un directorio nico. Realmente no es parte del filesystem, pero es un sistema de archivos virtual que proporciona acceso a la informacin del kernel. Los varios pedazos de informacin que el kernel quiere que usted sepa se muestran a travez de archivos en el directorio /proc. Usted tambin puede enviar la informacin al Kernel a travs de algunos de estos" archivos".Trate haciendo cat /proc/cpuinfo. /root El administrador del sistema es conocido como root". el directorio home del root se encuentra en el directorio /root en lugar de /home/root. La razn es simple. Qu pasaria si /home estuviera en una particin diferente a / y no pudiera montarse? root querra entrar y reparar el problema naturalmente. Si su directorio home estuviera en el filesystem daado, seria difcil para l entrar. /sbin Programas esenciales que se ejecutan por el root y durante el proceso de arranque del sistema se guarda aqu. Los usuarios normales no ejecutan los programas de este directorio.
/tmp

La ubicacin de almacenamiento temporal. Todos los usuarios tiene acceso a este directorio. /usr ste es el directorio grande en un sistema Linux. Todo lo ms bonito va aqu, programas, documentacin, el cdigo fuente del kernel, y el sistema X window. ste es el directorio en el usted estar instalando mas programas probablemente. /var Aqu se guardan archivos log del Sistema, datos del cache, y archivos de bloqueo de programa. ste es el directorio para los datos frecuentemente-cambiantes. Usted debe ahora tener una buena percepcin de lo que contiene los directorios en el filesystem. La prxima seccin le ayudar a encontrar los archivos especficos fcilmente, para que usted no tenga que hacerlo a mano.

Encontrando Archivos
Usted sabe lo que contiene cada directorio ahora, pero todava no le ayuda realmente a encontrar las cosas. Es decir, usted podra ir buscando a travs de los directorios, pero hay maneras ms rpidas. Hay cuatro comandos principales de bsqueda de archivos disponibles en Slackware. which El primer comando es which(1). Normalmente se usa which para localizar rpidamente un programa. El solo busca la ruta y muestra la primera instancia que encuentra y el directorio donde se localiza. Tome este ejemplo:
30

$ which bash /bin/bash

Lo que usted ve ahora es que bash esta en el directorio /bin. ste es un comando muy limitado para investigar, ya que slo muestra la ruta. whereis El whereis(1) es un comando similar, pero tambin puede buscar pginas del manual y archivos fuente. Una bsqueda del whereis para bash debe devolver esto:
$ whereis bash bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz

Este comando no slo nos dijo donde esta el programa real, sino tambin donde la se guarda la documentacion. Todava, este comando est limitado. Qu si usted quisiera buscar un archivo de configuracin especfico? Usted no puede usar which o whereis para eso. find El comando find(1) puede buscar lo que sea. Yo quiero buscar el sistema entero para encontrar el xinitrc predefinido en el sistema.
$ find / -name xinitrc ./var/X11R6/lib/xinit/xinitrc

find tardar un rato en ejecutarse, ya que tiene que cruzar el rbol del directorio raz entero. Si usted ejecuta este orden como un usuario normal, usted conseguir mensajes de error de permiso denegado para los directorios que slo root puede ver. Pero find encontr nuestro archivo, lo que es bueno. Si slo pudiera ser un poco mas rapido... locate El locate (1) busca en el filesystem entero, como lo hace el comando find, pero investiga una base de datos en lugar del filesystem real. La base de datos se pone al da automticamente a las 4:40AM, para que usted tenga una descripcin fresca de los archivos en su sistema. Usted puede ejecutar el updatedb(1) a mano para poner al da la base de datos. Este es un ejemplo de locate en accin:
$ locate xinitrc # we don't have to go to the root /var/X11R6/lib/xinit/xinitrc /var/X11R6/lib/xinit/xinitrc.fvwm2 /var/X11R6/lib/xinit/xinitrc.openwin /var/X11R6/lib/xinit/xinitrc.twm

Nosotros conseguimos ms de lo que nosotros estbamos buscando, y rpidamente tambin. Con estas rdenes, usted debe poder encontrar cualquier cosa que usted est buscando en su sistema Linux.

El Directorio etc/rc.d
Los archivos de inicio del sistema se guardan en el directorio /etc/rc.d. Slackware usa el diseo tipo-BSD para sus archivos de inicio. Cada tarea o runlevel tiene su propio archivo rc. Esto proporciona una estructura organizada que es fcil mantener.

31

Hay varias categoras de archivos de inicio. stos son inicio del sistema (system startup), runlevels, inicio de red (network initilization), y compatibilidad con el Sistema V (System V compatibility). System Startup(Inicio del Sistema) El primer programa que se ejecuta bajo Slackware adems del Kernel de Linux es el init(8). Este programa lee el archivo /etc/inittab(5) para ver cmo arrancara su sistema. Ejecuta el script /etc/rc.d/rc.S para preparar el sistema antes de entrar en el runlevel deseado. El archivo de rc.S habilita su memoria virtual, monta su filesystem, limpia ciertos directorios del log, inicia los dispositivos Plug & Play, carga los mdulos del kernel, configura los dispositivos PCMCIA, los puertos en serie, y ejecuta el System V init script (si lo encontr). Obviamente rc.S tiene mucho trabajo que hacer, pero estn algunos scripts en /etc/rc.d que rc.S llamar mas adelante para completar su trabajo:
rc.S

ste es el script de inicializacin del sistema actual.


rc.modules

Carga los mdulos del kernel. Cosas como su tarjeta de red,soporte para PPP, y otras cosas son cargadas aqu. Si este script encuentra rc.netdevice, ejecutar eso tambin.
rc.pcmcia

Busca y configura cualquier dispositivo PCMCIA que usted podra tener en su sistema. Esto es muy til para usuarios de porttiles que probablemente tienen un mdem PCMCIA o una tarjeta de red.
rc.serial

Configura sus puertos en serie ejecutando los caomandos apropiados del setserial.
rc.sysvinit

Busca los scripts de System V init para el runlevel deseado y los ejecuta. Esto se discute con ms detalle abajo. Runlevel Initialization Scripts Despus de que el inicio del sistema est completo, el init continua la inicializacin del runlevel. Un runlevel describe el estado en que su mquina estar corriendo. Suena redundante? Bien, el runlevel dice al init si usted esta aceptando inicios de sesin multiusuarios o simplemente un solo usuario, si usted quiere o no los servicios de red, y si usted estar usando el X window system o agetty(8) para ocuparse de los inicios de sesin. Los archivos debajo definen los diferentes runlevels en Slackware Linux.

rc.0

Deteniene el sistema (runlevel 0). Por defecto, esta linkeado a rc.6.


rc.4

Inicio Multiusuario (runlevel 4), pero con X11 con KDM, GDM, o XDM como gestor de inicio de sesion.
rc.6 32

Reinicia el sistema (runlevel 6).


rc.K

inicio en modo de un solo usuario (runlevel 1).


rc.M

modo multiusuario (runlevels 2 y 3), pero con el inicio de sesin basado en texto normal. ste es el runlevel predefinido en Slackware. Inicio de Red(Network Initialization) Runlevels 2, 3, y 4 pondrn en marcha los servicios de red. Los siguientes archivos son los responsables del inicio de la red:
rc.inet1

Creado por el netconfig, este archivo es responsable de configurar la interfaz de la red actual.
rc.inet2

Se ejecuta despus de rc.inet1 inicia los servicios de red bsicos.


rc.atalk

Inicia los servicios AppleTalk.


rc.httpd

Inicia el servidor web Apache.


rc.samba

Inicia el servicio para compartir archivos e impresoras con sitemas Windows.


rc.news

Inicia el servidor de noticias. System V Compatibility Sistem V init compatibility se introdujo en Slackware 7.0. Muchas otras distribuciones de Linux hacen uso de este estilo en lugar del estilo de BSD. Bsicamente a cada runlevel se le otorga un subdirectorio para los scripts de init, mientras que el estilo BSD otorga un script de init para cada runlevel. El script de rc.sysvinit buscar cualquier script de sistema V init que usted tenga en /etc/rc.d y lo ejecuta, si el runlevel es apropiado. Esto es con toda seguridad til para paquetes de software comerciales que instalan System V init scripts y scripts para el init de BSD. Otros Archivos Los scripts descritos debajo son los otros scripts de inicio del sistema. Ellos se ejecutan normalmente desde uno de estos scripts descritos abajo, todo lo que usted necesita es editar el contenido
rc.cdrom

Si esta activado, este script buscara la unidad de CD-ROM y la montara en el directorio /cdrom.
rc.gpm

Inicia los servicios del mouse para propsitos generales. Le permite copiar y pegar en la consola de Linux.
rc.ibcs2

Inicia el soporte de compatibilidad binaria de Intel. Esto solo es necesario si usted planea ejecutar programas compilados en SCO UNIX, u otra aplicacin comercial Intel UNIX. No se necesita para ejecutar los programas de Linux
33

rc.font

Carga la fuente de pantalla personalizada para la consola.


rc.local

Contiene cualquier inicio especifico para su sistema. Esta vaco despus de una instalacin reciente, esta reservado para los Administradores locales .Este script se ejecuta despus de que toda la otra inicializacin ha tenido lugar. Para habilitar un script, todo lo que tiene que hacer es agregarle los permisos de ejecucin con el comando chmod . Para desactivar un script, quite los permisos de ejecucin de l . Para ms informacin sobre el chmod, vea la seccin sobre los Permisos en Captulo 9.

Seleccionando el Kernel
El Kernel es la parte del sistema operativo que proporciona acceso al hardware, controla los proceso, y el mando general del sistema. El Kernel contiene el soporte para su hardware, as que escoger el adecuado para su sistema es un paso importante en el proceso de instalacin. Slackware proporciona alrededor de sesenta Kernels precompilados que usted puede escoger, cada uno con un set normal de drivers y drivers adicionales especficos. Usted puede ejecutar uno de los Kernels precompilados o puede construir su propio Kernel desde la fuente. De cualquier modo, usted necesita asegurarse que su Kernel tiene el soporte de hardware que su sistema necesita.

El directorio /Kernel en el CD-ROM de Slackware


Los Kernel precompilados de Slackware estn disponibles en el directorio /Kernel del CD-ROM de Slackware o en el sitio de FTP en el directorio principal de Slackware. Los Kernels disponibles cambian de acuerdo a las nuevas versiones que se hacen por lo que la documentacin en este directorio es siempre la fuente autorizada. El directorio /Kernel tiene subdirectorios para cada kernel disponible. Los subdirectorios tienen el mismo nombre como del disco de inicio que los acompaa. En cada subdirectorio usted encontrar los siguientes archivos: Archivo
System.map bzImage (o zImage) config

Proposito
El archivo de mapa de sistema para este Kernel

La imagen del Kernel actual La fuente para la configuracin de este Kernel

Para usar un Kernel, copie el System.map y los archivos de configuracin a su directorio /boot y copie la imagen del Kernel en el directorio /vmlinuz. Ejecute /sbin/lilo(8) para instalar el LILO del nuevo Kernel, y entonces reinicie su sistema. Esto es todo lo que hay que hacer para instalar un nuevo Kernel.
34

Los Kernels que terminan con un ".i" son lo Kernels IDE. Es decir, ellos no incluyen el apoyo para SCSI en el Kernel. Los Kernels que terminan con .s son los Kernels SCSI. Ellos incluyen todo el suporte de IDE de los Kernels .i ,mas el suporte para SCSI.

Compilando un Kernel desde la fuente


La pregunta" yo debo compilar un Kernel para mi sistema?" se presenta a menudo en los nuevos usuarios. La respuesta definitivamente es tal vez. Hay pocos casos dnde usted necesitar compilar un Kernel especfico para su sistema. La mayora de los usuarios puede usar un Kernel precompilado y los mdulos cargables del Kernel para lograr un sistema totalmente activo. Usted querr compilar un Kernel para su sistema si usted est actualizando la versiones del Kernel a uno que nosotros no ofrecemos actualmente en Slackware, o si usted ha reparado la fuente del Kernel para conseguir soporte a algn dispositivo especial que no est en la fuente kernel nativa. Construir su propio Kernel no es tan difcil. El primer paso es asegurarse que usted tiene la fuente del kernel instalada en su sistema. Asegrese que usted instal los paquetes de las series K durante la instalacin. Usted tambin debe asegurarse que tiene instalada la serie D, especficamente el compilador de C, el GNU make y el GNU binutils. En general, es una buena idea tener toda la serie D instalada si usted planea en hacer cualquier tipo de desarrollo. Ahora nosotros estamos listos para construir un Kernel:
$ su Password: # cd /usr/src/linux

El primer paso es traer la fuente del Kernel a su estado bsico. Nosotros emitimos este orden para hacer eso:
# make mrproper

Ahora usted puede configurar el Kernel para su sistema. Los kernls actuales permiten tres maneras de hacer esto. La primera es el sistema de texto basado en preguntas y respuestas. Hace una serie de preguntas y entonces construye el archivo de configuracin. El problema con este mtodo es que si usted se equivoca, usted debe volver a empezar. El mtodo que la mayora de las personas prefiere es el manejado por mens. Hay por ultimo una herramienta de configuracin basada en X. Escoja el que usted quiera y ejecute el comando apropiado
# make config (texto basado en preguntas y respuestas.) # make menuconfig (manejado por menus, basado en texto) # make xconfig (version basada en X, asegurese que se encuentra en X primero)

35

Figura 4-1. El programa de configuracin Kernel manejado por mens.

Los Nuevos usuarios encontrarn el menuconfig probablemente ms fcil de usar. Las pantallas de ayuda que provee explica las partes del Kernel. Despus de configurar su Kernel, salda del programa de configuracin. El programa escribir los archivos de configuracin necesarios. Ahora nosotros debemos preparar el rbol de la fuente para construirlo:
# make dep # make clean

El prximo paso es compilar el Kernel. Trate primero usando el comando zImage. Este fallar si su Kernel es demasiado grande. No preocupe, usted todava puede construirlo con el comando bzImage.
# make zImage # make bzImage (pruebe este primero) (si make zimage falla, ejecute este comando)

Esto puede tardar un poco, dependiendo de la velocidad de su CPU. Durante el proceso de construccin, usted ver los mensajes del compilador. Despus de construir la imagen kernel, usted querr construir cualquier parte del Kernel que usted marc como modulo.
# make modules

36

Nosotros podemos ahora instalar el Kernel y los mdulos que usted compil. Para instalar el Kernel en un sistema Slackware, estos comandos deben ejecutarse:
# mv /vmlinuz /vmlinuz.old # cat arch/i386/boot/zImage > /vmlinuz # mv /boot/System.map /boot/System.map.old # cp System.map /boot/System.map

Reemplace el zImage con el bzImage si usted tena que construir un Kernel grande. Usted querr revisar /etc/lilo.conf y agregar una seccin para iniciar desde su Kernel viejo en caso de que el nuevo no trabaje. Despus de hacer eso ejecute /sbin/lilo para instalar el nuevo bloque de inicio. Usted puede reiniciar ahora y utilizar su nuevo Kernel.

Usando los Mdulos del Kernel


Los modulo del Kernel son otros dispositivos adicionales que pueden ser agregados en un Kernel normal. Ellos le permiten extender el soporte de hardware de su Kernel sin necesidad de escoger otro Kernel o compilar uno por usted. Tambin puede cargar y descargar los mdulos cuando usted quiera , incluso cuando el sistema est corriendo. Esto hace la actualizacin de drivers especficos mas sencillo para los administradores de sistema. Un nuevo mdulo puede compilarse, quitar el viejo, cargar el nuevo, y todo sin reiniciar la mquina. Los mdulos se guardan en el directorio /lib/modules/<kernel version> en su sistema. Ellos pueden cargarse al inicio a travs del archivo rc.modules. Este archivo esta muy bien documentado y ofrece ejemplos para la mayora de las opciones de hardware. Para ver la lista de mdulos que estn actualmente activos, utilice el comando lsmod(1):
# lsmod Module parport_pc parport

Size Used by 7220 0 7844 0 [parport_pc]

Usted puede ver aqu que slo tengo el mdulo del puerto paralelo cargado. Para quitar un mdulo, usted usa el comando rmmod(1). Los mdulos pueden ser cargados con las ordenes modprobe(1) o insmod(1). modprobe es generalmente mas seguro porque cargara cualquier modulo que dependa del que usted esta intentando cargar. Muchos usuarios nunca tienen que cargar o descargar los mdulos a mano. Ellos usan el Kernel autoloader para el manejo de los mdulos. Todo lo que tiene que hacer es descomentar la linea /sbin/kernel(8) en /etc/rc.d/e/rc.modules y el autoloader se cargara. Se encargara de cargar y descargar los mdulos como usted le pida. Una peticin solo involucra tratar de acceder a ese dispositivo. Ms informacin puede encontrarse en las pginas del manual de cada uno de estos comandos, y en el archivo de rc.modules.
37

Resumen
Usted debe estar ahora familiarizado con los rdenes para buscar en el filesystem, la organizacin del filesystem, y la configuracin de archivos en el directorio /etc. Estas habilidades sern sumamente tiles como usted aprende ms sobre el sistema. Adems, usted debe saber cmo configurar y compilar un Kernel desde la fuente.

38

Capitulo 5. Configuracin de la Red


Contenido Hardware de Red Utilidades de Red Los Archivos de /etc rc.inet1 rc.inet2 NFS (Sistema de Archivos de Red) tcp wrappers Resumen

Hardware de Red
Como la mayora de las cosas interesantes que usted puede hacer con una computadora, conectarla a una red involucra tener algo de hardware especial. Usted necesitar una NIC ( Tarjeta de Interfaz de Red) para conectarla a una red LAN, quizs un mdem para conectarse a un proveedor de Internet, o quizs ambos (o alguno , o ninguno). Para los propsitos de configuracin, nosotros podemos dividir dicho hardware en PCMCIA (para las computadoras porttil) y no-PCMCIA. La razn para esta divisin algo desequilibrada es que actualmente el hardware PCMCIA no es soportado por la distribucin Kernel, pero es posible lograrlo con un paquete separado que incluye los drivers necesarios (como los mdulos Kernel) y algn software para la configuracin y manejo de dispositivos de PCMCIA. Todo lo dems, claro, se maneja con la distribucin Kernel normal.

Netmods( Mdulos de Red)


Los drivers para los dispositivos de red que son soportados por el Kernel estn incluidos en el paquete netmods(slakware/n3/netmods.tgz). Si usted no ha instalado el netmods todava, usted necesitar hacerlo ahora. (Vea el Captulo 16 para ayuda sobre instalar los paquetes.) Los modulos del Kernel que sern cargados al iniciar se encuentran en el archivo rc.modules en el directorio /etc/rc.d. El archivo rc.modules predefinido incluye una seccin llamada |Network device support| (soporte de equipos de red) .si usted abre el archivo rc.modules y busca esa seccion, usted notara que el busca primero el ejecutable rc.netdevice en /etc/rc.d; rc.netdevice se crea si se instala el autoprobes para su dispositivo de red durante la isntalacion. Si esta, usted probablemente no este leyendo esto (ooh, paradjico), si no esta sigua leyendo. Debajo del bloque "if" ah una lista de dispositivos de red y lneas del modprobe, cada una se encuentra comentada. Encuentre su dispositivo y descomente la lnea correspondiente en el modprobe, despus guarde el
39

archivo. Ejecutando rc.modules como root debe cargar el driver para su dispositivo de red.( l as como cualquier otro modulo descomentado.) Note que algunos mdulos (como el driver del ne2000) requiere los parmetros; asegrese usted seleccione la lnea correcta.

Dispositivos de red PCMCIA


Los dispositivos de red PCMCIA son aun mas fciles que los otros. Asegrese que usted tiene instalado el paquete de PCMCIA (slakware/a11/pcmcia.tgz). (vea el Captulo 16 para detalles sobre la instalacin del paquete.) En la instalacin, el paquete pcmcia creara un archivo rc.pcmcia en el directorio /etc/rc.d y un directorio /etc/pcmcia, e instalara los drivers en /lib/modules/<kernel version>/pcmcia. Lo bueno del paquete pcmcia es que intenta detectar automticamente la instalacin y desinstalacin de dispositivos pcmcia soportados; y usted debe poder insertar su dispositivo pcmcia y escuchar simplemente el pitido que da al cargar los mdulos necesarios. Si usted quita la tarjeta, los mdulos del driver deben quitarse automticamente. Desgraciadamente, si usted compila una versin mas nueva del Kernel usted probablemente tendr que recompilar pcmcia-cs para obtener los drivers actualizados. Claro , la fuente esta incluida; chequee el directorio source/a/pcmcia, hay encontrara la fuente , scripts y cualquier otra documentacin que tenemos para ayudarle.

Utilidades de Red (Network Utilities)


ifconfig
Ahora que su Kernel puede comunicarse con su hardware de red ,lo que se necesita lograr es que el software le diga al Kernel como pasar informacin a travs de el y viceversa. Nosotros necesitamos configurar una interfaz. necesitamos el ifconfig(8). Es mas facil aprender sobre el ifconfig a travs de el ejemplo; usted puede echar una mirada a su archivo rc.inet1 (cubierto en las seccin llamada rc.inet1) para ver como se hace: el caso mas comn y mas sencillo se parece a esto:
# ifconfig eth0 192.168.1.10 broadcast 192.168.1.255 \ netmask 255.255.255.0

Esta lnea plantea el eth0 (la primera interfaz de ethenet ; usa el anillo tr0, los ppp usan el ppp0, etc.). con el IP 192.168.1.10, una direccin de trasmisin de 192.168.1.255(incluye toda la subred 192.168.1) y la mascara de red (netmask) de 255.255.255.0 (indicando que las tres primeras partes de la direccin de IP(192.168.1) se refieren a la red, mientras que la ultima parte,(.10), se refiere al host). Al menos que usted este haciendo algo extrao, puede usar siempre esta direccin de trasmisin que es las primeras tres partes de su IP seguidas por 255. Usted puede usar casi siempre como
40

netmask 255.255.255.0. Si usted esta haciendo algo diferente, usted sabe que esta parte del libro probablemente no le servir mucho de ayuda. tambin puede usar ifconifg simplemente para ver lo que esta all. Ejectelo sin ninguna opcin ni parmetro para ver la lista de todas sus interfaces de red actuales y sus configuraciones.

route
Para saber donde enviar los datos, el Kernel mantiene una tabla de rutas (routing table). No vamos a hacer mucho detalle sobre el aqu, pero usted puede ver la tabla de rutas ejecutando /sbin/route(8). route -n le dar la lista de direcciones IP en lugar de los nombre; esto es util si esta teniendo problemas comunicndose con el nombre del servidor o si usted simplemente no esta interesado en el mundo ilusorio de los nombres de dominio. Afortunadamente si usted tiene una instalacin de red simple(y la mayora de las personas hace).los Kernels 2.2 automticamente crearan las entradas en la tabla de asignacin de rutas.

Netconfig
netconfig es parte del programa de instalacin del Slackware, pero como la mayora de los componentes puede ejecutarse por separado. el netconfig es muy sincero, y lo guiara de forma que usted pueda crear una conexin de red bsica. Es un programa especialmente bueno si usted no est muy familiarizado o cmodo con los archivos de red rc. Cuando usted ejecuta el netconfig, usted se encontrara con esta pantalla de saludo:

Se le pedir escribir el hostname y el domain name de su computadora. Usted puede escribir cualquier cosa en estos dos renglones, a menos que este preparando un servidor u otra maquina que usaran muchas personas. se le preguntara si usted esta usando un IP esttico, DHC,o simplemente loopback.

41

Si usted no va a estar conectado a una red, escoja loopback. Si usted est preparando una computadora que se conectara a una universidad o a una red de oficina grande, usted debe escoger DHCP ms probablemente. En otro caso escoja el IP esttico(static IP). Si usted no escogi Ip esttico, usted esta listo ahora. Si usted escoge el IP esttico, usted tendr que introducir la direccin de IP de su computadora, la mascara de red, direccin de trasmisin, y direccin del servidor. netconfig le dir como deducir todos esos nmeros.

pppsetup
Slackware incluye la utilidad pppsetup que permite configurar una conexin con un ISP.(Proveedor de Servicios de Internet). Se localiza en el paquete ppp.tgz en la serie de software N: pppsetup utiliza la misma interfase que el programa de instalacin. Si usted no recuerda cmo usar esta interfaz, refirase atrs a la seccin llamada El Programa del Instalacin en Captulo 3 para algunas instrucciones. pppsetup le hara una serie de preguntas y configurara varios archivos en el directorio /etc/ppp. Como root, ejecute pppsetup, nosotros lo guiaremos a travs de las preguntas.

42

Phone number (Numero de telfono) La primera de las preguntas se refiere a el nmero de telfono de su ISP, los cdigos de rea y tipo de marcado. Como la mayora de las personas, usted querr usar el marcado por tonos(tone dialing). Si el nmero de telfono de su ISP fuera 555-1013 y usted usa el marcado por tonos, escriba atdt5551013 en el cuadro de dilogo.

43

Modem Luego, seleccione la ubicacin de su mdem. Si usted sabe cual puerto COM usaba bajo Windows, usted puede seleccionar el equivalente en el listado. Si no lo sabe, usted tendr que hacer un experimento. La mejor manera es empezar por ttys0 y ir probando lista abajo.

Velocidad de trasmisin del modem (Modem Baud Rate) Escoja la velocidad de transmisin que mas se acerque a su modem. Si usted no sabe la velocidad de su modem, podra verificar la caja del modem o cualquier documentacin que viniera con el. Cada seleccin tiene varios ejemplos, por lo que no debe ser difcil deducir.

44

Callback Ahora, usted necesitara indicar la informacin referente a su ISP. Pocos ISPs usan el callback, probablemente puede seleccionar mejor "NO." Callback es cuando usted marca al ISP y ellos devuelven la llamada para que usted se pueda conectar en el.

Si usted tiene que usar el callback, seleccione" YES." Entonces, se le pedir introducir su nmero de telfono, un nombre del inicio de sesin, y una contrasea. Usted no tiene que introducir su nombre de usuario y contrasea. Finalmente se le preguntara sobre que tipo de esquema de
45

autenticacin usa su ISP. Si ellos usan CHAP o PAP, seleccione "YES". Despus, usted necesitar preparar esto. Refirase a la seccin debajo. Si ellos no usan ninguno de los anteriores, seleccione "NO" y refirase a la seccin "Chat Script descrita abajo. Modem init string A menos que usted tenga un modem extrao, usted podra simplemente presionar enter para seleccionar el predeterminado ("AT&FHO"). Por otra parte, refirase a la documentacin que vino con su modem para saber cual init string usar.

Nombre del Dominio (Domain Name) Ahora, usted necesitar entrar en el nombre del dominio de su ISP. Este ser algo de forma "example.net", "slackware.com", o algo parecido. (De acuerdo, no va a ser slackware.com definitivamente:)

46

DNS IP address (direccion DNS IP) Su ISP le debe de haber proporcionado la direccin IP de su nameserver. Si usted tiene esa direccin IP, escrbala. Si no la tiene, regstrese con su ISP para ver qu nmero puede usar.

Authentication method (Mtodo de autenticacin) Esta pregunta tambin podra llevarle un poco de trabajo de ensayo y error. Usted necesita deducir si su ISP usa al CHAP, PAP, o ningun mtodo para la autenticacin de usuario. La manera ms fcil de deducir esto es llamar a su ISP. Sin embargo, si usted se consigue con el inicio de sesin y paswords cuando se conecta, usted probablemente deba escoger "SCRIPT". De todas maneras, consulte a su ISP para saber cual usar.

47

PAP or CHAP Si usted selecciona "CHAP" o "PAP" en la pantalla de mtodo de autenticacin, se le pedir su nombre de usuario. Su ISP le debe de haber asignado un username. Si ellos no hicieron, entonces sucede algo muy extrao. Usted necesita contactarlos y conseguir su username. Despus usted debe ingresar la contrasea que le asigno su ISP en el prximo cuadro de dialogo. Chat script Si usted selecciona la opcin "SCRIPTS" en la pantalla de mtodo de autenticacin, se le presentara una discusin bastante larga sobre que tipo de chat script es. Asegrese de leerlo porque hay se describe muy bien todo. Bsicamente, usted tendr que decir que tipo de informacin va a enviar su ISP y lo que su computadora debe enviar de vuelta. Usted tendr entonces que anotar el texto que su computadora debe recibir de su ISP, seguido de la informacin que debe devolver. Done Finalmente se le mostraran sus archivos de configuracin ppp completos. Usted realmente no puede hacer nada sobre ellos, pero usted puede comprobar todo por lo menos. Presione enter para guardar todo y salir del pppsetup. Esta pantalla contiene informacin sobre como iniciar una conexin dialup y como abandonarla cuando este listo. La idea bsica es esta: entre como root, ejecute ppp-go para empezar la conexin. Una vez que le asignan un IP local y remoto, usted esta conectado en la Internet. Cuando este listo, ejecute ppp-off y terminara la conexin.

48

Los Archivos de /etc


/etc/inetd.conf
En un sistema operativo de red central, no es raro que muchos servidores estn ejecutndose al mismo tiempo. Comnmente para cada servicio que esta disponible un programa debe estar revisando alrededor recibiendo conexiones, con esto se puede obtener un sistema pesado ejecutando muchos de estos servidores. Para reducir la sobrecarga, fue creado el inetd. inetd es el "sper-servidor de Internet" el esta pendiente de recibir la conexiones desde muchos sockets, y cundo un archivo entra inetd se encarga de buscar el servidor apropiado para manejarlo. As se reducen muchos servidores esperando a uno solo. /etc/inetd.conf es el archivo encargado de la configuracin del inetd. Especifica que servidor se ejecuta para cada conexin. La pagina del manual sobre el inetd(8), contiene una informacin mas detallada , pero echmosle una mirada a la lnea bsica de servicio:
ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l -i -a

sta es la lnea para el servidor de ftp. Note primero el nombre del protocolo "ftp", y por ultimo el comando que ejecuta para responder. En este caso, el programa que se usa para contestar el intento de conexin esta en /usr/sbin/tcpd; es un "wrapper"(envoltura) programa que proporciona algunas opciones de seguridad bsica al servidor que envuelve. wu.ftpd es nuestro servidor de ftp real, pero tcpd corre ese para nosotros. Mas informacin til sobre el tcpd se encuentra en la seccin llamada tcp wrappers. Como muchos archivos del sistema, las lneas en inetd.conf se comentan con el carcter # ; usted puede agregar y quitar los servicios simplemente comentando esas lneas y reiniciando el inetd.

/etc/resolv.conf
ste es el archivo que dice al resto del sistema dnde conseguir su informacin de DNS. Se lista cualquier servidor de nombres que usted use aqu, as como el nombre del dominio de su host. Aqu hay un ejemplo resolv.conf (desde el laptop yo estoy escribiendo esto, ninja.tdn):
domain tdn nameserver 192.168.1.1 search tdn. slackware.com

La primera lnea describe el nombre del dominio ninja; despus del hostname en mi direccin. Lo segundo es el DNS de nuestra red local. Usted puede tener tantos de estos como usted necesite; ellos se verificaran en el orden desde el primero al ultimo siempre que un programa necesite buscar el nombre del domino correspondiente a la direccin de IP.

49

La ltima lnea es un poco mas interesante. Describe cualquier nombre de dominio que puede ser asumidos por mi sistema. Por ejemplo, suponga que yo tengo las mquinas zuul.tdn y hejaz.slackware.com. Yo puedo hacer ping zuul y ping hejaz para hacerle un ping a ellas , respectivamente. Esto se debe a que el ping intenta primero agregar a ".tdn" al nombre zuul, y encuentra la entrada que va con el. En el caso de" hejaz", prueba" hejaz.tdn" primero. No hay ninguna coincidencia, por lo que prueba con "hejaz.slacware.com"--bingo. Note que todos los dominios listados en la lnea search necesitan terminar con un "." excepto el ultimo; si hay uno solo, este ser el ultimo y no hay necesidad de ningn rastreo.

/etc/hosts
El archivo host permite un mtodo mas simple de bsqueda de dominios. Es una lista de hostnames y su IPs correspondiente. Esto es util en una red pequea donde los DNS no valen la pena, en casos cundo los DNS son inestables, etc.y es usado por la maquina durante el arranque cuando ningn nameservers esta disponible. Los mos podran parecerse a esto:
127.0.0.1 localhost 192.168.1.32 ninja.tdn ninja

La primera lnea se explica por si sola. La segunda, sin embargo , no. Usted puede listar tantos nombres y aliases(alias) para una direccin como usted guste, separados por un espacio. As que yo tengo "192.168.1.32" traducido a "ninja.tdn" ( y viceversa), pero el alias "ninja" puede usarse tambin cuando estoy demasiado cansado para escribir ".tdn"(que es la mayora del tiempo).

rc.inet1
/etc/rc.d/rc.inet1 es el archivo que prepara la "infraestructura" de la red--inicia los dispositivos y configura las direcciones(adresses) y rutas(routes). El rc.onet1

que viene con Slackware esta muy bien documentado , as que estaramos repitiendo lo mismo si nos detenemos aqu.

rc.inet2
El archivo /etc/rc.d/rc.inet2 esta all para encargarse de la otra parte. Prepara los servicios y daemons y se ocupa de cualquier gestin de redes interesante. Miremos un bloque de muestra:
# Start the NAMED/BIND name server: if [ -f ${NET}/named ]; then echo -n " named" ${NET}/named -u daemon -g daemon fi

50

La lnea importante aqu es la 4, qu actualmente ejecuta el comando named(8). El resto esta congelndose: "if" verifica para ver si los programas estn nombrados(named) como se espera realmente, y la lnea echo reporta que ese nombre se uso desde que se inicio el sistema. Usted encontrara que la mayora de los servidores arranca desde rc.inet2 ejecutndose en bloques como este; simplemente prueba si existe alguna razn obvia para que ellos se estn ejecutando ,y luego los comandos para que se inicien por si mismo. De nuevo, rc.inet2 , esta muy bien documentado ; revselo.

NFS (Sistema de Archivos de Red)


El Sistema de Archivo de Red se usa, obviamente, para compartir archivos entre las mquinas en una red. Lo bueno del NFS es que esta diseado para que una maquina pueda montar archivos compartidos de la otra de forma transparente, y los trata como archivos locales. Sin embargo , un par de cosas tienen que pasar para que esto suceda. Primero los servicios apropiados tienen que estar corriendo en la mquina del servidor: stos son los portmap(8), nfsd(8), y mountd(8). Lo segundo es que el servidor tiene explcitamente que "exportar" un arbol del filesystem al cliente, lo que se logra mediante el archivo exports(5) en /etc. La primera parte de la ecuacin se logra instalando el paquete tcpip1.tgz (de la serie de software N) y permitiendo a rc.inet2 hacer su trabajo. /etc/exports es la parte mas divertida. Suponga que yo tengo un directorio de imgenes(var/media/images) en battlecat.tdn que yo quiero montar en ninja.tdn. En battlecat, necesitare una lnea en /etc/exports parecida a esta:
/var/media/images ninja.tdn(ro)

Entonces en ninja, yo simplemente coloco:


# mount -t nfs battlecat.tdn:/var/media/images /mnt

para montar el directorio de las imgenes en /mnt localmente. Desgraciadamente, yo me he prohibido la escritura en el directorio compartido-- el pedazo de lnea "(ro)" en battlecat etc/exports es una opcin que significa "solo lectura" (read only). Cualquier otra opcin que necesite despus del nombre del cliente, debe escribirse dentro de parntesis, y separadas por coma.. Por ejemplo:
/var/media/images ninja.tdn(rw,no_root_squash)

La "rw" es obviamente la opcin "read-write" (lectura-escritura)--sujeta al grupo y usuario que indica (vea la seccin export(5) de la pagina del manual para una explicacin), se le permite a los usuarios de ninja escribir en el directorio compartido. No me gusta mucho la explicadera, por lo que pienso dejar a la pagina del manual explicarle eso a usted; si usted planea usar mucho NFS , export(5) ser su mejor amigo.
51

tcp_wrappers
tcp_wrappers es un servicio bsico para prevenir ( y explcitamente permitir) el acceso a los servicios desde los host especificados. En una nutshell, funciona as: inetd (el sper-servidor de Internet) ejecuta muchos servidores, muchos de los cuales son "wrapped"(ajustados) por tcpd. En otras palabras, tcpd es realmente quien ejecuta estos servidores, pero el inetd no sabe eso. tcpd logea los intentos de conexin y entonces chequea los archivos /etc/host.allow y etc/host.deny para ver cuales conexiones debe permitirse. Las reglas contenidas en estos archivos pueden ser algo complejas, pero supongamos, pyramid.tdn esta siendo muy molesto y no deja en paz al pobre mojo.tdn. ; mojo.tdn podria escribir una lnea en /etc/host deny parecida a esta:
ALL: pyramid.tdn

Esta lnea debe ser bastante clara: impide a pyramid usar todos los servicios en mojo que estan protegidos por tcpd. Si estoy siendo molestado por un dominio entero adems de pyramid, yo podra crear esta lnea:
ALL: pyramid.tdn, .annoying.domain

Pero espera! Mi amigo Hobbes esta entrando desde una maquina en .annonying.domain , pero yo quiero que el pueda entrar(pero no el resto de sus amigos molestos). Eso es bastante simple. Dejo como esta a host.deny , y estas lneas en hosts.allow dejaran entrar a Hobbes:
ALL: hobbes.annoying.domain

Para mucho ms detalle, vea tcpd(8), hosts_access(5), y hosts_options(5). El sistema de tcp_wrappers es mucho ms flexible que esto, y merece la pena revisarlo bien.

Resumen
En este captulo, usted aprendi a configurar su sistema para atarlo a una red, cmo cambiar la configuracin archiva, y algunos principios de seguridad bsicos. Adems, usted aprendi lo que es el NFS Sistema de Archivos de Red y cmo hacerlo trabajar en su sistema. Hacer su sistema parte de una red le permite acceder a toda clase de recursos como correo, noticias y websites. Vea Captulo 13 para la informacin sobre cmo usar algunos programas de la red bsicos.

52

Capitulo 6. El sistema X Window


Contenido xf86config XF86Setup Archivos de configuracin de sesin Servidores y gestores de ventana Seleccionando un escritorio Exportando Pantallas Resumen El X window system es el GUI standard para todas las plataformas UNIX, incluyendo Linux. Diferente a Windows y MacOS , en Linux y Unix el GUI esta separado del Kernel del sistema operativo principal. Esto le otorga estabilidad al sistema; si el GUI falla , no cuelga a el sistema entero. El problema con X es que ha sido tradicionalmente difcil de configurar para un sistema. Sin embargo, Slackware 7 introduce un modo de configurar X que utiliza los drivers del framebuffer. Esto significa que usted no tiene que pasar por los procedimientos descritos en la seccin llamada xf86config y la seccin llamada XF86Setup. Los framebuffer trabajan tambin en cualquier tarjeta compatible VESA 2.0. Esto significa que cualquier tarjeta de video moderna trabajar bajo X. Sin embargo , el framebuffer es notoriamente mas lento que utilizar una configuracin adecuada a su sistema. Si usted decide usar los framebuffer, debe instalar el paquete xxfb.tgz de la serie de software X. Usted tiene que escoger una resolucin de consola durante el proceso de instalacin. La opcin recomendada para X es probablemente la mejor para la mayora de las personas. Si usted escoge configurar X para su sistema, usted necesitar seguir las instrucciones en la seccin llam xf86config o la seccin llamadas XF86Setup. La primera seccin explica como usar el xf86config(1), un programa basado en lneas de comando para configurar X. La segunda seccin describe XF86Setup(1), una versin grfica del programa de la configuracin.

xf86config
El xf86config es uno de los dos programas que pueden usarse para configurar X en su sistema. La idea bsica es simple: usted se encontrara con una serie de preguntas y respuestas de opcin mltiple. Escoja la respuesta que mejor se adapte a su sistema. Despus de proceder a travs del programa entero, se escribir el archivo /etc/XF86Config(5) y usted estar listo usar X. Si usted se equivoca en algn punto, usted tendr que matar el programa que usa control-c y volver a empezar del principio. Ayuda conocer lo mas posible a su tarjeta de video y monitor antes de comenzar a usar el xf86config. Usted puede conseguir la informacin sobre su tarjeta de video usando el programa SuperProbe:
53

# SuperProbe

Este le dar una advertencia sobre las posibilidades de colgar su sistema, si esto le asusta salga del programa presionando control-c antes de que terminen los 5 seg. de advertencia. Por otra parte, usted conseguir alguna informacin sobre su configuracin de video:
First video: Super-VGA Chipset: ATI 264GT3 (3D Rage Pro) (Port Probed) Memory: 4096 Kbytes RAMDAC: ATI Mach64 integrated 15/16/24/32-bit DAC w/ clock (with 8-bit wide lookup tables) (programmable for 6/8-bit wide lookup tables) Attached graphics coprocessor: Chipset: ATI Mach64 Memory: 4096 Kbytes

As es como luce la informacin sobre una tarjeta de video ATI Rage Pro : Escriba la informacin sobre su tarjeta, o cmbiese a otro terminal (usando las teclas de funcin y alt) y ejecute xf86config desde all. Usted necesitara esta informacin despus. Debe ejecutar xf86config como root, ya que el crea los archivos y hace los links simblicos en lugares donde solo puede estar root:
# xf86config

Una vez que ejecuta xf86config , se le presentara un modo de pantalla completa que le dice lo que va a hacer. Recuerde, hay ninguna manera de regresar a la pantalla anterior si usted comete un error, as que escoja cuidadosamente. Por otra parte, usted podra tener que hacer esto varias veces. Presione enter como se le indica. Mouse protocol(Protocolo del Ratn)

54

Escoja el tipo de ratn que usted tiene de la lista. Actualmente, la mayora de los ratones son PS/2 o Microsoft Intellimouse. Los ratones ms viejos requerirn uno de los otros tipos listado probablemente. Emulate3Buttons( Emulacin de 3 botones)

Si su ratn tiene slo dos botones , usted puede escoger emular un tercer botn. Pulsando el botn de la izquierda y el de la derecha junto se interpretara como el tercer botn del mouse. Muchos programas utilizan el tercer botn, se recomienda habilitarlo. Si usted tiene un mouse de tres botones, esto no har nada. Mouse device name(Nombre del dispositivo del raton)

55

El valor predeterminado /dev/mouse normalmente estar bien. Sin embargo, si usted tiene su ratn conectado en algn puerto extrao, usted podra necesitar cambiar esto. Para la mayora de los ratones serie y ratones PS/2, el valor predeterminado est bien. XKEYBOARD extensin

Probablemente querr usar las extensiones de teclado de X. Si no hace esto su teclas backspace y delete se comportaran de forma extraa. Escogiendo las extensiones estas teclas de su teclado se comportara de forma correcta. Bindings for alt keys Si usted quiere usar caracteres de lenguajes diferentes , tiene que habilitar las bindings de las teclas alt. Si usted slo va a estar tecleando en ingls, usted no necesita habilitar estas bindings..

56

Horizontal sync range (rango de la sincronizacin horizontal)

sta es la primera de las preguntas relacionadas al monitor. Es importante que usted escoja aqu sabiamente. No escoja un rango que este fuera de las especificaciones de su monitor. Esto no es muy importante en los monitores mas nuevos, ya que ellos no intentan hacer nada cuando esta fuera de sus especificaciones. sin embargo podran daarse los monitores mas viejos. Cuando dude, escoja un rango conservador. Tener la documentacin de su monitor seria algo muy bueno para responder las siguientes preguntas. Para la mayora de los monitores nuevos, usted puede escoger 31.5-47.5 o 31.5-57.0 probablemente. Aquellos de ustedes que cuente con un monitor de primera lnea pueden escoger un rango mas grande. O , usted puede escribir su propio rango de sincronizacin horizontal si usted no ve ninguno que encaje con el suyo.

57

Vertical sync range (Rango de sincronizacion Vertical)

Una vez ms, usted necesitar saber las especificaciones de su monitorr para contestar esta pregunta. Cuando tenga dudas, vaya por un rango estrecho. Una opcin segura probablemente sera 50-90 o 50-100. Si usted no ve uno que se adapte a su monitorr, usted puede escoger escribir su propio rango. Video card database(Base de datos de tarjetas de video)

La prxima larga seccin de configuracin son los tratos de su tarjeta de video con X. La documentacin de su tarjeta y la informacin de SuperProbe sern tiles ahora. Usted tendr que buscar a travez de la base de datos de tarjetas, seleccionar su tarjeta y pulsar "y". Usando enter pasara de esta pagina a la siguiente.
58

Hay mas de 800 tarjetas en la base de datos. La columna izquierda contiene un nmero para cada tarjeta y el nombre de la tarjeta. La columna derecha contiene el chipset para esa tarjeta. Siga usando enter hasta que encuentre su tarjeta de video en la lista. Cuando la consiga escriba el numero y presione enter. Si usted no sabe que qu tipo de tarjeta de video usted tiene, hay unas opciones. Primero, usted podra mira la lnea "Chipset" de SuperProbe y buscar la tarjeta que coincide con ese chipset en la base de datos. O, usted podra usar un tipo de tarjeta SVGA genrico. Muchas tarjetas que no tienen su propio servidor son soportadas por el servidor SVGA, sta pudiera ser una opcin segura. Despus de escoger una tarjeta, le dar un poco ms informacin. Siguiendo el ejemplo ATI Rage Pro anterior, dara este tipo de informacin:
Your selected card definition: Identifier: ATI Mach64 Chipset: ATI-Mach64 Server: XF86_Mach64 Do NOT probe clocks or use any Clocks line.

A estas alturas, usted debe verificar y asegurarse que usted instal el paquete del servidor. El servidor de XF86_Mach64 est en el paquete de xma64.tgz. Asegrese de instalar el paquete del servidor correcto, o X no podr correr. Which server to run?(Ejecutar cual servidor?)

Esta prxima pregunta presenta varios servidores que usted puede usar. Si usted ha seleccionado su tarjeta de video correctamente, usted puede simplemente pulsar enter. Eso le dir a X que use el servidor que la tarjeta especific. Por otra parte, usted puede escoger para usar el servidor Mono(XF86_Mono server), el servidor de VGA16(XF86_ VGA16 server), el
59

servidor SVGA(XF86_ SVGA server), o un servidor acelerado. La mejor opcin es usar el servidor que la tarjeta especific. Setting the symbolic link(Configurando el link simbolico)

Seleccione "y" para configurar el link simblico. Esto creara el enlace al servidor X adecuado. Video memory (Memoria de video)

Seleccione la cantidad de memoria que su tarjeta tiene. SuperProbe puede usarse para dar esta informacin . Si usted tiene algo diferente a las opciones , usted puede seleccionar "Other" y escribir una cantidad diferente. Asegrese que usted especifica la cantidad de memoria en kilobytes(Kb).

60

Identification strings Se le pedira insertar tres o mas identification strings. stos se aplican a su tarjeta de video. Como con los monitor strings, es mas seguro presionar enter para los tres , a menos que usted quiere nombrar su tarjeta de video. RAMDAC Usted solo necesita seleccionar un RAMDAC si esta usando S3, AGX o servidores W32. SuperProbe le dir qu tipo de chip RAMDAC est presente en su tarjeta de video. Busque en la lista hasta que encuentre el chip correcto, luego introduzca el numero correspondiente. Si usted no est usando S3, AGX, o servidores de W32, entre " q" para continuar . Clockchip setting

Si su tarjeta tiene un clockchip programable, usted tendra que seleccionar uno de esta prxima lista. Tenga presente que que la mayora de las tarjetas no tiene un clockchip programable, usted puede estar mas seguro simplemente pulsando enter. SuperProbe debe informar si su tarjeta tiene un clockchip. Clocks line Las prximas pantallas de texto muestran lo que es una clock line. Como l explica, usted no querr uno en la mayora de las configuraciones modernas. Le preguntara entonces, si debe buscar un clock(reloj).. Tambin le dir si la tarjeta necesita ser sondeada o no. En el caso de la tarjeta de ATI, xf86config dira:
The card definition says to NOT probe clocks.

Si dice algo as, escoge "n" a la pregunta de buscar en la tarjeta los relojes. Las tarjetas grficas muy viejas necesitarn ser sondeadas. xf86config le dirn lo que necesita hacer.

61

Video modes

Ahora es tiempo para seleccionar los modos videos que su servidor de X usar. Usted vera cuatro profundidades de color diferentes (color depth) 8bpp ,24bpp y 32bpp. Cada uno tendr una lista de los modos de video que pueden ejecutarse bajo esa profundidad de color. Cuando usted pone en marcha X, entrar en una profundidad de color predefinida y correr en la primera resolucin listada para esa profundidad de color. Si le gustara ejecutar X en una resolucin diferente, ahora es el momento de hacer eso. Si la clasificacin de los modos de video est bien, usted puede seleccionar " OK" y seguir adelante con el proceso de la configuracin. Si no, seleccione la profundidad de color que le gustara cambiar. Por ejemplo, suponga usted se le presentan las siguientes opciones:
"640x480" "800x600" "1024x768" "1280x1024" for 8bpp "640x480" "800x600" "1024x768" "1280x1024" for 16bpp "640x480" "800x600" "1024x768" "1280x1024" for 24bpp "640x480" "800x600" "1024x768" for 32bpp

Si desea arrancar X en una resolucin diferente , tiene que seleccionar primero una profundidad de color para cambiar. siga las direcciones dadas por xf86config. Tendr que escribir los nmeros correspondientes a las resoluciones. Si usted quisiera invertir el orden de las resoluciones simplemente, puede colocar lo siguiente
Which modes? 5432

Esto tambin le permite borrar resoluciones. Si su tarjeta de video no puede correr al 1280x1024, no hay ninguna razn para que el haga la prueba. Usted podra quitar esa lnea colocando los siguientes dgitos:
Which modes? 432

Despus de seleccionar los modo a esa profundidad de color, se le preguntar si le gustara una pantalla virtual ms grande que la pantalla fsica. Una pantalla virtual es una pantalla que es ms grande que el monitor real. Cuando usted mueve el ratn en la pantalla virtual, desplazar un pedazo antes de llegar al borde. Esto le permite encajar ms ventanas en su monitor.
62

Sin embargo, como usted no podr ver todo en seguida, la pantalla virtual puede ser un poco molesta. Todava es una cosa interesante para jugar , por lo que usted podra querer probarlo. Entonces lo envaran de vuelta a los modos de video. Alterando los modos de video para la profundidad 24bpp, quedara as:
"640x480" "800x600" "1024x768" "1280x1024" for 8bpp "640x480" "800x600" "1024x768" "1280x1024" for 16bpp "1280x1024" "1024x768" "800x600" "640x480" for 24bpp "640x480" "800x600" "1024x768" for 32bpp

Contine alterando los modos videos hasta que usted est satisfecho con ellos. Cuando usted termine con esta seccin seleccione "OK" para continuar. Write the config file A estas alturas, la configuracin de X est completa. xf86config preguntara si debe escribir los archivos config en el directorio /etc/XF86Config. Si desea ejecutar el servidor X usted debe contestar "y" a esa pregunta, por que all es donde el servidor X busca su archivo de configuracin. Asumiendo que usted contest todas las preguntas correctamente y que tiene el paquete X server instalado, usted poder iniciar X as:
$ startx

Si usted ha instalado KDE o GNOME, debera iniciar en este momento. Por otra parte, usted podra querer ejecutar el xwmconfig y seleccionar el gestor de ventana que usted quiere usar por defecto. Se explicaran los gerentes de ventana mas adelante en este capitulo. xwmconfig slo prepara el gestor de ventanas predefinido por el usuario. Si usted tiene varios usuarios en su sistema, cada uno necesitar seleccionar a su propio gestor de ventanas. Hay algunas teclas especiales que podran ser tiles cuando esta usando X. si usted necesita salirse en algn momento y no puede cerrarlo apropiadamente , esta es la combinacin para una salida forzada. control-alt-backspace matara X y lo mandara de vuelta a la linea de comando. Usted puede moverse hacia otra lnea de comando mientras esta usando X pulsando control-alt-y la tecla de funcion. parecido a como se hace desde la consola. la sesin de X se localiza en el terminal 7, as que usted puede regresar a X con alt-F7. Finalmente, usted puede cambiar los modos videos mientras X esta corriendo pulsando cantrol-alt-numeric keypad + esto lo llevara hacia una resolucin mayor , en cambio si pulsa las teclas control-alt-numeric keypad - lo llevara hacia la prxima resolucin menor.

XF86Setup
La otra manera de configurar X es usar XF86Setup, un programa de configuracin grafico que viene como parte del paquete xset.tgz. Usted tambin necesitar instalar el paquete xvg16.tgz. Para ejecutar XF86Setup, entre como root y escriba:
# XF86Setup

Si usted ya tiene el archivo /etc/XF86Setup(porque usted ya haba configurado X antes), se le preguntara si quiere usar los valores existentes en XF86Config como predeterminados. Despus, cambiara al modo grafico.

63

Figura 6-1. La pantalla inicial del XF86Setup.

XF86Setup es muy similar al xf86config. Hace el mismo tipo de preguntas, pero las presenta en un entorno grafico. Si usted esta preguntndose que significa cada pregunta, refirase a la seccin anterior para informacin. XF86Setup tiene mucha ayuda tambin, por lo que usted no debe tener dificultad en ejecutarlo.

Archivos de Configuracin de sesin


xinitrc and ~/.xinitrc
xinit(1) es el programa que realmente arranca a X; es llamado por startx(1), por lo que usted no lo pudo haber notado (y probablemente no necesita saberlo). Este archivo de configuracin, sin embargo , determina que programa se ejecuta(incluyendo sobre todo el gestor de ventana) cuando inicia X. xinit chequea primero su directorio home en busca del archivo .xinitrc . Si el archivo se encuentra, se ejecuta, si no utiliza el archivo predeterminado ubicado en /var/X11R6/lib/xinit/xinitrc. Este es un ejemplo simple de un archivo .xinit:
#!/bin/sh # $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $ 64

userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap # merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # start some nice programs twm & xclock -geometry 50x50-1+1 & xterm -geometry 80x50+494+51 & xterm -geometry 80x20+494-0 & exec xterm -geometry 80x66+0+0 -name login

Todos esos "if" estn all para unir varios tipos de configuracin desde otros archivos. Bien nosotros explicaremos .Xresources ahora, pero .Xmodmap nosotros vamos a dejarlo as. La parte interesante de el archivo es el fin con que se ejecutan , los programas. Esta sesin de X empezara con el gestor de ventanas twm(1) , un reloj, y tres terminales. Fjese en exec antes del ultimo xterm. Lo que esto hace es remplazar la shell que esta corriendo actualmente(la que esta ejecutando el script xinitrc(1)) con el comando xterm(1). Cuando el usuario cierre ese xterm, la sesin X terminara. Para personalizar su inicio de X, copie el valor predeterminado desde /var/X11R6/lib/xinit a ~/.xinitrc y editelo, remplzando todas aquellas lneas del programa con las lneas que usted quiera. El fin de mo simplemente es:
# Start the window manager: exec startkde

Note that there are several xinitrc.* files in /var/X11R6/lib/xinit that correspond to various window managers and GUIs. You can use any of those, if you like.

.Xresources y .Xdefaults
Muchos progrmas en X utilizan un sistema llamado X Resource Database (Base de Datos de Recursos) para encontrar las preferencias del usuario (fuentes , colores ,etc.) Esta base de datos se mantiene a travez del programa xrdb(1) que usted tal vez no necesite ejecutar nunca. En Slackware se ejecuta desde el xinitrc. El archivo xinitrc le dice a xrdb que ~ /. Xresources es la fuente para las opciones. xrdb tambin cargara ~ /. Xdefaults , por lo tanto
65

cualquiera de los nombres funcionara. Un archivo .Xresources pequeo se parece a esto:


xterm*background: black xterm*foreground: gray xterm*scrollBar: true xterm*font: -*-lucidatypewriter-*-r-*-*-15-*-*-*-*-*-*-*

Estas cuatro lneas especifican la informacin de configuracin para el programa xterm. Un recurso de X se lista de esta forma:
program*option: setting/value

Asi que, la muestra de .Xresources anterior debe ser autoexplicativa. No se enrede por el contenido de la linea "font" ; las fuentes siempre se nombran de esta forma en X.

Servidores y Gestores de Ventana


El X Window System fue diseado originalmente para trabajar a travs de una Red. Un servidor grande seria realmente el que correra el programa X, pero se desplegara en las otras maquinas clientes en cualquier otro lugar de la red. La habilidad de desplegar los programas remotamente puede ser una gran ventaja. La desventaja principal de este concepto de la gestin a travs de redes es ;que es menos seguro que ejecutar la aplicacin desde la maquina local , y tomara un ancho de banda muy grande para hacerlo. Esto se discute despus en la seccin llamada Exportando pantallas. Incluso cuando usted esta ejecutando X en su propia mquina, usted todava est basndose en el modelo cliente-servidor. El servidor es la tarjeta de video en la porcin especifica. Cuando usted configur X y le dijo que qu tipo de tarjeta de video usted tena, estaba dicindole qu programa servidor usar. La porcin del cliente es todos los otros programas que usted ejecuta bajo X. Un cliente especial, llamado gestor de ventanas, es responsable de la apariencia de su sesin X . Los gestores de Ventanas se explican con detalle mas adelante. El trabajo de un gestor de ventanas es dibujar ventanas con programas dentro de la pantalla, as como ocuparse del ratn y del teclado. Los primeros gestores de ventanas hicieron simplemente esto y nada mas. Los gestores de ventanas actuales son programas mucho ms complicados y son personalizables de casi cualquier manera imaginable. Ellos tienen toda clase de opciones que permiten a su escritorio lucir diferente al de nadie ms. Contar con varios gestores de ventanas realmente separa a Linux de Windows en el escritorio. Bajo Windows, usted solo tiene un sistema de ventanas bsico. Bajo Linux, usted puede ejecutar uno de muchos gestores de ventanas diferentes, cada uno con un look diferente y rasgos diferentes. Algunas personas llaman a esto una debilidad, porque no hay ningn look consistente. Sin embargo, la mayora de los usuarios de Linux llaman a esto una ventaja porque usted puede configurar su sistema de la forma que usted quiera.

66

Seleccionado un Escritorio
Durante aos, Unix se us casi exclusivamente como sistema operativo para servidores, con la excepcin de puestos de trabajo profesionales de alta potencia. Era probable que slo los tcnicamente inclinados usramos un Unix-como sistema operativo, y la interfaz de usuario es reflejo de este hecho. El GUIs(Interfaz grafica de usuario) tenda a ser solo esqueletos, diseados para ejecutar aplicaciones necesariamente graficas como los programas CAD y simuladores de imgenes. La mayora de los archivos y el manejo del sistema se dirigan en la lnea de comando. Varios vendedores(Sun Microsystems ,Silicon Graphics , etc) estaban vendiendo instalaciones de workstations en un intento por unificar el look , pero la variedad de herramientas GUI usadas por los diseadores llevo a la disolucin de la uniformidad de escritorios. La barra de desplazamiento poda no lucir igual en dos programas diferentes. Los mens podan aparecer en lugares diferentes. Programas que tenan botones y checkboxs distintas. Los colores eran codificados de forma diferente en cada barra de herramientas. Mientras los usuarios fueran principalmente profesionales tcnicos, a ninguno de estos les importaba mucho. Con la salida de free Unix como sistema operativo y el creciente numero de aplicaciones graficas, X ha ganado una gran cantidad de usuarios. La mayora de los usuarios, claro, est acostumbrado al look proporcionado por Windows de Microsoft o el MacOS de Apple; la falta de tal consistencia en las aplicaciones basadas en X se volvi una barrera para lograr una mayor aceptacin. Como respuesta a esto, se han emprendido dos proyectos Open Source: The K Desktop Enviroment(El ambiente de escritorio K) o KDE, y el GNU Network Object Model Enviroment, conocido como GNOME. Cada uno tiene una variedad ancha de aplicaciones, desde taskbars y administradores de archivos hasta juegos y aplicaciones de Oficina ,escrito con las mismas herramientas GUI y hermticamente integrado para proporcionar un escritorio consistente y uniforme. Las diferencias en KDE y GNOME son generalmente bastante sutiles. Ellos lucen diferentes el uno del otro, porque cada uno utiliza un juego de herramientas GUI diferente. KDE se basa en la tecnologa QT de Troll Tech AS, mientras que GNOME usa GTK, un kit de herramientas diseado originalmente para el GNU Image Manipulation Program (o GIMP). Como proyectos separados, KDE y GNOME tienen cada uno sus propios diseadores y programadores , con diferentes filosofas y etilos de programacin. Sin embargo , el resultado en cada caso, es un ambiente de escritorio hermticamente integrado y una coleccin de aplicaciones. La funcionalidad, utilidad, y hermosura pura tanto de KDE y su rival GNOME es algo que no esta disponible en ningn otro sistema operativo. La mejor parte, sin embargo , es que estos escritorios son gratis. Esto significa usted puede tener cualquiera o ambos (s, al mismo tiempo). La opcin es suya. Adems del GNOME y KDE, Slackware incluye una coleccin grande de gestores de ventana. Algunos estn diseados para emular otros sistemas operativos, otros para la personalizacin , otros para la velocidad. Hay una
67

variedad realmente. Claro usted puede instalar tantos como usted quiera, juegue con todos ellos, y decida cual es el que le gusta mas. Para hacer la seleccin del escritorio fcil, Slackware incluye tambin un programa llamado xwmconfig que puede usarse para seleccionar un escritorio o gestor de ventana. Se ejecuta de esta forma:
$ xwmconfig

Figura 6-2. el program xwmconfig de Slackware.

Usted encontrara una lista de todos los escritorios y gestores de ventana instalados. Simplemente seleccione el que usted quiere de la lista. Cada usuario en su sistema necesitar ejecutar este programa, ya que los usuarios diferentes pueden usar escritorios diferentes, y no todos querrn usar el valor predeterminado que usted seleccion en la instalacin. Entonces solo ejecute X, y esta listo:
$ startx

Exportando Pantallas
Como mencionamos anteriormente , es posible ejecutar X en una computadora y exporta la pantalla a otra. Esto requiere de un ancho de banda intenso , por lo que usted no querr hacer esto mediante una conexin por modem o entre distancias muy largas. Adicionalmente hay consideraciones de seguridad: exportar una pantalla no es algo muy seguro de hacer, ya que usted estar permitiendo a toda la red mirar lo que usted esta haciendo. Todava, puede ser muy til en una red local. Una cosa importante para notar aqu es el uso de las palabras "cliente" y "servidor". Cuando exporta una pantalla , usted puede confundirse acerca de lo que es un cliente y lo que es un servidor. Nosotros nos referimos a la mquina que realmente ejecuta el programa X y enva la informacin de la pantalla como "servidor". La mquina que usted usa para mostrar el programa remoto se llama " cliente." Cuando planeamos el diseo de X , esto se utiliza. El programa que muestra las cosas se llama "servidor", mientras que donde se ejecutan los programas se llama "cliente". No es muy terrible confundirse , pero tngalo en cuenta.
68

Para este ejemplo, nosotros estaremos haciendo uso de dos computadoras: golf que es un servidor bastante poderoso que esta debajo de un escritorio en un cuarto atestado de cosas. Tiene mucha RAM y un buen procesador. Adems tiene muchos programas X , pero ningn monitor. En el otro lado del cuarto se encuentra couch, una maquina vieja con poco RAM y un disco pequeo. Es demasiado dbil para ejecutar programas de recursos intensos como el Netsacpe. couch tiene dos ventajas, a pesar de todo: tiene monitor , y esta justo al lado de la cama por lo que usted no tiene que levantarse para usarla ni siquiera. Con suerte, usted podra usar Netsacpe sin bajarse de la cama. Exportar es la respuesta. Primero, entre en couch y ejecute X. Luego ejecute su terminal preferido (xterm , rxvt ,eterm, o cualquier otro.) El primer paso para mostrar programas X de forma remota es configurar la maquina cliente para que permita que otra maquinas se muestren. Esta usa el programa xhost para controlar el acceso, Si usted esta dentro de una red interna segura, probablemente no le importe quien puede mostrar programas en su computadora. En este caso, usted permitir simplemente que cualquier maquina de red se muestre:
couch$ xhost + access control disabled, clients can connect from any host

Por otro lado, usted podra querer hacer esto usando mquinas que estn en una red insegura (Internet, una red de la universidad, o cualquiera que no sea controlada por usted). Usted no quiere conectar a nadie simplemente. xhost le permite ser selectivo sobre quin puede desplegar:
couch$ xhost + golf.foc golf.foc being added to access control list

Ahora, slo golf.foc (el servidor mencionado antes) puede desplegar programas en couch. Usted puede ver quin tiene acceso para desplegar los programas ejecutando xhost sin los argumentos:
couch$ xhost access control enabled, only authorized clients can connect INET:golf.foc INET:localhost INET:couch.foc LOCAL:

Esto es todo lo que tiene que hacer para terminar de configurar el cliente: The next step is to set up the server so that it knows to display programs somewhere other than the monitor. Desde que el servidor no tiene monitor (y por consiguiente no puede ejecutar X),necesitar saber dnde mostrarse. Prepara el servidor no es muy difcil. Despus de conectarse, usted necesita modificar la variable $DISPLAY. Por defecto, probablemente no esta configurara a nadie. Usted necesita configurar la variable $DISPLAY con el valor del host remoto, mas el numero que representa la sesin de X que
69

quiere mostrar. Usted casi siempre tendr una sola sesin de X ejecutndose , por lo que tratar con esa variable no le traer problemas. As es como se debe configurar la variable $DISPLAY que en nuestro ejemplo usa Bash como shell. Otras shells usaran sintaxis diferentes, pero el valor debe ser el mismo.
golf$ export DISPLAY=couch.foc:0.0

Esto es todo lo que tiene que preparar en la parte del servidor. Ahora usted solo necesita estar conectado en el servidor y ejecutar los programas X desde all. Todo lo que sale por pantalla en el programa se enviara por red a la maquina del cliente aun cuando se esta ejecutando el programa en otra computadora en la otra habitacin.
golf$ netscape &

Esto ejecutara netscape en el servidor, pero desde que la variable DISPLAY fue configurada para couch todo es mostrado all. Usted no tiene que levantarse para ejecutar esos grandes programas X en su equipo viejo. Una nota importante sobre esto: la mquina servidor tendr que tener todas las bibliotecas de X y otros archivos de apoyo necesitados para ejecutar el programa. Sin embargo, usted no necesitar un X server o un archivo /etc/XF86Config , despus de que nada se este mostrando en el servidor. Mas adelante , usted podra querer desactivar la exportacin quitando al servidor de la lista de control de acceso:
couch$ xhost - golf.foc golf.foc being removed from access control list couch$

Usted puede ver que esta es una gran manera de compartir recursos informaticos. Pero tenga cuidado, usted puede ser el host de muchos programas X para muchas computadoras remotas sin siquiera saberlo.

Resumen
En este captulo, usted aprendi a configurar el X Window System utilizando xf86config y XF86Setup. Usted tambin debe saber lo que es un ambiente de escritorio y un gestor de ventanas, y cmo cambiar entre las varias opciones. Usted debe poder exportar su sesin de X a otro computador. A estas alturas, usted debe poner en marcha un ambiente grfico.

70

Chapitulo 7. Booteando
Contenido LILO LOADLIN Booteo Dual Resumen El proceso de arranque de su sistema Linux a veces puede ser fcil y a veces puede ser difcil. Muchos usuarios instalan Slackware en su computadora y se es. Ellos apenas lo encienden y est listo para usar. Otros, sin embargo, deben usar otro sistema operativo para ciertas tareas, por lo que ellos necesitan ambos sistemas operativos disponibles en la mquina. Esta seccin explica como usar LILO y Loadlin , los dos booters(Iniciadores) incluidos en Slackware. Tambin explica algunos tipos de booteo dual tpicos y como usted puede configurarlos.

LILO
El Cargador de Linux, o LILO(Linux Loader), es el booter ms popular en los sistemas Linux. Es realmente configurable y puede usarse para arrancar otros sistemas operativos fcilmente. Slackware Linux viene con una utilidad de configuracin basada en mens llamada liloconfig. Este programa se ejecuta durante el proceso de instalacin, pero usted puede ejecutarlo despus escribiendo liloconfig en el prompt. LILO lee su configuracin del archivo /etc/lilo.conf(5). No lo lee cada vez que inicia, pero en cambio lo lee cada vez que se instala LILO. LILO debe reinstalarse en el sector boot cada vez que usted haga un cambio en la configuracin. liloconfig le ayudarn a construir el archivo de configuracin para que usted pueda instalar LILO en su sistema. Si usted prefiere revisar /etc/lilo.conf a mano, simplemente reinstale LILO escribiendo sbin/lilo en el prompt. Cuando usted ejecuta liloconfig , aparecer primero: Figura 7-1. La pantalla inicial del liloconfig.

71

Si sta es su primera configurando LILO, usted debe escoger "simple." Por otro lado, usted encontrara que "expert" es mas rapido si usted esta familiarizado con Linux y LILO. Seleccionando "simple" empezar la configuracin de LILO. Si el kernel frame buffer support esta compilado en su sitema, liloconfig le preguntara que resolucin de video desea utilizar. Esta es la misma resolucin que utiliza el XFree86 frame buffer server. Si usted no quiere ejecutar la consola en un modo de video especial, seleccione standard 80x25 que esta utilizando. Figura 7-2. Liloconfig preguntando que modo de video usara el framebuffer.

La prxima parte de la configuracin de LILO es seleccionar en que parte desea usted instalarlo. ste probablemente es el paso ms importante. La lista que sigue de explica los lugares de instalacin: Root Esta opcin instala LILO al principio de su particin raz de Linux. sta es la opcin ms segura si usted tiene otros sistemas operativos en su computadora. Asegura que cualquier otro booters no se sobrescribe. La desventaja es que LILO solo arrancara desde all si su unidad Linux es la primera unidad en su sistema. Floppy Este mtodo est aun ms seguro que el anterior. Crea un disco de inicio que usted puede usar para arrancar su sistema Linux. Esto guarda el booter completamente fuera del disco duro, por lo que usted slo podr arrancar desde el Disquete cuando quiera usar Slackware. MBR Usted querr usar este mtodo si Slackware es el nico sistema operativo en su computadora, o si usted estar usando LILO para escoger entre los sistemas operativos mltiples en su computadora.
72

Esta opcin eliminara cualquier otro booter instalado en MBR Despus de seleccionar la ubicacin de la instalacin, liloconfig escribir el archivo de configuracin e instalara LILO. Eso es todo. Si usted selecciona el modo "expert" usted recibir un men especial. Este men le permite escarbar en el archivo /etc/lilo.conf , agregar otros sistemas operativos a su men de booteo , y configura a LILO para "saltar" parmetros especiales del Kernel en el momento de arrancar. As luce el men experto: Figura 7-3. liloconfig modoexpert.

Cualquiera que sea la configuracin de su sistema, configurar un boot loader es fcil. liloconfig hace que la configuracin sea muy sencilla. Sin embargo, hay casos en los que LILO simplemente no funcionara. Hay otras opciones afortunadamente.

LOADLIN
La otra de arranque que viene con Slackware Linux es LOADLIN. LOADLIN es un ejecutable de DOS que puede ser usado para arrancar Linux desde un sistemas DOS corriente. Requiere que el Kernel de Linux este instalado en esa particin DOS para que LOADLIN pueda cargarlo e iniciar el sistema apropiadamente. Durante el proceso de la instalacin, LOADLIN se copiar al directorio de la home de root como un archivo .ZIP. No hay ningn proceso de configuracin automtico para LOADLIN. Usted necesitar copiar el Kernel de Linux (el /vmlinuz) y el archivo LOADLIN desde el directorio home de root a la particion de DOS. LOADLIN es til si usted quiere hacer un men de arranque en su particin DOS. Un men podra agregarse a su archivo AUTOEXEC.BAT que le permitira escoger entre Linux o DOS. La opcin Linux ejecutara LOADLIN,
73

iniciando su sistema Slackware. Este archivo AUTOEXEC.BAT bajo Windows 95 proporcionara un boot menu decente :

@ECHO OFF SET PROMPT=$P$G SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\ CLS ECHO Por favor seleccione sus sitema operativo: ECHO. ECHO [1] Slackware Linux ECHO [2] Windows 95 ECHO. CHOICE /C:12 "Selecion? -> " IF ERRORLEVEL 2 GOTO WIN IF ERRORLEVEL 1 GOTO LINUX :WIN CLS ECHO Iniciando Windows 95... WIN GOTO END :LINUX ECHO Iniciando Slackware Linux... CD \LINUX LOADLIN C:\LINUX\VMLINUZ ROOT=<root partition device> RO GOTO END :END

Usted tendr que especificar su particin raz como un dispositivo linux, por ejemplo /dev/hda2 o algo as. Usted siempre puede usar LOADLIN a la lnea de comando. Usted lo usa simplemente de la misma manera como est anteriormente en el ejemplo. La documentacin de LOADLIN viene con muchos ejemplos sobre cmo usarlo.

Booteo Dual
Muchos usuarios prepararon sus computadoras para iniciar Slackware Linux y otro sistema operativo. Nosotros estaremos explicando varios ejemplos tpicos de booteo dual, en caso de que usted tenga problemas configurando su sistema.

Windows 9x/DOS
Configurar una computadora para que arranque con Windos 9x y Linux es probablemente el caso de booteo dual mas comn. Hay numerosas maneras de configurar el inicio, pero esta seccin cubrir dos. A menudo en el momento de configurar un sistema de booteo dual, la persona inventar un plan perfecto para dnde debe ir todo pero se desordena en el orden de la instalacin. Es muy importante entender que los sistemas operativos necesitan ser instalados en un cierto orden para que funcione un booteo dual. Linux siempre ofrece un control mayor en eso, si pasa algo, se
74

escribe en el Master Boot Record. Por consiguiente, siempre es aconsejable instalar Linux en ltimo lugar. Windows debe instalarse primero, ya que siempre escribe su booter en el Master Boot Record.

Usando LILO
La mayora de las personas querr usar LILO para escoger entre Linux y Windows. Como se ha dicho anteriormente, usted debe instalar Windows primero y despus Linux. Digamos que usted tiene un disco duro 4.7GB IDE como nica unidad en su sistema. Tambin digamos que usted quiere dar la mitad de ese espacio a Windows y la mitad de ese espacio a Linux. Esto presentar un problema al intentar iniciar con Linux. Yo no s la geometra especfica del disco, pero las oportunidades son que pasando los 23.5GB ser pasando del cilindro 1024th tambin. Un diseo bueno para esta unidad sera:

1GB 1GB 22.5 22.5

Windows boot (C:) Linux root (/) Windows misc (D:) Linux /usr (/usr)

Usted tambin querra poner una cantidad adecuada de espacio para una particin swap Linux . La regla no escrita es usar el doble de la cantidad de RAM que usted tiene como espacio en disco. Un sistema con 64MB tendra 128MB de swap, y as sucesivamente. Con su particiones listas, usted debe proceder a instalar Windows. Despus de eso configrelo y a trabajar, usted debe proceder a instalar Windows. La instalacin de LILO necesita atencin especial. Usted necesitara seleccionar el modo "expert" para instalar LILO. Empiece una nueva configuracin de LILO. Usted querr instalarlo para Dominar el Master Boot Record (MBR) para que pueda usarse para escoger entre los dos sistemas operativos. Del men, agregue su particin de Linux y agregue su particin de Windows (o DOS) . Una vez completado esto, usted puede instalar LILO. Reinicie la computadora. LILO debe cargar y debe esperar por la seleccin del usuario. Usted puede usar Alt para que aparezca el prompt boot:. Teclee el nombre del sistema operativo que usted quiere iniciar (estos nombres sern seleccionados cuando usted instale LILO). Si usted se olvidara del nombre, Presione Tab para conseguir una lista de sistemas operativos que usted puede iniciar. Usted incluso puede configurar ms a LILO editando el archivo /etc/lilo.conf en su particin de Linux. Usted puede configurar para que despliegue un men de texto, y siempre presentar el prompt. Por ejemplo, si yo quisiera que mi LILO desplegara esto:
System Boot Menu ================ 1 - Linux 2 - Windows 75

LILO boot:

Mi archivo /etc/lilo.conf deberia lucir asi:


# LILO configuration file boot = /dev/hda vga = normal message = /boot/message image = /vmlinuz root = /dev/hda2 label = 1 read-only other = /dev/hda1 label = 2 table = /dev/hda

Y mi archivo /boot/message debera ser as:


System Boot Menu ================ 1 - Linux 2 - Windows

LILO es un bootloader realmente configurable. Simplemente no se limita a iniciar Linux o DOS. Puede iniciar lo que sea. Las paginas del manual de el lilo(8), y lilo.conf(5) ,proporcionan una informacin mas detallada LILO no le funciona? Hay casos dnde LILO simplemente no trabajar en una mquina particular. Hay otra manera afortunadamente, para iniciar Linux y Windows.

Usando LOADLIN
Este mtodo puede usarse si LILO no trabaja en su sistema, o si usted no quiere configurar LILO. Este mtodo tambin es ideal para el usuario que reinstala a menudo Windows. Cada tiempo usted reinstala Windows, borrar el Master Boot Record, destruyendo cualquier instalacin de LILO . Con LOADLIN, usted no est sujeto a ese problema. La desventaja ms grande es que usted puede usar LOADLIN solamente para iniciar Linux. Con LOADLIN, usted puede instalar los sistemas operativos en cualquier orden deseado. Tenga el cuidado acerca de instalar las cosas al Master Boot Resocrdl, usted no quierra hacer eso. LOADLIN confia en que la particion de Windows es Booteable. As que durante la instalacin de Slackware, asegrese de saltar la configuracion de LILO. Despus de instalar los sistemas operativos, copie el lodlinX.zip (donde" X" es el nmero de la versin, por ejemplo" 16a") desde el home de root hasta su particion de Windows. Tambin copie su imagen kernel a la particin de
76

Windows. Usted necesitar estar en Linux para trabajar. Este ejemplo muestra cmo hacer esto:
# mkdir /win # mount -t vfat /dev/hda1 /win # mkdir /win/linux # cd /root # cp loadlin* /win/linux # cp /vmlinuz /win/linux # cd /win/linuz # unzip loadlin16a.zip

Eso crear un directorio C:\LINUX en su particin de Windows (asumindolo que es /dev/hda1) y copia encima el material necesario para LOADLIN. Despus de hacer esto, usted necesitar iniciar en Windows para instalar el men de booteo. Una vez en Windows, entre en un prompt de DOS. Primero, nosotros necesitamos asegurarnos que el sistema no esta configurado para iniciar con la interfaz grafica:
C:\>cd \ C:\>attrib -r -a -s -h MSDOS.SYS C:\>edit MSDOS.SYS

Agregue esta lnea al archivo:


BootGUI=0

Now save the file and exit the editor. Now edit C:\AUTOEXEC.BAT so we can add a boot menu. The following provides an example of what a boot menu block in AUTOEXEC.BAT would look like:
cls echo System Boot Menu echo. echo 1 - Linux echo 2 - Windows echo. choice /c:12 "Selection? -> " if errorlevel 2 goto WIN if errorlevel 1 goto LINUX :LINUX cls echo "Starting Linux..." cd \linux loadlin c:\linux\vmlinuz root=/dev/hda2 ro goto END :WIN cls echo "Starting Windows..." win goto END 77

:END

La lnea importante es la que ejecuta a LOADLIN. Nosotros le decimos cual Kernel iniciar, la particin raz de Linux y que queremos que se monto como solo-lectura al principio. Las herramientas para estos dos mtodos se incluyen en Slackware Linux. Hay numerosos booters en el mercado, pero stos deben trabajar para ms configuraciones de inicio dual.

Windows NT
Esta es la segunda forma de inicio dual mas usada. WINDOWS NT presenta mas problemas que el booteo dual entre Windows 9x y Linux. El principal problema es que se sobrescribe el Master Boot Record con LILO , NT no iniciara mas nunca. Por consiguiente, nosotros debemos usar al Cargador de OS(OS Loader) que viene con WINDOWS NT. Los siguientes pasos le indican como montar un booteo dual entre Windows NT y Linux. 1. Instale WINDOWS NT 2. Instale Linux, asegrese de instalar LILO en el superblock de la particin de Linux. 3. Consiga los primeros 512 bytes de la particin raz de Linux y gurdelos en la particin de Windows NT. 4. Revise C:\BOOT.INI bajo WINDOWS NT para agregar una opcin de Linux Instalar Windows NT debe ser tan fcil como instalar Linux. Despus de eso la cosa se pone un poquito mas difcil. Agarrar los primeros 512 bytes de la particin de Linux es ms fcil de lo que parece. Usted necesitar estar en Linux para lograr esto. Asumiendo que su particin de Linux es /dev/hda2, emita esta orden:
# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512

Esos son. Ahora usted necesita copiar bootsect.lnx a la particin de WINDOWS NT. Aqu es donde nosotros nos encontramos con otro problema. Linux no tiene el soporte para en escribir el sistema de archivos NTFS. Si usted instalo Windows NT y formateo su disco duro como NTFS, usted necesita copiar este archivo a un disquete y leerlo bajo Windows NT. Si usted estructurara la unidad de WINDOWS NT como FAT, usted puede montarlo simplemente bajo Linux y puede copiar el archivo . De cualquier forma usted necesita tener el archivo /tmp/bootset.inx de Linux en C:\BOOTSECT.LNX en la unidad de Windows NT. El ultimo paso ser agregar una opcin al men de booteo de Windows NT. Bajo Windows NT abra un prompt de comandos.
C:\WINNT>cd \ C:\>attrib -r -a -s -h boot.ini C:\>edit boot.ini 78

Agregue esta lnea al final del archivo:


C:\bootsect.lnx="Slackware Linux"

Guarde los cambios y cierre el editor. Cuando usted reinicie WINDOWS NT, usted tendr una opcin de Linux en el men. Escogindola se iniciara Linux.

Linux
S, las personas realmente hacen esto. Este es la forma mas fcil de realizar un booteo dual. Usted simplemente puede usar LILO y agregar mas opciones en el archivo /etc/lilo.conf. Y eso es todo.

Resumen
Este capitulo mostr como iniciar su sistema usando LILO o Loadlin . Tambin le dijimos como iniciar entre Linux y otros sistemas operativos. Usted puede configurar ahora su propio mtodo para iniciar su sistema operativo y un booteo dual para escoger otro si usted lo necesita.

79

IV. Usando Slackware Linux


Contenido
8. El Shell 9. Estructura del sistema de archivos (filesystem) 10. Manejando Archivos y Directorios 11. Control de Procesos 12. Administracin esencial del sistema 13. Comandos Bsicos de Red 14. Guardando Archivos 15. vi 16. Manejo de paquetes de Slackware 17. ZipSlack y BigSlack

Capitulo 8. El Shell
Contenido Usuarios La linea de comandos The Bourne Again Shell (bash) Terminales Virtulaes Resumen En un entorno grafico, la interfase es proporcionada por un programa que crea las ventanas, barras de desplazamiento , mens ,etc. En un entorno de lneas de comando, la interfaz del usuario es proporcionada por el shell que interpreta los comandos y generalmente haces las cosas tiles. Inmediatamente despus de iniciar sesin (que se explica en este capitulo), los usuarios entran en un shell y se les permite hacer su negocio. Este captulo sirve como una introduccin al shell, y el shell mas comn entre los usuarios de Linux-El Bourne Again Shell (bash). Para informacin ms detallada sobre cualquier cosa en este captulo, revise la pagina del manual bash(1).

80

Usuarios
Iniciando sesin
As que usted a iniciado su maquina, y esta mirando algo como esto:
Welcome to Linux 2.2.14 darkstar login:

Hmm.. nadie dijo algo sobre un inicio de sesin. Y que es darkstar? No se preocupe; usted probablemente dispar accidentalmente un comm-link del hyperspacio a la luna artificial del Imperio. (Disculpeme el protocolo de comm-link del hiperespacio no es soportado actualmente por el Kernel de Linux.) No, darkstar es simplemente el nombre de una de nuestras computadoras, y su nombre se establece como el valor predeterminado. Si usted especifico un nombre para su computadora durante la instalacin, usted debe verlo en lugar de darkstar. En cuanto al inicio de sesin... Si esta es su primera vez, usted tiene que entrar como root. Se le pedir introducir la contrasea, si usted coloco una durante el proceso de instalacin, eso es lo que le esta pidiendo. Si no, slo presione enter. Eso es! usted esta adentro!

Root: El Superususario
De acuerdo, que o quien es "root"? Y qu est haciendo con una cuenta en su sistema? Bien, en el mundo de Unix y los sistemas operativos similares (como Linux), hay usuarios. Nosotros explicaremos esto con detalle mas adelante, pero lo que nos interesa saber aqu ahora es que root es el usuario sobre todos los usuarios ; root es todopoderoso y todo-inteligente, y nadie desobedece a root. Simplemente no se permite. Root es lo que nosotros llamamos un "Superusuario", y eso justamente es lo que es. Y lo mejor de todo, es que root es usted. Excelente, ha? Si usted no esta seguro; si, eso es excelente. El asunto es, sin embargo, que a root se le permite daar cosas en el sistema. Usted puede pasar al capitulo 12 ver como agregar a un usuario; entonces iniciar sesin con el y trabajar desde all. La sabidura tradicional dice que es mejor volverse superusuario solo cuando sea completamente necesario, para minimizar la posibilidad de daar algo accidentalmente. A propsito, si usted decide que usted quiere ser root mientras usted esta adentro como alguien ms, no hay ningn problema. Simplemente use el comando su(1). Le pedir la contrasea de root y entonces comenzara a ser root hasta que usted se salga o coloque logout. Usted tambin puede volverse cualquier otro usuario usando el comando su, con tal de que usted conozca la contrasea del usuario: su logan, por ejemplo , lo hara convertirse en mi.

81

La lnea de comandos
Ejecutando Programas
Recuerda qu casi todo en Linux es un archivo? Bien, eso va por los programas, tambin. Cada orden que usted ejecuta (que no esta incluida en el shell) reside en algn archivo en alguna parte. Usted ejecuta un programa simplemente especificando la ruta completa hasta el. Por ejemplo, recuerda el comando su de la seccin anterior? Bien, realmente el esta actualmente en el directorio /bin/su. As que por que, entonces, solo con escribir su funciona? Despus de todo, usted no dijo que era en el directorio /bin. Pudo haber estado fcilmente en el directorio /usr/local/share , verdad? Cmo supo? La respuesta a eso queda en la ruta de entorno variable; la mayora de los shell ya conoce la ruta o algo parecido a la ruta. Contiene bsicamente una lista de directorios para buscar los programas que usted intenta ejecutar. As que cuando usted ejecuto el comando su , el shell busco a travs de su lista de directorios, verificando cada archivo ejecutable llamado su que podra ejecutar: el primero que consigui lo ejecuto. Esto pasa siempre que usted ejecuta un programa sin especificar la ruta completa hasta el; si usted se consigue con un error tipo Command not found, esto significa que el programa que usted intenta ejecutar no esta en su ruta. (Claro, esto seria verdad solamente si el programa no existe en lo absoluto...) Nosotros explicaremos la variable de entrono con mas profundidad en la seccin llamada The Bourne Again Shell(bash). Recuerde tambin que "." es la ruta corta para" el directorio en que yo estoy, por lo que si usted esta en el directorio /bin ./su funcionaria como una ruta explicita completa.

Comodines
Casi todos los shell reconocen ciertos caracteres como sustitutos o abreviaciones que significan "algo va aqu". Esos caracteres se conocen como "wildcards"(comodines); los mas comunes son * y ?. Por convencin ? normalmente coincide con un solo carcter. Por ejemplo, suponga usted que est en un directorio con tres archivos: ex1.txt, ex2.txt, y ex3.txt. Usted quiere copiar todos esos archivos (usando la orden cp que nosotros explicaremos en el Captulo 10) a otro directorio, digamos /tmp. Bien, teclear cp ex1.txt ex2.txt ex3.txt /tmp es completamente demasiado trabajo. Es mucho ms fcil de teclear cp ex?.txt /tmp el smbolo ? coincidir con los caracteres " 1"," 2", y" 3", y cada uno a su vez sera sustituido por el. Qu es lo que dices? Eso es todava demasiado trabajo? Usted tiene razn. Est espantando; nosotros tenemos leyes sociales para protegernos de esa clase de cosas. Afortunadamente, nosotros tambin tenemos *. Como ya se mencion, * coincide con "cualquier nmero de caracteres", incluyendo 0. Si esos tres archivos fueran los nicos en el directorio, nosotros podramos decir simplemente cp * /tmp y eso seria todo. Suponga, sin embargo, que hay tambin un archivo llamado example.txt y uno llamado hejaz.txt. Nosotros
82

queremos copiar example.txt pero no hejaz.txt; cp example? Har eso por nosotros.

Input/Output Redireccionamiento y tuberias


$ ps > blargh

Usted sabe que es eso? Estoy ejecutando ps para saber que procesos se estn ejecutando; el comando ps se cubre en el Capitulo 11. La parte divertida es > blargh que significa aproximadamente, "tome el output de ps y escriba un archivo llamado blargh." Pero espere, se pone ms divertido.
$ ps | less

Este toma el output de ps y lo entuba menos, para que yo pueda recorrerlo a mi antojo.
$ ps > > blargh

Este es el tercer redireccionador mas usado; hace la misma cosa que ">", excepto que "> >" escribir el output de ps en el archivo blargh, si ese archivo existe.. (">" sobrescribir el contenido de blargh.) Existe tambin el operador "<" que quiere decir "tome como entrada lo siguiente", pero no se usa tan a menudo.
$ fromdos < dosfile.txt > unixfile.txt

Redireccionar se torna divertido cuando usted empieza a amontonarlos:


$ ps | tac > > blargh

Eso ejecutar ps, invertir las lneas de su output, y aadir aquellos en el archivo blargh. Usted puede colocar tantos de ellos como usted quiera; solo tenga en cuenta que ellos se interpretan de izquierda a derecha. Vea el manual de bash(1) , para informacin mas completa sobre el.

The Bourne Again Shell (bash)


Variables de Entorno
Un sistema Linux es una bestia compleja, y hay que estar pendiente de muchas cosas. muchos pequeos detalles que estn en juego en su interaccin normal con varios programas. Nadie quiere pasar un puado de opciones a cada programa que ejecuta, decir que tipo de terminal esta usando, el hostname de la computadora, como debe lucir el prompt... Como un mecanismo de copiado, los usuarios tenemos lo que se llama un ambiente. El ambiente define las condiciones en que se ejecutan los programas, y algunas de estas definiciones son variables; el usuario puede alterar y jugar con ellas , como solo se puede en sistema Linux. Muchas sheel tendrn variables de entorno (si no, es probable que no sea una shell muy util.). Aqu nosotros daremos un vistazo al shell de forma global y de las ordenes que mantiene usando sus variables de entorno.
$ set

set por defecto le muestra todas las variables de entorno que estn actualmente definidas, as como sus valores. Como la mayora de los bash ,
83

tambin puede hacer otras cosas( con parmetros);sin embargo, nosotros dejaremos que eso lo explique la pagina bash(1) del manual. Un extracto de una configuracin de comandos como luce en mi computadora , seria as:
PATH=/usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: /usr/openwin/bin:/usr/games:.:/ usr/local/ssh2/bin:/usr/local/ssh1/bin: /usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin PIPESTATUS=([0]="0") PPID=4978 PS1='\h:\w\$ ' PS2='> ' PS4='+ ' PWD=/home/logan QTDIR=/usr/local/lib/qt REMOTEHOST=ninja.tdn SHELL=/bin/bash

Note la ruta variable que nosotros mencionamos antes; yo puedo ejecutar algo en cualquiera de esos directorios simplemente tecleando su nombre de archivo.
$ unset VARIABLE

Unset quitara cualquier variable que usted especifique, borrando esa variable y su valor; bash olvidara para siempre que esa variable existi. (No se preocupe. Al menos que sea algo que usted explcitamente defini en esa sesin de shell, probablemente esta se redefinir en cualquier otra sesin).
$ export VARIABLE=some_value

Ahora, export es verdaderamente hbil. Usndolo, usted le da un valor cualquiera a la variable de entorno "VARIABLE"; si "VARIABLE" no existe, entonces la creara. Si la "VARIABLE" ya tuviera un valor, entonces ser sustituido. Eso no es tan bueno, si usted est intentando agregar un directorio a su PATH simplemente. En ese caso, usted quiere hacer algo as probablemente:
$ export PATH=$PATH:/some/new/directory

Note el uso de $PATH ; cuando usted quiere que el bash interprete una variable (Remplazarla con ese valor), coloque el simbolo "$" en el comienzo del nombre de la variable. Por ejemplo ,echo $PATH mostrara el valor de la variable PATH, que en mi caso es:
$ echo $PATH /usr/local/lib/qt/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin: /usr/openwin/bin:/usr/games:.:/usr/local/ssh2/bin:/usr/local/ssh1/bin: /usr/share/texmf/bin:/usr/local/sbin:/usr/sbin:/home/logan/bin

84

Completacion con TAB


1. Una lnea de comandos significa mucha mecanografa. 2. Mecanografiar es trabajo. 3. A nadie le gusta el trabajo. De 3 y 2, nosotros podemos determinar que 4) a nadie le gusta teclear. Afortunadamente, bash nos salva del 5( a nadie le gusta la lnea de comando). usted se preguntara como bash logra este hecho tan maravilloso? Adems de los comodines que nosotros explicamos anteriormente, bash incluye "tab completion". Tab completion trabaja de esta forma: Usted est tecleando el nombre de un archivo. Quiz est en su PATH, quiz usted est teclendolo explcitamente. Todo lo que tiene que hacer es tipear toda la ruta del archivo para identificarlo. Entonces presione la tecla TAB. bash deducir lo que usted quiere y terminara de escribirlo por usted. El Hora del ejemplo el directorio /usr/src contiene dos subdirectorios: /usr/src/linux y /usr/src/sendmail. Yo quiero ver lo que hay en /usr/src/linux. Asi que yo nada mas tecleo ls /usr/src/l , presiono la tecla TAB, y el bash me completa ls /usr/src/linux. Ahora suponga que hay dos directorios /usr/src/linux y /usr/src/linux-old : Si yo tecleo /usr/src/l y presiono TAB , bash completara tanto como pueda, y me mostrara /udr/src/linux. Yo puedo detenerme all, o puedo presionar TAB de nuevo, y el bash me mostrara una lista de directorios que coinciden con lo que he tipeado anteriormente. Menos mecanografa(y a las personas , les gustara la lnea de comando).

Terminales Virtuales
As que usted esta en la mitad de un trabajo y decide que necesita hacer otra cosa. Usted podra dejar lo que usted estar haciendo y cambiar las tareas, pero esto un sistema multiusuario, correcto? Y usted puede entrar simultneamente las veces que quiera, correcto? As que por que tiene que hacer una cosa a la vez? You don't. Todos Nosotros no podemos tener multiples teclados, mouses y monitores en una sola maquina; lo mas seguro es que ningun de nosotros los quiera. Claramente, el hardware no es la solucin. Eso nos deja el software, y Linux trabaja para eso, proporcionando "Terminales Virtuales, o "VTs". Apretando Alt y una tecla de funcin, usted puede cambiar entre los trminales virtuales; cada tecla de funcin corresponde a uno. Slackware tiene inicios de sesin por defecto en 6 VTs. Alt+F2 lo llevaran al segundo, Alt+F3 al tercero, etc. El resto de las teclas de funcin esta reservado para las sesiones de X. Cada sesin de X usa su propio VT, empezando con el sptimo (Alt+F7) y subiendo. Estando en X, la combinacin de teclas de Alt+Function se reemplaza con Ctrl+Alt+Function; si usted est en X y quiere volver a un inicio de sesin de texto (sin terminar su sesin de X), Ctrl+Alt+F3 lo llevara al tercero. (Alt+F7 lo devolver, asumiendo que est usando la primera sesin de X.)

85

Resumen
En este capitulo explicamos los usuarios, el shell , la lnea de comando , y los terminales virtuales. Usted debe sentirse cmodo en trabajando en la lnea de comandos, ejecutando programas, y usando las tuberas y operadores de redireccionamineto para combinar los comandos. Finalmente, usted debe tener una idea del poder del usuario root y de porque es una mala idea estar como root.

86

Capitulo 9. Estructura del Filesystem


Contenido Propietarios Permisos Enlaces(Links) Montando Dispositivos Montaje NFS Resumen Nosotros ya hemos discutido la estructura del directorio en Slackware Linux. Usted puede encontrar los archivos y directorios que usted necesita. Pero hay ms en el filesystem que simplemente la estructura del directorio. Linux es un sistema operativo multiusuario. Cada aspecto del sistema es multiusuario, incluso el filesystem. El sistema guarda informacin sobre quin posee un archivo y quin puede leerlo. Hay otras partes nicas acerca del filesystem, como los enlaces y los montajes NFS. Estos se explican en esta seccin, as como los aspectos multiusuarios del filesystem.

Propietario
El filesystem guarda informacin sobre la propiedad para cada archivo y directorio en el sistema. Esto incluye que dueo y grupo posee un archivo en particular. La manera ms fcil de ver esta informacin es con el comando ls :
$ ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul 30 1999 /usr/bin/wc

A nosotros nos interesa la tercera y cuarta columna. stas contienen el username y nombre del grupo que posee este archivo. Nosotros vemos que el usuario "root" y el grupo "bin" poseen este archivo. Nosotros podemos cambiar a los dueos del archivo fcilmente con los comandos chown(1)(que significa "cambiar propietario") y chgrp(1)(que significa "cambiar grupo"). Para cambiar el propietario a daemon , utilizaremos el comando chown(1):
# chown daemon /usr/bin/wc

Para cambiar el grupo propietario a root, usaremos chgrp:


# chgrp root /usr/bin/wc

Podemos usar chown para cambiar el propietario y el grupo inclusive:


# chown daemon.root /usr/bin/wc 87

La propiedad del archivo es una parte muy importante en un sistema Linux, aun cuando usted sea el nico usuario. Usted a veces necesitara arreglar la propiedad en los archivos y nodos de dispositivos.

Permisos
Los permisos son la otra parte importante de los aspectos multiusuarios del filesystem. Con stos, usted puede cambiar quien puede leer, escribir, y puede ejecutar los archivos. La informacin de los permisos se guarda en cuatro dgitos octales, cada uno que especifica un juego diferente de permisos. Hay permisos para el propietario, permisos de grupo, y los permisos mundiales. El cuarto digito octal se usa para guardar informacin especial como el user ID (identificacin del usuario) , set group ID (identificacin de grupo), y el "sticky" bit. Los valores octales asignados a los modos del permiso son (ellos tienen tambin letras asociadas con ellos que son mostradas por programas como ls y pueden ser usadas por chmod): Tabla 9-1. Valores octales de permisos Tipo de Permiso "sticky" bit set user ID set group ID leer escribir ejecutar Valor Octal 1 4 2 4 2 1 Valor en Letras t s s r w x

Usted agrega los valores octales para cada grupo de permisos. Por ejemplo, si usted quiere el grupo de permiso para "leer" y "escribir", usted usara "6" en la porcin del grupo de la informacin de permisos. los permisos predefinidos de bash son:
$ ls -l /bin/bash -rwxr-xr-x 1 root bin 477692 Mar 21 19:57 /bin/bash

La primera letra antes del guin seria una d si esto fuera un directorio. Los tres grupos de permisos (propietario , grupo, y mundo) se despliegan despus. Nosotros vemos que el dueo tiene permiso para leer, escribir y ejecutar (rwx). El grupo solo puede leer y ejecutar (r-x). Y todos los dems pueden leer y ejecutar (r-x). Como podemos poner los permisos del bash en otro archivo? Primero, hagamos un archivo de ejemplo:
$ touch /tmp/example $ ls -l /tmp/example -rw-rw-r--- 1 david users 0 Apr 19 11:21 /tmp/example

Vamos a usar chmod(1)(que significa "cambiar modos") para poner los permisos al archivo de ejemplo. Agregue los nmeros octales para los
88

permisos que usted quiere. Para que el propietario pueda leer, escribir y ejecutar, colocamos el valor 7. Leer y ejecutar seria 5. Ejectelos todos juntos y pngalos en el chmod as:
$ chmod 755 /tmp/example $ ls -l /tmp/example -rwxr-xr-x 1 david users 0 Apr 19 11:21 /tmp/example

Para poner permisos especiales, sume los nmeros y pngalos en la primera columna. Por ejemplo, para que coloque el userID y el groupID, utilizamos 6 en la primera columna:
$ chmod 6755 /tmp/example $ ls -l /tmp/example -rwsr-sr-x 1 david users 0 Apr 19 11:21 /tmp/example

Si los valores octales lo confunden, usted puede usar las letras con el chmod. Los grupos de permiso se representan como: Propietario u Grupo Mundo Todos g o a

Para hacer lo anterior, nosotros tendriamos que usar algunas lineas de comando:
$ chmod a+rx /tmp/example $ chmod u+w /tmp/example $ chmod ug+s /tmp/example

Algunas personas prefieren las letras en vez de los nmeros. De cualquier modo producir el mismo juego de permisos. Nosotros mencionamos los permisos set userID y set gruoupID anteriormente varias veces. Usted puede estar preguntandose que es esto. Normalmente cuando usted ejecuta un programa, est operando bajo su cuenta de usuario. Es decir, con todos los permisos que usted como un usuario tiene. Lo mismo pasa con el grupo. Cuando usted ejecuta un programa, este se ejecuta bajo su grupo actual. Con los permisos set userID , usted puede obligar al programa a que solo sea ejecutado por el propietario(por ejemplo como "root"). set groupID es lo mismo, pero para el grupo. Tenga cuidado con esto, los programas set userID y set groupID pueden abrir agujeros de seguridad graves en su sistema. Si usted frecuentemente coloca set user Id a los programas propiedad de "root" , usted esta permitiendo a cualquiera utilizar este programa como root. Como root no tiene ninguna restriccin en el sistema, usted puede darse cuenta del problema que esto causara. En resumen, no es malo usar los permisos set user ID y set group ID, solo selos con sentido comn.

Enlaces(Links)
Los enlaces son indicadores entre archivos. Con los enlaces, usted puede tener archivos en distintos sitios y hacerlos accesibles con varios nombres. Hay dos tipos de enlaces: duros y suaves.
89

Los enlaces duros son los nombres de un archivo en particular. Ellos pueden estar solo en el directorio donde se encuentra el archivo y solo se pueden borrar cuando el nombre real es eliminado del sistema. stos son tiles en algunos casos, pero muchos usuarios encuentran el enlace suave ms verstil. El enlace suave, tambin llamado enlace simblico, pude apuntar a un archivo fuera de su directorio. Realmente es un archivo pequeo que contiene la informacin que necesita. Usted puede agregar y borrar los enlaces suaves sin afectar el archivo real. Los enlaces no tienen su propio grupo de permisos o propiedades, pero refleja los permisos del archivo al que apuntan. Slackware principalmente usa los enlaces suaves. Aqu hay un ejemplo comn:
$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 Apr 6 12:34 /bin/sh -> bash

El sh shell en Slackware es realmente el bash. Para quitar los enlaces se utiliza rm. El comando ln se usa para crear los enlaces. Estos comandos se discuten mas adelante en el capitulo 10.

Montando Dispositivos
Como se discuti anteriormente en la seccin llamada Sistema de Archivos en el Capitulo 4, todas las unidades y dispositivos de su computadora son un gran filesystem. Los discos duros, CD-ROMs , y los floppies se encuentran en el mismo rbol. Para unir estas unidades al filesystem y poder accesarlos, usted tiene que usar el comando mount(1) y umount(1). Algunos dispositivos estn automticamente montados cuando usted inicia su computadora. Estos se listan en el archivo /etc/fstab. Todo lo que usted quiere que se monte automticamente debe aparecer en este archivo. Para los otros dispositivos, usted tendr que ejecutar el comando cada vez que quiera usar el dispositivo.

fstab
Veamos un ejemplo de archivo etc/fstab :
/dev/sda1 / /dev/sda2 /usr/local /dev/sda4 /home /dev/sdb1 swap /dev/sdb3 /export none /dev/pts none /proc /dev/fd0 /mnt /dev/cdrom /cdrom ext2 defaults 1 1 ext2 defaults 1 1 ext2 defaults 1 1 swap defaults 0 0 ext2 defaults 1 1 devpts gid=5,mode=620 0 0 proc defaults 0 0 ext2 defaults 0 0 iso9660 ro 0 0

La primera columna es el nombre del dispositivo. En este caso, los dispositivos son cinco particiones extendidas en dos unidades de disco duro SCSI , dos filesystem especiales que no necesitan un dispositivo, un floppy ,
90

y una unidad de CD-ROM. La segunda columna es donde el dispositivo se montar. Esto tiene que ser el nombre de un directorio, a menos que sea una particin tipo swap. La tercera columna es el tipo de filesystem del dispositivo. Para Linux el filesystem normal ser el ext2. Las unidades de CD-ROM son los iso9660, y los dispositivos Basados en Windows sern msdos o vfat. La cuarta columna es una lista de opciones que aplican al filesystem montado. los valores predeterminados("defaults") estn bien para casi todo. Sin embargo, los dispositivos de solo lectura deben tener el indicador ro. Hay muchas opciones que pueden usarse. Verifique la pagina del manual fstab(5) para mas informacin. Las ltimas dos columnas son usadas por fsck y otros comandos que necesitan manipular los dispositivos. Verifique la pagina del manual para esta informacin. Cuando usted instala Slackware Linux, el programa de instalacin construir gran parte del archivo del fstab. Lo nico que necesita hacer es editarlo si usted agrega discos o dispositivos que necesitan ser montados automticamente en el inicio.

mount y umount
Montar otro dispositivo en su filesystem es fcil. Todo lo que tiene que hacer es usar le comando mount, seguido de algunas opciones. Usar mount puede ser mas fcil si el dispositivo tiene una entrada en el archivo /etc/fstab. Por ejemplo, digamos que yo quiero montar mi unidad de CD-ROM y que mi archivo fstab se parece a el ejemplo de la seccin anterior. Yo ejecutara mount de este modo:
# mount /cdrom

Hay una entrada en fstab para este punto de montaje, mount sabe que opciones usar. Si no existiera una entrada para este dispositivo, tendramos que usar varias opciones para mount:
# mount -t iso9660 -o ro /dev/cdrom /cdrom

Esa lnea de comandos incluye la misma informacin del fstab de ejemplo, pero nosotros revisaremos todas las partes de todas formas. La -t iso9660 es el tipo de filesystem del dispositivo a montar. En este caso t iso9660 , seria el filesystem iso9660 que normalmente son los que usan la mayora de las unidades de CD-ROM. La -o ro le dice que monte el dispositivo en modo solo lectura. /dev/cdrom es el nombre del dispositivo a montar y /cdrom es la ubicacin donde se montara la unidad. Antes de que usted pueda quitar un disquete , un CD-ROM , u otro dispositivo removible que este montado, usted tiene que desmontarlo(unmount). Eso se hace con la orden umount. No pregunten a donde se fue la "n" porque nosotros no podemos decirles. Usted puede usar el nombre del dispositivo montado o la direccin de montaje como argumento para umount. Por ejemplo, si usted quiere desmontar el CD-ROM del ejemplo anterior, cualquiera de estas dos ordenes funcionaria:
# umount /dev/cdrom # umount /cdrom

91

Montaje NFS
NFS representa el Filesystem de red. Realmente no es parte del filesystem real, pero puede usarse para agregar partes al filesystem montado. En ambientes Unix grandes a veces se comparten los mismos programas, directorios home , y servicios de correo. El problema de hacer la misma copia para cada mquina se resuelve con NFS. Nosotros podemos usar NFS para compartir directorios home entre todas las maquinas. Los puestos de trabajo montan ese NFS compartido como si estuviera en sus propias mquinas. Vea la seccin llamada NFS (Sistema de Archivos de Red) en el Capitulo 5 y el manual de exports(5), nfsd(8) , y mount(8) para mas informacin.

Resumen
En este captulo, usted debe de haber ganado conocimiento de propiedades y permisos. Usted debe saber por qu stos existen y cmo ponerlos. Usted tambin debe saber sobre los enlaces entre archivos, montar los dispositivos, y montajes de NFS. Estas tres cosas son aspectos importantes del filesystem. Usted debe tener una idea bsica de cmo usarlos.

92

Capitulo 10. Manejando Archivos y Directorios


Contenido
ls cd more less cat touch echo mkdir ln cp mv rm rmdir Resumen

Slackware Linux intenta parecerse lo mas posible a Unix. Tradicionalmente, los sistemas Unix son orientados hacia la lnea de comandos. Nosotros tenemos una interfaz grfica de usuario en Slackware, pero la lnea de comandos todava es el nivel principal de mando para el sistema. Por consiguiente, es importante entender algunas de las rdenes de administracin de archivos bsicas. Las siguientes secciones explican los comandos de manejo de archivos mas comunes y ejemplos de como se utilizan. Hay muchas otros comandos, pero estos le ayudara a empezar. Los comandos se discuten muy brevemente aqu. Usted encontrar ms detalle en las pginas del manual que acompaan a cada comando.

ls
Este comando lista los archivos de un directorio. Los usuarios de Windows y DOS notaran su similitud con el comando dir. Solo, ls(1) listara los archivos en el directorio actual. Para ver lo que est en su directorio raz, usted podra emitir estas rdenes:
$ cd / $ ls bin cdr dev home lost+found proc sbin tmp var boot cdrom etc lib mnt root suncd usr vmlinuz

El problema que mucha gente tiene con ese resultado es que no es fcil saber cual es un directorio y cual es un archivo. Algunos usuarios prefieren que ls agregue un identificador de tipo en cada lista, as:
93

$ ls -FC bin/ cdr/ dev/ home/ lost+found/ proc/ sbin/ tmp/ var/ boot/ cdrom/ etc/ lib/ mnt/ root/ suncd/ usr/ vmlinuz

Los directorios tienen un slash al final del nombre, los ejecutables tiene un asterisco, y as sucesivamente. tambin pueden usarse ls para conseguir otras estadsticas en los archivos. Por ejemplo, para ver las fechas de creacin, dueos, y permisos, usted mirara una lista larga:
$ ls -l drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 2 root drwxr-xr-x 14 root drwxr-xr-x 4 root drwxr-xr-x 10 root drwxr-xr-x 8 root drwxr-xr-x 3 root drwxr-xr-x 2 root drwxr-xr-x 2 root dr-xr-xr-x 62 root drwxr-x---x 12 root drwxr-xr-x 2 root drwxr-xr-x 5 root drwxrwxrwt 4 root drwxr-xr-x 21 root drwxr-xr-x 18 root -rw-r---r--- 1 root

bin root root root root root root root root root root root bin root root root root root

4096 May 7 1994 bin/ 4096 Feb 24 03:55 boot/ 4096 Feb 18 01:10 cdr/ 6144 Oct 23 18:37 cdrom/ 28672 Mar 5 18:01 dev/ 4096 Mar 8 03:32 etc/ 4096 Mar 8 03:31 home/ 4096 Jan 23 21:29 lib/ 16384 Nov 1 08:53 lost+found/ 4096 Oct 6 1997 mnt/ 0 Mar 4 15:32 proc/ 4096 Feb 26 02:06 root/ 4096 Feb 17 02:02 sbin/ 2048 Oct 25 10:51 suncd/ 487424 Mar 7 20:42 tmp/ 4096 Aug 24 1999 usr/ 4096 Mar 8 03:32 var/ 461907 Feb 22 20:04 vmlinuz

Suponga que usted quiere conseguir una lista de los archivos ocultos en el directorio actual. Este simple comando hace eso:
$ ls -a . bin cdrom home mnt sbin usr .. boot dev lib proc suncd var .pwrchute_tmp cdr etc lost+found root tmp

vmlinuz

Archivos que comienza con un punto (llamados "archivos con punto") estn ocultos cuando usted ejecuta ls. Usted los ver slo si coloca la opcin -a. Hay muchos ms opciones que pueden encontrarse en la pgina manual. No se olvide que usted puede combinar opciones.

94

cd
La orden cd se usa para cambiar el directorio de trabajo. Usted simplemente coloca cd seguido de la ruta a donde quiere pasar. Aqu estan algunos ejemplos:

darkstar:~$ cd /bin darkstar:/bin$ cd usr bash: cd: usr: No such file or directory darkstar:/bin$ cd /usr darkstar:/usr$

Note que si no comienza con slash , intenta cambiar a un directorio en el directorio actual. La orden cd no es como los otros comandos. Es una orden construida en el shell. Esto no puede tener ningn sentido ahora mismo para usted. Bsicamente significa no hay ninguna pgina del manual para esta orden. En cambio, usted puede usar la ayuda del shell. As:
$ help cd

Desplegar las opciones para cd y cmo usarlas.

more
more(1) es lo que nosotros llamamos una utilidad pager. A menudo el resultado de un comando en particular es demasiado grande para encajar en una pantalla. Los comandos por si solos no saben encajar su output para separar las pantallas. Ellos dejan este trabajo a la utilidad del pager. El comando more separa las salidas por pantalla en pantallas individuales y espera hasta que usted presione la barra espaciadora para continuar en la siguiente pantalla. Apretando enter adelantara una lnea. Aqu esta un ejemplo bueno:
$ cd /usr/bin $ ls -l

Eso debe desplazar durante algn tiempo. Para separa la salida por pantalla en varias pantallas, simplemente manjelo por tuberas con el comando more:
$ ls -l | more

95

Este es el carcter de tubo | (generalmente Alt+1). El tubo es la abreviatura de decir tome el output de ls y manjelo con more. Usted puede conducir por tuberas casi todo con el comando more, no solo ls. Conducir por tuberias tambin se cubre en la seccion llamada Input/Output Redireccionamiento y tuberas en el capitulo 8.

less
La orden more es bastante hbil, pero a menudo usted encontrara que usted ha adelantado mas all de la pantalla que usted quera. more no proporciona una manera de retroceder. El comando less(1) proporciona esa funcin. Se usa de la misma forma que el comando more, por lo que los ejemplos anteriores aplican aqu tambin. En resumen, less es mas que more.

cat
cat(1) es la abreviatura de "encadene". Fue diseado originalmente para fusionar archivos de texto en uno, pero puede usarse para muchos otros propsitos. Para fusionar dos o mas archivos en uno, usted lista los archivos despues del comando cat y entonces redireccina la salida a un archivo. cat trabaja con salida estndar (standard output) y entrada estndar (standard input), as que usted tiene que usar los caracteres de redireccionamiento del shell. Por ejemplo:
$ cat file1 file2 file3 > bigfile

Esta orden toma el contenido de file1, file2 y file3 y lo fusiona todos en uno. La nueva salida ser una salida estndar llamada bigfile. Tambin puede usarse cat para mostrar archivos. Muchas personas usan cat en archivos de textos con el comando more o less, asi:
$ cat file1 | more

Esto mostrara el archivo file1 y lo conduce por tuberas a travs del comando more para que solo le muestre una pantalla a la vez. otro uso corriente para cat es copiar archivos. Usted puede copiar cualquier archivo con cat, as:
$ cat /bin/bash > ~/mybash

El programa /bin/bash se copia a su directorio home con el nombre "mybash". Cat tiene muchos usos aqu solo discutimos algunos. Ya que cat hace uso de la entrada estndar y de la salida estndar , es ideal para usarlo en scripts del sheel o como parte de otras ordenes complejas.

96

touch
touch(1) se usa para cambiar el timestamp en un archivo. Usted puede cambiar el timestamps de acceso y el timestamp de modificacin con esta orden. Si el archivo especificado no existe, touch creara un archivo de longitud cero con el nombre especificado. Para marcar un archivo con el tiempo actual del sistema, usted debe usar este comando:
$ touch file1

Hay varias opciones para el comando touch, incluyendo opciones para especificar que timestamp modificar, que tiempo usar y muchas mas. La pagina del manual explica esto con detalle.

echo
El comando echo despliega el texto especificado en la pantalla. Usted especifica cual string desplegar despus del comando echo. Por defecto echo desplegara el string y una lnea de caracteres nueva despus. Usted puede usar la opcin -n para suprimir la impresin de una nueva lnea. La opcin -e causara que echo busque los caracteres de escape en el string y los ejecute.

mkdir
Mkdir crea un nuevo directorio. Usted simplemente especifica el directorio a crear y luego ejecuta mkdir. Este ejemplo crea el directorio hejaz en el directorio actual:
$ mkdir hejaz

Usted puede tambin especificar la ruta as:


$ mkdir /usr/local/hejaz

La opcin -p le indica la mkdir hacer cualquier directorio raz. El ejemplo anterior fallara si /usr/local no existiera. La opcin p creara el directorio /usr/local y despues el usr/local/hejaz.
$ mkdir -p /usr/local/hejaz

ln
El comando ln(1) se usa para crear enlaces(Links) entre los archivos. Estos enlaces pueden se duros o suaves(simblicos). Se explicaron las diferencias entre los dos tipos de enlaces en la seccin llamada Enlaces(Links) en el Capitulo 9. Si usted quisiera hacer un link simblico al directorio /var/media/mp3 y poner en el enlace en su directorio home, tendria que hacer esto:
$ ln -s /var/media/mp3 ~/mp3 97

La opcion -s le dice al ln hacer un link simblico. La prxima opcin es el objetivo del enlace , y por ultimo como se llamara el enlace. En este caso, solo creara un archivo llamado mp3 en su directorio home que apunte hacia /var/media/mp3. Usted puede llamar el link con cualquier nombre que usted quiera simplemente cambiando la ultima opcin. Hacer un link duro es tan fcil como esto. Todo lo que tiene que hacer es eliminar la opcin -s. Hacer un enlace duro como el anterior, seria as:
$ ln /var/media/mp3 ~/mp3

cp
cp(1) copia los archivos. Los usuarios de DOS notaran su similitud con el comando copy. Hay muchas opciones para el cp, por lo que usted puede echar una mirada al manual antes de usarlo. El uso mas comn de cp es para copiar un archivo de una ubicacin a otra. Por ejemplo:
$ cp hejaz /tmp

Esto copiara el archivo hejaz de su actual directorio al directorio /tmp. Muchos usuarios prefieren mantener los timestamps, como en este ejemplo:
$ cp -a hejaz /tmp

Esto asegura que los timestamps no son modificados en la copia. Para que se copien todos los archivos de un directorio a otro, usted hara lo siguiente:
$ cp -R adirectory /tmp

Esto copiara el directorio adirectory a el directorio /tmp. El cp tiene muchas mas opciones que se discuten con detalle en las paginas del manual.

mv
El comando mv(1) mueve los archivos de una ubicacin a otra. Los usuarios de DOS notarn la similitud con la orden move. Usted nombra la fuente y el destino cuando ejecuta mv. Este ejemplo muestra el uso normal de mv:
# mv myfile /usr/local/share/hejaz

el mv tiene algunas opciones que se documentan en la pagina del manual.

98

rm
rm(1) elimina los archivos y rboles de directorios. Los usuarios de DOS notarn la similitud entre del y el comando deltree. los rm pueden ser muy peligrosos si usted no se fija. Linux no proporciona una forma de recuperar los archivos. Para quitar un solo archivo especifique su nombre cuando ejecute el comando rm:
$ rm file1

Si el archivo tiene los permisos de leer desactivados, usted conseguir un mensaje de error. Para forzar la eliminacin del archivo sin importar lo que pase, coloque la opcin -f:
$ rm -f file1

Para quitar un directorio entero usted utiliza las opciones -r y -f juntas. ste es un buen ejemplo de cmo eliminar directorios enteros de su unidad de disco duro. Usted realmente no quiere hacer esto. Pero aqu esta sin embargo el comando:
# rm -rf /

Tenga cuidado con el rm; se le puede salir el tiro por la culata. Hay muchas mas opciones que se discuten con detalle en la pagina del manual.

rmdir
rmdir(1) elimina directorios del filesystem. El directorio debe estar vaco antes de que pueda quitarse. La sintaxis simplemente es:
$ rmdir <directory>

Este ejemplo quitar el subdirectorio hejaz del directorio de trabajo actual:


$ rmdir hejaz

Si ese directorio no existe ,el rmdir le dir. Usted tambin puede usar una ruta completa para indicar un directorio a eliminar, como se muestra en este ejemplo:
$ rmdir /tmp/hejaz

Este ejemplo trata de quitar el directorio hejaz que esta dentro del directorio /tmp. Usted tambin puede quitar un directorio y todos sus directorios raz usando la opcin p.
$ rmdir -p /tmp/hejaz

Esto intentara quitar primero el directorio hejaz dentro de /tmp. Si lo logra, intentara quitar despus el directorio /tmp. rmdir continuara haciendo esto
99

hasta que consiga un error o hasta que el rbol de directorios sea eliminado por completo.

Resumen
Este captulo cubri muchos programas que manipulan archivos y directorios. Usted debe saber crear, eliminar, y mover casi todo en el filesystem. Usted tambin debe saber cmo listar y tocar los archivos si lo necesita. Finalmente, usted debe saber por qu el comando rm -rf / es una muy mala idea. Finalmente, usted debe saber por qu el rm - el rf / es una idea muy mala.

100

Capitulo 11. Control de Procesos


Contenido Backgrounding Foregrounding ps kill top Resumen Cada programa que se ejecuta se llama proceso. Estos procesos van desde el servidor X window a los programas de sistemas (daemons) que se ejecutan cuando la computadora arranca. Cada proceso se ejecuta como un usuario particular. Los procesos que comienza cuando arranca la maquina generalmente son ejecutados por root o por nadie. Los procesos que usted inicie corrern como usted. Los procesos ejecutados por otros usuarios corrern como esos usuarios. Usted tiene el control sobre todos los procesos que usted comienza. Adicionalmente root, tiene todo el control de todos los procesos, incluyendo aquellos iniciados por otros usuarios. Los procesos pueden controlarse y supervisarse a travs de varios programas, y con algunos comandos del sheel.

Backgrounding
Los programas que se inician en el primer plano de la lnea de comandos. Esto le permite ver todo el output del programa e interactuar con el. Sin embargo, hay varias opciones cuando usted necesite ejecutar un programa sin tener que cambiarse a otro terminal. Esto se llama ejecutar el programa en el fondo, y hay varias maneras de hacerlo La primera forma para mandar a un proceso al fondo es agregando un ampersand(&) al comando cuando usted inicia el programa. Por ejemplo, suponga que usted quiere usar el comando mp3 player para escuchar un directorio full de mp3s, pero usted necesita hacer otras cosas en el mismo terminal. El siguiente comando pondra en marcha el reproductor de mp3s en el fondo:
$ amp *.mp3 &

El programa se ejecutara de forma normal y usted ser devuelto al prompt. La otra forma de mandar al fondo un proceso es hacerlo mientras se esta ejecutando. Primero, ponga en marcha un programa. Mientras este corriendo presione, ctrl+z. Esto suspende el proceso. Un proceso suspendido es prcticamente un proceso en pausa. Detiene el funcionamiento momentneamente, pero puede comenzar de nuevo cuando usted quiera. Una vez que usted suspende un proceso, usted es devuelto al prompt. Usted puede mandar al fondo al proceso escribiendo:
101

$ bg

Ahora, el proceso suspendido est corriendo en el fondo.

Foregrounding
Si usted necesita interactuar con un proceso que esta en el fondo, usted puede devolverlo al primer plano. Si usted tiene solamente un proceso en el fondo, usted puede regresarlo escribiendo:
$ fg

Si el programa todava esta corriendo, este tomara el control sobre su terminal y usted no ser devuelto al prompt. A veces, un programa puede terminar su tarea mientras esta en el fondo. En ese caso usted conseguir un mensaje as:
[1]+ Done /bin/ls $LS_OPTIONS

Esto le indica que los procesos que estaban en el fondo han terminado. Es posible tener varios procesos en el fondo al mismo tiempo. Cuando esto pasa usted necesita saber que proceso es el que usted quiere traer del fondo al primer plano. Simplemente teclee fg y traer al primer plano el ultimo proceso que usted envi al fondo. Qu ocurre si usted tiene una lista entera de procesos en el fondo? Por suerte, bash incluye un comando para listar todos los procesos. Se llama jobs y muestra algo como esto:
$ jobs [1] Stopped [2]- Stopped [3]+ Stopped

vim amp man ps

Esto le muestra la lista de todos los procesos que estn en el fondo. Como puede ver todos estn detenidos(Stopped). Esto significa que los procesos estn suspendidos. El nmero es la identificacin para todos los procesos del fondo. La identificacin con un signo de mas al lado (man ps) significa que ese proceso ser enviado a el primer plano cuando usted escriba fg. Si usted quisiera traer al primer plano a vim tendra que escribir:
$ fg 1

Y vim volvera de nuevo a la consola. Enviar los procesos al fondo puede ser muy til si usted solo puede tener un terminal conectado a conexin telefnica. Usted puede tener varios procesos en ese terminal, y cambiar peridicamente entre ellos.

102

ps
Ahora que ya sabe cambiar de un lado a otro los procesos que usted a iniciado en la lnea de comando. Y sabe tambin que hay muchos procesos funcionando al mismo tiempo. Como usted lista todos estos programas? Bien, usted necesita usar el comando ps(1). Este comando tiene muchas opciones, nosotros solo cubriremos las mas importantes aqu. Para una explicacin mas completa, vea la pagina del manual para ps. Tecleando simplemente ps le dar una lista completa de los programas que se ejecutan en su terminal. Muchas veces, ser una lista muy corta:
$ ps PID TTY 7923 ttyp0 8059 ttyp0 TIME CMD 00:00:00 bash 00:00:00 ps

Aunque aqu no hay muchos procesos, la informacin es muy tpica. Usted conseguir las mismas columnas que usa el ps regularmente no importa cuantos procesos se estn ejecutando. Bien , PID es la identificacin del proceso. A todos los procesos se les da un identificador nico. En los kernels 2.2.x, el identificador de procesos puede estar entre 1 y 32767. A cada proceso se le asigna el prximo PID que este libre. Cuando se elimina un proceso(o se mata, como se explica en la prxima seccin), este deja libre su PID. Los mas probable es que esto cambie con la prximas series de kernels 2.4 y con la introduccin de los PID de 32-bit. La columna TTY indica en que terminal se esta ejecutando el proceso. Haciendo un ps simple se listan solo los programas que se estn ejecutando en el terminal actual, por lo que todos los procesos dan la misma informacin en la columna TTY. Como usted puede ver, ambos procesos listados estn corriendo en el ttyp0. Esto indica que ellos estn ejecutndose de forma remota o desde cualquier tipo de terminal X. La columna TIME indica la cantidad de tiempo que el CPU ha estado ejecutndolo. Esto es diferente a la cantidad de tiempo real que tarda en ejecutarse un proceso. Recuerde que Linux es un sistema operativo multitarea. Hay muchos procesos que corren todo el tiempo, y cada uno consigue una pequea porcin del tiempo del procesador. As que, la columna TIME debe mostrar mucho menos tiempo por cada proceso del que toma realmente para ejecutarse. Si usted ve varios minutos de mas en la columna TIME, esto podra significar que algo esta mal. Finalmente, la columna CMD muestra realmente lo que es el programa en si. Solo indica el nombre del programa, no indica cualquier opcin u otra informacin similar. Para obtener esa informacin, usted necesita usar una de las muchas opciones del ps. Usted puede conseguir una lista completa de los procesos que corren en su sistema usando la combinacin correcta de opciones. Esto probablemente producir una larga lista de procesos, por lo que aqu reducimos el output:
$ ps -ax PID TTY 1? 2? 3? 4? STAT TIME COMMAND S 0:03 init [3] SW 0:13 [kflushd] SW 0:14 [kupdate] SW 0:00 [kpiod] 103

5? SW 0:17 [kswapd] 11 ? S 0:00 /sbin/kerneld 30 ? SW 0:01 [cardmgr] 50 ? S 0:00 /sbin/rpc.portmap 54 ? S 0:00 /usr/sbin/syslogd 57 ? S 0:00 /usr/sbin/klogd -c 3 59 ? S 0:00 /usr/sbin/inetd 61 ? S 0:04 /usr/local/sbin/sshd 63 ? S 0:00 /usr/sbin/rpc.mountd 65 ? S 0:00 /usr/sbin/rpc.nfsd 67 ? S 0:00 /usr/sbin/crond -l10 69 ? S 0:00 /usr/sbin/atd -b 15 -l 1 77 ? S 0:00 /usr/sbin/apmd 79 ? S 0:01 gpm -m /dev/mouse -t ps2 94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc 106 tty1 S 0:08 -bash 108 tty3 SW 0:00 [agetty] 109 tty4 SW 0:00 [agetty] 110 tty5 SW 0:00 [agetty] 111 tty6 SW 0:00 [agetty] [output cut]

La mayora de estos procesos se inician en el arranque de la mayora de los sistemas. Yo he echo algunas modificaciones a mi sistema, por lo que su contenido puede variar. Sin embargo, usted ver la mayora de estos procesos tambin en su sistema. Como puede ver con estas opciones del comando ps se pueden ver la diferentes opciones de cada proceso. Adems muestra unas cuantas columnas mas e informacin mas interesante. Primero, usted puede darse cuenta que la mayora de estos procesos se estn ejecutando en tty ?. Esos procesos son aquellos que se iniciaron en un terminal que ya no esta activo. Por consiguiente, ellos ya no estn asignados a ningn terminal en particular. Segundo, hay una nueva columna: STAT. All se muestra el estado de los procesos. S significa durmiendo(Sleeping): el proceso esta esperando que algo ocurra. Z representa un proceso Zombie. Un proceso zombie representa aquellos procesos cuyos padres han muerto, dejando el proceso nio atrs. Esto no es una cosa buena. Si usted quiere ver mas informacin sobre los procesos que se estan ejecutando, pruebe con esto:
$ ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 344 80 ? S Mar02 0:03 init [3] root 2 0.0 0.0 0 0 ? SW Mar02 0:13 [kflushd] root 3 0.0 0.0 0 0 ? SW Mar02 0:14 [kupdate] root 4 0.0 0.0 0 0 ? SW Mar02 0:00 [kpiod] root 5 0.0 0.0 0 0 ? SW Mar02 0:17 [kswapd] root 11 0.0 0.0 1044 44 ? S Mar02 0:00 /sbin/kerneld root 30 0.0 0.0 1160 0 ? SW Mar02 0:01 [cardmgr] bin 50 0.0 0.0 1076 120 ? S Mar02 0:00 /sbin/rpc.port root 54 0.0 0.1 1360 192 ? S Mar02 0:00 /usr/sbin/sysl root 57 0.0 0.1 1276 152 ? S Mar02 0:00 /usr/sbin/klog root 59 0.0 0.0 1332 60 ? S Mar02 0:00 /usr/sbin/inet root 61 0.0 0.2 1540 312 ? S Mar02 0:04 /usr/local/sbi root 63 0.0 0.0 1796 72 ? S Mar02 0:00 /usr/sbin/rpc. root 65 0.0 0.0 1812 68 ? S Mar02 0:00 /usr/sbin/rpc. root 67 0.0 0.2 1172 260 ? S Mar02 0:00 /usr/sbin/cron root 77 0.0 0.2 1048 316 ? S Mar02 0:00 /usr/sbin/apmd root 79 0.0 0.1 1100 152 ? S Mar02 0:01 gpm 104

root 94 0.0 0.2 1396 280 ? chris 106 0.0 0.5 1820 680 tty1 root 108 0.0 0.0 1048 0 tty3 root 109 0.0 0.0 1048 0 tty4 root 110 0.0 0.0 1048 0 tty5 root 111 0.0 0.0 1048 0 tty6 [output cut]

S Mar02 0:00 /usr/sbin/auto S Mar02 0:08 -bash SW Mar02 0:00 [agetty] SW Mar02 0:00 [agetty] SW Mar02 0:00 [agetty] SW Mar02 0:00 [agetty]

Esto es una informacin entera. Bsicamente, agrega informacin sobre que usuario inicio el proceso, cuantos recursos de sistema esta usando(las columnas %CPU , %MEM, VSZ, y RSS),y en que fecha se inicio el proceso. Obviamente, mucha de esa informacin puede ser til para un administrador de sistemas. Tambin plantea otra cosa: la informacin se va al borde de la pantalla para que usted no pueda verla por completo. Bien, la opcin "-w" , arreglara eso. No es muy bonito pero hace el trabajo. Usted tiene la informacin completa para cada proceso. Aun Hay mas informacin que usted puede mostrar sobre cada proceso. Revise la pagina del manual ps en profundidad. Sin embargo, las opciones mostradas son las ms populares y son las que usted necesitara mas a menudo.

kill
En ocasiones , los programas funcionan mal y usted necesita ejecutarlos de nuevo. El programa para este tipo de administracin se llama el kill(1), y puede usarse por manipular los procesos de varias maneras. El uso mas obvio de Kill es matar los procesos. Usted necesita hacer esto cuando un programa se ha ejecutado por largo tiempo y ha estado agotando los recursos del sistema, o si usted simplemente esta enfermo por tenerlo ejecutndose. Para matar un proceso, usted necesita conocer su nombre o su PID. Para obtener el PID, use el comando ps como explicamos en la seccin anterior. Por ejemplo, para matar el proceso 4747, usted debe escribir lo siguiente:
$ kill 4747

Note que usted tiene que ser el dueo del proceso para matarlo. Esto es una funcin de seguridad. Si se le permitiera matar procesos iniciados por otros usuarios, seria posible hacer todo tipo de cosas malvolas. Claro, root puede matar cualquier proceso en el sistema. Hay otra variedad del comando kill llamada killall(1). Este programa hace exactamente lo que dice: mata todos los procesos que tienen un cierto nombre. Si usted quisiera matar todos los procesos ejecutados por vim, tendra que teclear el siguiente comando:
$ killall vim

Todos los procesos del vim estarn muertos ahora. Haciendo esto como root matara todos los procesos del vim de todos los usuarios. Esto plantea una forma interesante de patear a todos(incluyndose) fuera del sistema:
# killall bash

105

Algunas veces el comando kill no logra hacer el trabajo.. Ciertos procesos no morirn con kill. Usted necesitara usar una forma mas potente. Si ese molesto PID 4747 no estuviera respondiendo a la peticin de kill, usted podra hacer lo siguiente:
$ kill -9 4747

Eso causara la muerte certera del proceso 4747. Usted puede hacer lo mismo con killall. Lo que hace esto es enviar una seal diferente al proceso. El comando kill normalmente enva una seal SIGTERM(termine) al proceso. kill -9 enva una seal SIGKILL(muerte) al proceso. Hay una lista entera de seales a su disposicin. Usted puede conseguir una lista de seales tecleando lo siguiente:
$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR

El numero debe usarse con el comando kill, mientras que el nombre menos el prefijo "SIG" debe usarse con el killall. Aqu hay otro ejemplo:
$ killall -KILL vim

Un uso final para kill es reiniciar un proceso. Enviando un SIGHUP causara que la mayoria de los proceson re-lean sus archivo de configuracion. Esto es especialmente util despues de editar un archivo de configuracion de cualquier proceso de sistema.

top
Finalmente, hay un comando que usted puede usar para listar la informacin de actualizacin de los procesos que se ejecutan en el sistema. Esta orden se llama top(1), y se arranca escribiendo esto:
$ top

Esto desplegara una pantalla completa llena de informacin sobre los procesos que se ejecutan en el sistema, as como alguna informacin global sobre el sistema. Esto incluye el promedio de carga(Load average), numero de procesos, el estado del CPU, informacin sobre memoria libre, y detalles sobre los procesos incluso el PID, usuario, prioridad, uso de memoria y CPU, tiempo ejecutndose y nombre del programa,

106

Figura 11-1. Ejemplo del programa top.

Es llamado top porque los programas de uso mas intensivo de CPU se listan el tope. Algo interesante de notar es que top listara primero lo procesos mas inactivos(y algunos activos) debido a su uso de CPU. Sin embargo, top es bastante til para determinar que programa esta portndose mal y qu necesita ser matado.

Resumen
Este capitulo explico lo que es un proceso y como usted puede controlarlos. Esto incluye backgounding y foregounding, as como el uso de ps, top y kill para mantenerlo en lnea. Usted debe poder determinar qu procesos estn corriendo en su sistema y saber librarse de ellos si estos dejan de comportarse.

107

Capitulo 12. Administracion Esencial del Sistema


Contenido Usuarios y Grupos Apagando correctamente Resumen Usted es el administrador de cualquier computadora en la que usted sea root. Esta podria ser una computadora de escritorio con dos ususarios, o podria ser un servidor grande con un centenar de ususarios. Indifirentemente, usted necesita saber como manejar a los usuarios y como apagar correctamente el sistema. Ambas operaciones lucen aparentemenete simples, pero tienen algunos truquillos a los que hay que aconstumbrarse. Ademas, usted tendra que lidiar con algunas ideas detras del funcionamineto del sistema de contraseas.

Usuarios y Grupos
Scripts proporcionados
La manera mas fcil de manejar a los usuarios y grupos es con los programas y scripts proporcionados. Slackware incluye los programas adduser, userdel(8), chfn(1), cdsh(1) y passwd(1) para trabajar con los usuarios. Slackware incluye el groupadd(8), groupdel(8) y groupmod(8) para tarabajar con los grupos. Con excepcio de chfn, chsh y passwd, estos programas solo pueden ser ejecutados por root y se localizan por consiguiente en /usr/bin. chfn , chsh y passwd pueden ser ejecutados por cualquier usuario y se localizan en /usr/bin. Los usuarios se agregan con el programa adduser. Nosotros comenzaremos haciendo un recorrido por el programa entero, mostrando todas las preguntas que se hacen y una breve descripcin de lo que significan. En todas la preguntas se incluye una respuesta predefinida, y usted puede escogerla para todas las preguntas, a menos que usted quiera cambiar algo.
# adduser Login name for new user (8 characters or less) []: jellyd

Este es el nombre que el usuario utilizara para iniciar sesin. Debe ser de ocho caracteres o menos. Por lo general, se utilizan solo letras minsculas al menos que usted quiera escribir letras en maysculas en momentos inoportunos.
108

User id f or jellyd [ defaults to next available]:

La identificacin del usuario (UID) es como se determinan ciertas propiedades en Linux. Cada usuario posee un numero nico, empezando por 1000 en Slackware. Usted puede escoger un UID para el nuevo usuario, o puede permitir al adduser asignar el prximo numero libre.
Initial group for jellyd [users]:

Todo los usuarios son colocados en el grupo "users" por defecto. Usted podra colocar al nuevo usuario en grupo diferente, pero no es recomendable.
Additional groups for jellyd (seperated with commas

Esta pregunta le permite incluir al nuevo usuario en grupos adicionales. Es posible poner a un usuario en varios grupos al mismo tiempo. Esto es til si usted ha establecido grupos para algunas cosas como modificar archivos de sitios web, jugar, y as sucesivamente.
jellyd's home directory [/home/jellyd]:

El directorio Home tiene por defecto el valor /home. Si usted ejecuta un sistema muy grande, es posible que haya movido los archivo home a un directorio diferente. Esto le permite cambiar donde estar el directorio /home del usuario. Usted tambin puede desactivar una cuenta cambiando el directorio home de algn usuario a algo como /bin/false, aunque este no es el mtodo recomendado.
jellyd's shell [/bin/bash]:

bash es el shell por defecto de Slackware Linux, y estar bien para la mayora de las personas. Si su nuevo usuario viene de trabajar en un sistema Unix, es posible que esta familiarizado con un shell diferente. Usted puede cambia su shell ahora, o ellos pueden hacerlo despues usando el comando chsh.
jellyd's account expiry date (YYYY-MM-DD) []:

Las cuentas pueden configurarse para expirar en una fecha especifica. Por defecto no hay ninguna fecha de expiracin. Usted puede cambiar esto, si usted quiere. Esta opcin podra ser til para las personas que manejan un ISP(Proveedor de Servicios de Internet) que podran hacer que una cuenta expire en una cierta fecha, a menos que ellos reciban el prximo pago.
OK, I'm about to make a new account. Here's what you entered so far: New login name: jellyd New UID: [Next available] Initial group: users Additional groups: [none] Home directory: /home/jellyd Shell: /bin/bash Expiry date: [no expiration] This is it... if you want to bail out, hit Control-C. Otherwise, press ENTER to go ahead and make the account. 109

Usted puede ver ahora toda la informacion que ha ingresado sobre la nueva cuenta, y se le da la oportunidad de detenerse. Si usted coloca algo incorrectamente, debe presionar Control+C y empezar de nuevo. Si no, usted puede presionar enter y la cuenta se creara.
Making new account... Changing the user information for jellyd Enter the new value, or press return for the default Full Name []: Jeremy Room Number []: Smith 130 Work Phone []: Home Phone []: Other:

Toda esta informacin es opcional. Usted no tiene que colocar nada de esto si usted no quiere, el usuario puede cambiar esta informacin usando el comando chfn. Sin embargo, puede ser muy til ingresar el nombre completo y los numero de telfono, en caso de que usted necesite ponerse en contacto con esa persona.
Changing password for jellyd Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: Re-enter new password: Password changed. Done...

Usted tiene que ingresar una contrasea para el nuevo usuario. Generalmente, si el nuevo usuario no este presente en este momento, usted puede colocar una contrasea predeterminada simple y decirle al usuario que lo cambie luego por alguna contrasea ms segura. Escogiendo la contrasea Tener una contrasea segura es la primera lnea de defensa para evitar se crackeado. Usted no querr tener una contrasea fcil de suponer, porque seria fcil para alguien entrar en su sistema. Una contrasea segura seria una serie aleatoria de caracteres, incluyendo minsculas y maysculas, nmeros y caracteres especiales. En general, las normas de sentido comn dicen: no escoja una contrasea que seal el cumpleaos de alguin, una frase comun, algo escrito en su escritorio, o algo que es facilmente asociado con usted. "secure1" tambin es una pena. Quitar a los usuarios no es nada difcil. Solo ejecute userdel con el nombre de la cuenta que desea eliminar. Usted tiene que asegurarse que el usuario no esta dentro del sistema, y que ningn proceso este ejecutndose por ese usuario. Tambin, recuerde que una vez que ha eliminado al usuario, estos estarn fuera.
# userdel jellyd

110

Haciendo esto eliminara al tipo molesto "jellyd" de su sistema. Esto elimina el usuario del directorio /etc/passwd y del /etc/group, pero no elimina la carpeta home del usuario. Si usted desea eliminar el directorio home tambin, usted debe hacer lo siguiente:
# userdel -r jellyd

El proceso para desactivar una cuenta ser tratado en la seccin llamada Cambiando Contraseas ya que esto involucra modificar el password del usuario. El mtodo para cambiar la informacin de la cuneta se cubre en la seccin llamada Cambiando Contraseas en la seccin llamada Cambiar la informacin del usuario. Los programas para agregar y quitar los grupos son muy simples. gruopadd agrega otra entrada al archivo /etc/group con una identificacin nica de grupo, mientras que groupdel elimina el grupo especificado. Si usted quiere puede editar el archivo /etc/group para agregar usuarios a un grupo especifico. Usted crea un grupo haciendo lo siguiente:
# groupadd cvs

Y lo elimina haciendo esto:


# groupdel cvs

A Mano
Claro, es posible agregar, modificar, quitar usuarios y grupos a mano. Despus de observar este procedimiento, usted lo encontrara mucho ms conveniente que lo scripts. Primero, nosotros agregamos un nuevo usuario a los archivos /etc/passwd(5), etc/shadow(5). Y el /etc/group(5). El archivo passwd contiene alguna informacin sobre el usuario, pero (aunque parezca extrao) no su contrasea. El archivo passwd puede ser ledo por cualquiera, pero usted no quiere que las contraseas encriptadas sean ledas por todo el mundo ya que esto otorga a los crackers un buen sitio para empezar. As que las contraseas encriptadas se guardan en el archivo shadow, que solo puede ser ledo por root y la contraseas de todos estn escritas en el archivos passwd como "x". El archivo group lista todos los grupos y quien esta dentro de cada uno. Prosigamos, examine el archivo /etc/passwd y deduzca como agregar a alguien. Una entrada tpica en el archivo passwd luce como esta:
chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash

Cada lnea es una entrada para cada persona, y los campos en cada lnea estn separados por dos puntos ":". Los campos son: Login name, password encriptada, user ID, group ID, la informacin de contacto separada por comas, el directorio home y el shell. Lo que usted tiene que hacer es agregar una lnea al final del archivo, rellenando la informacin apropiada. Asegrese que la contrasea sea una x, que el user ID sea nico, que ellos estn en el grupo 100(el grupo "users" en Slackware), y que ellos tengan una shell valida. Luego, nosotros necesitaremos agregar una entrada en el archivo /etc/shadow que contiene las contraseas. Una entrada tpica es algo as:
111

chris:$1$w9bsw/N9$UWLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::

De nuevo, cada lnea es una entrada para una persona y cada campo esta separado por ":". Los campos son: login name, contrasea encriptada, la fecha (Enero 1, 1970) en que la contrasea fue cambiada por ultima vez, das que pasaran antes de que la contrasea pueda ser cambiada, das despus en que se debe cambiar la contrasea, das antes de la expiracin de la contrasea del usuario para notificarle, el dia en que la cuenta ser anulada, y un campo reservado. Como usted puede ver. La mayora de esto es para la informacin de expiracin de la cuenta. Si usted no esta usando la informacin de expiracin, usted solo necesita rellenar unos campos con algunos valores especiales. Por otro lado, usted necesitara hacer algunos clculos y decisiones antes de que usted pueda rellenar estos campos. Para nuestro nuevo usuario, coloque alguna basura aleatoria en el campo de la contrasea. No se preocupe por la contrasea en este momento usted tendr que cambiarla dentro de algunos minutos. El nico carcter que usted no puede agregar en el campo de la contrasea es ":". Deje en blanco el campo "das desde que la contrasea cambio". Escriba 0,999999 y 7 as como se ve en el ejemplo, y deje el espacio en blanco en los otros campos. Para aquellos de ustedes que estn viendo mi contrasea encriptada y piensan que pueden entrar en mi sistema, sigan adelante. Si usted puede crakear esa contrasea, usted obtendr la contrasea de un sistema de prueba de firewalls. Ahora esto es til . Ya que todos por defecto somos miembros del grupo "users", usted no necesita agregar al nuevo usuario al. Si usted quiere crear un nuevo grupo o agregar al nuevo usuario a otros grupos, usted necesita modificar el archivo etc/group. Aqu esta una entrada tpica:
cvs::102:chris,logan,david,root

Los campos son nombre del grupo, contrasea del grupo, group ID y los miembros del grupo. Crear un nuevo grupo es facil basta con agregar una nueva lnea con una nica group ID y listar a todas las personas que usted quiere agregar al grupo. Cualquier usuario que este en el nuevo grupo y este dentro del sistema tendr que salir y volver a entrar para que estos cambio surtan efecto. Ahora, volvamos y utilicemos el comando passwd para crear una nueva contrasea para el nuevo usuario. Despus, utilice el comando mkdir para crear el directorio Home del nuevo usuario en la ubicacin que usted especifico en el archivo /etc/passwd. Si usted ha instalado el sendmail(8) en su sistema y activamente usa el correo, usted necesita crear un nuevo archivo en /var/spool/mail con los permisos apropiados y propiedades para este nuevo usuario. Aqu hay un ejemplo:
# touch /var/spool/mail/jellyd # chown jellyd.users /var/spool/mail/jellyd # chmod 660 /var/spool/mail/jellyd

Estos comandos crearan un archivo de correo para el nuevo usuario "jellyd" y configurara las propiedades y permisos correctos.
112

Para quitar un usuario simplemente elimine todo lo que usted creo. Quite la entrada del usuario de los archivos /etc/passwd y /etc/group. Quite su nombre de cualquiera de los grupos en el archivo etc/group, quite su archivo mail spool y borre su directorio home si es necesario. Quitar un grupo es fcil simplemente debe quitar la entrada del archivo /etc/group.

Cambiando Contraseas
El programa passwd cambia las contraseas modificando el archivo /etc/shadow. Este archivo contiene todas las contraseas del sistema en un formato encriptado. Para cambiar su contrasea usted debe escribir:
$ passwd Changing password for chris Old password: Enter the new password (minumum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password:

Como usted puede ver, se le pregunta por su contrasea vieja. No aparecer en la pantalla nada de lo que usted escribe, justo igual como el inicio de sesin. Entonces, se le indica que introduzca la nueva contrasea. passwd realiza muchos chequeos a su nueva contrasea, y le indicara si su nueva contrasea no pasa alguno de sus chequeos. Usted puede ignorar sus advertencias. Se le pedir que coloque de nuevo su nueva contrasea para confirmar. Si usted es root, usted puede, adems, cambiar la contrasea de cualquier otro usuario:
# passwd ted

Usted tendr que pasar por el mismo procedimiento anterior, solo que usted no tendr que colocar la vieja contrasea. (Otro de los beneficios de ser root...) Si usted tiene algunos alborotadores en su sistema, usted puede desactivar temporalmente sus cuentas. Mas adelante, usted puede habilitarlas de nuevo. Ambas cosas pueden hacerse con el comando passwd. Para desactivar una cuenta haga lo siguiente estando como root:
# passwd -l david

Esto cambiara la contrasea de David a algo que nunca podr adivinar. Despus, usted puede devolverle su contrasea usando el siguiente comando:
# passwd -u david

Ahora, la cuenta de David vuelve a su estado normal. Desactivar una cuenta podra ser muy til cuando alguien no esta cumpliendo con las reglas que usted a definido para su sistema o si ellos han exportado una copia muy grande de xeyes(1) a su escritorio X.

113

Cambiando la informacion del ususario


Hay dos tipos de informacin que un usuario puede cambiar cuando quiera: su shell y su informacion de contacto. Slackware Linux usa los comandos chsh (change shell) y chfn (change finger) para modificar estos valores. Un usuario puede escoger cualquier shell de la lista que se encuentra en el archivo /etc/shells. Para la mayora de las personas bash estara bien. Otros podran estar familiarizados con un shell tipo Unx y podrian querer usar uno que ellos ya conozcan. El shell se cambia usando el comando chsh:
$ chsh Password: Changing the login shell for chris Enter the new value, or press return for the default Login Shell [/bin/bash]:

Despus de colocar su contrasea, introduzca la ruta completa al nuevo shell. Asegrese de que aparezca en el archivo /etc/shell primero. root tambien puede cambiar el shell de un usuario ejecutando el comando chsh usando el nombre de usuario como complemento. La informacin de contacto es informacin opcional como su nombre completo, nmeros de telfono y direccin de habitacin por ejemplo. Esto puede cambiarse usando el comando chfn siguiendo el mismo procedimiento que utilizo para crear la cuenta. Como de costumbre, root puede cambiar la informacin de contacto de cualquier usuario.

Apagando Correctamente
Es muy importante que el sistema sea cerrado correctamente. Si lo apaga simplemente presionando el botn de power podra causar serios daos en el filesystem. Cuando el sistema esta encendido, los archivos estn en uso aun cuando usted no este haciendo nada. Recuerde que hay muchos procesos ejecutndose en el fondo todo el tiempo. Estos procesos estn controlando el sistema y mantiene muchos archivos abiertos. Cuando usted simplemente apaga el sistema, estos archivos no se cierran adecuadamente y se daan. Dependiendo de que archivos se daen, el sistema podra daarse permanentemente. En cualquier caso, usted tendr que pasar por un largo proceso de chequeo cuando inicie de nuevo su sistema. As, que cuando usted va a reiniciar o apagar su sistema, es importante hacerlo de la manera correcta. Hay varias manera de hacerlo; usted puede escoger la que le parezca mas divertida. La mayora de los mtodos para apagar el sistema pueden aplicarse para reiniciar. El primer mtodo es con el programa shutdown(8), y probablemente este es el ms popular. Shutdown puede usarse para reiniciar o apagar el sistema en un momento dado, y puede desplegar un mensaje de aviso a todos los usuarios del sistema. El uso bsico de shutdown para apagar la computadora es:
# shutdown -h now

114

En este caso, nosotros no vamos a enviar ningn mensaje especial a los usuarios; ellos veran el mensaje predeterminado de cierre. "now"(ahora) es el tiempo que queremos esperar para apagar, y "-h" significa detener el sistema. Esta no es una manera muy amistosa de proceder en un sistema multiusuario, pero funciona bien en su computadora personal. Una buena manera de apagar en un sistema multiusuario seria dar la advertencia y un poco de tiempo a todos de antemano:
# shutdown -h +60

Esto apagara el sistema despus de una hora (60 minutos), lo cual esta bien para un sistema multiusuario normal. Los sistemas importantes pueden fijar sus momentos fuera de servicio por adelantado y advertencias acerca de l en /etc/motd(5). Para reiniciar el sistema puede usar el mismo comando pero seguido de "-r" en vez de "-h":
# shutdown -r now

Usted puede hacer la misma indicacion sobre el tiempo de cierre. Hay muchas otras cosas que usted puede hacer con shutdown para controlar cuando detener o apagar la maquina. Vea las pagina del manual para mas detalle. La segunda manera de apagar o reiniciar es usando los comandos halt(8) y reboot(8). Como lo indican sus nombres, halt dentendra el sistema inmediatamente y rebbot lo reinicara. reboot es simplemente un link simbolico hacia halt. Ello se utilizan de esta manera:
# halt # reboot

Una forma de bajo-nivel para reiniciar o apagar el sistema es hablar directamente con el init. Todos los otros mtodos son maneras absolutamente convenientes de hablar con init, pero usted puede decirle directamente que hacer usando el comando telinit(8) (note que solamente tiene una "l"). Usando telinit usted le dice que runlevel ejecutar para apagar o reiniciar el sistema, esto causara que se ejecute un script especial. Este script matara o detendr los procesos necesarios para ese runlevel. Esto funciona para reiniciar y apagar porque los dos son runlevels especiales.
# telinit 0

Runlevel 0 es el modo de apagar. Dicindole al init que entre en runlevel 0 causara que todos los procesos sean matados, el filesystem desmontando y la maquina ser detenida. Esta es una manera absolutamente aceptable de detener el sistema. En muchas computadoras porttiles, esto causar tambin que la maquina sea apagada.
# telinit 6

Runlevel 6 es el modo de reinicio. Todos los procesos se mataran, los filesystem sern desmontados, y la maquina se reiniciara. ste es un mtodo absolutamente aceptable de reiniciar el sistema. Hay un ltimo mtodo de reiniciar el sistema. Todos los otros mtodos exigen que usted sea root. Sin embargo, es posible reiniciar la maquina sin ser root, con tal de que usted tenga acceso fsico al teclado. Pulsando ctrl-alt-supr,
115

causara que la maquina sea reiniciada inmediatamente. Lo que esto hace realmente es ejecutar el programa /usr/sbin/ctrlaltdel(8). As, que si ese programa tiene los permisos extraos o no esta presente, no se lograra nada en absoluto.

Resumen
Este capitulo explico los procedimientos para agregar y quitar usuarios y grupos. Usted debe saber hacer estas tareas usando los scripts proporcionados y a mano, si surge la necesidad. Adicionalmente, usted debe conocer las partes del proceso de agregar un usuario, las tcnicas para seleccionar una contrasea y como cambiar la informacin del usuario. Finalmente, usted debe saber apagar su computadora adecuadamente y por que es importante hacerlo. Estas son parte importante de la administracin de un sistema as sea su computadora personal o un servidor de red grande.

116

Capitulo 13. Comandos Basicos de Red


Contenido ping finger telnet Clientes FTP email lynx wget traceroute Hablando con otras personas Resumen Una red consiste en varias computadoras conectadas juntas. La red puede ser tan simple como unas computadoras conectadas en su casa u oficina, o tan complicada como una red universitaria grande o incluso la Internet entera. Cuando su computadora es parte de una red, usted tiene acceso a esos sistemas directamente o a travs de servicios como el correo y la web. Hay una variedad de programas de red que usted puede usar. Algunos son capaces de realizar diagnsticos para ver si todo esta funcionando correctamente. Otros (como los lectores de correo y navegadores), son tiles para entrar en contacto con otras personas.

ping
El comando ping(8) enva paquetes ICMP ECHO_REQUEST a un host especificado. Si el host responde, usted obtiene de vuelta un paquete ICMP. Suena extrao? Bien, usted puede hacer "ping" a una direccin IP para ver si esa maquina esta viva. Si no hay ninguna respuesta, usted sabra que algo anda mal. Aqui hay un ejemplo de una conversacion tipica entre dos ususarios de Linux: Usuario A: Loki esta fuera de nuevo. Usuario B: Estas seguro? Usuario A: Si, yo prob hacindole un ping, pero no hay ninguna respuesta.

117

En estos casos hacer un ping es muy til en el dia a dia. Proporciona una manera rapida de saber si un usuario esta conectado a la red. La sintaxis basica es:
$ ping <ip address or hostname>

Hay, por supuesto, varias opciones que pueden agregarse. Verifique la pagina del manual de ping(1) para mas informacin.

finger
finger(1) le mostrara la informacin sobre el usuario especificado. Usted da al finger un nombre de usuario o una direccin de email y l tratara de contactar el servidor necesario y le mostrara el nombre de usuario, oficina, numero de telfono y otro tipo de informacin. Aqu tiene un ejemplo:
$ finger johnc@idsoftware.com

finger puede mostrar el nombre de usuario, estado del correo, nmeros de telfonos, y archivos llamados "dot plan" y "dot project". Claro, la informacin varia dependiendo de cada servidor. El incluido en Slackware por defecto muestra la siguiente informacion:

Nombre de usuario (username). El numero de Habitacion. Numero telefonico de la casa. Numero de telefono del trabajo. Estado del inicio de sesion. Estatus del correo electronico. Contenido del archivo.plan del directorio Home del usuario. Contenido del archivo.project en el directorio Home del ususario.

Los primeros cuatro artculos pueden configurarse con el comando chfn. Estos valores se archivan en /etc/passwd. Para cambiar la informacin de los archivos .plan y .project simplemente revselos con su editor de textos favorito. Ellos deben encontrase en su directorio home con los nombres .plan .project. Muchos usuarios hacen finger a su propia cuenta para saber rpidamente si tienen correo nuevo. O , para conocer que contienen actualmente sus archivos .plan y .project.John Carmack de id Software continuamente actualiza su archivo plan para informar a la comunidad de usuarios en que esta trabajando actualmente. Como muchos otros comandos, finger posee opciones especiales. Revise la pagina del manual para mas informacin sobre los comandos que puede utilizar.

telnet
Alguien dijo alguna vez que telnet(1) era la cosa ms interesante que haba visto en las computadoras. La habilidad de entrar en una maquina remota es lo que separa a una maquina Unix de cualquier otra.
118

telnet le permite iniciar sesin en otra computadora, como si usted estuviera sentado en su propio terminal. Una vez que se verifican su username y contrasea, se le da a usted un prompt del shell. Desde all, usted puede hacer todo lo que se puede hacer en una consola de texto. Escribir emails, leer grupos de noticias, mover archivos, y as sucesivamente. Si usted esta ejecutando X y hace telnet con una maquina a travs de un xterm, usted puede ejecutar programas X en la computadora remota y puede desplegarlos en la suya. Vea la seccin llamada Exportando Pantallas en el Capitulo 6 para mas informacin. Para iniciar sesin en una maquina remota, escriba lo siguiente:
$ telnet <hostname>

Si el host responde, usted se encontrara con un login prompt. Dele su username y contrasea. Eso es todo. Usted esta ahora en el shell. Para salir de una sesin de telnet, use el comando exit o el comando logout.

NOTA IMPORTANTE: telnet no encripta la informacin que se envia. Todo se enva en texto plano, incluso las contraseas. No es aconsejable utilizar telnet a travs de la Internet. En cambio. Puede utilizar Secure Shell. Encriptara todo l trafico y es distribuido gratuitamente. Visite http://www.ssh.org/ para mas informacin.

Clientes FTP:
FTP (File Transfer Protocol) significa Protocolo de Transferencia de Archivos. Le permite enviar y recibir los archivos entre dos computadoras. Existe el servidor FTP y el cliente FTP. Nosotros explicaremos el cliente en esta seccin. Para los curiosos, el "cliente" es usted. El "servidor" es la computadora que contesta su peticin FTP y le permite entrar. Usted puede bajar y subir archivos al servidor. El cliente no puede aceptar conexiones FTP, solo puede conectarse a servidores.

ftp
Para conectarse a un servidor FTP, simplemte ejecute el comandp ftp(1) y especifique el host:
$ ftp <hostname>

Si en el host esta ejecutando un servidor FTP, le pedir su username y contrasea. Usted puede entrar como "annimo". Los sitios de FTP annimos son muy populares para archivos de software. Por ejemplo para conseguir Slackware Linux via FTP, usted debe usar un FTP anonimo. Una vez conectado, usted estara en el prompt ftp>. Existen ordenes especiales para FTP, pero son similares a otros comandos normales. A continuacin se muestran algunos comandos bsicos y lo que hacen.
119

Table 13-1. ftp Commands Comando Proposito ls Lista los archivos cd <dirname> Cambia de directorio put <filename> Baja un archivo put <filename> Sube un archivo hash Cambia el indicador de hash mark prom Cambia al modo interactivo de Downloads mget <mask> Baja un archivo o un grupo de archivos, los comodines estan permitidos mput <mask> Sube un archivo o un grupo de archivos, los comodines estan permitidos quit Cierra session en el servidor FTP FTP es un programa muy fcil de utilizar, pero le falta la interfaz de usuario que muchos estamos acostumbrados a usar hoy en dia. Las paginas del manual explican un poco mas acerca de las opciones del comando ftp(1).

Ncftp
ncftp(1) es una alternativa al cliente ftp tradicional incluida en Slackware. Es un programa basado en texto, pero ofrece muchas ventajas mas que ftp, incluyendo: " " " " " Completacion con TAB Marcar Archivos Modos de transferencia pasivos y no-pasivos. Uso ms liberal de los comodines Historial de comandos.

Por defecto, ncftp intenta entra como usuario annimo al servidor. Usted puede obligar al ncftp a presentar un login prompt usando la opcin "-u". Una vez adentro, usted puede usar los mismos comandos del ftp, solo que con una interfaz mas parecida al bash. Figure 13-1. Example NcFTP screen.

120

email
El correo electrnico es una de las cosas ms populares que se pueden hacer a travs de la Internet. En 1998, se informo que fue enviado mas correo electrnico que correo normal. Es de hecho comn y til. En Slackware, proporcionamos un servidor de correo normal, y algunos clientes de correo. Todos los clientes son basados en texto. Muchos usuario de Windows pueden estar en contra de esto pero usted se dar cuenta de que es ms conveniente un cliente basado en texto, especialmente cuando se chequea el correo de forma remota.

pine
pine(1) (pine not is elm). O algo as significa. La Universidad de Washington creo este programa para las noticias de Internet y mandar correo electrnico de forma fcil para sus estudiantes. pine es uno de los clientes de correo electrnico ms populares disponibles hoy en dia para Unix y Windows por igual.

121

Figure 13-2. Menu Principal del pine

Usted vera un menu de comandos y una fila de teclas de comando abajo. pine es de hecho un programa complejo, por lo que nosotros no explicaremso todas las caracteristicas aqui. Para ver lo que esta en su bandeja de entrada, presione i. Sus mensajes se listan con su fecha, autor, y asunto. Resalte el mensaje que usted quiere leer y presione enter para verlo. Presionado r puede escribir una respuesta al mensaje. Una vez que halla escrito la respuesta, presione Ctrl+X para enviarlo. Usted puede presionar i para volver a la lista de mensajes. Si usted quiere eliminar un mensaje, presione d, para borrar el mensaje resaltado. Pine borrara el correo cuando usted salga del programa . pine tambien le permite guardar su correo en carpetas. Usted puede ver una lista de las carpetas presionando l. En la lista de mensajes, presione s para guardarlo en otra carpeta. pine le pedira el nombre de la carpeta donde se guardara el mensaje. pine ofrece muchas, muchas otras opciones; usted puede mirar la pagina del manual para mas informacion.

elm
elm(1) es otro popular cliente de correo electronico basado en texto. Aunque no tiene una interfaz de usuario amistosa como el pine, ha estado mucho mas tiempo en el aire.

122

Figure 13-3. Pantalla Principal de elm.

Por defecto, usted se encuentra en su bandeja de entrada. Los mensajes se listan con el numero del mensaje, fecha, remitente, y asunto. Use las flechas para resaltar el mensaje que usted quiere. Presione enter para leer el mensaje. Para escribir un nuevo mensaje, presione m en la pantalla principal. La tecla d marcara un mensaje para ser eliminado. Y la tecla r contestara el mensaje que usted esta leyendo actualmente. Todas estas teclas se listan en el fondo de la pantalla con un prompt. La pagina del manual explica elm con mas detalle.

mailx
mailx(1) es un cliente de correo manejado desde la linea de correo. Es muy primitivo y no ofrece absolutamente nada mas que las otras interfaces de ususario. Sin embargo, mailx es util cuando usted necesita mandar un correo rapidamente, mandar correo masivo o algo similar. El comando basico es:
$ mailx -s <subject> <to-addr>

mailx lee el cuerpo del mensaje de la entrada normal. Asi que usted puede usar el comando cat para mandar algo por correo, o simplemente puede escribir el texto y presionar Ctrl+D cuando termine de escribir el mensaje. Aqui hay un ejmplo de como mandar un archivo fuente de un programa a otra persona:
$ cat randomfunc.c | mailx -s "Here's that function" \ asdf@example.net 123

Las paginas del manual explican mas a fondo lo que puede hacer con mailx, por lo que probablemente tendra que leerlo antes de usarlo.

lynx
lynx es un navegador basado en texto. Es una manera rapida de buscar algo en Internet. Muchas veces las imagenes estan en el mismo sitio que se encontraban antes. Para arrancar lynx, solamente escriba lynx en el prompt:
$ lynx

Figure 13-4. Pagina de inicio del lynx.

Usted puede especificar un sitio especifico para inicar lynx :


$ lynx http://www.slackware.com

lynx muestra las teclas de comandos y lo que hace cada una en la parte baja de la pantalla. Las flechas de arriba y abajo permiten moverse dentro del documento, con enter se abre el link resaltado, y la flecha izquierda regresa a la pagina anterior. Pulsando d se bajara el archivo que se encuentre seleccionado. La orden g funciona como la opcion Ir a, usted puede especificar una URL para abrir. Hay muchas otras ordenes para lynx. Usted puede consultar la pagina del manual, o presionar h para obtener ayuda.
124

wget
wget(1) es una utilidad de la linea de comandos para bajar archivos directamente de un URL especificado. Es util para bajar sitios web completos y verlos al estar desconectado, o para descargar de forma mas segura archivos de HTTP o de servidores FTP. La sintaxis bsica es:
$ wget <url>

Usted tambien puede utilizar opciones. Pro ejemplo, esto bajar elwebsite de Slackware:
$ wget --recursive http://www.slackware.com

wget creara un directorio llamado www.slackware.com y gurdara los archivos alli. wget tambien pude obtener archivos de un sitio FTP; solo especifique una direccion FTP en lugar de una HTTP. wget tiene muchas mas opciones que lo hacen util para scripts especificos (como crear mirrors ,por ejemplo). Consulte la pagina del manual para mas informacion.

Traceroute
Slackware incluye el comando traceroute(8) 4.4BSD. Es una herramienta de diagnstico de red til. traceroute muestra todos los host por donde pasa un paquete al tratar de alcanzar su destino. Usted puede ver a cuantos "hops" del sitio de Slackware se encuentra usted con este comando:
$ traceroute www.slackware.com

Cada host sera listado, junto con el tiempo de respuesta de cada uno. Aqui hay un ejemplo de su ouput:
$ traceroute www.slackware.com traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets 1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms 2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms 3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms 4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms 5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms 6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms 7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms

traceroute es similar al comando ping ya que utiliza paquetes ICMP. Hay varias opciones que usted puede especificar con el traceroute. El numero maximo predefinido de "hops" es 30, pero eso puede cambiarse con la opcion "-m". Se explican otras opciones en detalle en la pagina web.

125

Hablando con otras personas


talk
talk(1) permite a dos ususarios charlar. Se divide la pantalla, horinzontalmente, por la mitad. Para solicitar un chat con otro usuario, se utiliza esta orden:
$ talk <person> [ttyname]

Figura 13-5. Dos usuarios en una session de talk.

Si usted especifica solamente el nombre de usuario, se asume que ser una charla local, as que solo se le preguntara a los usuarios locales. La informacin requerida para charlar puede obtenerse con el comando w(1). talk puede contactar tambin a usuarios remotos. Como username usted simplemente especifica una direccin de correo. talk intentara buscar a ese usuario en este host. talk es algo limitado. Solo soporta a dos usuarios.

ytalk
ytalk(1) es un reemplazo compatible para talk. Viene con el Slackware con el nombre de ytalk. La sintaxis es similar, pero tiene algunas diferencias:
$ ytalk <username>[#ttyname]

126

Figura 13-6. Tres usuarios en una session de ytalk.

El nombre de usuario y el terminal se especifican igual que en talk, excepto que usted debe ponerlos juntos con el smbolo (#). ytalk ofrece varias ventajas:

Soporta mas de dos usuarios. Un men de opciones se puede utilizar cuando quiera presionando Esc. Usted puede usar el shell mientras esta en la sesin de charla. Mucho ms..

Si usted es un administrador de algn servidor, usted debe asegurarse de habilitar el puerto ntalk en etc/inetd.conf. ytlak necesita ese puerto para trabajar correctamente.

Resumen
Usted debe conocer ahora algunas ordenes de diagnostico bsico de redes. Usndolas, usted puede determinar si hay problemas con alguna computadora o la red entre su sistema y uno remoto. Tambin, usted debe saber acerca de algunos clientes de correo, web browsers, clientes ftp y programas de comunicacin.

127

Capitulo14. Guardando Archivos


Contenido gzip bzip2 tar zip Resumen En Slackware Linux, hay varios programas que pueden usarse para comprimir y guardar archivos. Estos programas son tiles para hacer respaldos y enviar copias de archivos entre maquinas conectadas en red. Hay programas para trabajar con los archivos tipo Unix, as como los de archivos tipo Windows.

gzip
gzip(1) es el programa de compresin del GNU. Toma solo un archivo y lo comprime. El comando bsico es el siguiente:
$ gzip infile

El archivo resultante se llamara infile.gz y normalmente ser un poco ms pequeo que el archivo inicial. Note que infile.gz reemplazara a inifile. Esto significa que inifile ya no existir, aunque quede una copia de el gzipeada. Los archivos de texto normales se comprimen muy bien, mientras que las imgenes jpeg, mp3s, y otros tipos de archivos no se comprimen muy bien debido a que ellos ya estn comprimidos. El uso bsico provee un equilibrio entre el tamao final y el tiempo de compresin. La compresin mxima puede lograrse usando el siguiente comando:
$ gzip -9 infile

Esto tomara mas tiempo para comprimir el archivo, pero el resultado ser un archivo tan pequeo como el gzip pueda hacerlo. Usando los valores ms bajos en la lnea de comandos causara que se realic la compresin ms rpido, pero el archivo no tendr una buena compresin. Para descomprimir archivos gzipeados pueden usarse dos comandos, que son bsicamente el mismo programa. gzip descomprimir cualquier archivo que tenga una extensin conocida. Una extensin conocida puede ser cualquiera de las siguientes: .gz, -gz, .z, -z, .Z o -Z. El primer mtodo seria usar el comando gunzip(1) en el archivo:
$ gunzip infile.gz

Esto dejara una versin descomprimida del archivo en el directorio actual, y la extensin .gz sera eliminada del archivo.
128

La otra manera de descomprimir un archivo gzipeado es utilizar el comando gzip:


$ gzip -d infile.gz

Con esto obtendr el mismo resultado del comando gunzip. La razn es simple: gunzip simplemente es un link simbolico a /bin/gzip:
$ cd /usr/bin $ ls -l gunzip lrwxrwxrwx 1 root root 9 Feb 2 09:45 gunzip -> /bin/gzip

As que, gunzip es simplemente una forma de ejecutar el gzip con un nombre diferente. El programa puede determinar como esta llamndose y ejecuta la accin apropiada. En este caso, gzip sabr que esta siendo llamado por el gunzip y descomprimir el archivo. Por lo tanto, usted puede usar gzip o gunzip para descomprimir cualquier archivo gzipeado.

bzip2
bzip3(1) es un programa de compresin alternativo instalado en Slackware Linux. Usa un algoritmo de compresin diferente al de gzip, lo que resulta en algunas ventajas y desventajas. La ventaja principal del bzip2 es el tamao final del archivo comprimido. bzip2 casi siempre comprime mejor que el gzip. En algunos casos, esto puede producir archivos realmente pequeos. Esto puede ser una gran ventaja para las personas con conexiones de modem lentas. La desventaja del bzip2 es que utiliza mas intensivamente el CPU que el gzip. Esto significa que para comprimir un archivo con bzip necesitara de muchos mas tiempo y uso del CPU del que necesitara si lo hiciera con el gzip. Al considerar un programa de compresin, usted debe decidir entre velocidad o compresin y determinar que es ms importante. La forma de utilizar el bzip2 es muy similar a la del gzip, asi que no gastaremos mucho tiempo para explicrselo. Simplemente ejecute bzip2 mas el nombre del archivo a comprimir:
$ bzip2 infile

El resultado final ser un archivo de menor tamao y se llamara inifile.bz2. Al igual que con el gzip, el archivo inicial ya no existir, ya que bzip2 reemplaza el archivo inicial con una copia comprimida. Usted puede utilizar un comando numrico para modificar la tasa de compresin y hacerla ms rpida igual que en gzip. El siguiente ejemplo muestra como alcanzar la compresin mxima con el bzip2:
$ bzip2 -9 infile

Existen dos comandos para descomprimir los archivos con extensin.bz2. Usted puede utilizar bzip2 o bunzip2(1) para descomprimir los archivos bzipeados. Para usar bzip2 necesitara agregar un argumento a la lnea de comando:
129

$ bzip2 -d infile.bz2

Esto descomprimir el archivo y remplazara el existente con una copia descomprimida. Este archivo tambin ser despojado de la extensin.bz2 De igual forma usted puede usar el bunzip2 para descomprimir el archivo:
$ bunzip2 infile.bz2

Usted obtendr el mismo resultado de cualquier forma, gracias a un link simblico. Comprobemos que /bin/bunzip2 muestra un simple link simbolico a /bin/bzip2. Esto se hace con el mismo truco que utilizaron con el gzip.
$ cd /bin $ ls -l bunzip2 lrwxrwxrwx 1 root root

5 Feb 2 09:45 /bunzip2 -> bzip2

tar
tar(1) es el archivador de cintas del GNU. Toma varios archivos o directorios y crea un archivo grande. Esto le permite comprimir un rbol de directorios enteros lo cual simplemente no es posible utilizando gzip o bzip2. tar tiene muchas opciones que se explican en la pagina del manual. Esta seccin tratara apenas el uso bsico de tar. El uso ms comn de tar es descomprimir y desarchivar paquetes que usted halla obtenido de un sitio web o de un sitio ftp. La mayora de los archivos vienen con la extensin.tar.gz. Esto es comunmente conocido como un "tarball". Significa que se guardaron varios archivos usando tar y despus lo comprimieron usando gzip. Usted tambin puede verlos con la extensin.tar.Z. Significa la misma cosa. Alternativamente, usted podra encontrar archivos.tar.bz2 en alguna parte. La fuente del Kernel es distribuida de esa forma porque es ms pequeo para el download. Esto es simplemente varios archivos guardados con tar y comprimidos con bzip2. Usted puede extraer todos los archivos utilizando tar y algunas otra opciones.Para abrir un tarball se utiliza la opcion z que permite ejecutar primero el programa gzip para descomprimirlo. La manera ms comn de descomprimir un tarball es la siguiente:
$ tar -xvzf hejaz.tar.gz

Aqu vemos algunas opciones. Que significa cada una? La opcin -x quiere decir extraer. Esto es importante, ya que le dice a tar que hacer con el archivo exactamente. En este caso, nosotros estamos colocando los archivo tal y como venan. -v quiere decir verboso. Esto mostrara una lista de todos los archivos que estn siendo desarchivados. Es absolutamente aceptable dejar fuera esta opcin, si le parece algo aburrido. Alternativamente, usted podra usar la opcin -vv para que sea muy verboso y muestre mas informacin aun sobre los archivos. La opcin -z le dice a tar que ejecute hejaz.tar.gz primero a
130

travs del gunzip. Y finalmente la opcin -f, le dice a tar que la siguiente lnea es el archivo donde debe operar. Hay otras maneras de escribir esta misma orden. En sistemas ms viejos que no cuenten con una versin decente del GNU tar, usted podra verlo as:
$ gzip -dc hejaz.tar.gz | tar -xvf -

Esta lnea de comando descomprimir el archivo primero y enviara el resultado a tar. Ya que gzip escribe sus resultados usando el standard output, este comando descomprimir el archivo en standard output. La tubera lo enva despus a tar para que lo desarchive. El smbolo "-" le indica que debe trabajar en standard input. Desarchiva todos los datos que recibe del gzip y escribe todo eso al disco. Otra manera de escribir el primer comando es quitando el simbolo "-" de la lnea de comando:
$ tar xvzf hejaz.tar.gz

Usted tambin podra encontrar archivos comprimidos con bzip2. La versin de tar que viene con Slackware Linux puede manejar estos archivos al igual que los comprimidos usando el gunzip. El lugar de la opcin -x en la lnea de comando, tendra que usar la opcin -y:
$ tar -xvyf foo.tar.bz2

Es importante hacer notar que tar colocara todos los archivos en el directorio actual. As, que si usted tiene un archivo en /tmp que usted quera descomprimir en su directorio home, usted tiene dos opciones: Primera, podria mover el archivo a su directorio home y despus extraerlos usando tar. O podria especificar la ruta al archivo en la lnea de comandos:
$ tar -xvzf /tmp/bar.tar.gz

Se descargara el contenido del archivo a su directorio home, y el archivo original se mantendr todava en el directorio /tmp. La segunda operacin ms comn es la de hacer sus propios archivo tar. Hacer un archivo no es mas complicado que desarchivarlo; Apenas se utiliza un juego diferente de opciones en la lnea de comandos. Para crear un archivo tar comprimido de todos los archivos en el directorio actual ( incluyendo cualquier subdirectorio y sus archivos), usted usara el tar de esta forma:
$ tar -cvzf archive.tar.gz .

En este comando, la opcin -c le dice a tar que cree un archivo, la opcin -z enva el resultado a gzip para que lo comprima. archive.tar.gz es el nombre del archivo que usted quiere crear. Usted puede colocarle el nombre que usted quiera y si incluye una direccin completa, tar coloca el archivo en ese directorio. Aqu hay un ejemplo de eso:
$ tar -cvzf /tmp/archive.tar.gz .

El archivo quedara entonces en /tmp. Usted tambin puede especificar todos los archivos y directorios que sern incluidos en el archivo colocndolos al final del comando. En este caso, el . es el directorio que se incluir en el
131

archivo. Esto puede reemplazarse con una lista de varios archivos, o cualquier cosa que usted quiera archivar.

zip
Finalmente, hay dos utilidades que pueden usarse en los archivos zip. Estas son muy comunes en el mundo de Windows, por lo que Linux tiene los programas para trabajar con ellos. El programa de compresin se llama zip(1), y el programa de descompresin se llama unzip(1). Comprimir un archivo es fcil:
$ zip foo *

Esto creara el archivo foo.zip, que contendr todos los archivos que se encuentran en el directorio actual. zip le agregara la extensin.zip automticamente as que no hay necesidad de incluir eso en el nombre del archivo. Usted tambin podra incluir todos los directorios que se encuentran dentro del directorio actual usando la opcin recursiva:
$ zip -r foo *

Descomprimir los archivos es fcil, tambin.


$ unzip foo

Esto extraer todos los archivos que se encuentra en foo.zip, incluyendo cualquier directorio. Las utilidades zip tienen varias opciones avanzadas para crear archivos autoextrables(self-extracting), omitir archivos, controlar el tamao del archivo comprimido, y mucho ms. Vea las paginas del manual de zip y de unzip para averiguar como usar estas opciones.

Resumen
Este capitulo trato sobre los programas que se usan para comprimir y descomprimir archivos. Usted debe saber como crear un tar usando sus opciones y un programa de compresin, como descomprimir y como ocuparse de los archivos basados en Windows. Casi todo los que se trasmite o se transfiere esta involucrado de alguna forma con estos archivos, por lo que estos conocimientos le sern muy tiles.

132

Capitulo 15. vi
Contenido Inciando vi Modos Abriendo archivos Guardando archivos Cerrando vi Configuracion de vi Teclas del vi Resumen

vi(1) es el programa de edicin standard en Unix, y dominarlo es esencial para cualquier administrador de sistemas. Hay varias versiones (o copias) de vi disponible, incluyendo el vi, elvis, vile, y el vim. Uno de ellos esta disponible en casi cualquier versin de Unix, as como tambin en Linux. Todas esta versiones incluyen las mismas caractersticas bsicas de configuracin y de comandos, as que aprendiendo a usar un clon Ser fcil manejar cualquier otro. vi incluye varias caractersticas poderosas incluyendo resaltado de sintaxis, formato de cdigo, y un poderoso sistema para buscar y remplazar, macros, y ms. Estas caractersticas lo hacen especialmente atractivo a programadores, diseadores web, etc. Los administradores del sistema aprecian la automatizacin e integracin con el shell. En Slackware Linux, la versin por defecto del vi es la elvis. Otras versiones incluyendo el vim y gvim - estn disponibles si se han instalados los paquetes correspondientes. El gvim es una versin para X Window del vim que incluye barra de herramientas, mens intercambiables y cuadros de dialogo.

Inciando vi
vi puede ser iniciado desde la lnea de comandos de muchas formas. La forma ms simple es la siguiente:
$ vi

Esto pondr en marcha el vi con un buffer vaci. En este momento, usted vera una pantalla principalmente en blanco. l esta ahora en "modo de comando", esperando que usted haga algo. Para una explicacin de los distintos modos del vi, vea la seccin llamada Modos. Para salir del vi, escriba lo siguiente:
:q

133

Figura 15-1. Una sesion de vi.

Asumiendo que no exista ningn cambio en el archivo, este comando cerrara el vi. Si ha hecho algn cambio, l le advertir que han ocurrido cambios y le dir como ignorarlos. Usted puede iniciar el vi con un archivo existente. Por ejemplo, el archivo
/etc/resolv.conf ser abierto si hace lo siguiente: $ vi /etc/resolv.conf

Finalmente, puede iniciar el vi en una lnea particular de un archivo. Por ejemplo, usted puede iniciar vi en la lnea 47 del archivo /usr/src/linux/init/main.c haciendo esto:
vi +47 /usr/src/linux/init/main.c

vi le mostrara el archivo y colocara el cursor en la lnea especificada. En caso de que usted especifique una lnea que este despus del final del archivo, vi colocara el cursor en la ultima lnea. Esto es especialmente til para programadores, ya que ellos pueden saltar directamente a la ubicacin de algn error en el archivo, sin tener que buscarla.

Modos
vi opera en varios modos que se usan para lograr distintas tareas. Cuando usted inicia el vi, usted esta ubicado en el modo de comando. Desde este punto, usted puede emitir varias ordenes para manipular el texto, moverse dentro del archivo, guardar, salir y cambiar el modo. La edicin del texto se
134

realiza en el modo de insercin. Usted puede cambiar rpidamente entre los modos pulsando una variedad de teclas que se explican mas adelante.

Modo Comando (Comand Mode)


Usted se encuentra primero en el modo comando. Desde este modo, usted no puede escribir o editar texto directamente. Sin embargo, usted puede manipular el texto, buscar, cerrar, grabar, abrir nuevos archivos, y ms. Esto ser solo una introduccin al modo comando. Para una descripcin de todos los comandos, revise la seccin llamada Teclas vi. Probablemente el comando mas usado en el modo comando es el que se usa para cambiar al modo de insercin(insert mode). Esto se logra pulsando la tecla i. El cursor cambia de forma, y --INSERT-- se muestra al final de la pantalla (note que esto no ocurre en todas las versiones de vi). Desde all, todo lo que escriba ser introducido en el buffer actual y se mostraran en pantalla. Para volver al modo comando, presione la tecla Esc. En el modo comando usted puede moverse dentro del archivo. En algunos sistemas, usted puede usar las teclas de navegacin para moverse alrededor. En otros sistemas, usted tendr que usar teclas ms tradicionales como "hjkl". Aqu esta una descripcin simple de como se usan estas teclas para moverse alrededor. h j k l Un carcter a la izquierda Un carcter hacia abajo Un carcter hacia arriba Un carcter a la derecha

Simplemente presione una tecla para moverse. Como usted vera mas adelante, estas teclas pueden combinarse con nmeros para moverse mas eficazmente. Muchos de los comandos que usted utilizara en el modo comando empiezan con ":". Por ejemplo, salir es :q. Los dos puntos indican simplemente que es un comando, mientras que "q" le dice al vi que cierre. Otros comandos son un numero opcional, seguido de una letra. Estos comandos no llevan el smbolo ":" antes, y generalmente se usan para manipular el texto Por ejemplo para borrar una lnea se usa el comando dd. Esto eliminara la lnea donde se encuentra el cursor. Emitiendo la orden 4dd le dir al vi que elimine la lnea donde se encuentra el cursor y las otras 3 lneas que siguen despus. En general, l numero le dice al vi cuantas veces ejecutar el comando. Usted puede combinar un numero con las teclas de movimiento para moverse a travs de varios caracteres al mismo tiempo. Pro ejemplo, 10k subir diez lneas. El modo comando tambin puede usarse para cortar y pegar, insertar texto, y leer otros archivos en el buffer actual. Para copiar texto se utiliza la tecla "y". Para copiar la lnea actual se utilizan las teclas "yy", estas pueden precederse con un numero para alcanzar mas lneas. Despus, muvase a la ubicacin donde se copiaran y presione p. El texto ser pegado en la lnea siguiente a su ubicacin actual.
135

Para cortar texto se utiliza "dd", y puede usarse p para pegar el texto de nuevo al archivo. Leer el texto de otro archivo es un procedimiento ms simple. Solo presione :r, seguido de un espacio y el nombre del archivo que contiene el texto que quiere que sea insertado. El contenido del archivo se pegara en el buffer actual en la lnea despus del cursor. Los clones mas sofisticados del vi contiene incluso la posibilidad de completacion similar a la del shell. El uso final que explicaremos es el de buscar. El modo comando permite bsquedas simples, as como tambin comandos de bsqueda-y-reemplazo que hacen uso de una poderosa versin de expresiones regulares. Una explicacin detallada de las expresiones regulares se encuentra mas adelante en este capitulo, por lo que esta seccin tratara solo lo medios de bsqueda ms sencillos. Una bsqueda simple se realiza utilizando la tecla /, seguida del texto que usted esta buscando. vi buscara a partir de la ubicacin del cursor hasta el final alguna coincidencia, detenindose al encontrar alguna. Note que las coincidencias inexactas tambin harn detener al vi. Por ejemplo, una bsqueda para "the" har que el vi se detenga tambin en "then", "therefore", y as sucesivamente. Esto es porque todas esas palabras coinciden con "the", pero slo al principio. Despus de que vi encuentra la primera coincidencia usted pude seguir adelante presionando la tecla / seguida de enter. Usted tambin puede buscar a travs del documento reemplazando la tecla / con la tecla ?. Por ejemplo, una bsqueda hacia atrs de la palabra "the" se logra escribiendo el comando ?the.

Modo de insercin (Insert Mode)


Insertar y cambiar texto se logra utilizando el modo de insercin. Como explicamos anteriormente, usted puede entrar en el mode de insercin pulsando i en el modo comando. Entonces, todo el texto que usted escriba entrara en el buffer actual. Presionando la tecla Esc usted puede regresar al modo comando. Usted puede reemplazar texto de varias formas. Desde el modo comando, presionando la tecla r le permite cambiar un carcter que se encuentre debajo del cursor. Simplemente escriba el nuevo carcter y este remplazara al que se encuentra debajo del cursor. Usted volver inmediatamente al modo comando nuevamente. Presionado R le permita reemplazar todos los caracteres que usted quiera. Para salir de este modo de reemplazo, solo presione Esc para volver al modo comando. Hay otra manera de cambiar entre insercin y reemplazo. Presionado la tecla insert en el modo comando usted entrara en el modo de insercin. Una vez que usted entra en el modo de insercin, La tecla Insert del teclado le permite cambiar entre insertar y reemplazar. Presionndola una vez le permite reemplazar. Presionndola una vez mas le permite insertar texto.

136

Abriendo Archivos
vi permite abrir archivos desde el modo comando as como tambin especificar un archivo para abrir directamente desde la lnea de comando. Para abrir el archivo /etc/lilo.conf:
:e /etc/lilo.conf

Si usted ha hecho cambios al buffer actual sin guardar, vi se lo advertir. Usted todava puede abrir el archivo sin necesidad de guardar el actual presionando :e!, seguido de un espacio y el nombre del archivo. En general, las advertencias del vi pueden ignorarse utilizando la misma orden seguida de un signo de admiracin. Si usted quiere volver a abrir el archivo actual simplemente escriba e!. Esto es til si usted a desordenado el archivo y desea volverlo a abrir. Algunos clones del vi (por ejemplo, vim) permiten buffer simultneos que permiten tener los dos archivos abiertos al mismo tiempo. Por ejemplo, para abrir el archivo 09-vi.sgml en mi directorio home mientras otro archivo estaba abierto, tecleara lo siguiente:
:split ~/09-vi.sgml

El nuevo archivo se mostrara en la mitad superior de la pantalla, y e archivo viejo se mostrara en la mitad inferior. Hay muchas ordenes para manipular la pantalla dividida, y muchas de estas ordenes empiezan a parecerse a algo salido de EMACS. El mejor lugar para buscar estos comandos ser la pagina del manual de su copia de vi. Nota: muchos clones no soportan la idea de la pantalla divida, as que tal vez usted no podra utilizarlo en lo absoluto.

Guardando Archivos
There are several ways to save files in vi. If you want to save the current buffer to the file randomness, you would type:
:w randomness

Once you've saved the file once, saving it again is as simple as typing :w. Any changes will be written out to the file. After you've saved the file, you are dumped back into command mode. If you want to save the file and quit vi (a very common operation), you would type :wq. That tells vi to save the current file and quit back to the shell. On occasion, you want to save a file that is marked as read-only. You can do this by adding an exclamation point after the write command, like so:
:w! :wq!

However, there will still be instances where you cannot write the file (for example, you are attempting to edit a file that is owned by another user). When this happens, vi will tell you that it cannot save the file. If you really want to edit the file, you'll have to come back and edit it as root.

137

Cerrando vi
Una manera de cerrar vi es utilizando:wq que guardara el buffer actual antes de cerrar. Usted tambin puede salir sin guardar utilizando :q o:q!. Este ultimo se utiliza cuando usted ha modificado el archivo pero no ha hecho ningn cambio en l. En ocasiones, su maquina o vi podran colgarse. Sin embargo, elvis y vim tomaran medidas para minimizar el dao a cualquier buffer abierto. Ambos editores guardan los buffer abiertos en archivos temporales en algunas ocasiones. Este archivo normalmente se llama igual al archivo abierto, pero con un punto al principio. Esto oculta el archivo. Este archivo temporal se elimina una vez que el editor se cierra en condiciones normales. Esto significa que la copia temporal todava estar por ah si algo sale mal. Cuando usted regresa a editar el archivo de nuevo, vi le preguntara que accin tomar. En la mayora de los casos, gran parte de su trabajo no guardado puede recuperarse. elvis tambin le enviara un correo (desde Graceland, bastante extrao :) Dicindole que existe una copia de respaldo.

Configuracion de vi
Su clon del vi puede configurarse de varias maneras. Una variedad de comandos pueden introducirse en el modo comando para configurar el vi como a usted le guste. Dependiendo de su editor, usted puede activar opciones para hacer ms fcil la programacin (como el resaltado de sintaxis, auto-identidad, y ms), prepara los macros para auto-realizar tareas, habilitar la sustitucin textual, y ms. Casi todos estos comandos se pueden poner en un archivo de configuracin en su directorio home. elvis necesita un archivo .exrc, mientras que el vim necesita de un archivo .vimrc. La mayora de las configuraciones que pueden hacerse en el modo comando pueden ser colocadas en el archivo de configuracin. Esto incluye la informacin de configuracin, substituciones textuales, macros y ms. Explicar todas estas opciones y las diferencias entre los editores es un asunto bastante complejo. Para mas informacin, revise la pagina del manual o el sitio web de su editor vi preferido. Algunos editores (como el vim) tienen una extensa ayuda dentro del editor que puede obtenerse utilizando el comando :help, o algo similar. Usted tambin puede revisar el libro "Aprendiendo el editor vi por Lamb y Robbins" de O'Reilly. Muchos programas en Linux inician por defecto un archivo de texto en vi. Pro ejemplo, al editar su crontabs (vea la seccin en cron) se ejecuta el vi por defecto. Si no le gusta el vi y le gustara que otro editor sea iniciado por defecto, todo lo que usted necesita hacer es cambiar la variable de ambiente VISUAL con la del editor que usted prefiere. Para informacin sobre configuracin de variables de entorno, vea la seccin llamada Variables de Entorno en el Capitulo 8. Si usted quiere estar seguro de que su editor ser iniciado cada vez que usted inicia sesin, agregue la configuracin VISUAL a sus archivos .bash_profile o .bashrc.

138

Teclas del vi
Esta es una referencia rapida de muchas de las ordenes mas comunes del vi.
Tabla 15-1. Movimiento

Operacion Hasta el final de la linea Hasta el principio de la linea Hasta el final del archivo Hasta el principio del archivo Hasta la linea 47
Tabla 15-2. Edicion

Tecla
$ ^ G :1 :47

Izquierda,abajo,arriba,derecha h, j, k, l

Operacion Eliminar una linea Eliminar cinco lineas Reemplazar un caracter Eliminar un caracter Eliminar diez caracteres Deshacer la ultima accion
Tabla 15-3. Busqueda

Tecla
dd 5dd r x 10x u

Unir la linea actual y la siguiente J Operacion Buscar asdf Buscar hacia atras asdf Repetir la busqueda hacia adelante
Tabla 15-4. Guardar y Cerrar

Tecla
/asdf ?asdf /

Repetir la ultima busqueda hacia atras ? Operacin Cerrar Cerrar sin guardar Guardar y cerrar Guardar sin cerrar Reabrir el archivo actual Abrir el archivo hejaz Leer el archivo asdf en el buffer Leer el resultado de ls en el buffer Tecla
:q :q! :wq :w :e!

Guardar el buffer con el nombre asdf :w asdf


:e hejaz :r asdf :r !ls 139

Resumen
Usted debe estar familiarizado con el vi-el editor de texto standard de Unix. El vi es un programa bastante complejo con muchos comandos y opciones de configuracin. Sin embargo, usted debe saber abrir un archivo, moverse alrededor, editar el archivo, y salir. Esto es todo lo que usted tendr que hacer para la mayora de las operaciones diarias. Cuando usted necesite mas poder, usted puede usar la extensa ayuda que incluye le vi para aprender mas sobre l.

140

Capitulo 16. Manejo de paquetes en Slackware


Contenido Visn general del formato de los paquetes Untilidades de paquetes Creando paquetes Creando Tags y Tagsfiles(para la instalacion) Resumen Un paquete de software es un grupo de programas relacionados que estn listos para ser usados. Cuando usted baja un cdigo fuente, usted tiene que configurarlo, compilarlo e instalarlo a mano. Con un paquete de software, esto ya s hecho. Todo lo que usted tiene que hacer es instalar los paquetes. Otra caracterstica til de los paquetes de software es que son muy fciles de quitar y de actualizar, si usted lo desea. Slackware viene con todos los programas que usted necesita para manejar los paquetes. Usted puede instalar, eliminar, actualizar, hacer y examinar los paquetes muy fcilmente.

Vision general del formato de los paquetes


Antes de aprender a usar las utilidades, usted debe familiarizarse con el formato de los paquetes de Slackware. Un paquete simplemente es un archivo tar que ha sido comprimido con el gzip. Un paquete se crea para que pueda extraerse en el root filesystem. Estos son algunos programas ficticios y sus paquetes de ejemplo:
./ usr/ usr/bin/ usr/bin/makehejaz usr/doc/ usr/doc/makehejaz-1.0/ usr/doc/makehejaz-1.0/COPYING usr/doc/makehejaz-1.0/README usr/man/ usr/man/man1 usr/man/man1/makehejaz.1.gz install/ install/doinst.sh

El sistema de paquetes extraer este archivo al directorio raz para instalarlo. Una entrada en la base de datos del paquete se creara con los datos del contenido de este paquete para que pueda actualizarse o eliminarse despus. Fjese en el subdirectorio /install. Este es un directorio especial que puede contener un script de post-instalacin llamado doinst.sh. Si el sistema de paquetes encuentra este archivo, lo ejecutara despus de la instalacin del paquete.
141

Pueden incluirse otros scripts en el paquete, estos se explicaran mas adelante en la seccin llamada makepkg.

Utilidades de paquetes
Hay cuatro utilidades principales para el manejo de paquetes. Ellos se encargan de la instalacin, eliminacin y las actualizaciones de los paquetes

pkgtool
pkgtool(8) es un programa manejado por menus que permite instalar y eliminar paquetes. El menu principal es algo asi: Figura16-1. menu principal del pkgtool.

La instalacin se puede hacer desde el directorio actual (Current), otro directorio (Other), o desde un disquete (Floppy). Simplemente seleccione el mtodo de instalacin que usted quiere y pkgtool se encarga de buscar en esa ubicacin paquetes valido para instalar. Usted tambien puede ver una lista de paquetes instalados parecida a esta: Figura 16-2. Modo view del pkgtool.

142

Si usted quiere eliminar paquetes, seleccione la opcin Remove y se encontrara con una lista de seleccin de todos los paquetes instalados. Simplemente marque el que desea eliminar y seleccione OK. pkgtool los eliminara. Algunos usuarios prefieren usar esta utilidad en vez de las utilidades de lnea de comando. Sin embargo, fjese que las utilidades de lnea de comandos ofrecen muchas ms opciones. Adems, la funcin de actualizar los paquetes solo esta disponible a travs de la lnea de comando.

installpkg
installpkg(8) maneja la instalacion de nuevos paquetes en su sistema. La sintaxis es la siguiente:
# [ROOT=<path>] installpkg [option] <package name>...

Installpkg ofrece tres opciones. Solo puede ser usada una opcion a la vez. Tabla 16-1. Opciones del installpkg Opcion Efecto -m Ejecuta la operacin makepkg en el directorio actual. -warn Muestra lo que sucedera si se instala el paquete especificado. Esto es muy util para productores de sistema ya que muestra lo que sucedera despues de instalar el paquete. -r Instalacion Recursiva de todos los paquetes en el directorio actual. El<package name> puede incluir comodines. Si usted coloca la variable de entorno ROOT antes de installpkg este directorio ser usado como directorio raz. Esto es til para configurar nuevas unidades en su directorio raz. Estas tpicamente se montan en /mnt o algo diferente a /. La base de datos de paquetes instalados se guarda en /var/log/packages. Esto es solo un archivo en texto plano, uno para cada paquete. Si el paquete tiene un script de post-instalacin, se guarda en /var/log/scripts/<packagename>. Usted puede especificar varios paquetes o puede usar comodines en el nombre del paquete. Se le advierte que installpkg no le avisara si usted esta borrando un paquete instalado. Instalara simplemente el nuevo archivo encima del viejo. Si usted quiere asegurarse que esos archivos viejos del paquete anterior sean eliminados, utilice el comando upgradepkg.

removepkg
removepkg(8) se utiliza para eliminar paquetes instalados en su sistema. La sintaxis es la siguiente:
# [ROOT=<path>] removepkg [option] <package name>...

Removepkg trabaja con cuatro opciones diferentes. Solo una opcion a la vez puede usarse.
143

Tabla 16-2. Opciones de removepkg Opcion Efecto -copy El paquete es copiado para ser conservado. Esto crea un arbol de directorio del paquete actual y lo guarda. -keep Guarda los archvios temporales creados durante la eliminacion actual. -preserve El paquet es eliminado, pero guarda una copia del paquete al mismo tiempo. -warn Muestra lo que ocurrira si elimina el paquete. Si usted coloca la variable de entorno ROOT antes de removepkg este directorio ser usado como directorio raz. Esto es til para configurar nuevas unidades en su directorio raz. Estas tpicamente se montan en /mnt o algo diferente a /. removepkg observa todos los paquetes instalados pero solo elimina aquellos que usted especifico. Adems revisa el script de postinstalacin del paquete especificado y quita cualquier link simblico creado por l. Durante el proceso de eliminacin, se muestra un informe de estado. Despus de la eliminacin, la base de datos del paquete se mueve al directorio /var/log/removed_packages y el script de post-instalacin se mueve hacia /var/log/removed_scripts. Al igual que en installpkg, usted puede usar comodines para especificar varios paquetes.

upgradepkg
upgradepkg(8) actualiza cualquier paquete instalado en Slackware Linux. La sintaxis es la siguiente:
# [ROOT=<path>] upgradepkg <package name>...

o
# [ROOT=<path>] upgradepkg \ <old package name>%<new package name>

upgradepkg trabaja primero instalando el nuevo paquete y despus eliminando el paquete viejo para que los archivos viejos no existan mas en el sistema. Si el nombre del paquete actualizado ha cambiado, use el smbolo de porcentaje (%) para especificar el paquete viejo (el que se encuentra instalado) y el nuevo paquete (el que se esta actualizando). Si usted coloca la variable de entorno ROOT antes de removepkg este directorio ser usado como directorio raz. Esto es til para configurar nuevas unidades en su directorio raz. Estas tpicamente se montan en /mnt o algo diferente a /. upgradepkg no lo hace todo. Usted siempre debe guardar sus archivos de configuracin. Si ellos se sobrescriben, usted conservara una copia de los originales para cualquier trabajo de reparacin. As como en el installpkg y removepkg, usted puede usar comodines para especificar el nombre del archivo.
144

rpm2tgz/rpm2targz
El manejador de paquetes del Red Hat es un sistema de empaquetamiento popular hoy en dia. Muchos distribuidores de software estan ofreciendo sus prodcutos en formato RPM. Ya que este no es nuestro formato nativo, nostros recomendamos a las personas que no se confien de ellos. Sin embargo, algunas cosas solo estan disponibles en RPM(incluso la fuente). Nosotros proporcionamos un programa que convierte los RPM a nuestro formato .tgz nativo. Esto le permite extraer los paquetes (quizas con el explodepkg) a un directorio temporal y examinar su contenido. El programa rpm2tgz crea un paquete de Slackware con la extension .tgz, mientra que el rpm2targz crea un archvio con la extension .tar.gz.

Creando paquetes
Crear paquetes para Slackware puede ser fcil y difcil a la vez. No hay un mtodo especifico para crear un paquete. El nico requisito es que sea un archivo tar comprimido con gzip y si existe algn script de post-instalacin, debe estar en /install/doinst.sh. Si usted esta interesado en hacer paquetes para su sistema o para una red que usted administre, usted debe echarle un vistazo a los varios scripts construidos en el rbol de directorios de la fuente de Slackware. Hay varios mtodos que se utilizan para crear un paquete

explodepkg
explodepkg(8) hara lo mismo que hace installpkg para extaer los archivos, pero no lo instalara ni los gurdara en la base de datos de archivos instalado. El simplemente lo extrae al directorio actual. Si usted se fieja en el arbol de la fuente de Slackware, usted vera como nosotros usamos ese comando para los paquetes framework. Estos paquetes contiene un esqueleto de como lucira despues el archivo final. Ellos soportan todos los nombres de archivos(de longitud-cero) necesarios, permisos y propietarios.

makepkg
makepkg(8) empaquetara todo el directorio actual dentro de un paquete Slackware valido. Busca en el rbol los links simblicos y agrega un bloque de creacin al script de post-instalacin para que se creen durante la instalacin. Tambin advierte de cualquier archivo de cero-longitud en el rbol del paquete. Esta orden generalmente se ejecuta despus de que usted ha creado su rbol del paquete.

145

Creando Tags y Tagfiles (para la instalacion)


El programa de instalacin de Slackware maneja la instalacin de paquetes de software en su propio sistema. Hay archivos que le dicen al programa de instalacin que paquetes deben instalarse, cual son los opcionales, y cuales deben ser seleccionados por defecto. Un tagfile se encuentra en el primer directorio de series de software y se llama tagfile. Contiene una lista de todos los paquetes de esta serie y su estado. Los estados pueden ser: Tabla16-3. Opciones de estado de los tagfiles Opcion Significado ADD SKP REC El paquete es requerido por el sistema El paquete puede ser omitido automaticamente El paquete no es requerido, pero es recomendado

OPT El paquete es opcinal El formato es simple:


<package name>: <status>

Un paquete por la lnea. Se guardan los tagfiles originales para cada serie del software como tagfile.org. As que si usted desordena el suyo, usted puede restaurar el original. Muchos administradores prefieren escribir su propio tagfile y empezar la instalacin seleccionando "full". El programa de instalacin leer los tagfiles y realizara la instalacin de acuerdo a su contenido. Si usted utiliza REC o OPT, un cuadro de dialogo se le presentara para que usted tenga la posibilidad de instalar o no los paquetes especificado. Por consiguiente, se recomienda que usted solamente use ADD y SKP cuando crea sus tagfiles para una instalacin automtica. Solo asegrese que los tagfiles se encuentren en la misma ubicacin de los originales.

Resumen
Usted debe estar ahora familiarizado con lo que es un paquete de software y cmo stos se usan en Slackware. Usted debe estar familiarizado con las varias utilidades de manejo de paquetes y cmo usarlos. Las partes ms importantes de este captulo son cmo instalar, quitar, y actualizar paquetes. Ese es el uso ms comn de las utilidades de paquetes. Sin embargo, usted tambin debe tener un poco de conocimiento sobre como crear e inspeccionar paquetes

146

Capitulo 17. ZipSlack y BigSlack


contenido Qu es ZipSlack/BigSlack? Consiguiendo ZipSlack/BigSlack Instalacion Arrancando ZipSlack/BigSlack Agregando, Eliminando y actualizando Software Problemas Comunes Obteniendo Ayuda Resumen

Que es ZipSlack/BigSlack?
"ZipSlack" es una versin especial de Slackware Linux. Es una copia ya instalada de Slackware que esta lista para ejecutarse en DOS o en su particion Windows. Es una instalacion basica, usted no econtrara todo lo que viene en Slackware. Si usted quiere todo con ZipSlack, entonces usted debe usar "BigSlack." ZipSlack recibe su nombre debido a la forma en que es distribuido, un archivo .ZIP grande. Los usuarios de DOS y Windows probablemente estarn familiarizados con estos archivos. Ellos son archivos comprimidos. El archivo ZipSlack contiene todo lo que usted necesita ponerse en marcha con Slackware. Es importante hacer notar que ZipSlack y BigSlack son significativamente diferentes a una instalacin regular. Aunque funcionan de la misma forma y contiene los mismo programas, estan dirigidos a un publico diferente con funciones diferentes. Varias ventajas y desventajas de ZipSlack y BigSlack se describen debajo. Una ltima cosa, usted siempre debe repasar la documentacin incluida en el ZipSlack actual o en el directorio BigSlack. Este contiene la ltima informacin con respecto a la instalacin, arranque, y uso general del producto.

Ventajas

No requiere el reparticionamiento de su disco duro. Es una buena manera de aprender Slackware Linux sin tropezarse con el proceso de la instalacin.

Desventajas

Utiliza el sistemas de archivos de DOS, que es mas lento que una particon de Linux nativa No funciona bajo Windows NT.
147

Consiguiendo ZipSlack/BigSlack
Obtener ZipSlack o BigSlack es facil. Si usted ha comprado el set oficial Slackware Linux CD, entonces usted ya tiene ZipSlack y BigSlack. Simplemente encuentre el CD que contiene el que usted quiere y pngalo en su unidad de CD-ROM. Normalmente es el tercer o cuarto disco, pero siempre guiese por las etiquetas encima de esta documentacion. Si usted quiere descargar ZipSlack o BigSlack, usted debe visitar primero nuestra pagina "Get Slak" para la ltima informacin sobre la descarga: http://www.slackware.com/getslack/ ZipSlack y BigSlack son parte de cada lanzamiento de Slackware. Localice la version que usted quiere y valla a ese directorio en el sitio FTP: The latest release directory can be found at this location: ftp://ftp.slackware.com/pub/slackware/slackware/ Usted encontrara ZipSlack en el subdirectorio /zipslack y BigSlak en el directorio /bigslak. ZipSlack se presenta como un archivo .ZIP grande o en pequeos trozos del tamao de un disquete. Los pedazos se encuentran en el directorio /split. BigSlack solo se ofrece en pedazos. No solo descarge los archivos .ZIP. Usted tambin debe descargar los archivos de documentacion y cualquier imagen de booteo que consiga en el directorio.

Instalacion
Una vez que ha descargado los componentes necesarios, usted necsita extraer el archivo .ZIP (o los archivos que usted descargo por pedazos). Asegurese de usar un unzipper de 32-bit. El tamao y los nombres de los archivos son demasiado grandes para un unzipper de 16-bit. Algunos ejemplos de unzippers de 32-bit son el Winzip y el PKZIP para Windows. ZipSlak y BigSlak estan diseados para ser extraidos al directorio raiz de su unidad (como C: o D:) A \LINUX directory will be created that contains the actual Slackware installation. Usted tambien encontrara los archivos necesarios para el arranque en ese directorio. Despues de que usted ha extraido los archivos, usted debe tener un directorio\LINUX en la unidad de su eleccion (nosotros usaremso C: de aui en adelante).

Arrancando ZipSlack/BigSlack
Hay varias maneras de arrancar ZipSlack y BigSlack. La mas comun es usar el archvio LINUX.BAT incluido para arrancar el sistema desde DOS (o desde el modo DOS en Windows 9x). Este archvio debe editarse antes de que funcione para que coincida con su sistema.

148

Comienze abriendo el archivo C:\LINUX\LINUX.BAT en su editor de texto favorito. Al comienzo del archivo usted encontrara un comentario grande. Explica que es lo que usted debe editar en este archivo. No se procupe si usted no entiende la configuracion de root. Hay varios ejemplos, para que usted pueda escoger alguno y probarlo. Si no funciona, usted puede editar el archivo de nuevo, comentar de nuevo la linea que descomento y probar con otro. Despues de que usted descomente la linea que quiere quitandole el "rem" al comienzo de la linea guarde el archivo y cierre el editor. Arranque su maquina en modo DOS. Un prompt de DOS bajo Windows no le servira Escriba C:\LINUX\LINUX.BAT para arrancar el sistema. Si todo sale bien, usted debe encontrase con un prompt de inicio de sesion. Entre como root, sin contrasea. Usted querra probablemente colocar una contrasea para root, asi como agregar un usuario para usted. A estas alturas usted debe referirse a otros capitulos en este libro para ayuda general. Si usar el archvio LINUX.BAT para arrancar el sistema no le funciona, usted debe consultar el archivo C:\LINUX\README.1ST que trata sobre otras maneras de arrabcar el sistema.

Agregando, Eliminando y actualizando Software


ZipSlack y BigSlack utilizan los mismos paquetes que una instalacion normal de Slackware. Eso significa que usted puede usar las utilidades de paquetes normales para agregar, quitar y actualizar software. Usted puede incluso agregar paquetes directamente del CD de instalacion. Refirase a Captulo 16 para ms informacin.

Problemas Comunes
stos son los problemas ms comnes que encuentran los usuarios de ZipSlack y BigSlack. Nosotros ofrecemos varios otros mtodos de ayuda si su problema no se menciona aqu.

Unable to open initial console


Esto ocurre cuando se especifica la particion del dispositivo incorrecta para root= en el archivo LINUX.BAT. Edite de nuevo el archivo LINUX.BAT y escoga otra particion root=. Si usted no tiene absolutamente ninguna idea lo que esto significa, usted puede probar cada uno hasta que alguno le funcione correctamente.
149

Esto puede ocurri tambien cuando los archivos no son extraidos directamente al directorio raiz de la unidad. Los archivos necesitan ser extrados directamente a una unidad no a un subdirectorio.

Kernel panic: VFS : Unable to mount root fs


Esto significa que usted ha especificado un dispositivo equivocado para root= en el archivo LINUX.BAT. Usted necesita editar ese archivo de nuevo y escoger otro dispositivo para root=. Si usted no sabe cual de ellos es, simplemente pruebe con todos hasta que alguno logre funcionar.

Obteniendo Ayuda
Antes de pedir ayuda, usted debeeria revisar la documentacion que se incluye en el directorio C:\LINUX a ver si hay alguna respuesta a su pregunta. Si usted ha leido la documentacion y todavia sigue teniendo problemas, los metodos siguientes lograran resolver sus problemas.

ZipSlack FAQ
La lista de las preguntas y repuestas mas communes puede ser encontrada en el directorio C:\LINUX al igual que en la pagina: http://www.slackware.com/faq/

ZipSlack Foro de discusion


En el foro de discussion online usted puede hablar con otros usuarios de ZipSlack. Usted puede colocar sus preguntas asi como tambien puede responder las de otros. Es una gran manera de obtener ayuda directamente de los usuarios. http://www.slackware.com/forum/

Soporte Via Email


El equipo de soporte de Slackware tratara de ayudarlo si usted esta teniendo problemas con ZipSlack o BigSlack. Asegurese de describir claramente el problema e incluir toda la informacio que usted crea necesaria para resolver el problema.
<support@slackware.com>

Resumen
Usted debe entender lo que es ZipSlack y BigSlack. Si usted decide usar culquiera de ellos, usted debe saber instalar, arrancar, solucionar problemas y conseguir ayuda. ZipSlack y BigSlack pueden ser muy convenientes si usted solamente quiere probar Slackware, pero no quiere quitar sus particiones de Windows existentes.
150

Glosario
Account (cuenta) Toda la informacion sobre el usuario incluyendo el nombre de usuario , contrasea , informacion de contacto , UID y GID y el directorio home. Crear una cuenta es agregar y definir a un usuario. Background (Fondo o Segundo plano) Se dice que cualquier proceso que se esta ejecutando sin el control del terminal se esta ejecutando en el fondo. Boot disk (Disco de Inicio) Un disquete que contiene un sistema operativo (en nuestro caso, el kernel de Linux) desde donde se puede arrancar la computadora. Compile (Compilar) Convertir codigo fuente a codigo de maquina binario. Daemon (Demonio) Un programa diseado para ejecutarse en el fondo, sin la intervencin del usuario, y realizar una tarea especifica (usualmente proveer un servicio). Darkstar El hostname por defecto en Slackware; su computadora sera llamada darkstar si usted no especifica un nombre. Una de las maquinas fabricadas por Patrick Volkerding's, fue llamada Dark Star, una cancin de Grateful Dead. Desktop Environment (Entorno de Escritorio) Una interfaz grfica del usuario (el GUI) que se ejecuta en el X Window System y proporciona integracin entre las aplicaciones, un look parecido en todas las aplicaciones, componentes y archivos capacidad de manejo de ventana, etc. Un paso ms all del gestor de ventanas simple. Device driver (Controlador de Dispositivos) Es un pedaso de codigo en el kernel que se encarga de controlar piezas del hardware. Device node (Nodo del Dispositivo) Un tipo especial de archivo en el /dev filesystem que representa un componente del hardware en el sistema operativo. DNS Servicio de Nombres de Dominios. Un sistema con computadoras conectadas en red se le asignan nombres que son convertidos a direcciones numericas. Domain name (Nombre del dominio) El nombre DNS de una computadora, excluyendo el nombre del host. Dot file (Archivo de punto) En Linux, los archivos ocultas comienzan con un punto .. Dotted quad (quad punteado) El formato de las direcciones IP, se llaman asi por que constan de cuatro numeros (de rango 0-255) separados por puntos.

151

Dynamic loader (Cargador Dinamico) Cuando se compila un programa bajo Linux, usualmente ellos incluyen pedasos de codigos (funciones) de librerias externas. Cuando se ejecuta dicho programa, estas librerias deben encontrarse y las funciones requeridas deben ser cargadas en memoria.Ese es el trabajo de un cargador dinamico. Environment variable (Variable de entorno) Una variable colocada en el shell del ususario que puede ser usada por ese usuario o por los programas que ejecuta ese ususario en ese shell. Las variables de entorno generalmente almacenan preferencias del ususario y valores por defecto. Epoch (Epoca) Un periodo en la historia; en Unix, The Epoch comenzo a las 00:00:00 UTC Enero 1, 1970. Esto es considerado el "principio del tiempo" en Unix y en sistemas basados en Unix, y cualquier otros tiempo similar es calculado en base a esta fecha. Filesystem (Sistema de Archivos) Una representacion de los datos guardados en donde los archivos de datos se guardan organizadamente en directories. El filesystem es la forma universal de representar datos guardados en discos (fijos y removibles). Foreground (Primer Plano) Se dice que un programa que esta recibiendo o controlando la entrda desde un terminal se esta ejecutando en primer plano. Framebuffer Un tipo de dispositivo grafico; en Linux, esto se refiere al software framebuffer, que proporciona una interfaz standard de framebuffer a los programas y oculta los drivers especificos del hardware a ellos. Esta capa de abstraccion libera a los porgramas de la necesidad de hablar con los diferentes controladores de Hardware. FTP Protocolo de Transferencia de Archivos. FTP es un mtodo muy popular de transferir datos entre las computadoras. Gateway (puerta de enlace) Una computadora a traves de la cual se transmiten datos a otra red. GID Identificador de Grupo. El GID es un nmero nico asignado a un grupo de usuarios. Group (Grupo) Los usuarios en el Unix pertenecen a" grupos" que pueden contener a muchos otros usuarios. GUI Interfaz grafica de usuario. Una inerfaz de software que usas elementos graficos como botones, barras de desplazamiento, ventanas, etc. en lugar de una entrada y salida basada en texto. Home directory (Directorio Home) El home directory de un ususario es el directorio donde sera colocado el ususario cada vez que inicie session. Los usuarios tienen full permisos y un regimen mas libre dentro de su directorio home.

152

HOWTO (Como Hacer) Un documento que describe cmo hacer algo, como configurar un firewall o manejar usuarios y grupos. Hay una gran coleccin de estos documentos disponible en Linux Documentation Project. HTTP Protocolo de transferencia de hipertexto. HTTP es el protocolo primario en que el World Wide Web opera. ICMP Protocolo de Control de mensajes de internet. Un protocolo de red muy basico, usado principalmente para los ping. Kernel El corazn de un sistema operativo. El kernel es la parte que proporciona un control basico de procesos e interfaces del hardware de la computadora Kernel module (Modulo del Kernel) Una pedazo de codigo Kernel, normalmente algun tipo de controlador, que puede cargarse y descargarse separado del cuerpo principal del kernel. Los modulos son utiles cuando se actualiza un controlador o cuando se prueban las configuraciones del kernel, porque ellos pueden cargarse y descargarse sin necesidad de reiniciar. Library (Libreria) Una coleccin de funciones que pueden compartirse entre los programas. LILO El Cargador de Linux (LInux LOader. LILO es el gestor de arranque mas usado en Linux. LOADLIN LOADLIN es un programa que corre bajo MS DOS o Windows y puede iniciar un sistema Linux. Normalmente es usado en computadoras con multiples sistemas operativos.(incluyendo Linux y DOS/Windows, por suspuesto). Man section (Seccion del Manual) Las paginas del manual de Unix standard ("man") se agrupan en secciones para hacer mas facil la referencia. Todas las paginas de progrmacion C estan en la seccion 3, La administracion del sistema en la seccion 5, etc. MBR El Registro de Arranque Principal. Un espacio reservado en una unidad de disco duro dnde se guarda informacio sobre que hacer al momento del arranque. Pueden escribirse LILO y otros gestores de inicio aqu. Motif Un juego de herramientas de programacion usadas en muchos programas X viejos. MOTD Mensaje del dia. El motd (Almacenado en Linux en: /etc/motd) es un archivo de texto que se muestra a todos los ususarios que inicien session ese dia. Mount point (Punto de Montaje) Un directorio vaco en un filesystem dnde otro filesystem ser montado", o anexado.
153

Nameserver (Servidor de Nombres) Un servidor de informacion DNS. Los Nameservers traducen los nombres DNS a direcciones IP numricas. Network interface (Interfaz de Red) Una representacin virtual de un dispositivo de red proporcionada por el Kernel. Las interfaz de red permite conectar usuarios y programas. NFS Sistema de Archivos deRed. NFS le permite montar filesystem remotos como si ellos fueran locales en su computadora y asi proporcionar un metodo transparente de compartir archivos. Octal Sistema numerico de base-8, con los numeros 0-7. Pager Un programa de X que le permite al usuario ver y cambiar entre los multiples escritorios Partition (Particion) divisin de una unidad de disco duro. Los filesystem se montan encima de las particiones. PPP El Protocolo de punto-a-punto. PPP se usa principalmente por conectar va mdem a un Proveedor de servicios de Internet. Process (Proceso) Un programa ejecutandose. Root directory (Directorio raiz) Representado por un" /", el directorio raz esta en el tope del filesystem, todos los otros directorios son ramas creadas desde el en el arbol de directorios). Root disk (Disco root) El disco donde se guarda el directorio raiz. Routing table (tabla de Routing) La configuracion de la informacion que utilizara el kernel para el routing de los datos que se manejan en una red. Contiene una cantidad de tidbits que indican donde esta su gateway por defecto, que interfaz de red esta conectada, etc. Runlevel (Nivel de ejecucion) El estado general del sistema es definido por el init. Runlevel 6 es reiniciar, runlevel 1 es el modo de un solo usuario ("single user mode"), runlevel 4 es un inicio de sesion en X, hay seis runleveles disponibles en su sistema Slackware. Secure shell (Shell seguro) Un metodo encriptado de iniciar sesion en una computadora remota. Muchos programas de shell seguro estan disponibles. Service (Servicio) Se utilizan cuando se comparte informacion y/o datos de un solo "servidor" a multiples "clientes". HTTP,FTP,NFS,etc son servicios. Shadow password suite (Paquete de contraseas Shadow) El pauete de contraseas Shadow permite esconder las contraseas encriptadas de los ususarios, mientras el resto de la informacion del archivo /etc/passwd permanece visible a todos. Esto protege de los intentos de fuerza-bruta.
154

Shell Los Shells proporcionan una interfaz de linea de comando al ususario. Cuando usted esta mirando un prompt de texto, usted esta en un shell. Shell builtin Un comando construido en el shell, es distinto de un comando proporcionado por un programa externo. Por ejemplo, bash tiene un cd builtin. Signal (Signo) Los programas Unix pueden comunicarse con otros usando signos "simples", que estan enumerados y usualmente tienen un significado especifico. el comando kill -l muestra una lista de los signos disponibles. SLIP Protocolo de Interfaz de linea en serie. SLIP es un protocolo similar a PPP, que se usa para conectar dos maquinas a traves del puerto serial. Software package (Paquete de Software) Un programa y sus archivos asociados, se archivan y comprimen en un solo archivo junto a cualquier script necesario o informacion de ayuda para manejar la instalacion, actualizacion y eliminacion de estos archivos Software series (Series de Software) Una coleccin de paquetes de software relacionados en Slackware. Todos los paquetes de KDE estn en la serie "kde", mientras que los paquetes de red se encuentran en la serie "n", etc. Source code (Codigo Fuente) El codigo (mas o menos) entendible al humano en que se escriben la mayoria de los programas. El cdigo fuente es compilado luego en "cdigo binario." Standard Error (stderr) La salida normal Unix para los errores. Los Programas escriben cualquier mensaje del error en el stderr, para que ellos puedan separarse del rendimiento normal. Standard Input (stdin) La entrada Unix standard. Los datos pueden ser redireccionados o manejados por tuberias en el programa stdin desde cualquier fuente. Standard Output (stdout) La salida Unix standard. El texto de salida normal de un programa se escribe en stdout que est separado de los mensajes del error reportados en stderr. Subnet Un rango de direccin IP que es parte de un rango ms grande. Por ejemplo, 192.168.1.0 es una subred de 192.168.0.0 (donde 0 es una mascara que significa "indefinido"); es, de hecho, el" .1" subred. Superblock En Linux, se habla de particiones en terminos de bloques. Un bloque son 512 bytes. Superblock son los primeros 512 bytes de una particion. Supplemental disk (Disco supplemental) En Slackware, se utiliza un disquete que no contiene el kernel ni el root filesystem pero cuenta con archivos adicionales necesarios como los modulos de red o soprte para PCMCIA
155

Suspended process (Proceso suspendido) Un proceso que ha sido matado, congelado o detenido. Swap space (Espacio Swap) Espacio en disco usado por el kernel como un "RAM virtual". Es ms lento que la RAM, pero como el espacio en disco es ms barato, el swap es normalmente ms abundante. Symbolic link (Link simbolico) Un archivo especial que simplemente conduce a la ubicacion de otro archivo. Tagfile Un archivo usado durante la instalacion de Slackware que indica que paquetes van a ser instalados. Terminal Una interfaz humano-computadora que consiste en por lo menos una pantalla (o la pantalla virtual) y algn mtodo de entrada (casi siempre por lo menos un teclado). Toolkit, GUI Un juego de herramientas del GUI es una coleccin de bibliotecas que le proporcionan el cdigo a un programador para dibujar widgets" como las barras de desplazamiento, casillas de verificacin, etc. y construir una interfaz grfica. El juego de herramientas del GUI es usado a menudo por un programa para definir como lucira. UID identificador de usuario. Un nico nmero que identifica a un usuario en el sistema. VESA Asociasion de Normas de Video Electronico. El trmino VESA" se usa a menudo para especificar una norma de la Asociacin. Casi todos los adaptadores de video modernos son VESA-compatibles. Virtual terminal (Terminal Virtual) El uso de software para simular multiples terminales, utilizando un solo juego de dispositivos de entrada y salida (teclado,monitor,mouse). Window manager (Gestor de Ventanas) Un progrma de X cuyo proposito es proporcionar una interfaz grafica mas alla de un simple rectangulo dibujado en el X Window System. Los gestores de ventanas por lo general proporcionan barras de titulo, menus para los programas, etc. Working directory (Directorio de Trabajo) El directorio donde se esta ejecutando un programa. Wrapper program Un programa cuyo solo propsito es ejecutar otros programas, pero cambiado su conducta de alguna manera alterando sus ambientes o filtrando su entrada. X server (Servidor X) El programa en el X Window System que une el hardware grafico con los programas que se ejecutan bajo X. X Window System El sistema de la interfaz grfica orientado a red usado en la mayora de los sistemas basados en Unix , incluyendo Linux

156

Licencia Pblica GNU


Esta es la conocida GNU Public License (GPL), versin 2 (de junio de 1.991), que cubre la mayor parte del software de la Free Software Foundation, y muchos ms programas. NOTA IMPORTANTE: Esta es una traduccin no oficial al espaol de la GNU General Public License. No ha sido publicada por la Free Software Foundation, y no establece legalmente las condiciones de distribucin para el software que usa la GNU GPL. Estas condiciones se establecen solamente por el texto original, en ingls, de la GNU GPL. Sin embargo, esperamos que esta traduccin ayude a los hispanohablantes a entender mejor la GNU GPL. IMPORTANT NOTICE: This is an unofficial translation of the GNU General Public License into Spanish. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Spanish speakers understand the GNU GPL better. Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, EEUU Se permite la copia y distribucin de copias literales de este documento, pero no se permite su modificacin.

Prembulo
Las licencias que cubren la mayor parte del software estn diseadas para quitarle a usted la libertad de compartirlo y modificarlo. Por el contrario, la Licencia Pblica General de GNU pretende garantizarle la libertad de compartir y modificar software libre, para asegurar que el software es libre para todos sus usuarios. Esta Licencia Pblica General se aplica a la mayor parte del software del la Free Software Foundation y a cualquier otro programa si sus autores se comprometen a utilizarla. (Existe otro software de la Free Software Foundation que est cubierto por la Licencia Pblica General de GNU para Bibliotecas). Si quiere, tambin puede aplicarla a sus propios programas. Cuando hablamos de software libre, estamos refirindonos a libertad, no a precio. Nuestras Licencias Pblicas Generales estn diseadas para asegurarnos de que tenga la libertad de distribuir copias de software libre (y cobrar por ese servicio si quiere), de que reciba el cdigo fuente o que pueda conseguirlo si lo quiere, de que pueda modificar el software o usar fragmentos de l en nuevos programas libres, y de que sepa que puede hacer todas estas cosas.
157

Para proteger sus derechos necesitamos algunas restricciones que prohiban a cualquiera negarle a usted estos derechos o pedirle que renuncie a ellos. Estas restricciones se traducen en ciertas obligaciones que le afectan si distribuye copias del software, o si lo modifica. Por ejemplo, si distribuye copias de uno de estos programas, sea gratuitamente, o a cambio de una contraprestacin, debe dar a los receptores todos los derechos que tiene. Debe asegurarse de que ellos tambin reciben, o pueden conseguir, el cdigo fuente. Y debe mostrarles estas condiciones de forma que conozcan sus derechos. Protegemos sus derechos con la combinacin de dos medidas:

1. Ponemos el software bajo copyright 2. le ofrecemos esta licencia, que le da permiso legal para copiar, distribuir y/o modificar el software.

Tambin, para la proteccin de cada autor y la nuestra propia, queremos asegurarnos de que todo el mundo comprende que no se proporciona ninguna garanta para este software libre. Si el software se modifica por cualquiera y ste a su vez lo distribuye, queremos que sus receptores sepan que lo que tienen no es el original, de forma que cualquier problema introducido por otros no afecte a la reputacin de los autores originales. Por ltimo, cualquier programa libre est constantemente amenazado por patentes sobre el software. Queremos evitar el peligro de que los redistribuidores de un programa libre obtengan patentes por su cuenta, convirtiendo de facto el programa en propietario. Para evitar esto, hemos dejado claro que cualquier patente debe ser pedida para el uso libre de cualquiera, o no ser pedida. Los trminos exactos y las condiciones para la copia, distribucin y modificacin se exponen a continuacin.

Trminos y condiciones para la copia, distribucin y modificacin


1. Esta Licencia se aplica a cualquier programa u otro tipo de trabajo que contenga una nota colocada por el tenedor del copyright diciendo que puede ser distribuido bajo los trminos de esta Licencia Pblica General. En adelante, Programa se referir a cualquier programa o trabajo que cumpla esa condicin y trabajo basado en el Programa se referir bien al Programa o a cualquier trabajo derivado de l segn la ley de copyright. Esto es, un trabajo que contenga el programa o una procin de l, bien en forma literal o con modificaciones y/o traducido
158

en otro lenguaje. Por lo tanto, la traduccin est incluida sin limitaciones en el trmino modificacin. Cada concesionario (licenciatario) ser denominado usted. Cualquier otra actividad que no sea la copia, distribucin o modificacin no est cubierta por esta Licencia, est fuera de su mbito. El acto de ejecutar el Programa no est restringido, y los resultados del Programa estn cubiertos nicamente si sus contenidos constituyen un trabajo basado en el Programa, independientemente de haberlo producido mediante la ejecucin del programa. El que esto se cumpla, depende de lo que haga el programa. 2. Usted puede copiar y distribuir copias literales del cdigo fuente del Programa, segn lo has recibido, en cualquier medio, supuesto que de forma adecuada y bien visible publique en cada copia un anuncio de copyright adecuado y un repudio de garanta, mantenga intactos todos los anuncios que se refieran a esta Licencia y a la ausencia de garanta, y proporcione a cualquier otro receptor del programa una copia de esta Licencia junto con el Programa. Puede cobrar un precio por el acto fsico de transferir una copia, y puede, segn su libre albedro, ofrecer garanta a cambio de unos honorarios. 3. Puede modificar su copia o copias del Programa o de cualquier porcin de l, formando de esta manera un trabajo basado en el Programa, y copiar y distribuir esa modificacin o trabajo bajo los trminos del apartado 1, antedicho, supuesto que adems cumpla las siguientes condiciones: 1. Debe hacer que los ficheros modificados lleven anuncios prominentes indicando que los ha cambiado y la fecha de cualquier cambio. 2. Debe hacer que cualquier trabajo que distribuya o publique y que en todo o en parte contenga o sea derivado del Programa o de cualquier parte de l sea licenciada como un todo, sin carga alguna, a todas las terceras partes y bajo los trminos de esta Licencia. 3. Si el programa modificado lee normalmente rdenes interactivamente cuando es ejecutado, debe hacer que, cuando comience su ejecucin para ese uso interactivo de la forma ms habitual, muestre o escriba un mensaje que incluya un anuncio de copyright y un anuncio de que no se ofrece ninguna garanta (o por el contrario que s se ofrece garanta) y que los usuarios pueden redistribuir el programa bajo estas condiciones, e indicando al usuario cmo ver una copia de esta licencia. (Excepcin: si el propio programa es interactivo pero normalmente no muestra ese anuncio, no se requiere que su trabajo basado en el Programa muestre ningn anuncio). Estos requisitos se aplican al trabajo modificado como un todo. Si partes identificables de ese trabajo no son derivadas del Programa, y pueden, razonablemente, ser consideradas trabajos independientes y separados por ellos mismos, entonces esta Licencia y sus trminos no
159

se aplican a esas partes cuando sean distribuidas como trabajos separados. Pero cuando distribuya esas mismas secciones como partes de un todo que es un trabajo basado en el Programa, la distribucin del todo debe ser segn los trminos de esta licencia, cuyos permisos para otros licenciatarios se extienden al todo completo, y por lo tanto a todas y cada una de sus partes, con independencia de quin la escribi. Por lo tanto, no es la intencin de este apartado reclamar derechos o desafiar sus derechos sobre trabajos escritos totalmente por usted mismo. El intento es ejercer el derecho a controlar la distribucin de trabajos derivados o colectivos basados en el Programa. Adems, el simple hecho de reunir un trabajo no basado en el Programa con el Programa (o con un trabajo basado en el Programa) en un volumen de almacenamiento o en un medio de distribucin no hace que dicho trabajo entre dentro del mbito cubierto por esta Licencia. 4. Puede copiar y distribuir el Programa (o un trabajo basado en l, segn se especifica en el apartado 2, como cdigo objeto o en formato ejecutable segn los trminos de los apartados 1 y 2, supuesto que adems cumpla una de las siguientes condiciones: 1. Acompaarlo con el cdigo fuente completo correspondiente, en formato electrnico, que debe ser distribuido segn se especifica en los apartados 1 y 2 de esta Licencia en un medio habitualmente utilizado para el intercambio de programas, o 2. Acompaarlo con una oferta por escrito, vlida durante al menos tres aos, de proporcionar a cualquier tercera parte una copia completa en formato electrnico del cdigo fuente correspondiente, a un coste no mayor que el de realizar fsicamente la distribucin del fuente, que ser distribuido bajo las condiciones descritas en los apartados 1 y 2 anteriores, en un medio habitualmente utilizado para el intercambio de programas, o 3. Acompaarlo con la informacin que recibiste ofreciendo distribuir el cdigo fuente correspondiente. (Esta opcin se permite slo para distribucin no comercial y slo si usted recibi el programa como cdigo objeto o en formato ejecutable con tal oferta, de acuerdo con el apartado b anterior). Por cdigo fuente de un trabajo se entiende la forma preferida del trabajo cuando se le hacen modificaciones. Para un trabajo ejecutable, se entiende por cdigo fuente completo todo el cdigo fuente para todos los mdulos que contiene, ms cualquier fichero asociado de definicin de interfaces, ms los guiones utilizados para controlar la compilacin e instalacin del ejecutable. Como excepcin especial el cdigo fuente distribuido no necesita incluir nada que sea distribuido normalmente (bien como fuente, bien en forma binaria) con los componentes principales (compilador, kernel y similares) del sistema operativo en el cual funciona el ejecutable, a no ser que el propio
160

componente acompae al ejecutable. Si la distribucin del ejecutable o del cdigo objeto se hace mediante la oferta acceso para copiarlo de un cierto lugar, entonces se considera la oferta de acceso para copiar el cdigo fuente del mismo lugar como distribucin del cdigo fuente, incluso aunque terceras partes no estn forzadas a copiar el fuente junto con el cdigo objeto. No puede copiar, modificar, sublicenciar o distribuir el Programa excepto como prev expresamente esta Licencia. Cualquier intento de copiar, modificar sublicenciar o distribuir el Programa de otra forma es invlida, y har que cesen automticamente los derechos que te proporciona esta Licencia. En cualquier caso, las partes que hayan recibido copias o derechos de usted bajo esta Licencia no cesarn en sus derechos mientras esas partes continen cumplindola. 5. No est obligado a aceptar esta licencia, ya que no la ha firmado. Sin embargo, no hay hada ms que le proporcione permiso para modificar o distribuir el Programa o sus trabajos derivados. Estas acciones estn prohibidas por la ley si no acepta esta Licencia. Por lo tanto, si modifica o distribuye el Programa (o cualquier trabajo basado en el Programa), est indicando que acepta esta Licencia para poder hacerlo, y todos sus trminos y condiciones para copiar, distribuir o modificar el Programa o trabajos basados en l. 6. Cada vez que redistribuya el Programa (o cualquier trabajo basado en el Programa), el receptor recibe automticamente una licencia del licenciatario original para copiar, distribuir o modificar el Programa, de forma sujeta a estos trminos y condiciones. No puede imponer al receptor ninguna restriccin ms sobre el ejercicio de los derechos aqu garantizados. No es usted responsable de hacer cumplir esta licencia por terceras partes. 7. Si como consecuencia de una resolucin judicial o de una alegacin de infraccin de patente o por cualquier otra razn (no limitada a asuntos relacionados con patentes) se le imponen condiciones (ya sea por mandato judicial, por acuerdo o por cualquier otra causa) que contradigan las condiciones de esta Licencia, ello no le exime de cumplir las condiciones de esta Licencia. Si no puede realizar distribuciones de forma que se satisfagan simultneamente sus obligaciones bajo esta licencia y cualquier otra obligacin pertinente entonces, como consecuencia, no puede distribuir el Programa de ninguna forma. Por ejemplo, si una patente no permite la redistribucin libre de derechos de autor del Programa por parte de todos aquellos que reciban copias directa o indirectamente a travs de usted, entonces la nica forma en que podra satisfacer tanto esa condicin como esta Licencia sera evitar completamente la distribucin del Programa. Si cualquier porcin de este apartado se considera invlida o imposible de cumplir bajo cualquier circunstancia particular ha de cumplirse el resto y la seccin por entero ha de cumplirse en cualquier otra circunstancia. No es el propsito de este apartado inducirle a infringir ninguna reivindicacin de patente ni de ningn otro derecho de propiedad o impugnar la validez de ninguna de dichas reivindicaciones.
161

Este apartado tiene el nico propsito de proteger la integridad del sistema de distribucin de software libre, que se realiza mediante prcticas de licencia pblica. Mucha gente ha hecho contribuciones generosas a la gran variedad de software distribuido mediante ese sistema con la confianza de que el sistema se aplicar consistentemente. Ser el autor/donante quien decida si quiere distribuir software mediante cualquier otro sistema y una licencia no puede imponer esa eleccin. Este apartado pretende dejar completamente claro lo que se cree que es una consecuencia del resto de esta Licencia. 8. Si la distribucin y/o uso de el Programa est restringida en ciertos pases, bien por patentes o por interfaces bajo copyright, el tenedor del copyright que coloca este Programa bajo esta Licencia puede aadir una limitacin explcita de distribucin geogrfica excluyendo esos pases, de forma que la distribucin se permita slo en o entre los pases no excluidos de esta manera. En ese caso, esta Licencia incorporar la limitacin como si estuviese escrita en el cuerpo de esta Licencia. 9. La Free Software Foundation puede publicar versiones revisadas y/o nuevas de la Licencia Pblica General de tiempo en tiempo. Dichas nuevas versiones sern similares en espritu a la presente versin, pero pueden ser diferentes en detalles para considerar nuevos problemas o situaciones. &nbps; Cada versin recibe un nmero de versin que la distingue de otras. Si el Programa especifica un nmero de versin de esta Licencia que se refiere a ella y a cualquier versin posterior, tienes la opcin de seguir los trminos y condiciones, bien de esa versin, bien de cualquier versin posterior publicada por la Free Software Foundation. Si el Programa no especifica un nmero de versin de esta Licencia, puedes escoger cualquier versin publicada por la Free Software Foundation. 10. Si quiere incorporar partes del Programa en otros programas libres cuyas condiciones de distribucin son diferentes, escribe al autor para pedirle permiso. Si el software tiene copyright de la Free Software Foundation, escribe a la Free Software Foundation: algunas veces hacemos excepciones en estos casos. Nuestra decisin estar guiada por el doble objetivo de de preservar la libertad de todos los derivados de nuestro software libre y promover el que se comparta y reutilice el software en general. AUSENCIA DE GARANTA 12. Como el programa se licencia libre de cargas, no se ofrece ninguna garanta sobre el programa, en todas la extensin permitida por la legislacin aplicable. Excepto cuando se indique de otra forma por escrito, los tenedores del copyright y/u otras partes proporcionan el programa tal cual, sin garanta de ninguna clase, bien expresa o implcita, con inclusin, pero sin limitacin a las garantas mercantiles
162

implcitas o a la conveniencia para un propsito particular. Cualquier riesgo referente a la calidad y prestaciones del programa es asumido por usted. Si se probase que el Programa es defectuoso, asume el coste de cualquier servicio, reparacin o correccin. 13. En ningn caso, salvo que lo requiera la legislacin aplicable o haya sido acordado por escrito, ningn tenedor del copyright ni ninguna otra parte que modifique y/o redistribuya el Programa segn se permite en esta Licencia ser responsable ante usted por daos, incluyendo cualquier dao general, especial, incidental o resultante producido por el uso o la imposibilidad de uso del Programa (con inclusin, pero sin limitacin a la prdida de datos o a la generacin incorrecta de datos o a prdidas sufridas por usted o por terceras partes o a un fallo del Programa al funcionar en combinacin con cualquier otro programa), incluso si dicho tenedor u otra parte ha sido advertido de la posibilidad de dichos daos.

FIN DE TRMINOS Y CONDICIONES

Apndice: Cmo aplicar estos trminos a sus nuevos programas.


para el pblico en general, la mejor forma de conseguirlo es convirtindolo en software libre que cualquiera pueda redistribuir y cambiar bajo estos trminos. Para hacerlo, aada los siguientes anuncios al programa. Lo ms seguro es aadirlos al principio de cada fichero fuente para transmitir lo ms efectivamente posible la ausencia de garanta. Adems cada fichero debera tener al menos la lnea de copyright y un indicador a dnde puede encontrarse el anuncio completo. <una lnea para indicar el nombre del programa y una rpida idea de qu hace.> Copyright (C) 19aa <nombre del autor Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los trminos de la Licencia Pblica General de GNU segn es publicada por la Free Software Foundation, bien de la versin 2 de dicha Licencia o bien (segn su eleccin) de cualquier versin posterior. &bnsp;

Este programa se distribuye con la esperanza de que sea til, pero SIN NINGUNA GARANTA, incluso sin la garanta MERCANTIL implcita o sin garantizar la CONVENIENCIA PARA UN PROPSITO PARTICULAR. Vase la Licencia Pblica General de GNU para ms detalles.
163

Debera haber recibido una copia de la Licencia Pblica General junto con este programa. Si no ha sido as, escriba a la Free Software Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU. Aada tambin informacin sobre cmo contactar con usted mediante correo electrnico y postal.

Si el programa es interactivo, haga que muestre un pequeo anuncio como el siguiente, cuando comienza a funcionar en modo interactivo: Gnomovision versin 69, Copyright (C) 19aa nombre del autor

Gnomovision no ofrece ABSOLUTAMENTE NINGUNA GARANTA. Para ms detalles escriba show w. Los comandos hipotticos show w y show c deberan mostrar las partes adecuadas de la Licencia Pblica General. Por supuesto, los comandos que use pueden llamarse de cualquier otra manera. Podran incluso ser pulsaciones del ratn o elementos de un men (lo que sea apropiado para su programa). Tambin deberas conseguir que su empleador (si trabaja como programador) o tu Universidad (si es el caso) firme un renuncia de copyright para el programa, si es necesario. A continuacin se ofrece un ejemplo, altere los nombres segn sea conveniente:

Yoyodyne, Inc. mediante este documento renuncia a cualquier inters de derechos de copyright con respecto al programa Gnomovision (que hace pasadas a compiladores) escrito por Pepe Programador. <firma de Pepito Grillo>, 20 de diciembre de 1996 Pepito Grillo, Presidente de Asuntillos Varios.

Esta Licencia Pblica General no permite que incluya sus programas en programas propietarios. Si su programa es una biblioteca de subrutinas, puede considerar ms til el permitir el enlazado de aplicaciones propietarias con la biblioteca. Si este es el caso, use la Licencia Pblica General de GNU para Bibliotecas en lugar de esta Licencia.
164