Professional Documents
Culture Documents
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
Resumen
15. vi
Iniciando vi
Modos
Abriendo Archivos
Guardando Archivos
Cerrando vi
Configuracin de vi
Teclas del vi
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
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.
Contenido
Seccin 1
Seccin 2
Seccin 3
Funciones de la librera de C
Seccin 4
Seccin 5
Seccin 6
Seccin 7
Seccin 8
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.
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).
Informacin
telfono
1-800-786-9907
website
http://www.slackware.com
<orders@slackware.com>
snail mail
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
Requiere
Procesador
386
RAM
16 MB
1.44 MB
Contenido
AP
all..
DES
GNU emacs.
GTK
KDE
TCL
XAP
XD
XV
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
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.
14
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.
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
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.
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.
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
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.
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
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
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
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
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
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
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
rc.0
Inicio Multiusuario (runlevel 4), pero con X11 con KDM, GDM, o XDM
como gestor de inicio de sesion.
rc.6
32
rc.font
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.
Proposito
System.map
bzImage (o zImage)
config
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.
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
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
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
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.
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:
41
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
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.
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.
46
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
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
/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
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
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
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
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
54
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
56
57
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)
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
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 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
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
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
63
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
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
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
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
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 &
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
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
@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
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
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:
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
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
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
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
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:
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
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 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
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
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
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
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
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
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
Valor Octal
Valor en Letras
"sticky" bit
set user ID
set group ID
leer
escribir
ejecutar
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
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
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
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
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
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
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
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
ls
cd
more
less
cat
touch
echo
mkdir
ln
cp
mv
rm
rmdir
Resumen
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
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$
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
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
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
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
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
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
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
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
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>
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
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
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 &
$ bg
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
/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
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]
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]
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
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
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
106
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
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
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
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...
110
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
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:
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
113
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
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
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
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
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
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>
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:
"
"
"
"
"
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
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
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
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
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
125
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
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
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
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
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
$ bzip2 -d infile.bz2
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 -
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
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 *
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
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
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
Un carcter a la izquierda
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.
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
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
Tecla
Izquierda,abajo,arriba,derecha h, j, k, l
Hasta el final de la linea
:1
Hasta la linea 47
:47
Operacion
Tecla
dd
5dd
Reemplazar un caracter
Eliminar un caracter
10x
Operacion
Tecla
Buscar asdf
/asdf
?asdf
Operacin
Tecla
Cerrar
:q
:q!
Guardar y cerrar
:wq
:w
:e!
: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
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.
142
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
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>
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
SKP
REC
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
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
Desventajas
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
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.
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.
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/
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
152
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
156
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
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.