junio 20, 2007

SERVIDOR PROXY EN LINUX

INSTALACION DE LINUX CON UNA CONFIGURACION DE SERVIDOR


Un componente clave del éxito de Linux ha sido la mejora significativa en las herramientas de nstalación. Lo que alguna vez fue un proceso un poco aterrador, Se ha convertido ahora en algo casi trivial. La mejora en las diferentes maneras en las que usted puede instalar el software ha sido aun mejor; aunque los CD-ROM sean la opción más común todavía, no son la única. Las instalaciones por medio de una red son parte de la lista de opciones por omisi6n y pueden ser muy convenientes cuando se va a instalar un gran número de hosts.

PISTA En el lenguaje de UNIX (0 Linux), un host es cualquier computadora en una red, sin considerar si está trabajando como un servidor de algún tipo o como estación de trabajo.

La mayoría de las configuraciones por omisión en las que puede instalarse Linux ya son capaces de crear un servidor. Desafortunadamente, esto es debido a una decisión de diseño li­geramente ingenua: un servidor proporciona servicios a todos -desde servicios de disco hasta impresoras, correo, noticias, casi a todo-. A menudo, estos servicios se encuentran activos desde el principio, dependiendo de la distribuci6n que utilice y si se instaló como estación de trabajo o servidor. Como usted sabe, la realidad de la mayoría de los servidores es que están exclusiva­mente dedicados a llevar a cabo una o dos tareas y cualquier otro servicio instalado simplemente consume espacio en la memoria y reduce el desempeño.

Este capitulo analiza el proceso de instalaci6n de Red Hat Enterprise Linux ES en la medida que tiene que ver con los servidores. Este proceso requiere dos cosas: establecer la diferencia en­tre servidores y estaciones de trabajo del cliente y acelerar la operación de un servidor con base en su propósito.

PISTA Con una variedad de distribuciones Linux disponibles, ¿por qué este análisis se enfoca en Red Hat? La respuesta es simple: Red Hat es popular y técnicamente atractivo. Es muy amigable para muchos tipos de usuarios y usos y, si usted tiene que instalarlo por primera vez, también es amigable al usuario. (¡Que toda la distribución este disponible gratis en Internet es solo una ventaja más!). Conforme se vuelva experto en Linux, podrá encontrar otras distribuciones interesantes y analizarlas. Después de todo, es una de las ventajas de los usuarios de Linux dondequiera que la libertad de elección sea algo crucial. Usted no deber sentirse atrapado con un sistema propietario.


CONFIGURAR EL HARDWARE DE LA COMPUTADORA PARA LINUX

Antes de que usted inicie la fase de instalaci6n en si, evalúe dos cosas importantes:

¿Con que hardware correrá el sistema?
¿Como deberá configurar el servidor para ofrecer los servicios que necesita de el?

Comencemos examinando los problemas relativos al hardware.

Hardware
Como en cualquier sistema operativo, es prudente determinar que configuraciones de hardware pueden funcionar antes de comenzar un proceso de instalación. Cada proveedor comercial publica una lista de compatibilidad de hardware (HCL) que esta disponible en su sitio web. Asegúrese de adquirir las versiones mas actuales de ellas, a fin de que esté seguro de que el proveedor proporcionará soporte a todo el hardware que va a utilizar. En general, la mayoría de las configuraciones mas populares que se basan en Intel funcionan sin ninguna dificultad. La pagina web de la lista de compatibilidad de hardware de Red Hat se encuentra en http://bugzilla.redhat.com/hwcert, y para el Linux SUSE de Novell, puede encontrarla en http://de­veloper.novell.com/yessearch/Search.jsp.

Una sugerencia general que se aplica a todos los sistemas operativos es evitar configuracio­nes de hardware y software muy arriesgadas. Aunque estas parezcan muy impresionantes, no han experimentado el proceso de maduración que parte del hardware ligeramente más antiguo ha sufrido. Para los servidores, la tentación de utilizar una configuración muy arriesgada ge­neralmente no representa un problema ya que no necesitan contar con la última y mas sofisti­cada tecnología, como tarjetas de video muy llamativas. Después de todo, el objetivo principal es ofrecer un servidor con una disponibilidad muy alta para los usuarios de la red y no jugar Doom3.

Diseño del servidor
Cuando un sistema se convierte en un servidor, su estabilidad, disponibilidad y desempeño representan temas esenciales. Estos tres problemas generalmente se resuelven al comprar más hardware, lo cual es desafortunado. Pagar miles de dólares adicionales para obtener un siste­ma capaz de alcanzar los tres objetivos, cuando el nivel de desempeño deseado pudo haberse alcanzado al darle mantenimiento al hardware existente, es una molestia que se debe evitar. Con Linux, lograr estos objetivos sin gastar demasiado dinero no es difícil. ¡Aún mejor, las ga­nancias son enormes!

La decisión de diseño mas importante que debe tomar cuando administre una configuración de servidor no es técnica, sino administrativa. Debe diseñar un servidor que no sea amigable con los usuarios casuales, lo cual significa no instalar herramientas multimedia sofisticadas, no brindar soporte a tarjetas de sonido y no instalar navegadores web muy estilizados (cuando sea posible). De hecho, su organización deberá establecer una regla en la que se establezca la estricta prohibición de usar de manera informal el servidor. Esta regla deberá aplicarse no solamente a los usuarios del sitio, sino también a los administradores.

Otro aspecto importante del diseño de un servidor es asegurarse de que cuenta con un am­biente agradable. Como administrador de sistemas, deberá asegurar el bienestar físico de sus servidores, manteniéndolos en un cuarto independiente y físicamente seguro. El único acceso a los servidores que tendrá el personal no administrativo deberá ser a través de la red. El cuarto del servidor en si deberá estar bien ventilado, frió y cerrado. El no asegurarse de que existan estas condiciones ambientales significa que se deberá esperar un accidente. Los sistemas que se sobre­calientan y los usuarios que "creen" que saben como resolver todos los problemas, representan tanto peligro (sin lugar a dudas, aún un mayor peligro) para la estabilidad del servidor que un software defectuoso. Además, Linux es particularmente vulnerable a los intrusos en la línea de comandos.

Una vez que el sistema está bien seguro detrás de puertas cerradas, la instalación de las baterías de respaldo es también crucial. Este respaldo sirve para dos propósitos principales: mantener el sistema operando durante una falla de alimentación de forma que se apague paulatinamente y, por tanto, se evite la pérdida de cualquier archivo. El otro es asegurarse de que los picos y las caídas de voltaje, así como los diferentes ruidos eléctricos no interfieran con la salud de su sistema.

Para mejorar la situación de su servidor, puede tomar las acciones específicas siguientes:

Aproveche el hecho de que la GUI no está acoplada al sistema operativo principal y evite comenzar X Windows a menos que alguien necesite sentarse en la consola y correr una aplicación. Después de todo, X Windows, como cualquier otra aplicación, requiere de memoria y tiempo de trabajo del CPU, los cuales será mejor que sean utilizados en los procesos del servidor.

Determine qu´q funciones quiere que lleve a cabo el servidor y deshabilite todas las demás. Las funciones que no se utilizan no solo representan un desperdicio de memoria y tiempo del CPU, sino que también implican otro problema de seguridad que necesitará resolver.

Linux, a diferencia de otros sistemas operativos, le permite seleccionar las características que desea que tenga el kernel. El kernel por omisión con el que cuenta está razonablemente bien sintonizado, por lo que no necesitará ajustarlo. Sin embargo, si necesita modificar una característica o mejorar un kernel, sea selectivo en cuanto a lo que agrega y lo que conserva. Asegúrese de que necesita una determinada facilidad antes de instalarla.

Tiempo de operación
Toda esta discusión acerca del cuidado que se debe tener con los servidores y de la importancia de asegurarse de que las adiciones no provoquen que dejen de funcionar, proviene de una vieja filosofía de UNIX: El tiempo de operación es bueno. Más tiempo de operación es mejor.

El comando uptime le dice al usuario cuánto tiempo ha estado el sistema en operación desde su último reinicio, cuántos usuarios se encuentran en ese momento conectados y cuánta carga está soportando. Las dos últimas estadísticas son mediciones útiles necesarias para conservar la salud diaria del sistema y la planeación a largo plazo. Por ejemplo, si la carga en el servidor se ha conservado elevada de manear consistente, debe considerar la adquisición de un servidor con mayor capacidad.

Sin embargo, el número más importante es cuánto tiempo ha estado el sevidor operando desde su último reinicio. Los tiempos de operación prolongados son signo de un adecuado cuidado, mantenimiento y, desde un punto de vista práctico, de una estabilidad del sistema. A menudo encontrará administradores de UNIX que presumen acerca de los elevados tiempos de operación de sus servidores de la misma manera que escuchará a los aficionados de autos elogiar la potencia de los caballos de fuerza. Este enfoque en el tiempo de operación es también la razón por la que escucha alos administradores de UNIX hacer comentarios precipitados respecto a instalaciones de Windows que requieren una reinicialización por cada cambio pequeño. En contraste, se verá fuertemente presionado por encontrar cualquier modificación al sistema UNIX que requiera ser reiniciado a fin de que el cambio se lleve a cabo.

Problemas en el doble arranque
Si usted es principiante en Linux, de seguro no estará listo para comprometer el uso de un sistema completo con el propósito de "ponerlo a prueba". Debido a que la gente que diseñó Linux com­prende que vivimos en un mundo heterogéneo, todas las distribuciones de Linux han sido diseñadas de forma que puedan instalarse en particiones independientes de su disco duro, mientras que las restantes se pueden dejar vacías. En general, lo anterior significa que Microsoft Windows puede coexistir en una computadora que pueda también correr Linux.

Debido a que el enfoque de este capitulo es la instalación del servidor, esta sección no abor­dara los detalles de la construcción de un sistema de doble arranque. No obstante, cualquier persona con un poco de experiencia en la creación de particiones de un disco, debela ser capaz de imaginarse como construir dicho sistema. Si encuentra dificultades, podrá referirse a la guía de instalación que vino con su distribución o a cualquier otra de tantas guías para principiantes de Linux que se encuentran disponibles en el mercado.

Para volver a particionar un sistema al que ya se le ha instalado Windows 9x, NT, 2000 o XP, sin volver a formatear el disco y reconstruir todo desde el principio, puede utilizar un programa de software disponible en el mercado, como PartitionMagic.

Métodos de instalación
Con la conectividad y las velocidades mejoradas de las redes de área local y las conexiones de Internet, una opción cada vez más popular es llevar a cabo las instalaciones a través de la red, en lugar de utilizar un CD-ROM local.

En general, encontrara que la instalación de las redes cobra importancia una vez que decide utilizar Linux en muchas máquinas y que requiere un procedimiento rápido de instalación donde muchos sistemas puedan instalarse en paralelo.

Típicamente, la instalación de servidores no es muy apropiada para que sea automática, ya que cada servidor generalmente tiene una tarea específica y, por tanto, una configuración un poco dife­rente. Por ejemplo, un servidor dedicado al manejo de información de acceso que se le envía a través de la red, tendrá configuradas particiones especialmente grandes para los directorios de acceso en comparación
con un servidor de archivos que no lleve a cabo el acceso a la red por si mismo.

Debido a que los servidores generalmente no se instalan utilizando una filosofía "un solo ta­maño sirve para todo", el enfoque en esta sección es exclusivamente en la técnica utilizada para la instalación de un sistema a partir de CD-ROM. Desde luego que después de que usted haya seguido paso a paso el proceso de instalación, encontrara que llevarlo a cabo por medio de la red será un proceso muy directo.

Si no llegara a funcionar bien...
Ha llevado a cabo el proceso de instalación... dos veces. Este libro afirmaba que debía funcionar. El manual de instalación decía que debía funcionar. El gurú de Linux con el que hablé la semana pasada dijo que debía funcionar.

Sin embargo, no funciona.

En palabras inmortales de Douglas Adams: "No se asuste". Ningún sistema operativo se instala sin problemas 100 por ciento de las veces. (¡Si, ni siquiera el Mac OS!). El hardware no siempre trabaja como se anuncia, las combinaciones del hardware entran en conflicto unas con otras, o ese CD-ROM que le grabó un amigo tiene errores de CRC. (Recuerde: ¡Es totalmente lícito que su amigo haga una copia de Linux!). O, el software tiene un error, aunque usted haya deseado que no lo tuviera.
Con Linux, usted cuenta con algunas opciones que puede llevar a cabo para conseguir ayu­da. Si ha comprado una copia de Caldera o Red Hat, puede contactar al departamento de soporte técnico del distribuidor y hablar con alguna persona experta que pueda resolver el problema con usted. Si no compró el software en caja, puede tratar de contactar compañías como Levanta http://www.levanta.com/, la cual es una compañía comercial dedicada a proporcionar ayuda. Por último, pero seguramente no menos importante, es la opción de contactar otras fuentes de ayuda en línea. Existen miríadas de sitios disponibles en la web para ayudarle a comenzar el trabajo, los que no solo contienen consejos y trucos útiles, sino que también proporcionan documentaci6n y foros de análisis donde puede proponer sus preguntas. Obviamente, deseará comenzar con el sitio dedicado a su distribución .

http://www.redhat.com/ para Linux Red Hat y http://www.novell.com/ para Linux SUSE. (Otras distribuciones tienen sus propios sitios en la red. Visite a su distribuidor para obtener información).

A continuación se listan algunas fuentes en línea recomendadas para obtener ayuda relacio­nada con la instalación:

comp.os.linux.domain Es un grupo de noticias, no un sitio en la web. Puede leerlo en http://groups-beta.google.com/.

http://tldp.org Este sitio (el nombre es una abreviatura de The Linux Documentation Project) es una colección de información muy importante respecto a todo tipo de temas relacionados con Linux, incluyendo guías de instalación. No obstante, va una adverten­cia: no todos los documentos están actualizados. Asegúrese de verificar cuando fue la última vez que se actualizó el documento antes de seguir las instrucciones. Existe tam­bién una mezcla de guías de ayuda tipo receta de cocina, así como también guías que proporcionan explicaciones mas completas de que esta pasando.


INSTALACION DE LINUX RED HAT

Esta sección documenta los pasos necesarios para instalar Red Hat Enterprise Linux ES en un siste­ma independiente, por medio de un método liberal del proceso, que orienta sobre la instalación de todas las posibles herramientas relevantes alas operaciones del servidor. En capítulos posteriores se explica el propósito de cada subsistema y lo orienta a determinar si es necesario que 10 conserve.

Usted cuenta con dos formas de iniciar el proceso de arranque: puede utilizar un disco flexi­ble de arranque o un CD-ROM. Esta guía de instalación supone que usted arrancara del CD-ROM para comenzar el procedimiento de instalación de Red Hat. Si cuenta con una maquina anterior en la que no se pueda arrancar desde el CD-ROM, necesitara utilizar un disco de arranque y co­menzar el procedimiento desde ahí.

PISTA EI utilizar el disco de arranque altera el orden de algunos pasos durante la instalaci6n, como qué lenguaje escoger y si debe usar un disco duro o un CD-ROM. Una vez que haya superado las diferencias iniciales, podrá observar que los pasos gráficos son los mismos.

Si su sistema soporta CD-ROM que se puedan arrancar, estos proporcionan un método más rápido. Si su distribución no vino con un disco de arrasque y no puede arrancar desde el CD-ROM, necesita crear un disco de arranque. Este análisis supone que cuenta con una instalación de Windows funcionando para crearlo.

PISTA ¿Que pasa si no desea utilizar un instalador grafico? No se preocupe. Red Hat esta consciente de que mucha gente aún prefiere las herramientas de instalación basadas en texto y que algunas personas necesitan utilizar estas herramientas en sistemas que no soporten gráficos. Si se encuentra en alguna de estas categorías, teclee text en el boot: cuando arranque Linux ya sea desde el CD-ROM o desde el disco flexible.

Crear un disco de arranque
Una vez que se ha iniciado Windows y el CD-ROM se encuentra en el drive apropiado, abra la ventana MS-DOS Command Prompt (haga click en Start y seleccione Programs Command Prompt), la cual le da una ventana de símbolo del sistema. Cámbiese al drive donde se localiza el CD-ROM y vaya al directorio dosutils. Ahí encontrara el programa rawrite.exe. Simplemente co­rra el programa ejecutable, que le preguntará por el archivo fuente y el disco flexible de destino.

El archivo fuente se encuentra en el mismo drive y se llama .img.

Comenzar la instalación
Para comenzar el proceso de instalación, arranque el CD-ROM, lo que le desplegará una pantalla que le presentará a Red Hat Enterprise Linux ES. En el fondo de la pantalla aparecerá el comando siguiente:

boot:

Si no presiona ninguna tecla, el mensaje automáticamente comienza el proceso de instalación. Usted puede presionar la teda ENTER para iniciar el proceso de inmediato.

Si ya ha tenido alguna experiencia con instalaciones de Red Hat en el pasado y no desea que el sistema realice pruebas en su hardware de forma automática, puede teclear expert cuando aparezca el boot: en la mayoría de las instalaciones, sin embargo, usted querrá utilizar el procedi­miento por omisión. (En Linux, la instalación de experto en realidad significa experto, por lo que no deberá utilizarla si no cuenta con el conocimiento y la experiencia suficientes en Linux).


NOTA Como parte inicial de las cargas del sistema operativo y de las detecciones automáticas del hardware, no se sorprenda si no detecta el subsistema SCSI. EI soporte de SCSI se activa posteriormente durante el proceso.

Seleccionar el idioma
EI programa primero despliega un menú que le pregunta que idioma desea utilizar para conti­nuar con el proceso de instalación (vea la figura 22-1).

La interfase trabaja de manera muy similar a cualquier otra del tipo Windows. Simplemente márquela y haga dic en su selección. Cuando este listo, presione el botón Next en la parte inferior derecha de la pantalla.

En el lado izquierdo de la pantalla se encuentra la ayuda sensible al contexto. Si no desea verla, puede hacer clic en el botón Hide Help en la parte inferior izquierda de la pantalla.

El botón Back en la parte inferior derecha se encuentra en color gris en este punto ya que no ha habido anteriormente opciones que seleccionar.



Seleccionar el tipo de teclado

El siguiente menú le permite seleccionar el tipo de teclado que tiene. Las opciones se encuentran divididas en tres cajas de diálogo: la primera lista los tipos de teclados soportados; la segunda, las diferentes distribuciones que el teclado puede tener; y la tercera, le permite seleccionar variantes adicionales que se encuentran disponibles. La caja de diálogo que se encuentra en la parte más in­ferior sirve para que teclee para que pueda hacer pruebas para ver si su teclado está funcionando correctamente; aunque no tiene que teclear nada en la caja de diálogo si no lo desea.

Para la mayoría de los administradores, el tipo de teclado será una de las opciones genéricas, la distribución del teclado será U.S. English (vea la figura 22-2), y en las variantes se seleccionara None.

Si alguna vez quisiera modificar el tipo o distribución de su teclado, puede utilizar el progra­ma Keyboard que se encuentra en el menú Applications/Preferences.

Cuando termine, haga clic en Next para continuar o seleccione Back para regresar al menú de selecci6n del idioma.

Bienvenido a Linux Red Hat

Una vez que se han seleccionado los dispositivos de entrada y los idiomas, usted está ya listo para comenzar la fase de instalación de Red Hat Linux.

Crear particiones en Linux

A continuación seleccione como particionar su disco duro para Linux, lo cual es diferente a par­ticionar discos en Windows. En pocas palabras, cada partición es montada en el tiempo de arran­que. El proceso de montaje pone disponible el contenido de esa partición como si esta fuera cualquier otro directorio en el sistema. Así, por ejemplo, el directorio raíz (/) se encuentra en la primera partición (raíz). En el directorio raíz se encuentra un subdirectorio llamado / usr, sin em­bargo esta vacío. Usted puede entonces montar una partición independiente de forma que al ir al directorio / usr, le permita ver el contenido de la nueva partición montada (vea figura 22-3).



Debido a que todas las particiones, cuando se montan, parecen como un árbol unificado de directorios en vez de controladores separados, el software de instalación no diferencia entre una partición y la otra. Todo lo que le interesa es que directorio deberá colocar en cada archivo. Como resultado, el proceso de instalación distribuye de manera automática sus archivos mediante todas las particiones montadas, siempre y cuando estas representen las diferentes partes del árbol de directorios donde los archivo generalmente se colocan. En Linux, el agrupamiento más significativo de archivos se presenta en el directorio / usr, donde residen todos los programas. (En términos de Windows, este directorio es similar a Program Files).
















Debido a que esta configurando un servidor, debe estar consciente del gran agrupamiento adicional de archivos que existirá a lo largo de la vida útil del mismo. Dichos agrupamientos son los siguientes:
















/usr Aquí es donde todos los archivos de programas residirán (este grupo es similar al C:\Program Files).

/home Aquí se encontrarán los directorios raíz de todos (suponiendo que este servidor contendrá estos directorios). Este agrupamiento es útil para evitar que los usuarios consuman el disco entero y dejen sin espacio a otros componentes críticos, como los archivos de registro.
/tmp Los archivos temporales se colocan aquí. Debido a que este directorio esta diseñado para que cualquier usuario pueda escribir sobre él, usted necesitará asegurarse de que los usuarios no abusen de este privilegio y llenen todo el disco manteniéndolo en una partición independiente.

/var Este es el destino final de los archivos de registro. Debido a que los servidores ex­ternos (por ejemplo, visitantes de un sitio web) pueden afectar los archivos de registro, particionar estos archivos es importante; asegura que nadie pueda llevar a cabo un ata­que de negación del servicio (denial of service, DoS) generando tal cantidad de claves de acceso que sature el disco duro.

/Swap Este no es un sistema de archivos accesible al usuario, sin embargo, es donde se almacena el archivo de memoria virtual. Aunque Linux (y otras variantes de UNIX tam­bién) puede utilizar un archivo normal en disco para almacenar la memoria virtual en la forma como lo hace Windows, comprobara que mantener el almacenamiento swap en su propia partición mejora el desempeño.

Una buena idea es crear múltiples particiones en un disco para Linux, en lugar de una sola partición grande, lo cual estará acostumbrado a hacer con Microsoft Windows. A medida que se familiarice con los comos y porqués de Linux, podrá seleccionar regresar a una sola partición grande. Por supuesto, a esas alturas, contará con el conocimiento suficiente de ambos sistemas para comprender por que uno podrá ser mejor que el otro.
Ahora que posee algunos antecedentes acerca del particionamiento en Linux, regresemos al proceso mismo de instalación. Usted debe observar una pantalla como la de la figura 22-4.

En este ejercicio, seleccione la herramienta de particionamiento Disk Druid, la cual le propor­ciona un mayor control manual sobre sus particiones de disco. Red Hat desarrolló la herramienta de particionamiento Disk Druid como una manera sencilla para crear particiones y asociadas con los directorios en los que estas se montarán. Cuando comience Disk Druid, podrá ver todas las particiones existentes en su disco. Las entradas de cada partición muestran la información siguiente:


Mount Point Aquí es donde se monta la partición. Inicialmente, esta ubicación no debería tener ninguna opción.

Device Linux asocia cada partición con un dispositivo independiente. Para propósitos de instalación, lo único que necesita saber es que en los discos IDE, cada dispositivo comienza con /dev/hdYX, donde X es

a para cadena principal, disco principal.

b para cadena principal, disco secundario.

c para cadena secundaria, disco principal.

d para cadena secundaria, disco secundario


y Y es el número de partición del disco. Por ejemplo, /dev/hdal es la primera partición en la cadena principal, disco principal. SCSI sigue la misma idea básica, excepto que en lugar de comenzar con /dev/hd, cada partición comienza con /dev/sd y sigue el formato /dev/sdXY, donde X es la letra que representa un drive físico único (a es para SCSI id 1, b es para SCSI id 2, etc.). La Y representa el número de partición. Por tanto, /dev /sdb4 es la cuarta partición del disco SCSI con id 2. El sistema es un poco mas complejo que el de Windows, sin embargo, la localización de cada partición es explícita: no mas adivinan­zas respecto " ¿a qué dispositivo físico corresponde E:?".

Requested Este es el tamaño mínimo requerido cuando se definió la partición.

Actual Esta es la cantidad de espacio real que se asigna a una partición.

Type Este es el tipo de partición. El tipo de Linux por omisión es el Linux Native, sin embargo, Disk Druid también entiende muchos otros, dentro de los que se encuentran FAT, VFAT Y NTFS.

El nombre del drive (sin el /dev/ que Ie precede).

La geometría del disco en formato cilindros / cabezas / sectores.

El tamaño total del disco.

La cantidad de disco que se ha asignado (particionado).

La cantidad de disco que aún está disponible para particionarse.


En la mitad de la pantalla se encuentran las opciones de menú que usted utiliza para especi­ficar lo que desea hacer con el Disk Druid. Estos botones son los siguientes:

Add Crea una nueva partición.

Edit Modifica los parámetros en la partición resaltada.

Delete Elimina la partition resaltada.
Reset Fija todos los cambios de regreso a sus parametros tales.
Make RAID Device Comienza el proceso de instalacion ate configuracion RAID. En cualquier sistema operativo, la instalacion de una conation RAID no es algo trivial y tiene implicaciones que no siempre son obvias. ESftion esta mas alia del alcance de este capitulo.

Next Lleva a cabo los cambios en el disco.
Back Elimina todos los cambios realizados utilizando el Disftid y sale del programa.

NOTA El programa no lleva a cabo en el disco cualquier modification que^haya hecho dentro del Disk Druid hasta que haga die en el boton Next.

Agregar una partition
Para crear una nueva partition, haga clic en el boton New. Esto haase aparezca una caja de dialogo parecida a la de la figura 22-5.

Los elementos de la caja de dialogo son los siguientes:

Mount Point Este es el directorio donde desea que el programa monte esta particion automaticamente en el momento del arranque.

File System Type Es el formato que utilizara el sistema de archivos en cuestion. En ge­neral, ext3 sera la mejor opcion aqui, a menos que este configurando un arreglo de discos RAID con base en el software, en cuyo caso puede seleccionar Software Raid de la lista que aparece. Tambien, cuando crea una particion rntercambiable, asegurese de seleccio-narle el tipo de sistema de archivos intercambiables.

Allowable Drives Para un sistema con multiples discos duros, aqui se puede designar en que drives puede crearse la particion.

Tamaño (MB) Este es el tamano de la particion en megabytes.

Additional Size Options En esta caja, puede seleccionar como implantara el Disk Druid sus opciones de tamano. Puede seleccionar Fixed Size, en cuyo caso el tamano que ingrese en el campo Size (MB) sera el que se utilice; o puede seleccionar Fill All Space Up to (MB), lo cual le permite especificar un tamano maximo, aunque permite que el Disk Druid encuentre el tamano mas apropiado. Por ultimo, puede seleccionar Fill to Maximum Allowable Size, el cual fijara el tamano de la particion actual al resto del espacio en el disco.

Para crear un esquema simple de particion, siga los pasos siguientes:

1. En el parametro Partition Type, seleccione Linux Swap.
2. En el campo Size (MB), escriba un valor que sea el doble del tamano de la RAM instalada en el sistema. (Si lo desea, y el sistema cuenta con una gran cantidad de espacio en disco, puede escribir cuatro veces el tamano de la RAM instalada).
3. Haga clic en OK para almacenar la informacion de las particiones intercambiables.
4. Haga clic en el boton Add, de nuevo en el Disk Druid, para agregar una particion final.
5. En la caja de dialogo Add, ingrese una diagonal en el punto de montaje (en el directorio raiz).
6. En tipo de particion, seleccione ext3.
7. En tamano, ingrese ya sea el espacio en disco restante disponible, o simplemente haga clic en la caja de verificacion Fill to Maximum Allowable Size para utilizar de manera automatica todo el espacio disponible.
8. Haga clic en OK para guardar la informacion de la particion raiz.
9. En la pantalla Disk Druid, haga clic en el boton Next para aceptar sus opciones y procesa a formatear las particiones y continue la instalacion.
Como minimo, necesita contar con dos particiones: una para almacenar todos los arcru (montados como raiz) y la otra para espacio intercambiable. Por lo comun, el espacio interR je biable se configura para un tamano del doble de la RAM disponible si existe menos de 128 M RAM o de exactamente la misma cantidad de RAM si existen mas de 128 MB. Cuando se tenga duda, no hay problema en que se asigne mas espacio intercambiable del recomendado, dentro de lo razonable.


Otras tareas de manipulacion de las particiones Una vez que haya recorrido los pasos para agregar una particion y se sienta a gusto con las variables involucradas (puntos de montaje, ta-rnahos, tipos, dispositivos, etc.), el proceso real de la edicion y eliminacion de particiones es muy simple. Editor una entrada significa simplemente modificar las mismas entradas que usted esta-blecio en el momento de agregar la particion. Eliminar una particion requiere solamente que usted confirme que desea llevar a cabo la eliminacion.

Instalación de GRUB es el administrador de arranque por omision de Linux. Un administrador de arranque ma-neja el proceso de comenzar la carga de un sistema operative Si esta familiarizado con Windows NT, es seguro que ya manejo el NT Loader (NTLDR), el cual presenta el menu en el momento del arranque, permitiendole seleccionar si desea Windows NT o Windows NT (solo VGA). GRUB efectivamente hace lo mismo, pero sin menus tan llamativos.

Pueda configurar la herramienta Red Hat para instalar el GRUB,de manera que arranque multiples sistemas operativos si asdi lo desea (vea la fig. 22-6). tambien puede seleccionar NO instalar un cargador de arranque (lo cual puede ser util en ciertas circunstancias). Asimismo, esta pantalla de instalacion le permite seleccionar una contrasena para el cargador de arranque, la cual debera utilizar para proteger los parametros del sistema de otros usuarios. Puesto que este sistema de ejemplo probablemente sera utilizado solo por usted, no es necesario que establezca una contrasena para el cargador de arranque. Haga clic en Next para continuar.

Instalacion de la conectividad de redes
Red Hat ya esta listo para configurar sus tarjetas de interfase de red (vea la figura 22-7). Cadatar-jeta de interfase que tenga se encuentra listada en la parte superior. Los dispositivos de Ethernet aparecen numerados como ethO, eth2, y asi sucesivamente. Usted puede configurar cada interfaz ya sea utilizando el DHCP o configurando la direction IP en forma manual. Si opta por configu-rarla manualmente, asegurese de contar con la direccion IP y las direcciones de mascara de red, de red y de difusion.
En la mitad inferior de la pantalla, podra ver las opciones de configuration para proporcio-nar a la maquina un nombre de host, una compuerta e information relacionada con el DNS. Una vez que haya llenado todos estos campos, haga clic en Next para continuar.


Configuración de la firewall

Las versiones recientes de Red Hat Linux vienen con un sistema de firewall incorporado basado en software que ayuda a mantener el sistema seguro. La figura 22-8 le muestra las opciones de configuracion de la instalacion de la pared.
Una vez que habilite firewall incorporada con el boton Enable firewall, puede seleccionar alguna de las opciones siguientes, las cuales permitiran ciertos tipos de trafico de red entrante a los servicios que desea correr en el servidor. Por ejemplo, si piensa utilizar este servidor para almacenar un servidor web, debera seleccionar Web Server (HTTP, HTTPS) para permitir dicho acceso al servidor.
En la parte más inferior de la pantalla de configuracion de la pared, usted puede seleccionar habilitar una facilidad llamada Security Enhanced Linux (SELinux o Linux SE). SELinux ofrece

un metodo de control de seguridad mas fino para supervisar la actividad de la seguridad. Dela caja de dialogo de SELinux, puede seleccionar Disable it, set in to Warn o make it Active. Seleccione la opcion make it Active y oprima Next para continuar.

Agregar idiomas
Ahora, el programa de instalacion le solicitara que seleccione que soporte de idioma adicional desea para la instalacion. (Vea la figura 22-9). Asegurese de que ha seleccionado el idioma por omision adecuadamente, seleccione cualquier idioma adicional que desee utilizar en el servidor y haga clic en Next para continuar.


Configurar el uso horario
La pantalla de configuracion del huso horario (vea figura 22-10) le permite seleccionar el huso horario en el que se localiza la maquina. Si el reloj del hardware del sistema Ueva el control de la



hora en Universal Coordinated Time (UTC), asegurese de hacer clic en la casilla de verificacion System Clock Uses UTC, a fin de que Linux pueda determinar la diferencia entre los dos y des-plegar correctamente la hora local.

La herramienta Red Hat Installation crea una cuenta Uamada raiz por usted. Esta cuenta de usua-rio es de naturaleza similar a la cuenta del administrador de Windows Server: el usuario que tenga permiso para acceder a esta cuenta posee el control total del sistema.
Por tanto, es crucial que proteja esta cuenta con una buena contrasefia. Asegurese de no seleccionar palabras o nombres del diccionario como contrasenas, ya que son faciles de adivinar,Para proteger la raiz, no debera permitir que ingresen como usuario raiz en la red. Esta res­triction evita que los intrusos puedan adivinar su contrasefia raiz utilizando scripts de ingreso automaticos. Para permitir que los usuarios legitimos se conviertan en el usuario raiz, necesita ingresar corao usted mismo y luego utilizar el comando su (switched user). Por tanto, configuraT la contrasena raiz no es suficiente si desea llevar a cabo la admrnistración remota; tambien nece-sita configurar un usuario real La configuración de un usuario normal para hacer el trabajo cotidiano es una buena idea Siguiendo esta practica, usted se asegura que no va a estropear los archivos de configuracion de manera accidental y otros componentes importantes mientras este navegando por la red o llevando a cabo tareas no administrativas. La excepcion a esta regla son ciertas configuraciones de servidor que nunca deben tener usuarios, except© el usuario raiz —por ejemplo, las firewall.

En el campo Root Password (vea la figura 22-11), ingrese una contraseña segura y dificil de adivinar del usuario raiz. Recuerde que la cuenta raiz es dueña de todo el sistema y puede llevar a cabo cualquier accion, por lo que debera conservarla en secreto Confirme su selecion de contraseña en el campo Confirm. Si las dos contraseñas no coinciden exactamente, aparecera una advertencia en la pantalla.

Seleccionar grupos de paquetes

En la pantalla siguiente, Package Installation Defaults (vea la figura 22-12), puede seleccionar los paquetes por instalar en el sistema.

En muchos casos, puede seleccionar las opciones por omision y continuar, pero si lo desea, tambien puede seleccionar agregar software adicional a la instalacion eligiendo la opcion Custo­mize Software Packages to Be Installed y haciendo die en Next. Red Hat categoriza estos paque­tes en varias descripciones de alto nivel. Estas categorias le permiten hacer una seleccion rapida de que tipo de paquetes desea instalar e ignora los detalles de manera segura. Usted tambien puede optar por instalar todos los paquetes que vienen con Red Hat (seleccionando Everything

En la parte inferior de la lista de los grupos de paquetes), jpero tenga muy en cuenta que dicha instalación puede requerir un espacio de aproximadamente 1.5 GB. La figura 22-13 muestra lo que ve cuando selecciona Customize Software Packages to Be Installed.

Si observa las opciones, puede ver el menu de los grupos de alto nivel que Red Hat ofrece Usted puede solamente seleccionar los grupos que se vean mas interesantes, o un grupo y, despues, seleccionar dentro de este al oprimir el boton Details.
Si selecciona el enlace Details junto a un grupo, podra observar una pantalla similar a la de la (figura 22-14). En esta pantalla, puede agregar o eliminar los paquetes dentro del grupo.


Comenzar la instalación

Ahora vera una pantalla final de confirmación antes de que comience la instalación en serio, como se muestra en la figura 22-15. Si esta seguro de que todas sus selecciones son correctas, haga clic en Next para comenzar la instalacion. Si fuera necesario, tambien puede utilizar el boton Back para revisar y modificar cualquiera de las opciones.
En este momento, Red Hat comenzara el proceso de instalacion de los paquetes que seleccio-no. Dependiendo de la veiocidad de su disco duro, CD-ROM y maquina, esta instalacion puede

tomar de 10 a 20 minutos. Un indicador del estado (vea la figura 22-16) le permite saber cual esel avance del proceso y cuanto tiempo mas le tomara al sistema.

¡Y ya termino!
¡Eso es todo! El proceso de instalacion ya concluyo. El programa lo invita a presionar la tecla para reinicia el sistema. Conforme se reinicia el sistema, asegurese de que haya quitado cualquier CD-ROM o disco flexible que tenga en su sistema, que pueda arrancar, antes de que lo haga su disco .

RESUMEN DEL CAPITULO

En este capitulo, usted aprendio acerca del proceso de instalar un servidor, seleccionar el hard­ware correcto, establecer el ambiente apropiado y, por ultimo, instalar el Red Hat Enterprise Linux ES. Todos los comentarios anteriores a este capitulo que estudian el proceso real de ins­talacion de Red Hat Linux se aplican a cualquier servidor que instale, independientemente del sistema operativo.
Los pasos para instalar Red Hat son muy directos. Si alguna vez a sido testigo de procedimiento de instalacion de versiones anteriores, habra notado lo facil que se ha hecho y como se ha reducido el numero de opciones de configuracion necesarias para comenzar. Lo que hace a Linux muy atractivo es que, a pesar de que esas opciones ya no son parte del proceso de instalacion, usted aun puede modificarlas y manipularlas como lo desee una vez que haya terminado de ins-talarlo y arrancado el sistema.
No olvide consultar las fuentes de informacion que se listaron en secciones anteriores de este capitulo, por si llegara a necesitar ayuda, y una vez que se convierta en un mago en este tema, no olvide ayudar a los demas.

CAPITULO 23

Introducción a la administracion de los sistemas Linux

cuando Linux salio por primera vez en 1991, usted debia ser un adrninistrador de sistemas con mucha experiencia o un buen hacker para utilizar eficazmente el sistema. A pesar de ' que esta situacion resultaba positiva para personas que estaban dispuestas a invertir el tiempo necesario, no lo era para la mayor parte de quienes vieron un gran potencial en el uso de Linux pero que, sin embargo, sabia que la curva de aprendizaje era muy pronunciada.

Por fortuna, las personas en Red Hat (entre otros desarrolladores de Linux), se percataron de esta desventaja e hicieron multiples esfuerzos para hacer de Linux no solo un software facil de instalar, sino que tambien presentara muy pocos problemas para llevar a cabo tareas adminis-trativas basicas.

Este capitulo ofrece un panorama de algunas de las tareas adirunistrativas basicas necesarias para mantener un servidor Linux en operacion y que sea de utilidad. Por supuesto, de ninguna manera es una guia completa de la administracion de sistemas, pero es un buen comienzo para ir en la direccion correcta. Si despues de leerlo esta interesado en aprender mas acerca de la ad­ministracion de sistema Linux, consulte la obra Linux Administration: A Beginner's Guide, tercera edition, de Steven Graham. (McGraw-Hill/Osborne, 2002).

NOTA: Este capitulo se basa en algunos supuestos. Por ejemplo, supone que ha instalado ya Red Hat Linux y configurado la interfase grafiea de usuario (X Window). Tambien, que usted accedio al sistema y corrio todos los programas como usuario raiz.

PRECAUCION: El usuario raiz es muy poderoso bajo Linux. Si esta familiarizado con Windows NT, puede pensar del directorio raiz como algo equivalente a la cuenta del administrador. La persona que pueda acceder al directorio raiz tendra control total al sistema, lo cual incluye la capacidad para destruirlo. Si es principiante en Linux, definitivamente debera invertir un poco de tiempo para practicar en un sistema independiente antes de empezar a trabajar con los usuarios del sistema.

Este capitulo se divide en dos secciones: la primera trata acerca de la configuration de Red Hat Linux ES con la ayuda de herramientas graficas para manejar las funciones administrativas del sistema.
La segunda parte se refiere a la interfase de linea de comandos. A pesar de que esta seccion no trata el tema de administracion de sistemas como tal, es la base para llevar a cabo las tareas basicas de esta actividad. En general, encontrara que la seccion acerca del uso de las herramien­tas graficas esta mucho mas orientada hacia instrucciones como "marque con el cursor aqui/ haga clic aqui, teclee informacion aqui, y haga clik en Accept", mientras que la seccion de linea de comandos es verbalmente mucho mas descriptiva y explica el proposito de los comandos. El capitulo incluye esta seccion ya que suponemos que esta familiarizado con las facilidades de alto nivel de Linux (como el DNS y su teoria de operacion), pero no con las particularidades de la linea de comandos de Linux.

CONFIGURACION DE RED HAT LINUX ES

Las herramientas para la configuracion sean las bases de la mayor parte de las tareas administrativas que necesitara llevar a cabo. Estas herramientas se encargan de la administracion de los usuarios, de la red, de los discos, etc. Lo que hace que estas herramientas sean especialmente utiles es que brindan una interfase muy congruente para las tareas administrativas de Linux. La unica desventaja es que, como otras GUI, tiene ciertas limitaciones. Usted podra darse cuenta de que, para llevar a cabo las tareas mas avanzadas, tendra que utilizar la interfase de linea de comandos.

ADMINISTRACION DE LOS USUARIOS

Para sacar mayor provecho de la naturaleza multiusuario de Linux, usted necesita agregar, edi-tar y quitar usuarios del sistema, tareas que puede llevar a cabo por medio del programa User
Manager.
1. Para abrir el programa User Manager, acceda al menu Applications, seleccione System Settings y despues Users and Groups, luego podra ver la ventana de programa que se muestra en la figura 23-1.
2. Haga clic en el boton Add User que aparece en la parte superior de la ventana del pro­grama. Este comando presenta la caja de dialogo Create New User que se muestra en la figura 23-2.

3. En la caja de dialogo Create a New User debera, al menos, llenar el espacio del nombre y la contraseña del usuario. La caja de dialogo llenara automaticamente el directorio raiz del usuario y el tipo de shell, opciones que puede aceptar por omision. Haga clic en OK para crear la cuenta del usuario.
4. Una vez que la cuenta se ha creado, puede hacer doble clic en ella en la lista de cuentas de usuario a fin de configurar algunas propiedades adicionales de la cuenta por medio de la caja de dialogo User Properties que se muestra en la figura 23-3.
5. La pestaña User Data le permite modificar el nombre de usuario, contraseña, directorio raiz y el shell login. Mediante la pestaña Account Info puede configurar la fecha de ex­piracion del usuario, si asi lo desea, y tambien bloquear su cuenta si esto fuere necesario por alguna razon. La pestaña Password Info le sirve para establecer parametros relacionados con la expiracion de la contraseña de la cuenta de usuario que selecciono. Por ultimo, la pestaña Groups le permite asignar la membresia de grupo de seguridad de & cuenta de usuario seleccionada.


PISTA Elegir una buena contraseña no significa seieccionar una palabra del diccionario (lo cual incluye palabras en otro idioma), sin importar lo caprichosa o extraña que pueda parecer. Muchos hackers que tratan de ingresar a los sistemas utilizan programas automatizados que cuentan con diccionarios de gran tamafio en muchos idiomas que revisan cada palabra, una a la vez, para probar si alguna de ellas coincide con la contraseña. Una técnica eficaz para seleccionar contraseñas es utilizar una frase y Iuego considerar la primera letra de cada palabra que compone la frase. Por ejemplo, "Snacking on Oatmeal Squares is good for you" se traduce como SoOSigfy, La frase es facil de recordar, aun si la contrasena es muy dificil de encriptar. En realidad, su naturaleza criptica hace que SoOSigfy sea una buena contrasena. Otra excelente estrategia para seieccionar contrasenas es tomar una palabra de seis letras o mas y, despues, sustituir dos o mas letras por numeros. Por ejemplo, la contraseña Ie77ers (en lugar de letters) es una contraseña muy buena. Por supuesto que las contraseñas son aun mejores a medida que tienen más caracteres.

Para quitar a un usuario, comience en la pantalla User Manager, seleccione la cuenta de usuario que se va a eliminar y haga elk en el boton Delete en la parte superior de la ventana del Programa.


CAMBIO DE LA CONTRASEÑA DEL DIRECTORIO RAIZ

Como se menciono anteriormente, el usuario raiz es un usuario especial que tiene muchos pri-vilegios en el sistema. Evidentemente, una cuenta tan poderosa necesita estar protegida. Por una buena contraseña. Si piensa que alguien ha desentranado la contraseña raiz o que alguien la tenia en su poder, (por ejemplo, un exempleado), debera cambiarla de inmediato. El procedimiento siguiente le muestra como modificar la contraseña raiz de un sistema.

1. Primero, abra el menu Applications, seleccione System Settings y despues escoja Root Password del menu. Usted vera la caja de dialogo que se muestra en la figura 23-4.
2. Ahora, puede ingresar la nueva contraseña para usar la cuenta raiz en los dos campos que se proporcionan. El programa no le permitira modificar la contraseña raiz si ambos palabras no coinciden exactamente. (Recuerde que el Red Hat Linux ES, como todos los sistemas operativos de UNIX, utiliza contraseñas que distinguen entre mayusculas y minusculas). Haga clic en OK para terminar este cambio.

CONFIGURACION DE LOS PARAMETROS NORMALES DE LA RED

Linux esta muy familiarizado con el ambiente de conectividad de redes. En realidad, su diseño, desde un principio, soporta el uso en un ambiente de red. Las redes son dinamicas y las cosas cambian, y es muy facil que Linux cambie con ellas. En esta seccion se explica como cambiar la configuracion de red en Linux.

Cambio de su dirección ip

Para modificar la direccion IP de su sistema, siga los pasos siguientes:

1. Abra el menu Applications, seleccione el System Settings y, despues, seleccione Network del menu. Usted vera la caja de dialogo Network Configuration que se muestra en la figura 23-5.
2. Haga clic en el boton Edit en la parte superior de la caja de dialogo Network Configu­ration, luego aparecera la caja de dialogo Ethernet Device que se muestra en la figura 23-6.



3. En la mayoria de los casos, si un sistema esta configurado para utilizar el DHCP para obtener su direction 3P, usted no debera cambiar los parametros. Sin embargo, a veces necesitara configurar una direccion IP estatica en un sistema. Para hacerlo, primero haga clic en la opcion Statically Set IP Addresses y, despues, podra ingresar la informacion apropiada de direccion IP en los campos Manual IP Address Settings.
4. Una vez que haya efectuado todas las selecciones, haga clic en OK para aceptar los cambios.


Archivo/etc/hosts
El archivo /etc/hosts contiene una lista de nombres host para los mapeos IP. La mayoria de I" sistemas utilizan esta lista para encontrar otras maquinas en la red en caso de que no hubiere acceso al DNS. Dentro de los parametros tipicos se incluyen el host mismo, los servidores par3 servicios normales (como el servidor DNSjy los parametros para las compuertas.

Los pasos para agregar parametros al archivo /etc/hosts/ son los siguientes:
1. Abra el menu Applications, seleccione System Settings y despues Networks del menu. Usted vera la caja de dialogo Network Configuration que se muestra en la figura 23-5.
2. Haga clic en la pestaña Hosts, que se muestra en la figura 23-7.
3. Haga clic en el boton New para agregar un nuevo parametro. Usted vera la caja de dialo­go Add/Edit Hosts Entry que se muestra en la figura 23-8.4. Ingrese la information adecuada en los campos Address and Hostname y, si lo desea, en el campo Aliases

Cambio de la configuracion del cliente DNS
Si su sistema necesita trabajar con una red mas grande (como Internet), es una buena idea configurar sus sistema para que cuente con un servidor DNS, lo que le permitira traducir los nombres de host en direcciones IP y viceversa. Muchas veces, los servidores DNS apropiados se asignan de manera automatica a traves del proceso DHCP, pero, si fuere necesario, usted puede controlar


estos parametros mediante el empleo de la caja de dialogo Network Configuration. Siga los pasos siguientes:


1. Abra el menu Applications, seleccione System Settings y despues seleccione Network del menu. Usted vera la caja de dialogo Network Configuration que se muestra en la figura 23-5.
2. Haga clic en la pestaña DNS en la caja de dialogo Network Configuration para desplegar la configuracion del DNS de la computadora, como se muestra en la figura 23-9.

3. Ingrese las direcciones IP de los servidores DNS que desee utilizar en los campos DNS principal, DNS secundario y DNS terciario.
4. Cierre la caja de dialogo Network Configuration para aceptar estos cambios.

FUNDAMENTOS DE LA LINEA DE COMANDOS DE LINUX

Historicamente, el aspecto de UNIX que lo hace mas poderoso y flexible ha sido las opciones dis­ponibles a traves de la linea de comandos. A menudo, los observadores esporadicos de los gurues del UNIX se sorprenden por la forma en que unos cuantos comandos tecleados cuidadosamente pueden dar como resultado acciones tan drasticas. Desafortunadamente, este poder se logra a costa de la facilidad de uso. Por esta razon, las GUI han proliferado tanto y se han convertido en el estandar de facto de muchas herramientas.
Sin embargo, a medida que acumule mas experiencia, se dara cuenta de que es dificil que las GUI presenten todas las opciones disponibles a un usuario, ya que hacerlo haria que la interfase fuera tan complicada como el equivalente en lmea de comandos. Por tanto, las GUI se han mante-nido muy simplificadas y los usuarios que cuentan con mayor experiencia han tenido que utilizar la hnea de comandos.


PISTA Antes de que se involucre en una guerrfsobre "que interfase es mejor", recuerde que ambos tipos sirven para un proposito, y que cada una tiene sus beneficios asi como sus debilidades. Al final, la persona que opte por tener el dominio de las dos, saldra beneficiado.



Antes de ir a los detalles de la interfase de linea de comandos de Linux, debe recordar que esta seccion esta muy lejos de ser un estudio exhaustivo de las herramientas. En lugar de tratar de abarcar muchas herramientas sin profundizar en ellas, esta seccion explica en detalle una can-tidad mas reducida de herramientas que son cruciales para el trabajo cotidiano.


NOTA Todos los comandos que se estudian en esta seccion se representaran en una ventana terminal. Usted puede acceder a una ventana terminal si abre el menu Applications, luego el menu System Tools y, despues, selecciona Terminal del menu. Este comando despliega una leyenda similar a [root@hostname/ root]#, donde el hostname es el nombre de su maquina.

Variables de ambiente
El concepto de variables de ambiente es casi el mismo en Windows que en UNIX. La unica diferencia estriba en la forma en que usted configura, ve y quita las variables.


impresion de las variables de ambiente
Para que aparezcan todas sus variables de estado, utilice el comando printenv, como en el ejem­plo siguiente:
[root@ford /root]# printenv
Para mostrar una variable de ambiente especrfica, identifique la variable como un parametro en printenv. Por ejemplo, para ver la variable de estado USER, usted deber£ teclear:
[root@ford /root]* printenv USER

ESTABLECIMIENTO DE VARIABLES DE AMBIENTE

Para establecer una variable de ambiente, utilice el formato siguiente:
[root@ford /root]# variab2e=value
donde variable es el nombre variable y value es el valor que usted desea asignarle a la variable. Por ejemplo, para fijar la variable de ambiente FOO a un valor BAR, tendria que teclear lo siguiente:
[root@ford /root]# FOO=BAR
Despues de asignar el valor, utilice el comando export para finalizarlo. El formato del coman­do export es el siguiente:
[root@ford /root]# export variable
donde variable es el nombre de la variable. En el ejemplo donde se asigno la variable FOO, usted tendria que teclear lo siguiente:
[root@ford /root]# export POO


PISTA De la manera siguiente, puede combinar los pasos para fijar la variable de estado con el comando export:
[root@ford /root]# export FOO=BAR
Si el valor de la variable de ambiente que desea asignar contiene espacios, necesita poner la variable entre comillas. En el ejemplo anterior, si usted hubiera querido fijar FOO a "Welcome to the BAR of FOO", hubiera tenido que teclear lo siguiente:
[root@ford /root]# export FOO="Welcorae to the BAR of FOO."

Eliminacion de variables de ambiente
Para eliminar una variable de ambiente, utilice el comando unset: [root@ ford /jroot ] # unset v&i?d.&ble
donde variable es el nombre de la variable que usted desea eliminar. Por ejemplo/ para eliminar la variable de estado FOO, usted debe teclear lo siguiente:
[root@ford]# unset FOO

Diferencias entre las Lineas de comandos
Una de las dificultades para mover la interfase de linea de comandos, especialmente si esta acos-tumbrado a utilizar las herramientas, como el cmd.exe de Windows, es lidiar con un shell que tenga un gran numero de atajos que puedan sorprenderlo si no es lo suficientemente cuidadoso. Esta seccion estudia las diferencias mas comunes y explica por que se comportan de la manera en que lo hacen.

Expansión del nombre del archivo
En los shell que se basan en UNIX, como bash, usted expande comodines que se ven en la lihea de comandos antes de incluirlos como parametros en la aplicacion. Esto contrasta mucho con el modo de operacion por omision de las herramientas basadas en DOS, las cuales a menudo tienen que llevar a cabo su propia expansion de comodines. Esto tambien significa que debe ser especial­mente cuidadoso cuando utiliza los caracteres comodines.
Por si mismos, los caracteres comodines son identicos a los del command.com. El asterisco (*) se compara con todos los nombres de archivo, mientras que el signo de interrogacion (?) se compara con los caracteres individuales. Si necesita utilizar estos caracteres como parte de otro parametro, puede evitarlos si coloca una diagonal invertida (\) enfrente de ellos. Este caracter tendra como efecto que el shell interprete un comodin simplemente como otro caracter.

Variables de ambiente como parametros
Aunque el command.com le permite ef ectuar la misma operacion, generalmente no es muy comun hacerlo y, por tanto, a menudo se olvida. Usted puede utilizar las variables de ambiente como parametros en la linea de comandos. Esto significa que la generacion del parametro $FOO dara como resultado transferer el valor de la variable de estado FOO en lugar de la cadena "$FOO".

Comandos multiples

En el shell bash, es posible ejecutar multiples comandos en la misma lihea separandolos con un signo de punto y coma (;). Por ejemplo, suponga que desea ejecutar la siguiente secuencia de comandos en una sola linea:
[root@ford /root]# Is -1 [root@ford /root]# cat /etc/hosts
Fundamentos de redes


En lugar de ello, pudo haber tecleado lo siguiente: [root@ford /root]# Is -1 ;cat /etc/hosts

Acentos invertidos

Usted puede hacer que la salida de un programa sea el parametro de otro. Un acento invertido (") le permite incrustar comandos como parametros de otros. Un caso comun del uso de este caracter es para transferir un numero de un archivo como un parametro del comando kill. Un ejemplo tipico ocurre con el named del servidor DNS. Cuando este servidor se rnicia, escribe el nombre de identificacion del proceso en el archivo /var/run/named.pid. Por tanto, la forma generica de matar al proceso named es consultar el numero en /var/run/named.pid mediante el comando cat y, despues, generar el comando kill con ese valor, como en el ejemplo siguiente:
root@ford /root]# cat /var/run/named.pid
253
[root@ford /root]# kill 253
Un problema que se presenta cuando se mata al proceso named de esta forma es que no puede automatizar la muerte; cuenta con que una persona leera el valor en /var/run/named.pid, de forma que ella puede matar el numero. El segundo problema no lo es tanto como una molestia: toma dos pasos parar el servidor DNS.
Sin embargo, si utiliza acentos invertidos, puede combinar estos pasos en uno y hacerlo en la forma que pueda automatizarlo. La version de acentos invertidos es similar al ejemplo siguiente:
[root@ford /root]# kill 'cat /var/run/named.pid'
Cuando el shell bash ve este comando, correra primero cat /var/run/named.pid y almace-nara el resultado. Enseguida correra el comando kill y pasara el resultado almacenado a el, todo en un solo paso.

Herramientas para documentar
Linux contiene dos herramientas extremadamente poderosas para hacer accesible la documenta­cion: man e info. En la actualidad, los dos sistemas cuentan con muchas cosas y aplicaciones en comun debido a que pueden mover su documentacion al formato info. Info se considera superior a man debido. a que permite que la documentacion se hiperenlace entre si en una forma parecida a como se encuentra en la World Wide Web, sin tener que escribirse en formato HTML. Por otro lado, el formato man ha funcionado por decadas. Miles de utilidades cuentan solo con una fuente de documentacion, que son sus paginas man. Ademas, multiples aplicaciones continuan liberando su documentacion en formato man puesto que muchos otros sistemas operativos, parecidos a UNIX, como el Sun Solaris, tiene por omision el formato man para su documentacion. Com° resultado, ambos sistemas existiran aun por mucho tiempo. Es altamente recomendable esta* acostumbrado a trabajar con ambos.

El comando man

Las paginas man (abreviatura de manual) son documentos que se encuentran en linea que abarcan el uso de herramientas y sus correspondientes archivos de configuracion. El formato del coman­do man es como sigue:
[root@ford /root]# man program_name
donde el program_nome es el nombre del programa del cual desea leer la pagina manual. Observe el ejemplo siguiente:
[root@ford /root]# man Is
Mientras lea acerca de UNIX y las fuentes de informacion relacionadas con este sistema (como los grupos de noticias), podra encontrar referencias a comandos seguidos de numeros entre parentesis [como "ls(l)"]. El numero representa la section de las paginas del manual, pues cada seccion abarca varias areas del tema. Los numeros de seccion estan a la mano para algunas herramientas, como los printf, que son tanto comandos en lenguaje de programacion C, como comandos de la linea. Por tanto, existiran dos opciones de dicho comando en dos secciones diferentes.
Para referirse a una seccion especifica, simplemente especifique el numero de seccion como primer parametro y, despues, el comando como segundo parametro. Por ejemplo, para obtener la informacion de los programadores de C acerca de printf, necesita teclear lo siguiente:
[root@ford /root]# man 3 printf
Sin embargo, para obtener la informaci6n en linea de comandos, debe teclear [root@ford /root]# man 1 printf
Por omision, la pagina manual del numero de seccion mas bajo se imprirne primero.

Los significados de los numeros de seccion son los siguientes:


Numero de seccion Significado
1 User tools
2 System calls
3 C library calls.
4 Device driver-related information
5 Configuration files
6 Games
7 Packages
8 System tools

PISTA Una opcion a la mano del comando man es -k. Con esta opcion, man buscara la informacion de resumen de todas las paginas man y listara que paginas coinciden con su numero de section. Por ejemplo, el comando siguiente encontrara paginas que coincidan con el criterio de busqueda "printf":
[root@ford /root]# man -k printf

El commando info

Ademas de las paginas man (relativas al comando anterior man), las paginas info son otra forma comun de documentation. Establecidas como el estandar GNU, info es un sistema de documen­tation muy similar a la web, en el sentido que los documentos pueden ser vinculados entre si mientras que las paginas man son documentos independientes estaticos. Por tanto, info tiende a ser mas facil de leer, de seguir y de encontrar information.
Para leer los documentos info en una herramienta o aplicacion especificos, simplemente in-voque info con el parametro y especifique el nombre de la herramienta. Por ejemplo, para leer acerca de emacs, simplemente teclee lo siguiente:
[ root@f ord /root J # info emacs
En general, en primer lugar querra verificar si existe una pagina man. Ello se debe a que hay una cantidad mucha mayor de information disponible en el formato man que en el formato info. Algunas paginas man especifican explicitamente que las info tienen un mayor peso y deben ser leidas.

Listas, propiedad y permisos de los archivos;
La administracion de archivos en Linux es diferente a la de Windows. Esta seccion analiza las herramientas necesarias para llevar a cabo la adrninistracion basica de archivos. El orden en el que se estudian las herramientas no es muy usual, ya que la section comienza con la descrip­cion de algunos comandos y, despues, regresa a fin de brindar alguna informacion relativa a sus antecedentes. En realidad, esta organizacion hace que algunos conceptos sean mas faciles de comprender puesto que el texto se puede referir a las herramientas, con las cuales ya debe estar familiarizado.

El comando ls para el listado de archivos
El comando Is se utiliza para obtener las listas de todos los archivos contenidos en un directorio. El comando tiene mas de 26 opciones, las mas comunes de las cuales son las siguientes:


Opcion Descripcion
-1 Listado largo. Ademas del nombre del archivo, muestra el tamano, fecha/hora,
permisos, propiedad e informaci6n de grupo.
-a Todos los archivos. Muestra todos los archivos en el directorio, incluidos aque-
llos que se encuentran escondidos que comienzan con un punto.
-1 Listas de una sola columna. Presenta todos los archivos en una sola columns.
-R Recursive Recursivamente presenta todos los archivos y subdirectories.

Usted puede utilizar cualquier combinacion de estas opciones. Consulte la pagina textinfo para obtener una lista completa de las opciones.
Ejemplo: para presentar todos los archivos en un directorio con una lista larga, teclee lo siguiente:
[root@ford /root]# Is -la
Ejemplo: para listar archivos que no estan escondidos en un directorio que comience con A, teclee lo siguiente:

[root@ford /root]# Is A*

Acerca de los archivos y directorios
En Linux (y UNIX en general), usted podra encontrar que casi todo se resume en un archivo-Originalmente, los desarrolladores de Linux adoptaron este enfoque para simplificar el trabajo del programador. Por tanto, en lugar de tener que comunicarse directamente con los controlado-res del dispositivo, usted utiliza archivos especiales (los cuales para la aplicacion parecen como cualquier otro archivo) como puentes. Para acomodar todos estos usos de los archivos, existed diferentes tipos de estos.
Normal Files Los archivos normales son justamente eso: normales. Contienen datos o ejecutables y el sistema operativo no supone nada acerca de sus contenidos.
Directorios Los archivos de directorio son un ejemplo especial de archivos normales, cuyos conte­nidos indican la ubicacion de otros. Entre los archivos a los cuales los directorios apuntan puede*1 existir otros directorios. Desde un punto de vista cotidiano, no importa mucho que los directorios en Linux 8 (y UNIX) sean realmente archivos, a menos que trate de abrirlos y leer el archivo de directorio en lugar de utilizar aplicaciones existentes para navegar en ellos.
Enlaces conectados Cada archivo del sistema de Linux obtiene su propio nodo-i que guarda un registro de los atributos y la ubicacion de un archivo ubicado en el disco. Si necesita referirse a un solo archivo utilizando dos nombres de archivo independientes, puede crear un enlace coneC-tado. El enlace conectado tendra el mismo nodo-i que el archivo original y, por tanto, se vera y comportara exactamente como el archivo original. Cada vez que se crea un enlace conectado, se incrementa una cuenta de referenda. Cuando se quita un enlace conectado, la cuenta de referenda se reduce. Hasta el momento en el que la cuenta de referenda Uegue a un valor de cero, el archive permanecera en el disco.
Usted debe observar que no puede haber un enlace conectado entre dos archivos que se encuentren en particiones diferentes. Ello se debe a que el enlace conectado se remite al archive original por medio de su nodo-i. Un archivo que se remite por un nodo-i en un sistema de archi" vos se remitira a otro en otro sistema de archivos.
Enlaces simbolicos A diferencia de un disco duro, que sefiala un archivo por medio de su nodo-i/ un enlace simbolico sefiala a otro por su nombre. Por tanto, los enlaces simbolicos (a menudo abre" viados como symlinks) pueden senalar archivos localizados en otras particiones o aun en otro£ controladores de la red.

Dispositivos de bloqueo En razon de que a todos los controladores de dispositivo se accesa por medio de sistemas de archivos, los archivos del tipo dispositivo de bloqueo se utilizan como interfa-se con dispositivos, como los discos. Los tres rasgos que identifican a un dispositivo de bloqueo son: que tienen un numero mayor, un niimero menor y, cuando se observan mediante el comando ls-1, muestran el primer caracter del permiso como b. Observe el ejemplo siguiente;
*
[root@ford /root]# Is -1 /dev/hda
brw-rw------ 1 root disk 3, 0 May 5 1998 /dev/hda

En este caso, la b esta al comienzo de los permisos del archivo, el 3 es el numero mayor y el 0 es el numero menor.
El significado del número mayor es que este identifica que controlador de dispositivo represen-ta el archivo. Cuando el sistema acceda a este archivo, el numero menor se transfiere al controlador de dispositivo como un parametro para inf ormarle al controlador a que dispositivo esta accedien-do. (Por ejemplo, si existen dos puertos seriales, compartiran el mismo controlador de dispositivo y, por tanto, el mismo niimero mayor, pero cada puerto serial tendra un solo numero menor).
Dispositivos de caracter De manera similar que los dispositivos de bloqueo, los dispositivos de ca­racter son archivos especiales a los que se puede acceder por medio del sistema de archivos. La di-ferencia obvia entre los dispositivos de bloqueo y de caracter es que los primeros se comunican con los dispositivos reales en bloques mas grandes mientras que los ultimos trabajan con un caracter a la vez. (Un disco duro es un dispositivo de bloqueo, mientras que un modem es un dispositivo de caracter). Las caracteristicas distintivas de un dispositivo de"caracter son que sus permisos comien-zan con una c y el dispositivo tiene un numero mayor y menor. Observe el ejemplo siguiente:
[root@ford /root]# Is -1 /dev/ttySO
crw----------- 1 root tty 4, 64 May 5 1998 /dev/ttySO
Tuberias nombradas Una tuberia nombrada es un tipo especial de archivo que permite la comuni-cacion entre procesos. Mediante el comando mknod (que se estudia despues en la seccion "Ad­ministration y manipulation de archivos")/ usted puede crear este tipo especial de archivo que un proceso puede abrir para leer y otro proceso puede abrir para escribir, lo cual indica que per mite la comunicacion entre los dos procesos. Las tuberias nombradas funcionan especialmente bien cuando los paquetes se niegan a tomar la entrada de una tuberia de linea de comandos, pero usted cuenta con otro programa al que necesita alimentarie datos pero no con el espacio en disco para un archivo temporal.
Usted puede decir que un archivo es de una tuberia nombrada por el hecho de que el prime* caracter de su permiso de archivo es una p, como en el ejemplo siguiente:

[root@ford /root]* Is -1 mypipe

chow: cambio de propiedad
El comando chown le permite modificar la propiedad de un archivo a alguien mas. Solo el usua-rio raiz puede modificar esta propiedad. (Los usuarios normales no pueden "prestar" o y/robar la propiedad.de un archivo). El formato del comando es como sigue:
[root@ford /root]# chown [-R] tzsername filename donde username es el login del usuario al que desea modificarle la propiedad y filename es el nombre del archivo al que se le modificara la propiedad. El nombre del archivo puede tambien ser un directorio.
La opcion -R se aplica cuando el nombre del archivo especificado es un nombre de direc­torio. Este le dice al comando que descienda recursivamente a traves del arbol de directorios y aplique la nueva propiedad no solo al directorio en si, sino a todos los archivos y subdirectorios contenidos en el.

chgrp: cambio de grupo
chgrp es otra utilidad de linea de comandos que le permite modificar los parametros de grupo de un archivo. El comando trabaja de una manera muy similar que chown. El formato del comando es como sigue:
[root@ford /root]# chgrp [-R] groupname filename
donde el groupname es el nombre del grupo al que usted desea cambiarle el filename. El filename puede ser tambien un directorio.
La opcion -K se aplica cuando el filaneme especificado es un nombre de directorio. De la misma manera que con chown, la opcion informa al comando chgrp que descienda recursiva­mente por medio del arbol de directorios y aplique la nueva propiedad no solo al directorio en si, sino a todos los archivos y subdirectorios que este contenga.

chmod: cambio de modo
Los permisos se dividen en cuatro partes. La primera es el primer caracter de los permisos. Si el archivo es normal, entonces no tendra ningun valor y se representara con un guion (-). Si el ar­chivo tiene un atributo especial, se representara con una letra. Los dos archivos especiales en los que usted debe estar mas rnteresado son los directorios que se representan con una d y los enlaces simbolicos que se representan con una I.
La segunda, tercera y cuarta partes se representan en grupos de tres caracteres. La primera parte es el permiso del propietario del archivo. La segunda es el permiso del grupo. Finalmente, la ultima parte es el permiso para el mundo. En el contexto de UNIX, el mundo esta conformado, simplemente, por todos los usuarios del sistema, sin tomar en cuenta sus parametros de grupo.
Las letras utilizadas para representor los permisos son los siguientes:

Letras Significado
R Read
W Write
X Execute
Cada permiso tiene su correspondiente valor. El atributo read es igual a 4, write es igual a.2 y execute es igual a 1. Cuando combina atributos, esta agregando sus valores.
La razon por la que estos atributos necesitan en valores es para asegurar que pueda utilizar el comando chmod para asignarlos. Aunque el comando chmod tiene formas mas faciles de leer para asignar permisos, es importante que usted comprenda el esquema de numeracion puesto

que este se utiliza en programacion. Ademas, no todos las personas utilizan el esquema de nombrado y los usuarios de Linux a menudo suponen que si comprende los permisos de los archivos, tambien comprende el significado numerico.
Los grupos mas comunes de tres y sus significados son los siguientes:
Permiso
r—
rw-
rwx
r-x
~-x
Valores
0 4 6 7 5 1
Significado
Sin permiso Solo lectura Lectura y escritura Lectura, escritura y ejecucion Lectura y ejecuci6n Solo ejecucion
A pesar de que existen otras combinaciones (por ejemplo, -wx), no son esenciales y es rnuy poco probable que se las encuentre.
Cada uno de estos grupos de tres letras es, posteriormente, agrupado en conjuntos de tres. El primer grupo representa los permisos para el propietario del archivo, el segundo representa los permisos para el grupo del archivo y el tercero representa los permisos para todos los usuarios del sistema. A continuacion se presentan los permisos mas comunes:
Permiso
-TW--------
Equivalente numerico Significado
-rw-r—r—
600
644
-rw-rw-rw-
666
-rwx-
700
-rwxr~xr~x
755
El propietario tiene permiso de lectura y escritura. Usted desea que la mayoria de sus archivos tengan estos parametros.
El propietario tiene permisos de lectura y escritura. El grupo y el mundo tiene per­misos de solo lectura. Asegurese de que permitira a otra persona leer este archivo.
Todos tienen permisos de lectura y escritura en un archivo. Esta configuracion es mala. Usted no desea que otras personas puedan modificar sus archivos.
El propietario tiene permisos de lectura, escritura y ejecucion. Usted querra estos pa­rametros para programas que desea correr (como el archivo que resulta de compilar un programa en C o C++).
El propietario tiene permisos de lectura, es-"critura y ejecucion. El resto del mundo tiene permisos de lectura y ejecucion.

Sapitulo 23; Intpoduccion a la aSmsnistPacion de los sisteiiias Lmmi
age
Permiso
-rwxrwxrwx
Equivalente numerico Significado
777 -rwx-x-x
711 drwx-
700 drwxr-xr-x drwx—x—x
755
711
Todos tienen privilegios de lectura, escritura y ejecucion. Como el parametro 666, esta opcion es mala. Permitir que los demas editen sus archivos es una via segura al desastre.
El propietario tiene permisos de lectura, escritura y ejecucion. El resto del mundo tiene permisos de solo ejecucion. Esta configuracion es util en programas que permite que otros corran pero no que copien.
Este es un directorio creado con el comando mkdir. Solo el propietario puede leer y escribir en el. Observe que todos los directorios deben tener el bit de ejecucion habilitado.
Solo el propietario puede modificar este directo­rio, pero todos los demas pueden ver su conte-nido.
Este parametro utiliza un truco para cuando usted desee permitir que un directorio sea leido por todo el mundo, pero que no quiera que pueda listar los archivos corriendo el comando Is. Esta configuracion permite a los usuarios leer un directorio solo si conocen el filename que desean recuperar.

Administracion y manipulacion de archivos

Esta seccion ofrece un panorama de las herramientas basicas de lfnea de comandos para adminis-trar archivos y directorios. La mayor parte de este panorama debe serle familiar si ya ha utilizado una interfase de lfnea de comandos. En esencia, usted utiliza las mismas funciones de antes, pero con nuevos comandos.


cp: Copy Files
El comando cp se utiliza para copiar archivos. De la misma forma que el comando Is, este tiene un gran numero de opciones. Consulte la pagina man para encontrar detalles adicionales. Por ornision, este comando trabaja silenciosamente y despliega la information de status solo si existe una condition de error. A continuation se presentan las opciones mas comunes:

Description
Forzar copia. No solicita verification.
Copia interactiva. Antes de copiar archivos, hace que el usuario verifique que quiere copiar cada archivo.

Ejemplo: para copiar index.html en index-orig.html, teclee lo siguiente:
[root@ford /root]# cp index.html index-orig.html
Ejemplo: para copiar interactivamente todos los archivos que terminen con .html al directo-
rio /tmp, teclee lo siguiente:
■ % [root@ford /root]# cp -i *.html /trap

mv: movimiento de archivos

Utilice el comando mv para mover archivos de un lugar a otro. Este comando tambien puede mo­ver archivos entre particiones; sin embargo, debido a que este movimiento requiere que tambien se haga una copia real, a veces el comando move emplea mas tiempo para ejecutar dicha accion. A continuacion se presentan las opciones mas comunes de este comando:
"- *
Opcion Description
-i Obliga a moverse.
I Se mueve interactivamente.

Ejemplo: para mover un archivo desde /usr/src/myprog/bin/* a /usr/bin, teclee lo siguiente: [root@ford /root]# mv /usr/src/myprog/bin/* /usr/bin

Ejemplo: aunque Linux no cuenta con una herramienta explicita para el renombrado, usted puede utilizar mv para Uevar a cabo esta tarea. Para renombrar /tmp/blah a /tmp/bleck, teclee lo siguiente:[root@ford /root]# mv /tmp/blsck /trap/blah

In: enlazar archivos
El comando In le permite establecer uno de dos tipos de enlaces: enlaces conectados y enlaces suaves. (Consulte la seccion "Acerca de archivos y directorios" en este capitulo para encontra* informacion adicional). El formato general de este comando es el siguiente:
[root@ford /root]# In original_£i2e new_f±le
El comando In tiene muchas opciones, la mayoria de las cuales jamas necesitara utilizar. W opcion mas comiin es -s, la cual crea un enlace simbolico en lugar de un enlace conectado.
Ejemplo: para crear un enlace simbolico de tal forma que /usr/bin/myadduser senate a / usr/local/bin/myadduser, usted debera teclear lo siguiente:
[root@ford /root]# In -s /usr/local^in/myadduser /usr/bin/myadduser

seufind: encontrar un archivo
El comando find le permite encontrar archivos con base en una serie de criterios. Este comando, como los demas que ya hemos estudiado, ofrece un gran nurnero de opciones sobre las que puede leer en su pagina man. A continuacion se muestra el formato general del comando:
[root@ford /root]# find start dlr [options]
donde start_dir es el directorio a partir del cual debe comenzar la busqueda. En cada archivo encontrado, ejecuta and. Si usted utiliza el shell bash, asegiirese de escribir a continuacion de cada and el simbolo \; de otra forma, el shell se confundira.
Especifica que el filename debera ser name. Usted puede utilizar aqui expresiones normales.

Ejemplo: para encontrar todos los archivos en /tmp que no hayan sido accesados en siete dias al menos, teclee lo siguiente:
[root@ford /root]# find /tmp -atime 7 -print
Ejemplo: para encontrar todos los archivos en /usr/src cuyos nombres sean core y, despues quitarlos, teclee lo siguiente:
[root@ford /root]# find /usr/src -name core -exec rm {} \;

Ejemplo: para encontrar todos los archivos en /home con la extension .jpg que sean mayores de 100 KB, teclee lo siguiente:
[root@ford /root]# find /home -name "*.jpg" -size 100k


dd: convierta y copie un archivo
El comando dd lee el contenido de un archivo y lo envia a otro archivo. Lo que hace dd diferente de cp es que puede llevar a cabo conversiones rapidas en el archivo y aceptar datos de un dis-positivo (como una cinta o un disco flexible). Cuando dd accede al dispositivo, no supone nada respecto al sistema de archivos, sino que recupera los datos en un formato muy basico. Por tanto, usted puede utilizar los datos para generar imagenes de discos, aun si el disco tiene un formato externo.
A continuacion se presentan los parametros mas comunes de dd:


Opcion Description
ii=infile Especifica el archivo de entrada como infile.
oi^outfile Especifica el archivo de salida como outfile.
cowxt=blocks Especifica blocks como el mimero de bloques con los que dd
debe operar antes de salir.
ibs=size Configura el tamaho del bloque del dispositivo de entrada
a un valor size.
ohs=size Configura el tamaho del bloque del dispositivo de salida a
un valor size.
seek=bZodcs Se salta un mimero de bloques blocks a la salida.
s\dp=blocks Se salta un mimero de bloques blocks a la entrada.
swab Convierte mayiisculas en minusculas, y viceversa.
Ejemplo: para generar una imagen de un disco flexible (que es especialmente litil para form3 tos de archivos externos), teclee lo siguiente:
[root@ford /root]# dd if=/dev/fd0 of=/tmp/floppy_image

En las distribuciones originales de UNIX, una herramienta que comprime un archivo fue, de manera acertada, denominada compress. Desafortunadamente, un empresario patento el al-goritmo, esperando hacer una gran cantidad de dinero. En lugar de no hacer nada, la mayoria de los sitios vieron y descubrieron gzip, una herramienta diferente de compresion con un algoritmo no patentable. Aun mejor: gzip logra permanentemente una mejor relacion de compresion que compress.
NOTA La herramienta gzip no comparte los formatos de archivo con PkZip o WinZip. Sin embargo, WinZip puede descomprimir los archivos gzip.
PISTA En general, usted puede distinguir los archivos comprimidos con gzip de los comprimidos con compress si verifica sus extensiones. Los archivos comprimidos con gzip tipicamente terminan en .gz, mientras que los comprimidos con compress terminan en 2.
A continuacion, se muestran los parametros opcionales comunmente utilizados con gzip:


Opcion Descripcion
Escribe el archivo comprimido en el dispositivo de salida estandar.
Descomprime.
Recursivamente, encuentra todos los archivos que deben ser comprimidos.
Proporciona la mejor compresion.
Logra la compresion mas rapida.
Consulte la pagina man para encontrar una lista completa. Observe que gzip comprime el archivo "en el lugar", lo que significa que despues de que se efectua la compresion, se quita el archivo original y se deja solo el archivo comprimido.
Ejemplo: para comprimir un archivo y, despues, descomprirnirlo, utilice el comando siguiente:
[toot@ford /root]# gzip myfile [*oot@ford /root]# gzip -d myfile.gz

Ejemplo: para comprimir todos los archivos que terminen en .html utilrzando la mejor com­presion posible, ingrese el comando siguiente:
[*root@ford /root]# gzip -9 *.html
fnknod: haga archivos especiales
Como ya se comento, Linux accede a todos sus dispositivos por medio de archivos. Para crear un archivo que el sistema entienda como una interfase a un dispositivo, usted debe especificar que el archivo es del tipo bloque o caracter y que tiene un numero mayor o menor. Para crear este tipo de archivo con los valores necesarios, usted puede utilizar el comando mknod..

Ademas de crear interfases a dispositivos, usted puede utilizar el mknod para crear tuberias nombradas.
El formato del comando es el siguiente:
[root@ford /root]# mknod name type [major] [minor]
donde name es el nombre del archivo y type es ya sea el caracter b para el dispositivo bloque, c para el dispositivo caracter o p para la tuberia nombrada. Si usted selecciona crear un dispositivo bloque o caracter, necesita especificar el numero mayor y el menor. El unico momento en el que necesitara crear un dispositivo bloque o caracter es cuando instale algun tipo de controlador de dispositivo que lo requiera. La documentacion que venga con su controlador debera decide que valores debe utilizar para los numeros mayor y menor.
Ejemplo: para crear una tuberia nombrada que se llame /tmp/mypipe, usted teclearfa lo siguiente:
[root@ford /root]* mknod /tmp/mypipe p

mkdir: cree un directorio raiz
El comando mkdir en Linux es identico al de otras versiones de UNIX asi como a las de MS-DOS. La unica opcion disponible es -p, la cual crea un directorio pariente si es que no existe ninguno. Por ejemplo, si necesita crear /tmp/bigdir/subdir/mydir y el unico directorio que existe es /top, si utiliza -p automaticamente creara bigdir y subdir junto con mydir. Ejemplo: para crear un directorio Uamado mydir, teclee lo siguiente:
[root@ford /root]# mkdir mydir

NOTA En Linux, usted no puede abreviar el comando mkdir como md, como en el caso del DOS.

1: despliega el directorio de trabajo
Es inevitable que, en un momento dado, usted se encuentre frente a una estacion de trabajo que ya haya ingresado al sistema y no sepa donde se encuentra ubicado dentro del arbol de directo­ries. Para obtener esta informacion, es necesario teclear el comando pwd. No tiene parametros y su funcion principal es imprimir el directorio de trabajo actual. El equivalente en DOS es teclear solo cd; sin embargo, en bash, teclear cd simplemente lo regresa al directorio raiz. Ejemplo: para obtener el directorio de trabajo actual, teclee el comando siguiente:
[root@ford src]# pwd /usr/local/sre


tar: archivo cinta
Si esta familiarizado con el programa pkzip, esta acostumbrado a las herramientas de compre­sion no solo para reducir el tamafLo del archivo, sino tambien para combinar multiples archivos en un archivo unico de gran tamafio. Linux divide este proceso en dos herramientas. La herra­mienta de compresion es gzip.
El programa tar combina archivos multiples en un archivo unico de gran tamafio. La razon de separar este programa de la herramienta de compresion es que tar le permite seleccionar que herramienta de compresion va a utilizar o si usted aun desea comprimir. Ademas, tar puede leer y escribir en dispositivos de manera muy similar a dd, lo que hace que tar sea una buena herra­mienta para respaldar dispositivos de cinta.
NOTA Aunque el nombre del programa incluye la palabra tape, no es necesario que lea o escriba en un controlador de cinta cuando cree archivos. En realidad, usted rara vez utilizara tar con un controlador de cinta en su trabajo cotidiano (independientemente de sus respaldos).
La estructura del comando tar es el siguiente: [root@ford /root]# tar [commands and options] filenames Los comandos y opciones disponibles de tar son las siguientes:

Opciones Descripciones
-c Crea un archivo nuevo.
-t Presenta el contenido de un archivo.
-x Extrae el contenido de un archivo.
-f Especifica el nOmbre del archivo (o dispositivo) en el que se ubicaarchivo.
-v Sea abundante en palabras durante las operaciones.
-z Supone que el archivo ya esta (o estard) comprimido con gzip.

Existen muchas mas opciones cuyo uso es menos frecuente. Consulte la pagina man para encontrar una lista mis completa.


Ejemplo: para crear un archivo llamado apache.tar que contenga todos los archivos desde /usr/src/apache, teclee lo siguiente:
[root@ford src]# tar -cf apache.tar /usr/src/apache
Ejemplo: para crear un archivo llamado apache.tar que contenga todos los archivos desde /usr/src apache y vea la lista de archivos a medida que se agregan al archivo, teclee lo siguiente:
[root@ford src]# tar -cvf apache.tar /usr/src/apache
Ejemplo: para crear un archivo comprimido con gzip que se llame apache.tar.gz y que con­tenga todos los archivos desde /usr/src/apache y presente los folders a medida que se van agre-gando al archivo, teclee lo siguiente:
[root@ford src]# tar -cvzf apache.tar.gz /usr/src/apache
Ejemplo: para extraer el contenido de un archivo tar comprimido con gzip que se llame apa­che.tar.gz y liste los archivos conforme se van extrayendo, teclee lo siguiente:
[root@ford /root]# tar -xvzf apache.tar.gz

cat: archivos concatenados
El programa cat sirve a un simple proposito: desplegar el contenido de archivos. Mientras que usted puede hacer cosas mas creativas con el, casi sielnpre utilizara el programa simplemente para desplegar el contenido de archivos de texto, de forma muy parecida a la que utilizaria el comando type en DOS. Debido a que usted puede especificar nombres de archivo multiples en la linea de comandos, es posible concatenar archivos en un unico archivo mas grande. Por tanto, cat difiere de tar en que el archivo resultante no cuenta con informacion de control para mostrar las fronteras de los diferentes archivos.
Ejemplo: para desplegar el archivo /etc/passwd, teclee lo siguiente:
[root@ford /root]# cat /etc/passwd
Ejemplo: para desplegar el archivo /etc/passwd y el archivo /etc/group, teclee lo siguiente:
[root@ford /root]# cat /etc/passwd /etc/group
Ejemplo: para concatenar el archivo /etc/passwd con el archivo /etc/group en el archivo /tmp/complete, teclee lo siguiente:
[root@ford /root]# cat /etc/passwd /etc/group > /tmp/complete
Ejemplo: para concatenar el archivo /etc/passwd a un archivo existente llamado /tmp/orfej teclee lo siguiente:
[root@ford /root]# cat /etc/passwd » /tmp/orb

more: despliega un archivo en la pantalla a la vez
El comando more funciona de manera muy parecida a la version DOS del programa. Despliega un archivo de entrada una pantalla a la vez. El archivo de entrada puede provenir de la entrada estandar de more de un parametro de la linea de comandos.
Existen parametros adicionales de linea de comandos para este en particular; sin embargo, se utilizan muy de vez en cuando. Consulte la pagina man para encontrar information adicional.
Ejemplo: para ver el archivo /etc/passwd una pantalla a la vez, teclee lo siguiente:
[root@ford /root]# more /etc/passwd
Ejemplo: para ver la lista de directorios generados por el comando Is una pantalla a la vez, teclee lo siguiente:
[root@ford /root]# Is more
A menudo necesitara determinar d6nde y quien esta consumiendo espacio en disco, jespecial-mente cuando este se encuentre corriendo muy despacio! El comando du le permite determinar la utilization del disco en cada directorio.

which: despliega el directorio en el que se ubica un archivo comando

which busca su trayectoria a fin de encontrar el nombre del archivo especificado en la linea de comandos. Si encuentra el nombre del archivo, la herramienta despliega la trayectoria real del archivo solicitado. El proposito de este comando es ayudarle a encontrar trayectorias totalmente calificadas
Las siguientes son algunas de las opciones del comando du:


Opciones Descripcion
-c Genera un gran total al final de la corrida.
-h Imprime los tamanos en formato legible para el ser humano.
-k Imprime los tamanos en kilobytes en vez de hacerlo en tamafios de
los bloques. (Pista: en Linux, un bloque es igual a 1 KB. Sin embargo, esto no es valido para todas las versiones de UNIX).
-s En resumen: Imprime solo una salida para cada argumento.
Ejemplo: para desplegar en un formato legible para el ser humano la cantidad de espacio que cada directorio consume en el directorio /home/ teclee lo siguiente:
[root@ford /root]# du -sh /home/*

Por ejemplo: para encontrar en que directorio se encuentra el comando Is, teclee lo siguiente: [root@ford /root]# which Is

whereis: localiza las paginas binaria, de fuente y manual de un comando
Como la descripcion lo establece, este programa no solo busca su trayectoria y despliega el nom-bre del programa y su directorio absolute sino que tambien busca el archivo fuente (si esta dis-ponible) y la pagina man del comando (de nuevo, si esta disponible).
Ejemplo: para encontrar la ubicacion de las paginas binaria, de fuente y manual del comando grep, teclee lo siguiente:
[root@ford /root]# whereis grep

df: encuentre la cantidad de espacio fibre en un disco
El programa df despliega la cantidad de espacio libre de particion en particion. Los controla-dores/particiones deben montarse en df para recuperar esta informacion. Usted tambien puede reunir informacion sobre NFS mediante este comando.
A continuation se muestran algunos parametros que usted puede utilizar con esta herramienta:
Opciones Descripcion
-h Utilice una medicion legible por losJiumanos, que sea diferente
al niimero de bloques libres, para indicar la cantidad de espacio
libre.
-^m
f
-1 Presente solo los sistemas de archivos montados que sean loca-
les. No despliegue ninguna informacion acerca de los sistemas de archivos montados en la red.
Estan disponibles opciones de linea de comandos adicionales; sin embargo, se utilizan muy rara vez. Usted puede conocer mas acerca de ellas en la pagina man df.
Ejemplo: para mostrar el espacio libre de todos los controladores montados localmente, te­clee lo siguiente:
[root@ford /root]# df -1
Ejemplo: para mostrar el espacio libre en un formato legible para el ser humano del sistenta de archivos en el que esta ubicado su directorio de trabajo actual, teclee lo siguiente (el punto del final es una abreviatura que significa "directorio actual", de la misma forma en que se hace en DOS):

[root@ford /root]# df -h .
Ejemplo: para mostrar el espacio libre en un formato legible para el ser humano del sistefltf de archivos en el que se ubica /imp, teclee lo^siguiente:
[root@ford /root]# df -h /tmp

sync: sincronizacion de los discos
Como lo hacen los demas sistemas operativos modernos, Linux trata de mejorar su eficiencia manteniendo un disco cache. Sin embargo, esto significa que en un momento dado no todo lo que usted desee que sea escrito en el disco lo va a estar.
Para programar que el contenido del disco cache se escriba en el disco, utilice el comando sync. Si sync detecta que la escritura del disco cache en el disco ha sido programada, esta herra-mienta provoca que el kernel vacie inmediatamente el disco cache.
El comando sync no cuenta con parametros de Ifnea de comandos.
Ejemplo: para asegurar que la memoria cache del disco se haya vaciado, teclee lo siguiente:
[root@ford /root]# sync ; sync

En Linux (y UNIX en general), cada programa que se corre esta compuesto por al menos un pro­ceso. Desde el punto de vista del sistema operativo, cada proceso es independiente uno del otro y, a menos de que usted les solicite que compartanlos recursos entre ellos, se encuentran confinados a la memoria y ubicacion en el CPU que se les asigno. Los procesos que sobrepasaron la cantidad de memoria que se les asigno (los cuales, potencialmente, pudieron corromper otro programa que estuviera corriendo y, por tanto, inestabilizar el sistema) son eliminados inmediatamente. Este metodo de manejar los procesos ha sido una de las razones fundamentales por la que UNIX ha podido sostener sus derechos sobre la estabilidad del sistema por tanto tiempo: las aplicacio-nes de los usuarios no pueden afectar a otros programas de usuario o al sistema operativo.
Esta seccion estudia las herramientas utilizadas para listar y manipular procesos. Este proce-dimiento es muy importante para el trabajo cotidiano del administrador del sistema, puesto que es vital vigilar lo que esta pasando.


ps: lista de procesos
El comando ps le permite listar todos los procesos de un sistema, asi como su estado, su tamano, su nombre, su propietario, su tiempo de CPU, su tiempo medido y muchas otras cosas mas. El comando tiene muchos parametros de Ifnea, pero en esta seccion se estudian solo los mas co-munes:
Opciones Descripcion
-a Muestra todos los procesos con una terminal de control, no solo con
la del usuario actual.
-r Muestra solo los procesos que se llevan a cabo.
-x Muestra los procesos que no cuentan con una terminal de control.
-u Muestra a los propietarios de los procesos.
-f Muestra que procesos son parientes entre si.
-1 Genera un formato largo.
-w Muestra los parametros del Ifnea de comandos de los procesos (hasta
la mitad de una Ifnea).
-ww Muestra todos los parametros de Ifnea de comandos de los procesos,
sin importar su longitud.

El parametro mas comun que se utiliza con el comando ps es -auxww, que muestra todos los procesos (sin considerar si tienen o no una tenninal de control), los propietarios de cada proceso y todos los parametros en linea de todos los procesos. Examinemos la salida del comando ps -auxww:

RESUMEN DEL CAPITULO
En este capitulo se analizaron dos metodos basicos de administracion de sistemas y se presentaron los cimientos para aprender mas cerca de este tema. Usted aprendio acerca de la configuracion de algunos de los parametros clave del servidor utilizando las herramientas basicas integradas que tiene el sistema operativo Red Hat Linux ES. En la segunda mitad del capitulo, usted aprendid mucho mas acerca de la linea de comandos de Linux y como controlar el sistema que lo usa.
En el capitulo, he tenido (obviamente) que omitir informacion. Despues de todo, la mayoria de los libros sobre administracion de sistemas tiene cientos de paginas, y este capitulo no tiene ni siquiera cincuenta paginas. Sin embargo, dado todo lo que ha aprendido aquf, usted debe ser capaz de llevar a cabo tareas administrativas basicas y arreglarselas con este sistema operativo.
La forma mas facil de obtener mas informacion es invertir tiempo para practicar con las he­rramientas de la linea de comandos y los diferentes programas System Tools. Las herramientas graficas son mucho mas capaces de lo que se presento aqui. jEn realidad, en servidores sencillos, es completamente posible llevar a cabo el mantenimiento del sistema solo mediante las herra­mientas graficas! La linea de comandos, por otro lado, es el arma secreta de Linux para obtener mayor flexibilidad.
Un comentario final si desea aprender mas acerca de la administraci6n de sistemas Linux: asegurese de consultar la referencia Linux Administration: A Beginner's Guide, Fourth Edition, de Wale Soyinka (McGraw-Hill/Osborne, 2006).