El Camino de Windows a Linux

97
El camino de Windows a Linux http://www.eslinux.com/articulos?page=1 Parte 1. Pensando en Linux Diferencias y similitudes Artículo publicado primero en inglés en la zona Linux de IBM DeveloperWorks parte de la serie El camino de Windows a Linux. Traducido por D.A. Valdez Por Chris Walden (cmwalden-at-us.ibm.com) Arquitecto de e-business y consultor para IBM Developer Relations 11 de Noviembre de 2003 El arquitecto de e-business Chris Walden es tu guía a través una serie de nueve artículos de developerWorks que trata acerca de la mudanza de sus habilidades informáticas de Windows a Linux. Empezamos nuestra transición examinando algunas de las diferencias y similitudes entre ambos entornos, y aprendiendo como no tener que rebootear la computadora todo el tiempo. Diferencias y similitudes Has empezado a hacer el cambio de Windows a Linux. Pudo haber sido tu decisión, o tal vez venir "de arriba". En cualquier caso, estás cambiando de procedimientos y herramientas muy familiares a algo tal vez completamente desconocido. Además, tal vez te haga falta entrenar a otros para que se sientan cómodos al manejar Linux. La administración es más que solo seguir procedimientos, hay un lado creativo en toda administración exitosa de un entorno de computación. Hacer esta transición puede sentirse un poco como pasar de ser un pintor a ser un escultor. Las buenas noticias son que los estándars abiertos en que se basa Linux son los mimos estándares que formaron la base de la administración en Windows. Algunas de las palabras habituales son diferentes, y las herramientas son un poco diferentes también, pero los conceptos subyacentes son los mismos. Mejor aún, tendrás un conjunto de herramientas aún más grande y diverso para trabajar, controlar y

description

w to l

Transcript of El Camino de Windows a Linux

Page 1: El Camino de Windows a Linux

El camino de Windows a Linuxhttp://www.eslinux.com/articulos?page=1

Parte 1. Pensando en LinuxDiferencias y similitudes

Artículo publicado primero en inglés en la zona Linux de IBM DeveloperWorks parte de la serie El camino de Windows a Linux.

Traducido por D.A. Valdez

Por Chris Walden (cmwalden-at-us.ibm.com)

Arquitecto de e-business y consultor para IBM Developer Relations

11 de Noviembre de 2003

El arquitecto de e-business Chris Walden es tu guía a través una serie de nueve artículos de developerWorks que trata acerca de la mudanza de sus habilidades informáticas de Windows a Linux. Empezamos nuestra transición examinando algunas de las diferencias y similitudes entre ambos entornos, y aprendiendo como no tener que rebootear la computadora todo el tiempo.

Diferencias y similitudes

Has empezado a hacer el cambio de Windows a Linux. Pudo habersido tu decisión, o tal vez venir "de arriba". En cualquier caso, estáscambiando de procedimientos y herramientas muy familiares a algo talvez completamente desconocido. Además, tal vez te haga falta entrenar aotros para que se sientan cómodos al manejar Linux. La administraciónes más que solo seguir procedimientos, hay un lado creativo en todaadministración exitosa de un entorno de computación. Hacer estatransición puede sentirse un poco como pasar de ser un pintor a ser unescultor.

Las buenas noticias son que los estándars abiertos en que sebasa Linux son los mimos estándares que formaron la base de laadministración en Windows. Algunas de las palabras habituales sondiferentes, y las herramientas son un poco diferentes también, pero losconceptos subyacentes son los mismos. Mejor aún, tendrás un conjunto deherramientas aún más grande y diverso para trabajar, controlar ymantener tu entorno. La fortaleza de Linux está en su estabilidad yflexibilidad. Mientras aprendes a pensar en Linux, te acostumbrarás másy más a automatizar todo, y a hacerlo de manera remota.

Linux es un pocodiferente a Windows

Page 2: El Camino de Windows a Linux

Antes de discutir cuan diferente es Linux de Windows, exploremos lassimilitudes que existen entre ambos.

Usuarios y grupos

Ambos, Linux y Windows son sistemas operativos multiusuario. Ambospueden ser usados por diferentes usuarios, y darle a cada uno entorno yrecursos completamente separados. La seguridad se lleva a cabo en basea la identidad del usuario. El acceso a los recursos también puede sercontrolado por pertenencia a un grupo determinado, haciendo más fáciltrabajar con un número grande de usuarios sin tener configurarindividualmente cada cuenta.

Usuarios y grupos pueden ser centralizados en un solorepositorio, permitiendo a múltiples servidores compartir el mismousuario y la información para autenticarlo.

Sistema de archivos

Ambos, Linux y Windows pueden trabajar con amplia variedad de sistemasde archivos. Los recursos de archivos pueden ser compartidos con unavariedad de máquinas cliente a través de NetBIOS, FTP, u otrosprotocolos. El acceso a sistemas de archivo individuales puede serincorporado de manera flexible, permitiendo al administrador elegirdonde y cómo serán accesados.

Puertos y dispositivos

Los dispositivos físicos como los puertos paralelos, serial y USB estánsoportados. Controladores usuales como IDE y SCSI, también estánsoportados. Linux tiene muy buen soporte para hardware estándar.

Redes

Ambos, Linux y Windows soportan protocolos como TCP/IP, NetBIOS, e IPX.Ambos soportan una amplia variedad de dispositivos de red. Ambosbrindan la posibilidad de compartir recursos como archivos eimpresosras, a través de la red. Ambos tienen la capacidad necesariapara proveer servicios de red como DHCP y DNS.

Servicios

Ambos, Linux y Windows tienen servicios; aplicaciones que corren enbackground para proveer determinadas funciones al sistema y a lascomputadoras que invocan de manera remota el servicio. Estos programaspueden ser controlados individualmente e iniciados automáticamentecuando el sistema bootea. (Aclaración: En Linux uno se refiere a estasaplicaciones como demonios,tal como se las llamaba en Unix). 

Linux es diferente deWindows

Aunque hay varias similitudes entre las tecnologías, hay algunasdiferencias entre el estilo de trabajo en Windows y la manera detrabajar en Linux. Estas diferencias son sutiles hasta que uno tiene

Page 3: El Camino de Windows a Linux

que hacer uso de ellas, sin embargo son conceptos clave para pensar enLinux.

Linux está pensadopara el trabajo en red más que para imprimir documentos

Cuando Windows fue liberado, el mundo estaba más que nada, basado enpapel. Una de las cosas bellas acerca de Windows era que cualquier cosaque hicieras en él se veía bien y era fácil de imprimir. Esto haafectado fundamentalmente la evolución de Windows.

De la misma manera, Linux ha sido afectado por sus orígenes.Linux fue diseñado desde sus comienzos para trabajar en red. Esto fueinspirado por el sistema operativo Unix, así que había una simplicidad,algunos dicen consición, encausando su diseño. Y ya que el texto planose comporta bien en una red, éste ha sido siempre la base para laconfiguración y otros datos de Linux.

Para aquellos acostumbrados a un entorno gráfico, un servidorLinux podría parecerles primitivo a primera vista. Pero el desarrollode Linux se ha enfocado mayormente en qué sucede bajo la apariencia delsistema. Linux posee capacidades sofisticadas de trabajo en red,scripting, y seguridad que están activas y funcionando incluso en unentorno de modo texto. Algunos de los en apariencia bizarros pasos pararealizar ciertas tareas son inexplicables hasta que te das cuenta queLinux espera hacer este trabajo en red, en cooperación con otrasmáquinas Linux. Linux también posee muchas capacidades deautomatización y puede ser programado para realizar detalladas tareasusando solo el equivalente de los archivos "batch" de Windows. Lanaturaleza basada en el modo texto de Linux es parte fundamental deesta capacidad.

Interfaz gráfica opcional

Linux tiene un componente gráfico. Linux es capaz de trabajar conplacas de video y monitores de última generación para realizar trabajosverdaderamente asombrosos. De hecho, muchos artistas de efectosdigitales realizan su tarea sobre estaciones de trabajo Linux, cuandoen el pasado usaban sistemas IRIX para hacer el mismo trabajo. De todosmodos, el entorno gráfico no está integrado en Linux en sí, sino que esuna capa de software ejecutándose por encima del sistema base. Estosignifica que puedes ejecutar la interfaz gráfica solo cuando lanecesites. Si tu sistema se usa la mayor parte del tiempo en serviraplicaciones web por ejemplo, entonces puedes desactivar la interfazgráfica y usar la potencia de CPU y memoria ahorradas para el servicio.Si necesitas hacer tu trabajo en la interfaz gráfica, puedesejecutarla, hacer el trabajo, y luego volver a desactivarla cuandohayas finalizado.

Hay herramientas gráficas para administrar Linux, tantas como para eltrabajo de oficina, como el correo electrónico, la navegación por laweb y el procesamiento de texto. En fin, en Linux, las herramientas deadministración gráfica son usualmente front-ends para herramientas deconsola (de línea de comandos). Esto quiere decir que cualquier cosaque puedas hacer con herramientas gráficas, también puedes hacerla con

Page 4: El Camino de Windows a Linux

comandos de consola en modo texto. También cabe aclarar que el uso deuna herramienta gráfica no impide hacer cambios manuales a un archivode configuración. El valor de esta posibilidad no se apreciainmediatamente, pero piénsalo, si cualquier tarea realizada conherramientas gráficas se puede hacer con comandos de consola, estosignifica que esas tareas también pueden ser automatizadas con scripts.Linux provee lo mejor de los dos mundos, del entorno gráfico y del modotexto, y no te fuerza a trabajar obligadamente en ninguno de los dos.Tu eliges cual es la mejor manera de realizar tu trabajo.

Los archivos de configuración en Linux son legibles para laspersonas. Esto es similar a los archivos INI de las viejas versiones deWindows. Esta filosofía es un enfoque diferente al del Registro deWindows. Los archivos de configuración son generalmente provistos ycreados por las aplicaciones que los utilizan, y están usualmenteaislados de otros archivos de configuración. Bien, la mayoría de losarchivos de configuración están ubicados dentro del árbol deldirectorio /etc, así se tieneuna sola localización donde buscarlos de ser necesario. Un archivo deconfiguración de texto es fácil de resguardar, examinar y de editar sintener que usar herramientas de sistema especiales para ello (solo uneditor de textos cualquiera).

Extensiones de Archivo

Linux no usa extensiones en los nombres de archivo para identificar sutipo, para ello, revisa el encabezado del archivo. Puedes igualmenteseguir usando extensiones en los nombres de archivo para identificar sutipo de manera visual, pero Linux no lo toma en cuenta. Digamos, porejemplo, un servidor web, podría usar determinados nombres convenidospara identificar tipos de archivo, pero esto queda como una opción anivel de aplicaciones individuales.

Linux usa permisos de acceso para determinar si cierto archivoes un ejecutable. De ese modo a cualquier archivo se le puede darel status de ejecutable; y programas y scripts pueden ser identificadoscomo ejecutables por su creador o administrador. Una clara ventaja deesto es la seguridad. Un archivo ejecutable guardado en el sistema nonecesariamente será automáticamente ejecutado, una característica quehace fracasar muchos scripts maliciosos y virus.

Rebootear es el último recurso

Si has estado usando Windows durante mucho tiempo, estarás acotumbradoa rebootear el sistema por muchas razones, desde instalar software acorregir problemas con algún servicio. Este es un hábito quenecesitarás modificar al empezar a pensar al estilo Linux. Linux tiendea ser Newtoniano por naturaleza, una vez puesto en movimiento, tenderáa permanecer en movimiento hasta sea influenciado por una fuerzaexterna para dejar de hacerlo, como por ejemplo, una falla delhardware. De hecho el diseño de sistema de Linux previene que lasaplicaciones dañen el kernel; lo que es la razón de por qué no necesitarebootear frecuentemente (en contraste con el diseño de sistema deWindows). Así que excepto el kernel de Linux, puedes instalar,

Page 5: El Camino de Windows a Linux

ejecutar, terminar y reconfigurar software sin tener que rebootear elsistema.

Si rebooteas tu sistema Linux, no cambiarás probablemente sucomportamiento en caso de tener problemas, incluso puedes llegar aempeor la situación. Aprender a trabajar con los servicios y niveles deejecución (runlevels), es clavepara la resolución exitosa de problemas. De todo lo que vayas aaprender en Linux, evitar el hábito de rebootear la máquina seráprobablemente lo más difícil.

Bueno, las buena noticias son que esto te permite hacer muchotrabajo de manera remota en Linux. Mientras algunos servicios básicosde red están ejecutándose, probablemente podrás ingresar al sistema.También, en caso de tener problemas con algún servicio en particular,puedes dejar ejecutándose a los demás mientras continúas trabajandopara resolver el problema. Cuando estás dando varios servicios desde unsolo sistema, ésta es una diferencia crítica.

Los comandos son sensibles al contexto

Todos los comandos de Linux y sus opciones son sensibles al contexto.Por ejempo, -Resdiferente de -r,y harán cosas diferentes. Los comandos de consola van casi siempre enminúsculas. Repasaremos en detalle los comandos en la "Parte 2. Curso Acelerado de Consola."

Qué debería considerar para pensar al estilo Linux?

La transición de administrar Windows a administrar Linux no es trivial.Como administrador de Windows, Ud. tiene muchas ventajas. Mucho delconocimiento de como trabajar con computadoras le servirá. El éxitocomo administrador de un sistema Linux será principalmente cuestión deidentificar las diferencias y ajustar sus hábitos.

Muchas de las diferencias entre Linux y Windows son ventajas.Los recursos gastados en un interfaz gráfica que no se utiliza puedenser reclamados para los servicios que sí los requieran. Las tareaspueden ser completamente automatizadas con scripts. Los archivos deconfiguración son de texto plano y legibles para las personas. No tieneque rebootear el sistema para realizar determinadas tareas, de hechodeberá abandonar su instinto de rebootear.

Recursos

Lea las otras partes (los originales en inglés), de laserie El

Page 6: El Camino de Windows a Linux

camino de Windows a Linux (developerWorks,Noviembre 2003).

El Howto DeDOS/Windows a Linux tiene algunos datos útiles para la gente conconocimientos previos de DOS o Windows.

Para empezar a aprender acerca de software IBM para Linux,no hay mejor recurso que la página Speed-startyour Linux app. Encontrará tips de instalación, enlaces haciarecursos DB2, Lotus Domino, WebSphere Application Server,WebSphere Studio, y más. Puede registrarse para recibir gratuitamenteun Linux Software Evaluation Kit, conteniendo software de pruebay recursos de aprendizaje.

Continue su aprendizaje de los conceptos básicos de Linuxen la página Starthere to learn about Linux de developerWorks.

"TechnicalFAQ for Linux users" (developerWorks,Julio 2001) también le ayudará a hacer la transición del mundo Windowsa Linux.

El Proyecto de Documentación de Linux (disponible en español), es un repositoriode documentación referente a Linux incluyendo textos acerca deconfiguración de aplicaciones, HOWTOs, FAQs, y más.

Linux Online! ofrece información y noticias a aquellos no familiarizados con Linux.

The O'Reilly Network es un excelente recurso para obtener (gratuitamente y demodo pago), libros técnicos sobre Linux.

El sitio Linuxde IBM ofrece software, hardware, enlaces, soluciones end-to-endLinux, información de referencia para clientes, empresas distribuidorasde Linux (IBM Alliances), y contribuciones de código abierto de IBM. Enparticular, recomendamos las páginas LearningLinux y LinuxEducation .

Page 7: El Camino de Windows a Linux

IBM ofrece servicios de CertificaciónProfesional en Linux y servicios de certificaciónprofesional en hardware UNIX y Linux y en varios sistemas desoftware (incluyendo productos de IBM).

IBM Partnerworldofrece soporte de marketing, ventas y software para empresas asociadasa IBM. 

Linux lens es unportal de acceso rápido a iniciativas relacionadas con Linux paraempresas asociadas a IBM.

Encuentre más recursos paradesarrolladoresLinux en la zona Linux de developerWorks.

El Camino de Windows a Linux: Parte 2. Curso rápido de consola

Enviado por Myrian el 31 Marzo, 2007 - 00:34.

Artículos

Una guía rápida para la consola de Linux

Artículo publicado primero en inglés en la zona Linux de IBM DeveloperWorks parte de la serie El camino de Windows a Linux.

Traducido por D.A. Valdez

Por ChrisWalden

Arquitecto de e-business y consultor para IBM Developer Relations

11 de Noviembre de 2003

El arquitecto de e-business Chris Walden es tu guía a través una serie de nueve artículos de developerWorks que trata acerca de la mudanza de sus habilidades informáticas de Windows a Linux. En esta parte, cubriremos la consola así como los comandos básicos de Linux.

Page 8: El Camino de Windows a Linux

Cualquier tarea administrativa puede ser realizada desde laconsola en Linux, usar una consola es más rápido que usar un programade interfaz gráfica y puede proveer funcionalidad adicional. Mejor aún,cualquier tarea de consola puede ser incluída en un script yautomatizarla de esa manera. Para realmente tomar el control de tuentorno Linux, querrás aprender como hacer cosas desde la consola. Lainformación que brindo aquí es una guía para que te inicies en laconsola de Linux si ya tienes conocimientos previos de DOS/Windows.

Accediendo a unaconsola

Si tu sistema bootea en modo texto (una configuración común paraservidores, con el fin de conservar recursos para los servicios),entonces ya estás en una consola. En un sistema Linux típico podésacceder a consolas adicionales presionando Ctrl + Alt + (F1 - F6). Cadaconsola es una sesión completamente diferente dentro del sistema ypuede ser accedida por diferentes usuarios al mismo tiempo.

Este comportamiento multi-consola es diferente del escritoriomúltiple de Windows. En Linux cada consola puede ser controlada por unusuario completamente diferente. Por ejemplo, puedes logearte como rooten la consola 1, y como juanalgo enla consola 2. Ambas consolas corren diferentes instancias de programas,en su propio espacio de usuario. Del mismo modo, diferentes usuariospueden logearse remotamente en un sistema Linux. En cuanto a estoúltimo, Linux provee capacidades más desde el enfoque de un mainframeque como un simple servidor o estación de trabajo.

Si estás en modo gráfico, podés abrir una terminal para acceder a unaconsola. La terminal estará por lo general disponible en un botón/íconode tu barra de tareas del escritorio, o puedes buscarla bajo el menúHerramientas de Sistema del menú de programas (o similar según tudistribución). También puedes abrir una terminal desde el menúcontextual (click con el botón derecho del mouse sobre el escritorio).

Comandos

Hay muchos comandos disponibles desde la consola. Algunas de estasherramientas solo son realmente útiles cuando escribes scripts. Aquíhay una lista de los primeros que probablemente necesitarás. Recuerdaque todos los comandos son sensibles a las mayúsculas/minúsculas. -R esdiferente de -r, y casi seguramente hacen diferentes cosas. Los comandos de consola porlo general, van en minúsculas.

cd

Para moverte por los directorios usa el familiar comando cd.El truco es recordar que en Linux barra hacia delante (/) es usadadonde estabas acostumbrado a usar la barra hacia atrás (\). La barrahacia atrás se usa también, pero especifica que el comando continúa enla siguiente línea (o luego de un espacio en blanco al escribir nombres

Page 9: El Camino de Windows a Linux

de directorios con espacios, como "Fotos del Viaje"). Esto se hace aveces para que sea más legible al tipear un comando particularmentelargo.

ls

Listar archivos en un directorio puede hacerse mediante el comando ls.Hay varias opciones que puedes usar para alterar la información quepresenta el listado:

Listando archivos

ls -l Muestra una lista larga, incluyendo tamaño dearchivo, fecha y hora de creación/modificación, y otros atributos

ls -tOrdena los archivos por hora de creación

ls -SOrdena los archivos por tamaño

ls -rCombinado con una de las opciones para ordenar,invierte el orden. ls -lt mostraría el archivo más nuevoal principio de la lista. ls -lrt mostraría los archivosmás nuevos al final de la lista.

ls -hLegible por humanos. Usa los amigables términoskilobyte, megabyte, y gigabyte para mostrar el tamaño de los archivos,en vez de listarlos en bytes.

ls -aMuestra todos los archivos del directorio, incluso losque están ocultos.

cp

Copiar archivos con el comando cp. El comando trabajaesencialmente igual que el comando copydel DOS. Esencialmente se usan dos modificadores:

Copiando archivos

cp -RCopia archivos recursivamente; es necesario si sequiere copiar un directorio entero

cp -fFuerza la copia y sobreescribe archivos existentes sinpreguntar antes.

cp -lEnlaza archivos en vez de copiarlos; lea más detalles acontinuación

Creando enlace con el comando copy

Page 10: El Camino de Windows a Linux

El comando cp puede ser usado para crear rápidamenteenlaces duros (hard links), a un archivo, o a una estructura completade archivos. Usa el modificador -l para indicar la copiatipo enlace. Todos los directorios serán creados como directorios, perotodos los archivos serán creados como enlaces duros.

cp -lR /data/accounting/payroll/data/management/hr

El comando de arriba copiaría la estructura completa dedirectorio de /data/accounting/payroll y directorios anidados a/data/management/hr/payroll. Todos los archivos dentro de la estructuradel directorio serán creados como enlaces. Esto puede ser usado paraproveer vistas diferentes de los mismos archivos dentro de un sistemade archivo. También es una útil técnica de seguridad, permitiendoacceder a archivos desde un directorio diferente con diferentescontroles (permisos, etc.), de acceso.

mv

Este comando sirve para mover y renombrar archivos. Es casi igual quehacerlo con el comando DOS move, excepto que puede moverestructuras completas de directorios tanto como archivos.

cat

Este comando sirve para ver archivos. Es el equivalente del comando typedel DOS. command. Bajará el contenido "crudo"  de un archivo aotro y mostrará este último en la pantalla. cat es rápidopara concatenar y puede usarse para unir varios archivos en uno solo.

more

Este comando sirve para ver información, una página a la vez. Funcionaesencialmente igual que el comando DOS more.

less

Usa less para ver un archivo de texto y tener laposibilidad de subir y bajar por el documento, y hacer búsquedas detexto.

vi

Algunos dirían que es vi por "virtualmenteimposible", sin embargo es un editor de textos que tiene una largatradición en el mundo Unix. vi no es  realmenteintuitivo, pero está disponible en casi cualquier ambiente tipo Unix.La versión instalada en Linux incluye un tutorial de ayuda; una vez queya lo has usado puedes llegar a hacer cosas increíbles con unos pocosatajos de teclado. En verdad ningún editor ha podido reemplazar a vipara la edición directa de passwords y archivos de configuración.

man

Este comando sirve para ver la documentación de un comando (otro). Manes la contracción de manual. La

Page 11: El Camino de Windows a Linux

documentación de los comandos tiende a ser minuciosa. Para aprender másacerca del comando man, tipea:

man man

info

info es como man excepto que proveetexto con hipervínculos para hacer más fácil la navegación.

Cuál consola?

Una diferencia crítica entre DOS/Windows y Linux es que la consola decomandos es una capa separada del sistema operativo. El entorno deconsola tiene que ver con las capacidades que tiene el usuario, comolíneas de comando editables y el scrolling del historial, por ejemplo.La consola también determina la sintaxis requerida para hacer funcionesen scripts. En DOS/Windows, hay una sola opción para hacer scripts, elhumilde archivo .BAT. A lo largo de la historia hizo mucho, perorequería muy buena creatividad de parte del programador para hacertareas más allá de lo básico. Si eras bueno escribiendo archivos .BAT,vas a mostrar lo mejor de ti con scripts de consola.

La consola por defecto es un parámetro en cada cuenta deusuario. La típica consola por defecto en Linux es /bin/bash, aunquehay otras. La documentación man para cada consola es realmente muybuena y llega a ser muy detallada en cuanto a cómo funcionan. Lejos deintentar alcanzar la calidad de esas explicaciones, solo mostramos lasopciones disponibles, mira la página man correspondiente para másdetalles.

bash

La consola Bash (Bourne Shell) es la versión libre de la ConsolaBourne, la primera consola Unix, e incluye muchas característicasadicionales. Bash tiene líneas de comando editables, scroll dehistorial y completado por tabulación (para ayudar a evitar errores detipeo en nombres de archivo largos).

csh

La consola C (C Shell), usa una sintaxis "tipo C" y tiene muchas de lascaracterísticas de la Bourne, pero usa conjunto interno de comandosdiferente.

ksh

La consola Korn (Korn shell), usa la misma sintaxis que la Bourne ytiene incluídas características amigables de la consola C. kshes  useda en muchos scripts de instalación y probablemente deberíaestar instalada en el sistema  aunque no sea la consola pordefecto.

tcsh

La consola TC (TC shell), es una versión avanzada de la consola C y es100% compatible con ella.

Page 12: El Camino de Windows a Linux

zsh

La consola Z (Z shell), es una versión avanzada de la consola Korn conmuchas características basadas en las de Bash.

Juego de Consola

Puede cambiar su consola en cualquier momento desde la que esté usando,simplemente ejecutando la que desee. Un script puede especificar laconsola que quiere ejecutar poniendo los carateres "#!" al comienzo delarchivo (la primera línea), apuntando a la consola deseada. Cuando elscript sea ejecutado, usará la consola especificada, pero dejará sincambios la consola que haya elegido el usuario (que puede ser otradistinta del script). Aquí hay un ejemplo de la primer línea de unscript a ser ejecutado en una consola C:

#!/bin/csh

Enlázame, Scotty!

Una cualidad que llama al uso en Linux es el enlace de archivos. Unenlace es una referencia a un archivo, así puede tener variasinstancias del mismo archivo en múltiples ubicaciones del sistema dearchivo. En Linux, un enlace puede ser tratado como un archivo tantocomo si fuera el original. Un enlace puede ser ejecutado, editado yaccedido sin tener que hacer nada adicional para hacerlo. En cuanto alo que le concierne a las aplicaciones del sistema, un enlace es el archivo original. Cuando Ud.edita un archivo a través de un enlace, está editando el archivooriginal. Un enlace no es una copia; hay dos tipos de enlace: el enlaceduro y el enlace simbólico.

Un enlace duro solopuede hacer referencia a archivos en el mismo sistema de archivos.Provee una referencia al índice físico del archivo (también llamadoí-nodo), dentro del sistema al que pertenece el archivo. Los enlacesduros no se cortan cuando el archivo original es movido, ya que apuntana la información física que constituye el archivo, no a su localizaciónen la estructura de archivos. Un enlace duro no requiere que el usuariotenga permisos de acceso al archivo original y no muestra la ubicacióndel original, y por ello tiene algunas ventajas de seguridad. Si borraun archivo que ha sido enlazado como "duro", el archivo permanece hastaque todas las referencias han sido borradas también.

Un enlace simbólicoes un puntero a la ubicación de un archivo en el sistema de archivo.Los enlaces simbólicos pueden distribuir los archivos de un sistemahasta el punto en que apuntan incluso a archivos en sistemas dearchivos remotos. Un enlace simbólico muestra la ubicación del archivooriginal y requiere que el usuario tenga permisos de acceso a laubicación original del archivo para poder usar el enlace. Si el archivooriginal es borrado , todos los enlaces simbólicos hacia él se rompen.Apuntarían a una ubicación que ya no existe en el sistema de archivo.

Ambos tipos de enlaces pueden hacerse con el comando

ln<origen> <destino>

Page 13: El Camino de Windows a Linux

. Por defecto lncreará un enlace duro. El parámetro -s permite crear unenlace simbólico.

# Crea un enlace simbólico desde MiArchivo en el <brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">#

directorio actual 

a&nbsp; /TuDir/MiArchivo<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ln MiArchivo /TuDir<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><br xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"># Crea un enlace simbólico

desde MiArchivo en el

<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">#

</code><code>directorio actual a

/TuDir/TuArchivo<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">ln -s MiArchivo /TuDir/TuArchivo

En los ejemplos de arriba, MiArchivo, /TuDir/MiArchivo y/TuDirTuArchivo son todos tratados como si fueran el mismo archivo.

Saliendo de la consola

Aprender a trabajar desde consola es una habilidad necesaria para laadministración de Linux. Hay herramientas que permiten evitar laconsola, pero estará limitado a lo que esas herramientas le permitanhacer. Acceder a la consola es fácil, t acceder a la documentación esmás fácil aún por medio de los comandos man e info.

Recursos

Lea las otras partes (los originales en inglés), de laserie  Elcamino de Windows a Linux (developerWorks,Noviembre 2003).

Empiece a aprender a usar el editor vi leyendo el tutorial "viintro -- the cheat sheet method" (developerWorks).

"Basictasks for new Linux developers" (developerWorks,July 2001) ofrece una introducción simple para empezar a trabajar bajoLinux, cubriendo tópicos introductorios como abrir una ventana de

Page 14: El Camino de Windows a Linux

consola, añadir usuarios y grupos, montaje de unidades de CD-ROMs, etc.

"TechnicalFAQ for Linux users" (developerWorks,Julio 2001) también le ayudará a hacer la transición del mundo Windowsa Linux.

"Whatgood is a Linux client?" son las crónicas de la experiencia de unapersona en transición desde su ambiente Windows a Linux. El artículo desoporte"Linuxglossary for Windows users" es también útil por sí mismo comoreferencia.

Puede navegar muchas páginas de manual en línea el el sitioGNU ManualsOnline .

El Howto DeDOS/Windows a Linux tiene algunos datos útiles para la gente conconocimientos previos de DOS o Windows.

AllCommands.com es un sitio inusual que ayuda a hacer referencias y referenciascruzadas entre comandos de distintos sistemas operativos.

El tutorial "LPIcertification 101 exam prep, Part 1: Linux fundamentals" cubrebash, comandos Linux estándar y más.

Aprenda más acerca de scripts shell en la serie deartículos "Bashbyexample" (developerWorks).

Aunque escrito originalmente para usuarios AIX el libro SystemUser's Guide: Operating System and Devices - Shells tiene seccionescomo AIXCommands Reference - man Command que cubre muy bien y cuyainformación se aplica también a Linux.

Para empezar a aprender acerca de software IBM para Linux,no hay mejor recurso que la página Speed-startyour Linux app. Encontrará tips de instalación, enlaces hacia

Page 15: El Camino de Windows a Linux

recursos DB2, Lotus Domino, WebSphere Application Server,WebSphere Studio, y más. Puede registrarse para recibir gratuitamenteun Linux Software Evaluation Kit, conteniendo  software de pruebay recursos de aprendizaje.

Continue su aprendizaje de los conceptos básicos de Linuxen la página Starthere to learn about Linux de developerWorks.

Encuentre más recursos paradesarrolladoresLinux en la zona Linux de developerWorks.

Page 16: El Camino de Windows a Linux

El Camino de Windows a Linux: Parte 3. Introducción a Webmin

Enviado por Myrian el 5 Abril, 2007 - 13:24.

Artículos

Unaherramienta de administración basada en Web

Artículopublicado primero en inglés en la zona Linux de IBMDeveloperWorks parte de la serie Elcamino de Windows a Linux.

Traducido por D.A. Valdez

Por ChrisWalden(cmwalden-at-us.ibm.com)

Arquitecto de e-business y consultor para IBM Developer Relations 

11 de Noviembre de 2003

El arquitecto de e-business ChrisWalden es tu guía a través una serie de nueveartículos de developerWorksque trata acerca de la mudanza de sus habilidades informáticasdeWindows a Linux. En esta parte, instalaremos y haremos unrecorrido rápido por Webmin, una aplicación basada en Webparaadministrar Linux y otras plataformas que provee una interfazgráficapara muchas tareas administrativas y operativas.

Uno de los desafíos cuando hacemos el cambio deadministrar unentorno Windows a administrar un entorno Linux, es aprender cuales sonlas nuevas herramientas de las que disponemos. Como administrador, Ud.

Page 17: El Camino de Windows a Linux

debe conocer los detalles del sistema operativo que le permitan obtenerlo mejor de él. Mientras se encuentre en el proceso de haceresto,igualmente debe poder hacer el trabajo, para ello la aplicaciónWebminnos ayudará durante la transición.

De acuerdo con Webmin.com (lea Recursospara obtener un enlace): "Webmin es una interfaz basada en Web para laadministración de Unix. Usando cualquier navegador que soportetablas yformularios (y Java para el módulo Adm. de Archivos), Ud. puedeconfigurar cuentas de usuario, Apache, DNS, compartir archivos, ymás.Webmin consiste en un servidor Web simple y ciertos programas CGI quetrabajan directamente con archivos de sistema como /etc/inetd.conf,y /etc/passwd. El servidor Web y los programas CGIestán escritos en Perl versión 5, y no usanmódulos Perl que no seanestándares."

Webmin se puede ejecutar en prácticamente cualquier plataformatipoUnix, incluídas Linux, AIX,HPUX, Solaris, OS X, y otras. Provee una interfaz para realizar muchastareas administrativas en Linux. Puede ser ejecutado desde cualquiernavegador gráfico ya sea local o remotamente. Webmin puede sersegurousando SSL, para prevenir fugas de información. Ya que Ud.estáaprendiendo cómo administrar Linux, Webmin le ahorrarámucho tiempo: esmuy útil para ayudar a realizar las tareas tediosas que nopueden serautomatizadas.

Webmin es extensible. El autor provee una guía dedesarrollo yhay diferentes módulos de terceros disponibles. Ud. puedetambiéndiseñar sus propios módulos y así adaptar a Webmina sus necesidadesparticulares.

Instalando Webmin

El primer paso para trabajar con Webmin es instalarlo, lo que es tansencillo y directo como bajarlo de su sitio web (lea Recursospara obtener un enlace).

Al momento de escribir este artículo, la versiónactual es la1.90. El método correcto de instalación puede variarsegún sudistribución. Si está usando Red Hat Linux, SuSE, o

Page 18: El Camino de Windows a Linux

Mandrake,entonces un RPM es el más simple. Si está usando unadistribucióndiferente, deberá checkear la documentación de sudistribución y lasinstrucciones de instalación de Webmin para determinar elmétodo másapropiado. Para la explicación asumiremos que usa un RPM.

Primero verifique si Webmin está instalado en susistema.Desde una terminal de texto ingrese:

rpm -q webmin

Si Webmin está instalado obtendrá elnúmero de versióninstalada:

Webmin-1.090-1

o en caso contrario una indicación de que Webmin noestáinstalado:

package webmin is not installed

Instalando otros programas

Muchos programas en Linux se instalan tanfácilmentecomo Webmin. Para leer más acerca de la instalación ydesinstalación deprogramas (también acerca de compilación de códigofuente), lea laparte 9 de esta serie de artículos.

Incluso aunque Webmin ya esté instalado, es probableque seauna versión anterior a la última disponible, por lo quetal vez quierarealizar una actualización (o una instalación desde ceroborrandopreviamente el paquete instalado), usando el siguiente comando:

rpm -Uvh webmin-1.090-1.noarch.rpm

Una actualización con mensajes informativos en pantallaserealiza, mostrando una barra de progreso con caracteres #.

RPM noarch

Verá que el paquete Webmin es listado y nombrado como "noarch".Ya quelos paquetes RPMS son archivos binarios, son usualmente compilados para

Page 19: El Camino de Windows a Linux

determinadas arquitecturas, como i386 o ppc. Instalar un paquete de laarquitectura incorrecta para su hardware implica obtener resultadoserróneos. Ya que Webmin está escrito en Perl, que esindependiente dela arquitectura, se utiliza la designación "noarch" paraindicarlo.

[N.del T.] 

Instalar Webmin en la distribución Debian es sencillo,usando la herramienta de instalación de la distribución(y el paquete.deb incluído en los CDs de instalación):

apt-get webmin<br>

De manera similar en la distribución Mandrake,también usandola herramienta de instalación de la distribución (y elpaquete incluídoen los CDs de instalación):

urpmi webmin<br>

Fin de [N.del T.]

Cuando Webmin se instala, es activado por defecto, sin embargo no seinstala con SSL activado. El soporte SSL requiere la instalacióndelmódulo Perl, Net::SSLeay. Hasta que se haga esto,Webminsolo será seguro de ejecutar localmente. La cuestión deasegurar Webminserá brevemente tratada al final de este artículo.

Lenguaje de ExtracciónPráctica yReporte - Practical Extraction and Reporting Language (Perl)

Perl es un lenguaje interpretado multiplataforma, en uso desde 1987.Está disponible para una amplia variedad de plataformas,incluídaWindows. Provee sofisticadas capacidades para crear potentes scripts.Perl se destaca en el tratamiento de textos y se ha vuelto popular parala programación CGI en la Web. Perl es extensible mediantemódulos, loscuales son librerías de funciones, también escritas enPerl. Muchosmódulos están disponibles bajo una licencia libre muyabiertadenominada TheArtisticLicense (lea Recursospara obtener un enlace).

Page 20: El Camino de Windows a Linux

Usando Webmin

Acceda Webin desde su navegador favorito. Dos herramientas, el adm. dearchivos y el cliente telnet/ssh, son applets y requieren un entorno deejecución Java (Java Runtime Environment - JRE), instalado yconfigurado para su navegador, para poder funcionar. Estas herramientassi bien son útiles, no son indispensables. Todos losdemás módulos notienen requerimientos especiales.

Para empezar a usar Webmin, apunte su navegador al puerto10000 del sistema. Con un navegador ejecutándose desde susistemalocal, debería usar http://localhost.localdomain:10000/.Webmin lepresentará una pantalla de login.

Los usuarios de Webmin no tienen que ver con los del sistemaoperativo. Esto le permite configurar usuarios para laadministración através de Webmin que no son parte del esquema normal deautenticaciónUnix. De todos modos, si tiene usuarios que desee que sean capaces deusar Webmin, puede añadirlos a la lista de usuarios de Webmin yautenticarlos mediante los esquemas Unix, y no usando los mecanismospropios de Webmin. El acceso a los diferentes módulos de Webminpuedeser controlado por usuario. El equipo de soporte al usuario (Helpdesk),podría tener acceso solo a las funciones para administrar clavesdeusuario, mientras otros podrían tener acceso a todos losmódulos porejemplo.

Un usuario root es automáticamente creado con la claverootdel sistema. Webmin registra mediante logs las actividades en base alusuario conectado, así, en un ambiente multiusuario,sería recomendablecrear un grupo de administración con los permisos del usuarioroot, ycrear cuentas de usuario individuales para quienes trabajan en elsistema y deban tener acceso. Su primer accesso a Webmin debe ser comoroot.

usuario root

En Linux, el administrador del sistema es llamado root. Elusuario root tiene completo control de todos los aspectos del sistema.El uso del nombre root nunca debería ser subestimado.

Secciones de Webmin

La primera pantalla que verá es la sección deConfiguración de

Page 21: El Camino de Windows a Linux

Webmin. The first screen you will see is the Webmin ConfigurationSection. Aquí es donde Ud. puede configurar usuarios. Losíconospermiten cambiar a los diferentes módulos de sección deWebmin. Todo enestos módulos es configurable, y puede reagrupar las cosas de lamaneraque le resulte más apropiada.

Webmin para usuarios también

Hay un ícono para configurar el paquete opcional Usermin, elcualprovee una herramienta para usuarios basada en Web para realizar tareascomo cambio de clave de acceso, adm. del sistema de correo y otras.Usermin no provee acceso a funciones de configuración delsistema.Usermin y Webmin están pensados para complementarse entresí.

La sección Sistema (System)trata acerca de la configuración del sistema operativo engeneral. AquíUd. puede configurar archivos de sistema, usuarios, grupos y elcomportamiento de booteo generl del sistema. Puede controlar losservicios que están corriendo actualmente en el sistema ycómo y cuandodeben iniciarse (desde el ícono Bootup/Shutdown). Laconfiguración deesos servicios se hace de la sección Servidores (Servers). Laherramienta "Paquetes de Software" ("Software Packages"), es deinterés, ya que permite una vista rápida de los paquetesinstalados enel sistema y tiene interfaces para interactuar con repositorios deactualización de la distribución y con rpmfind.net unrepositorio cómunde RPMs en Internet (lea Recursospara obtener un enlace).

La sección Servidores (Servers),permite configurar los varios servicios que Ud. puede correr en elsistema. Las herramientas BIND y DHCP son útiles, tambiénSamba, de usosimple para configurar shares para Windows y otros clientes.Sendmail, el servidor SMTP, es conocido por su complejo archivo deconfiguración; la herramienta Webmin para Sendmail lo aleja deproblemas en ese caso también.

La sección "Redes" (Networking),provee herramientas para configurar hardware de red y algunos de loscomplejos controles de red como los firewalls.

La sección Hardware

Page 22: El Camino de Windows a Linux

es para la configuración de dispositivos físicos y dealmacenamiento.La herramienta para la Adm. de Volúmenes Lógicos -Logical VolumeManagement (LVM), un tipo de partición, como ext3 o reiserfs,que sirveigualmente para guardar archivos - es particularmente interesanteya que lo ayuda a manejar visualmente los volúmenesdinámicos en susistema Linux.

La sección Cluster esla que usaría tuviera un sistema de clusters justamente.Un cluster, es un conjunto de sistemas relacionados en red quenecesitan tener sus configuraciones sincronizadas al detalle. Debensincronizar entre otras cosas: usuarios, grupos, paquetes y otrascosas, con detección de fallas del sistema. Estas herramientasleayudarán sistemas a prueba de fallas donde lasincronización esimportante. El clustering es una técnica avanzada y casi conseguridadrequerirá la instalación de paquetes adicionales noincluídos con sudistribución.

La sección Otros (Others),contiene utilidades que le pueden ser necesarias. Las herramientas"SSH/Telnet Login" y "Adm. de Archivos" necesitan, como ya explicamosantes, el entorno JRE para funcionar. La herramienta "MódulosPerl", esútil para ver los módulos Perl y cómo interfazdirecta con CPAN (elrepositorio de módulos Perl enInternet). El Adm. de Archivos le permite explorar los sistemas dearchivo de su servidor, copiar y mover archivos sin necesidad deinteractuar con la memoria de la estación de trabajo, siestátrabajando de manera remota. La herramienta de conexiónSSH/Telnet esuna consola remota que le permitirá todas las funciones usuales,pero através de su navegador.

Sumario

Webmin es una aplicación de administración basada en Webescrita enPerl. Es extensible y está disponible para otros sistemas tipoUnixaparte de Linux. Una vez instalada, Webmin es accesible a través

Page 23: El Camino de Windows a Linux

de unpuerto especial, típicamente el 10000, ya sea local oremotamente.Provee una interfaz gráfica sencilla para realizar una variedaddetareas administrativas en Linux, incluyendo la administración deusuarios, firewalls, y la configuración de dispositivos de red.

Webmin se puede instalar y usar libremente, y es una buenamanera de manejar un entorno Linux mientras hace la transicióndesdelas herramientas gráficas de Windows. Las herramientas de Webminsonuna interfaz para aquellas basadas en consola, así que laconfiguraciónserá consistentes con ellas y la administración puedehacerseindistintamente desde uno u otro conjunto de herramientas.

Recursos

Lea las otras partes (los originales en inglés), delaserie Elcamino de Windows a Linux (developerWorks,Noviembre 2003).

Vea la página de Webminpara información general y para descargar laherramienta Webmin.

Antes de usar Webmin remotamente, debería leer Securing Webminwith SSL.

Aprenda más acerca de Pearl en Perl.org.

La red CPAN es elhogar de muchos útile módulos para Pearl y otro softwarerelacionado.

Perl está liberado bajo la ArtisticLicense, la cual le permite publicar o manteneren privado los cambios al código fuente.

Aprenda más acerca de Perl y manténgase aldía con sudesarrollo en la columna de la Comunidad Pearl de IBM developerWorks CulturedPerl.

Page 24: El Camino de Windows a Linux

RPMFind  esun repositorio RPM donde Ud. puede encontrar muchos útiles(algunos notanto, pero divertidos), programas.

"UnderstandingLinux configuration files" (developerWorks,) explica los permisos de usuario, demonios y servicios y muchomás.

"Usingthe xinetd program for system administration" y "AutomatingUNIX system administration with Perl" ofrecen alternativas parasimplificar la administración de sistemas. Cuestiones similaressontratadas en "AdministerLinux on the fly".

Tutoriales útiles: "LPIcertification 101 (release 2) exam prep, Part 2: Basic administration,"el cual introduce al uso de tuberías shell y comandos deprocesamientode texto; "LPIcertification 101 (release 2) exam prep, Part 3: IntermediateAdministration," el cual trata acerca de la documentación,cuentasde usuario y su adm. y permisos; y "LPIcertification 101 (release 2) exam prep, Part 4: Advancedadministration," que trata acerca de sistemas de archivo y logs delsistema.

Para empezar a aprender acerca de software IBM para Linux,no hay mejor recurso que la página Speed-startyour Linux app. Encontrará tips de instalación,enlaces haciarecursos DB2, Lotus Domino, WebSphere Application Server,WebSphere Studio, y más. Puede registrarse para recibirgratuitamenteun Linux Software Evaluation Kit, conteniendo software de pruebay recursos de aprendizaje.

Encuentre más recursos paradesarrolladoresLinux en la zona Linux de developerWorks.

Page 25: El Camino de Windows a Linux

El Camino de Windows a Linux: Parte 4. Administración de Usuarios

Enviado por Myrian el 13 Abril, 2007 - 12:36.

Artículos

Claves de acceso, grupos y sus sombras

Artículopublicado primero en inglés en la zona Linux de IBMDeveloperWorks parte de la serie Elcamino de Windows a Linux.

Traducido por D.A. Valdez

Por ChrisWalden(cmwalden-at-us.ibm.com)

Arquitecto de e-business y consultor para IBM Developer Relations 

11 de Noviembre de 2003

El arquitecto de e-business ChrisWalden es tu guía a través una serie de nueveartículos de  developerWorksque trata acerca de la mudanza de sus habilidades informáticasdeWindows  a Linux. En esta parte, añadimos y borramosusuarios, ygrupos desde la interfaz Webmin, y desde la línea de comandos.Losarchivos de grupo y claves shadow también son tratados.

Page 26: El Camino de Windows a Linux

La administración de usuarios es en Linux, por partesiguales,muy similar y muy diferente de la administración de usuarios enWindows. Ambos sistemas son multiusuario, y el control de acceso deambos está basado en grupos, lo que permite controlar de maneramássencilla sin tener que "tocar" muchos usuarios en cada cambio. En esepunto comienzan las diferencias.

El super usuario

En Linux, el Super Usuario es llamado root. Elusuario root puede controlar todos los procesos, acceder cualquierarchivo, y realizar cualquier función en el sistema. Nada puedeserocultado del root. Administrativamente hablando, el root es el sersupremo. Es por ello muy importante que la cuenta de root sea protegidapor una clave segura. Ud. no debería usar el root para sustareashabituales.

A otros usuarios se les puede dar privilegios de root, peroesto debería hacerse con cuidado. En particular se recomiendadarlesacceso específico para correr ciertos programas como root, envez depermitirles directamente acceder al sistema como root.

Creando nuevosusuarios

Los nuevos usuarios pueden ser creados ya sea desde la línea decomandos, o usando una herramienta como Webmin.

El comando para añadir un nuevo usuario es useradd.Por ejemplo, para crear uno desde la línea de comandos:

useradd -c "usuario normal" -d /home/userid -g users <brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">-G webadm,helpdesk -s /bin/bash userid

Este comando crea un nuevo usuario llamado "userid", elúltimoparámetro del comando. Un comentario es incluído y dice"usuarionormal". El directorio Home de userid será "/home/userid". Elgrupoprimario de userid será "users", pero userid tambiénserá añadido a losgrupos "webadm" y "helpdesk". Userid tendrá a /bin/bash como suentornode consola.

Usando Webmin, la creación de un nuevo usuario esfácil yvisual. Logeése en Webmin usando su navegador favorito y vaya alasección Sistema (System),

Page 27: El Camino de Windows a Linux

Seleccion la herramienta "Usuarios y Grupos" y luego haga click en"Crear nuevo usuario" (Create anew user).

Cambiando claves deacceso

El cambio de la clave de acceso de un usuario se puede hacer desdeconsola usando el comando passwd:

passwd userid

Solo el root puede cambiar la clave de otro/s usuarios con elcomando passwd. Cuando el comando es ingresado, se lepedirá que ingrese y luego que confirme la nueva clave. Si ambascoinciden, entonces la configuración del usuario se actualiza ylaclave es cambiada. Un usuario puede también cambiar su propiaclavedesde consola tipeando passwd;en este caso, el usuario es al que se le pide que ingrese su viejaclave y luego la nueva.

Muchas distribuciones de Linux instalan y activan unmódulo"anticracker" para los cambios de clave. Este módulo testea lanuevaclave para ver si sigue los lineamientos recomendados para las clavesdificíles de romper. Si no lo hace, una advertencia serádada alusuario indicando el uso de una clave poco segura. Dependiendo se suconfiguración, un usuario puede requerir el uso obligatorio deunaclave segura para que esta sea aceptada. El root será advertidodelcambio de clave pero no puede detenerlo.

En Webmin, una clave puede cambiarse desde el módulo"Cambiode Claves de la sección Sistema. Seleccione un usuario de lalista eingrese la nueva clave en el campo vacío.

Borrando usuarios

Desde la consola, los usuarios se pueden borrar usando el comando userdel.

userdel -r userid

El parámetro opcional -r borrará tambiénel directorio "home"del usuario y todo su contenido, además del usuario ensí. Si quiereconservar el directorio, omita el parámetro -r. Elparámetro solo borrael directorio "home" del usuario, no todos los archivos que pudiera

Page 28: El Camino de Windows a Linux

tener el usuario en el sistema.

Cómo estánorganizados los usuarios

La configuración de Linux está basada en archivos detexto, así quetodos los usuarios residen en un archivo llamado /etc/passwd. Puede vereste archivo, una página a la vez, usando el comando more:

more /etc/passwd

El directorio /etc

Recuerde que muchos de los archivos de configuración de Linuxestán enel directorio /etc.

La organización del archivo es muy directa. Cadalíneacontiene un usuario y sus parámetros, separados por dos puntos.

userid:x:75000:75000::/home/userid:/bin/bash

La primera columna contiene el nombre de usuario. La segundacolumna contiene la clave del usuario. La tercera columna contiene elid numérico del usuario. La cuarta columna contiene el idnumérico delgrupo primario del usuario. La quinta columna contiene el nombrecompleto del usuario o un comentario. La sexta columna contiene lalocalización del directorio home del usuario. Normalmente estedirectorio suele estar ubicado dentro de /home, y tiene el mismo nombredel usuario. La séptima columna contiene la consola por defectodelusuario.

Estructura del archivode claves

Login IDClave de acceso

ID del usuario

ID del grupo

ComentarioDirectorio Home

Consola por defecto

useridx7500075000 

Page 29: El Camino de Windows a Linux

/home/userid/bin/bash

Observe en el ejemplo, la "x" en la columna Clave de acceso.Esta no significa que el usuario tiene como clave "x". Antes este tipode claves era usualmente guardada en texto plano dentro de estearchivo. Esta configuración es todavía posible, pero raravez se usapor las implicaciones de seguridad. La solución fue crear algollamado clave sombra (shadowpassword). Eneste caso una "x" es colocada en el lugar correspondiente a la clave enel archivo /etc/passwd, y una versión encriptada de la clavequedaguardada en el archivo /etc/passwd. Esta técnica mejora laseguridad alseparar la información del usuario de la clave en sí. Elalgoritmo deencriptación MD5 mejoró más la situaciónpermitiendo claves másseguras. Un ejemplo de clave sombra a continuación:

Claves Shadow y derechos de usuario

Una indiosicracia de la administración deusuarios enLinux, que es el legado de UNIX, es el archivo de claves. Un usuarioque se logea debe ser capaz de leer el archivo /etc/password para versi su nombre de usuario existe. El tener las claves contenidas en elmismo archivo podría habilitar a potenciales crackers eldescubrir lasclaves de acceso al sistema ya que podrían bajar el archivo/etc/passwdy tener los nombres de usuario y las claves mezcladas para"trabajarlas" con una herramienta de fuerza bruta. 

Un archivo sombra no necesita ser legible para todo elmundo, por ello los crackers no tienen acceso a las claves ni maneraalguna de intentar "trabajarlas".

Este modo de trabajo no es completamente óptimoya queigualmente provee algo de información del usuario al potencialcracker.Una mejor manera es mantener los usuarios en un repositorio separadoLDAP.

userid:$1$z2NXZR19$PZpyL84DmPKBXMeURaXXM.:12138:0:186:7:::

Todo lo concierniente a la clave sombra es manejadodetrás deescena, y Ud. rara vez tendrá que hacer algo más queactivarla.

Grupos

Los grupos en Linux son parecidos a los de Windows. Ud. crea un grupo yañade miembros, luego los derechos de acceso a recursos pueden

Page 30: El Camino de Windows a Linux

serasignados por grupo. Los miembros de un grupo pueden acceder a losrecursos asociados con su grupo.

Crear un grupo es simple usando el comando de consola groupadd:

groupadd mygroup

Esto creará un grupo sin miembros llamado "newgroup."Losgrupos se localizan en un archivo llamado /etc/group. Cada grupo eslistado en una línea distinta como la siguiente:

mygroup:x:527:

La primera columna muestra el nombre del grupo. La segundacolumna es una clave. De nuevo, la "x" indica que la clave real esguardada en un archivo "sombra" llamado /etc/gshadow. La terceracolumna es un índice numérico para el grupo. Todo lo quesigue luego dela tercer columna serán los ids de los usuarios miembros delgrupo,separados por comas.

Para añadir miembros al grupo, use el comando gpasswdcon el parámetro -a y el número id del usuario que deseaañadir:

gpasswd -a userid mygroup

Borre usuarios de un grupo usando el mismo comando pero con elparámetro -d, en vez de -a:  

gpasswd -d userid mygroup

También es posible hacer cambios a los grupos editandoelarchivo /etc/group directamente.

Teniendo cuidado al editar elarchivo de claves

El peligro real al editar manualmente los archivos /etc/passwd y/etc/group es duplicar accidentalmente un número id.

Todos los recursos usan el número de id, en vezde elnombre del usuario o del grupo. Si accidentalmente se duplicara alguno,podría dar acceso a cosas que Ud. no quiere que sean accedidas.Porejemplo, si cambia el id de cualquier usuario a 0, el número iddelroot, cuando ese usuario se logee, su id será el de root (!). Deigualmanera si borra una línea de usuario o de grupo en el archivo,

Page 31: El Camino de Windows a Linux

eseusuario o grupo es borrado del sistema.

Estos son errores típicamente humanos. Lasherramientasno los comenten en absoluto. De cualquier modo, a veces es másfácileditar rápidamente /etc/group para solucionar un problema. Solotengaen mente que está tratando con algo poderoso al tocar esaslíneas.Tenga cuidado.

Los grupos pueden ser creados, editados y borrados desdeWebmin, la misma herramienta que antes usamos para trabajar conusuarios.

Usuarios yasociaciones de grupo

Aunque en este artículo no discutiré sobre control deacceso,necesitará tener alguna idea de cómo aplicarlo sobreusuarios y gruposcon respecto a archivos. Si observa un listado de archivos de undirectorio verá algo similar a lo siguiente:

-rw-r--r-- 1 userid mygroup 703 Jun 23 22:12 myfile

Ignore las demás columnas por el momento y solo mire latercera, cuarta y la última columna. La tercera columna contieneelnombre de propietario del archivo, "userid". La cuarta columna contieneel grupo asociado con el archivo, "mygroup". La última columnacontieneel nombre de archivo. Es posible asignar derechos a "Otros", elequivalente de Linux de grupo "Todos" de Windows.

Un archivo de un solo propietario es común en los sistemasoperativos,pero la técnica de un solo grupo propietario parece limitadaparamuchos administradores nuevos en su manejo. No lo es. Ya que losusuarios pueden ser miembros de cualquier grupo, es simple crear nuevosgrupos para manejar la seguridad en el acceso a recursos. En Linux ladefiniciones de grupo tienden a estar basadas más en el acceso alosrecursos requerido por un cierto grupo de trabajo. Si los recursosestán lógicamente organizados en el sistema, crearmás grupos paraafinar más el acceso a recursos es lo más simple.

Page 32: El Camino de Windows a Linux

Información más detallada acerca de asociación degrupos y usuarios enla sección Recursosal final de este artículo. Para más detalles  acercade cómocambiar permisos de archivo lea la página de manual del comandochmodcon

manchmod

.

Sumario

Los usuarios y grupos trabajan esencialmente de la misma manera enLinux y en Windows, excepto que solo un grupo puede ser asociado con unrecurso del sistema. Al pensar en grupo en Linux, considérelosfácilesde derrochar y no tenga reparos en crear tantos como le sea necesario.Cree sus grupos basado en acceso a recursos en vez de en base aunidades de negocios.

La información de usuarios y grupos es guardada en los archivos/etc/passwd y /etc/group respectivamente. Su sistema tendrá casiconseguridad un archivo /etc/shadow y un /etc/gshadow, los cualescontienen las claves de acceso encriptadas para añadirseguridad. Esposible trabajar con usuarios y grupos directamente editando losarchivos mencionados, pero debe hacerse con sumo cuidado.

Todas las funciones referentes a usuarios y grupos pueden hacerse desdela consola, lo que las hace fáciles de incluir (y automatizar),enscripts. Herramientas como Webmin proveen un modo gráfico dehacer elmismo trabajo.

Recursos

Lea las otras partes (los originales en inglés), delaserie  Elcamino de Windows a Linux (developerWorks,Noviembre 2003).

Page 33: El Camino de Windows a Linux

TheLinux System Administrator's Guide, Chapter11.Managing user accounts es un documento viejo, pero todavíaútil yaque las técnicas generales para grupos y usuarios no hancambiado. Laguía es una buena lectura para aprender más acerca de laadministraciónbasada en consola.

El sitio LinuxHeadquarters tiene buenos tutoriales básicos y tips quetratanmuchos temas. Su modo típico de tratar un tema es"Instalé Linux...yahora qué?" Lee sus tutoriales aquí.

El Proyeco de Documentación de Linux (tambiénen español),tiene una listadeHOWTOs clasificados por categoría para ayudar a encontrarinformación relevante fácil y rápidamente.

Añadir usuarios con herramientas gráficas esun tematratado también en "Basictasks for new Linux developers."

La adm. de usuarios también es tratada en eltutorial de developerWorks,"LPIcertification 101 exam prep, Part 3: Intermediate administration". 

El IBM Directory Server implementa el Lightweight DirectoryAccess Protocol (LDAP) para acceso a servicios de directorio,especialmente aquellos basados en X.500. Lea "AuthenticatingLinux users with IBM Directory Server" para más detalles.

Permisos de archivo y seguridad son tratado en el Capítulo3 (en inglés), la guía Introductionto Linux del Linux Documentation Project. 

Lea más acerca de Usuariosy Logins en este capítulo del libro Linux Unleashed(Macmillan

Page 34: El Camino de Windows a Linux

Computer Publishing, 1998) y en ManagingAccounts and Groups de The Official RedHat Linux SystemAdministration Primer (Red Hat, 2002). 

La Universidad de Maryland comparte sabias reflexiones en laelección de claves seguras.

  El Manual de Red Hat Linux de más detallesacercadel uso del archivode claves shadow. 

El Howto LinuxShadow Password da una introducción al sistema de clavessombra asícomo también lineamientos paso a paso para suimplementación. 

La seguridad de sistemas es un tema amplio y complejo, peroen un mundo interconectado nos afecta a todos. Afortunadamente, nuncaes demasiado tarde o temprano para comenzar. Los documentos AddingSecurity to Common Linux Distributions y Strategiesfor Keeping a Secure Server (que es el capítulo 12 de laguía LinuxAdministration Made Easy) le ayudarán a hacer eso.

El artículo de IBM developerWorks"Addressingsecurity issues in Linux" le ayudará a empezar en cuestionesbásicas de seguridad.

"TechnicalFAQ for Linux users" (developerWorks,Julio 2001) también le ayudará a hacer latransición del mundo Windowsa Linux.

Para empezar a aprender acerca de software IBM para Linux,no hay mejor recurso que la página Speed-startyour Linux app. Encontrará tips de instalación,enlaces haciarecursos DB2, Lotus Domino, WebSphere Application Server,WebSphere Studio, y más. Puede registrarse para recibirgratuitamenteun Linux Software Evaluation Kit, conteniendo  software de prueba

Page 35: El Camino de Windows a Linux

y recursos de aprendizaje.

Encuentre más recursos paradesarrolladoresLinux en la zona Linux de developerWorks.

Page 36: El Camino de Windows a Linux

El Camino de Windows a Linux: Parte 5. Logs en Linux

Enviado por Myrian el 28 Abril, 2007 - 01:07.

Artículos

El Camino de Windows a Linux: Parte 5. Logs en Linux

var title = "Windows-to-Linux roadmap: Part 5. Linux logging";var forumURL = "";var zoneList = "linux";

var emailAbstract = "IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, we track, manipulate, and rotate logs for security and informational purposes.";

var demoURL = "";

ElCamino de Windows a Linux: Parte 5. Logsen Linux

Trabajandocon logs

Artículopublicado primero en inglés en la zona Linux de IBMDeveloperWorks parte de la serie Elcamino de Windows a Linux.

Page 37: El Camino de Windows a Linux

Traducido por D.A. Valdez

Por ChrisWalden(cmwalden-at-us.ibm.com)

Arquitecto de e-business y consultor para IBM Developer Relations 

11 de Noviembre de 2003El arquitecto de e-business ChrisWalden es tu guía a través una serie de nueve artículos de  developerWorksque trata acerca de la mudanza de sus habilidades informáticas deWindows  a Linux. En esta parte, localizamos y manipulamosarchivos de logs con el objetivo de informarnos y dar seguridad alsistema.

Una de las claves del éxito en administración de sistemas esconocer que está pasando en él. Linux ofrece un nivel de logeoexcepcional y el nivel de detalle de los logs es configurable.

Los logs de Linux están en texto plano, así que puede leerlosy hacer búsquedas sin tener que usar herramientas especiales. Ud. puedetambién escribir scripts que escaneen los logs y realicen funcionesautomáticas basadas en su contenido.

Los logs de Linux están ubicados en el directorio /var/log. El sistemamantiene varios logs, pero los programas y servicios también puedenubicar sus archivos de logs en ese directorio. Muchos logs solo puedenser leídos por el root, pero eso puede cambiarse simplemente cambiandolos permisos de acceso del archivo en cuestión.

/var/log/messages

El logeo de mensajes es el núcleo más importante de información delsistema de logs. Este archivo contiene los mensajes de booteo de cuandoarranca el sistema, así como otros emitidos durante su funcionamiento.

Errores de entrada/salida, trabajo en redes, y otros errores generalesde sistema son reportados en este archivo. Otras informaciones, comopor ejemplo, quien se relogea como root, también son registradas. Sihay servicios activos, como servidores DHCP por ejemplo, Ud. puede leerahí los mensajes de sus acciones. El archivo /var/log/messages es

Page 38: El Camino de Windows a Linux

generalmente el primer lugar donde mirar cuando se está intentandosolucionar problemas.

/var/log/XFree86.0.log

Este log muestra los resultados de la última ejecución del servidorXWindow. Si Ud. está teniedo problemas al iniciar en modo gráfico, estearchivo le proveerá casi seguramente algo de información para ver quées lo que está fallando.

Otros logs

Habrá otros archivos de log en el directorio /var/log dependiendo dequé distribución esté usando y qué servicios esté corriendo. Porejemplo, puede haber logs asociados con el servidor de correo, con lacompartición de recursos, de tareas automáticas, etc.

Listo? A Rotar!

Ud. verá algunos archivos en el directorio /var/log que terminan con unnúmero, estos son archivos rotados. Los archivos pueden volversegrandes y difíciles de manejar y por ello Linux provee un comando pararotarlos y así evitar que la información actual se mezcle coninformación vieja irrelevante.

Generalmente logrotate se ejecutaautomáticamente cada cierto tiempo, pero tambien puede ejecutarsemanualmente. Cuando es ejecutada, logrotate tomará la versión actual delos archivos de log y les añadirá un ".1" al final del nombre dearchivo. Luego, cualquier otro archivo rotado previamente serárenombrado secuencialmente ".2", ".3", etc. Cuando más grande el númerodel log, más viejo es.

Ud. puede configurar el comportamiento automático de logrotateeditando el archivo /etc/logrotate.conf. Aprenda más en detalle cómotrabajar con logrotate leyendo la página man del programa haciendo

manlogrotate

.

Herramientas paratrabajar con logs

Cualquier herramienta de texto puede usarse para trabajar con logs.Aquíhay algunas particularmente útiles.

dmesg

Para ver rápidamente el log del último booteo del sistema, use elcomando dmesg. Le mostrará seguramente grandes cantidadesde texto, así tal vez quiera "entubar" ésta salida para leerlapausadamente, así:

Page 39: El Camino de Windows a Linux

dmesg | more

El comando de arriba le mostrará los mensajes de booteo unapantalla a la vez.

tail

A veces Ud. quiere leer continuamente las actualizaciones de algo queestá ocurriendo. Tail está diseñado para mostrar unaspocas últimas líneas de un archivo de texto. Añadiendo el parámetro -f,tail continuará mostrando las nuevas líneas a medidaque se vayan agregando al archivo.

tail -f /var/log/messages

El comando de arriba le mostrará las últimas diez líneas de/var/log/messages, y luego continuará monitoreando el archivo mostrandonuevas líneas incorporadas. Para detener el comando tail -f, use elatajo de teclado CTRL + C para cerrar el proceso.

more

More funciona igual que su versión para DOS. Ud.puede apuntarlo a un archivo o "entubar" su entrada desde otro comandopara ver la información pantalla por pantalla. Por ejemplo, paramostrar el contenido del log de inicio de XFree86 haga:

more /var/log/XFree86.0.log

Use "q" o [Ctrl]-C para salir del programa.

less

Less es otro visor de texto, pero este permite hacer scroll y buscarinformación mientras se lee una archivo.

less /var/log/messages

El comando de arriba desplegará el contenido del archivo/var/log/messages. Use "q" para salir del programa. Use "h" paraobtener ayuda acerca del uso de less.

logger

Ud. puede querer incluir sus propios mensajes dentro un archivo de log.Podría simplemente añadir el mensaje de logeo al archivo apropiado,pero tendría que duplicar el estilo de logeo del sistema; tambiéntendría que cambiar su código si el sistema de logeo fuera cambiado opersonalizado. El comando loggerle permite enviar sus propios mensajes al sistema de logeo, úselo en

Page 40: El Camino de Windows a Linux

scripts para informar acerca de errores y ejecución de programas.

Personalizando el logeo

Hay dos servicios o demonios que controlan el logeo de mensajes, klogdy syslogd. klogd solo logea mensajes delkernel. syslogd trabaja con otros mensajes del sistema,como los de las aplicaciones por ej. Ud. puede configurar elcomportamiento de ambos editando los archivos /etc/syslog.conf y/etc/sysconfig/syslog, respectivamente. La personalización completa dellogeo está más allá del objetivo de este artículo, pero Ud. puedeaprender más detalles en los Recursoslistados al final. También puede aprender leyendo la página man de/etc/sylogd.conf.

Esencialmente cada mensaje generado por software provee algunainformación para identificar su origen y de qué se trata. El archivo/etc/syslog.conf le permite especificar qué hacer con este tipo demensajes. Ud. puede bajarlos a los archivos de mensajes, o a algúnarchivo personal; puede enviarlos a un host remoto donde será procesadosegún las reglas de configuración del otro syslogd. Los logeos remotosson una excelente característica de seguridad. Añadiendo sus logs a unsistema remoto puede prevenir una brecha de seguridad que cubra susrastros alterando los archivos de logs.

Aquí hay un ejemplo de logeo personalizado tomado de la página

man/etc/syslog.conf:

Logeo personalizado

# Kernel messages are first, stored in the kernel# file, critical messages and higher ones also go# to another host and to the console#kern.* /var/adm/kernelkern.crit @finlandiakern.crit /dev/consolekern.info;kern.!err /var/adm/kernel-info

La primera regla direcciona cualquier mensaje del kernel alarchivo /var/adm/kernel.

La segunda sentencia direcciona todos los mensajes del kernelde prioridad "critic" al host remoto "finlandia". Esto es útil ya quesi el host local cae y el disco queda irrecuperable, Ud. no podría leerlos mensajes almacenados. Si están en un host remoto también, los podráleer y determinara la razón de la caída del host local.

La tercera regla direcciona los mismos mensajes de la segundaa la consola local, así la persona que esté trabajando podrá leerlos(también).

Page 41: El Camino de Windows a Linux

La cuarta línea le dice a syslogd que guarde todos losmensajes del kernel de prioridad "info" (kern.info), hasta"advertencia" en el archivo /var/adm/kernel-info. Toda prioridad"error" (err), y superior es excluída.

La posibilidad de personalizar el logeo así provee un muy buengrado de flexibilidad y control sobre el ambiente Linux.

Configuración de Logsen Webmin

Webmin tiene un módulo para trabajar con archivos de logs.

Todos los logs configurados son mostrados, clickee en unarchivo de log para editar su configuración.

O también puede clickear Vista ("View"), paraver el contenido de un archivo de logeo.

Viendo archivos de log desde laconsola

Ya que los archivos de log están en texto plano, no hacefalta una herramienta especial para leerlos. Cualquier visor o editorde textos puede acceder a un archivo de logeo. Un navegador comoMozilla, también puede mostrarlos (y proveer cierta capacidad debúsqueda). Linux también tiene herramientas de consola para ver logscomo more,que muestra el archivo una página a la vez, igual que la versión DOS.El comando less mostrará el archivo solo para lectura ypermitirá el scrolling bidireccional y brindará capacidades debúsqueda. Prúebelo haciendo:

less/var/log/messages

en la línea de comando.

El módulo de Webmin interactúa con el archivo etc/syslog.conf file, así que cualquier cosa que haga en él se reflejaen el sistema.

Logeando su vida

Los archivos de logeo en Linux son críticos para la resolución deproblemas y el mantenimiento del sistema. El logeo se hace a archivosde texto, evitando así la necesidad de herramientas propietarias paraleerlos. Los archivos de texto son también fáciles de leer con vista asu uso en scripts y programas.

Los logs son rotados para evitar que se vuelvan demasiadograndes y son separados de la información actual, dicha rotación esconfigurable.

El logeo es altamente configurable y los logs pueden inclusose guardados en sistemas separados por cuestiones de seguridad y/o

Page 42: El Camino de Windows a Linux

resguardo. Ud. puede generar sus propios logs de sistema por medio descripts  y programasm, que serán reconocidos y registrados por eldemonio/servicio de logeo del sistema, syslogd.

Recursos

Lea las otras partes (los originales en inglés), de laserie  Elcamino de Windows a Linux (developerWorks,Noviembre 2003).

La página man de syslog.conf contiene una excelentedescripción de como configurar logs.Para acceder tipee:

infosyslog.conf

La página man de syslogd tiene una descripción básica decomo funciona syslogd,incluyendo cuestiones de seguridad. Tipee: info syslogd. 

El artículo de IBM developerWorks,LPIcertification 101 exam prep, Part 2: Basic administration trataacerca de tuberías shell, redireccionamiento y comandos deprocesamiento de texto.

El trabajo con logs está también explicado el tutorial deIBM developerWorks,"LPIcertification 101 exam prep, Part 4: Advanced administration. 

El artículo de IBM developerWorks"Addressingsecurity issues in Linux" le ayudará a empezar en cuestionesbásicas de seguridad.

Encontrará más información sobre archivos .config en elartículo de IBM developerWorks "UnderstandingLinux configuration files". 

"TechnicalFAQ for Linux users" (developerWorks,Julio 2001) también le ayudará a hacer la transición del mundo Windows

Page 43: El Camino de Windows a Linux

a Linux. 

Para empezar a aprender acerca de software IBM para Linux,no hay mejor recurso que la página Speed-startyour Linux app. Encontrará tips de instalación, enlaces haciarecursos DB2, Lotus Domino, WebSphere Application Server,WebSphere Studio, y más. Puede registrarse para recibir gratuitamenteun Linux Software Evaluation Kit, conteniendo  software de pruebay recursos de aprendizaje.

Encuentre más recursos paradesarrolladoresLinux en la zona Linux de developerWorks.

http://www-106.ibm.com/developerworks/linux/library/l-roadmap5/ -->

Acerca del autor:

Page 44: El Camino de Windows a Linux

El Camino de Windows a Linux. Parte 6. Trabajando con particiones y sistemas de archivo

Enviado por Myrian el 8 Mayo, 2007 - 17:21.

Artículos

El Camino de Windows a Linux: Parte 6. Trabajando conparticiones y sistemas de archivo

var title = "Windows-to-Linux roadmap: Part 6. Working with partitions and file systems";var forumURL = "";var zoneList = "linux";

var emailAbstract = "IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, we explore Linux's hierarchical directory structure, and investigate mounting and devices.";

var demoURL = "";

Usandodiscos y dispositivos en Linux

Artículopublicado primero en inglés en la zona Linux de IBMDeveloperWorks parte de la serie Elcamino de Windows a Linux.

Traducido por D.A. Valdez

Por Chris

Page 45: El Camino de Windows a Linux

Walden(cmwalden-at-us.ibm.com)

Arquitecto de e-business y consultor para IBM Developer Relations 

11 de Noviembre de 2003

El arquitecto de e-business ChrisWalden es tu guía a través una serie de nueve artículos de  developerWorksque trata acerca de la mudanza de sus habilidades informáticas deWindows  a Linux. En esta parte exploraremos la estructurajerárquica de directorios de Linux e investigaremos acerca del montajey los dispositivos.

Trabajar con archivos y dispositivos de almacenamiento enLinux es diferente a hacerlo en Windows. Existe una estructurajerárquica de directorios y archivos, y eso es solo el principio, porello Ud. deberá desarrollar un nuevo enfoque de la cuestión, un mododiferente de pensar.

Lista 1. Estructura de Directorios

/|-- bin|-- boot|-- dev|-- etc|-- mnt|-- opt| |-- IBM| | |-- WebSphereStudio| | `-- db2| |-- IBMHttpServer|-- root|-- sbin|-- tmp|-- usr| |-- X11R6| | |-- bin| | |-- include| | |-- lib| | |-- man| | `-- share| |-- bin| |-- dict| |-- doc| |-- etc| |-- include| |-- lib| |-- libexec| |-- local| | |-- OpenOffice| | | |-- sbin

Page 46: El Camino de Windows a Linux

No hay letras deunidad!

No, en Linux las unidades no se designan con letras, lo que en realidades muy útil. Si ha trabajado con sistemas Windows en ambientescomplejos de red desde una máquina con numerosos dispositivos, tal vezel alfabeto ya no le parezca tan apropiado. En Linux solo hay unaestructura de archivos, empieza desde la raíz (/) y todos los sistemasde archivo locales y remotos y todos los dispositivos locales estánrepresentados en esa estructura.

Cuando Linux bootea, crea esta estructura basado en lainformación del archivo /etc/fstab. Así como Windows asigna letras deunidad a particiones del disco rígido y otros dispositivos dealmacenamiento, Linux les asignadirectorios en la estructura de archivos raíz. La estructurajerárquica es completamente configurable y puede ser cambiada "alvuelo".

Montando

El término para referirse en Linux a añadir dispositivos al sistema dearchivo es montaje. Linuxmonta automáticamente el sistema de archivo / (raíz). Puede habertambién un sistema de archivo separado /boot, conteniendo el kernel yotros archivos de booteo. Linux también montará algunos sistemas dearchivo especiales. El espacio de swap (lo que sería el archivo deintercambio en Windows), no se muestra como parte del sistema dearchivo, no aparece en el listado de la raíz (/); sin embargo esmanejado y montado por el kernel. Igualmente ocurre con otros sistemasde archivo especiales como "proc" y "sys" que se ven como cualquiercarpeta normal en la estructrura de archivo y su contenido puede sertratado como cualquier archivo.

Qué es /proc?

El sistema de archivo /proc es un excelente ejemplo de la diferencia enla manera de pensar entre Windows y Linux. /proc contiene unarepresentación virtual de varios aspectos del sistema en ejecución. Hayinformación acerca de la configuración de IRQs, uso de memoria, driversde dispositivos cargados, estado de la red, y mucho, mucho más. Hayincluso un archivo llamado /proc/kcore, que es una representación todala memoria en uso. Cada uno de estos archivos puede ser leído igual quecualquier archivo de texto o binario. Algunos archivos también puedenescribirse para cambiar el comportamiento del kernel, mientras éste seestá ejecutando. Por ejemplo, para activar el IP-forwarding en elprimer dispositivo ethernet en el sistema, Ud. puede usar un comandocomo este:

echo 1 &gt;/proc/sys/net/ipv4/conf/eth0/forwarding

Page 47: El Camino de Windows a Linux

El principal beneficio de este tipo de sistema es queUd. puede usar simples scripts para hacer importantes modificaciones alos parámetros del sistema en ejecución.

Otros sistemas de archivo, como los de medios removibles osistemas de archivo remotos, necesitarán ser montados manualmente.Cuando se monta un sistema de archivo hace falta saber cómo sereferiere a él Linux y tener un directorio vacío para usarlo como puntode montaje. Para medios removibles, Linux probablemente creará puntosde montaje durante la instalación. En Red Hat Linux, el dispositivoCDROMes configurado para ser montado en /mnt/cdrom. Eso significa que cuandoUd. ponga un CD en la lectora CDROM, ingresará el comando:

mount /mnt/cdrom

El CD es añadido al sistemade archivo y el dispositivo CDROM es bloqueado, así no puede seraccidentalmente abierto. Para acceder a los contenidos del CD,simplemente acceda al directorio /mnt/cdrom. Cuando haya terminado deusar el CD, puede removerlo del sistema de archivo con elcomando:

umount /mnt/cdrom

El directorio /mnt/cdrom quedará vacío la lectora de CDROMserá desbloqueada, luego podrá retirar de manera segura el CD. El mismoprocedimiento se usará con otros medios removibles, como disketeras porej. (se montan usualmente en /mnt/floppy).

Ejecutar mount sin parámetros le mostrará lossistemas de archivo actualmente montados.

Por qué existe el bloqueo dedispositivos?

Recuerde que Linux no es solo un sistema multiusuario, sino que tambiénes multisesión. Esto quiere decir que varios usuarios pueden estarlogeados en el sistema al mismo tiempo, corriendo procesos y usandorecursos. Esto no es lo mismo que cuando nos logeamos para acceder a unarchivo en un share en Windows. En Linux cada usuario puede usar elsistema igual que si estuvieran físicamente delante de la máquina; elsistema mantiene su estabilidad no permitiendo la liberación arbitrariade sistemas de archivo que están en uso, por ello al estar la lectorabloqueda, el CD no puede ser ejectado hasta que el sistema de archivosea desmontado (lo que se  podrá hacer si nadie estáusando/leyendo/accediendo el CD).

El archivo /etc/fstab

La asociación entre dispositivo y su punto de montaje se configura enel archivo /etc/fstab. Puede ser editado a mano o con una herramientade administración. Aquí hay un ejemplo de /etc/fstab/:

Conociendo laestructura de /etc/fstab

Page 48: El Camino de Windows a Linux

/dev/hda5 /ext3defaults1 1

/dev/hda2/bootext3exec,dev,duid,rw1 2

/dev/hda6swapswapdefaults0 0

/dev/scd0/mnt/cdromautoro,noauto,exec0 0

none/dev/ptsdevptsid=5,mode=6200 0

none/procprocdefaults0 0

none/dev/shmtmpfsdefaults0 0

Cada línea representa un archivo de sistema a ser montado. Laprimera columna contiene el punto de montaje, la localización en elsistema de ese dispositivo. La tercera columna identifica el tipo desistema de archivo. La cuarta columna tiene opciones para manejaradecuadamente  el sistema de archivo. La última columan contieneparámetros para el sistema de archivo en particular; el primer númeroes o un 1 o un 0 e indica si el sistema debería ser copiado con un"dump" (una opción para resguardar - backupear - sistemas). El segundonúmero es 0, 1, o 2 e indica el orden en el cual el sistema debería sercheckeado al bootear la máquina: 0 si no debe ser checkeado enabsoluto, 1 si debe ser checkeado primero y debe usarse para el sistemaraíz /; otros sistemas deberían ser 2.

En el archivo fstab listado arriba, la partición raíz está enla quinta partición del primer disco rigído IDE (aunque no hay másdiscos IDE en esa máquina de ejemplo), la primera partición lógica de

Page 49: El Camino de Windows a Linux

una partición extendida. El sistema de archivo /boot, donde se ubicanlos archivos de inicio del kernel están ubicado en la segunda particióndel mismo disco (y también en la partición extendida). Otros sistemasde archivo están listados como "none", y los vamos a explicar en unmomento, por ahora concentrémonos en los discos físicos.

Las opciones en la cuarta columna variarán dependiendo deltipo del sistema de archivo. En este ejemplo, / y /boot son montadoscon las opciones por defecto ("default"); eso significa que sonmontadas automáticamente en modo lectura-escritura y con entrada/salida(I/O) asincrónica. Solo el root puede montar o desmontar eldispositivo, pero los usuarios pueden ejecutar binarios y usar el "bitpegajoso" ("sticky bit"), explicado más adelante en el artículo. Elsistema de archivo será manejado como un dispositivo de bloque por elsistema operativo. Para /mnt/cdrom, las opciones son diferentes, no esmontado automáticamente y será montado como de solo lectura. Losusuarios podrán ejecutar scripts y programas en/desde ese sistema dearchivo.

Todo es un archivo

Todos los archivos en el directorio /dev son archivos especialesllamados nodos que apuntan al dispositivo físico a través del driver.Esto le permite a Ud. hacer interesantes cosas. Por ejemplo, para haceruna imagen iso de un CD puede usar el comando cp (copiar):

cp /dev/cdrecorder MyCD.iso

En lugar de copiar la estructura de archivos del CD, secopia una imagen binaria.

Este enfoque basado en archivos le permite crear aliaspara los dispositivos, para darles nombres más fáciles de entender. Porejemplo, es usual un alias llamado /dev/cdrom que apunta al dispositivofísico CDROM, usualmente /dev/hdc. Una vez que se crea un alias,siempre se puede referir, a la unidad de CDROM por ejemplo, como/dev/cdrom; lo que es más fácil de recordar. La técnica de los aliastambién le permite estandarizar scripts para muchos sistemas quepodrían tener configuraciones físicas diferentes.

Añadiendo sistemas dearchivo

Ud. puede añadir sistemas de archivo a /etc/fstab agregando nuevaslíneas al archivo. Como ejemplo práctico, tengo un dispositivo RAID quecontiene recursos de archivos para uso del departamento. Estedispositivo solo contendrá archivos de datos y será mantenido separadodel sistema operativo, así podré mover el dispositivo a otro sistema encaso de ocurrir una falla en el hardware. El RAID ha sido previamenteconfigurado y es reconocido por Linux como /dev/sdc, el tercerdispositivo SCSI. Un sistema de archivo ext3 ha sido creado en laprimer partición, y podremos accederla en /dev/sdc1. Quiero que esteRAID sea montado automáticamente al bootear la computadora.

Page 50: El Camino de Windows a Linux

Añado las siguientes líneas a /etc/fstab:

/dev/sdc1 /data ext3 defaults 0 0

Esto hará que el RAID sea montado en el booteo, igual que / y/boot. Ahora simplemente creo el directorio que especifiqué como puntode montaje:

mkdir /data

Una vez creado el directorio, podemos montar el sistema dearchivo en él:

mount /data

El RAID está ahora asociado al directorio /data. Si el sistemarebootea, /data será montado automáticamente.

Particiones

Las particiones en Linux funcionan esencialmente igual que en Windows.El comando de consola fdisk es usado para crear y manipularparticiones. Cuando Ud. ejecuta fdisk, debe apuntarlo hacia undispositivo en particular. Para ver qué dispositivos están disponibles,use el comando:

fdisk -l.

Listado 2. Usando fdisk

[root@cmw-t30 root]# fdisk -l

Disk /dev/hda: 240 heads, 63 sectors, 7752 cylindersUnits = cylinders of 15120 * 512 bytes

Device Boot Start End Blocks Id System/dev/hda1 1 8 60448+ 8e Linux LVM/dev/hda2 9 15 52920 83 Linux/dev/hda3 * 16 1403 10493280 c Win95 FAT32 (LBA)/dev/hda4 1404 7751 47990880 f Win95 Ext'd (LBA)/dev/hda5 1404 5565 31464688+ 83 Linux/dev/hda6 5566 5635 529168+ 82 Linux swap/dev/hda7 5636 7751 15996928+ b Win95 FAT32

La lista de arriba fue generada desde una laptop, así quemuestra un estructura de archivo poco común, la de un servidor. Muestraun disco rígido IDE con varias particiones. Si hubieran otrosdispositivos, serían listados también, por ejemplo, un segundo discorígido podría ser mostrado como /dev/hdb.

Ejecute fdisk de nuevo con dispositivo comoparámetro y llegará a un prompt.

Listado 3. fdisk sobre un dispositivo

Page 51: El Camino de Windows a Linux

[root@cmw-t30 root]# fdisk /dev/hda

The number of cylinders for this disk is set to 7752.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

Ingresando "m" obtendrá un menú de comandos. Puede ver latabla de la partición que está revisando con "p". Puede crear, borrar ymodificar el tipo de partición. "I" le mostrará la lista completa detipos de partición disponibles. Para escribir los cambios realizados ala partición y salir del programa use "w"; o para salir sin guardar loscambios, "q". Algunos cambios son realizados de inmediato. Algunoscambios requieren un rebooteo del sistema (el cambio de tipo departición por ejemplo).

Las reglas para manejar particiones en Linux son iguales queen Windows. Le está permitidas tener cuatro particiones primarias,cualquiera de las cuales pueden ser particiones extendidas.

Tipos de sistema dearchivo

Linux puede manejar cualquier tipo de sistema de archivo que conozca elkernel. Un generoso número de ellas viene soportado por defecto ynuevos tipos pueden ser añadidos. Aquí tiene algunos interesantes queestán soportados:

ext2: El sistema de archivo estándar de Linux(prácticamente en desuso).

ext3: El sistema de archivo estándar de Linux conjournaling (uno de los más usados comunmente).

vfat: El sistema de archivo FAT32 de Microsoft. jfs: Sistema de archivo con journaling de IBM. reiserfs: Otro sistema de archivo con journaling,

muypopular también.

El Journaling ahorra tiempo yprotege los datos

Los sistemas de archivo con journaling  ayudan a proteger losdatos de apagones imprevistos del sistema. Si un volumen (otro modo dellamar a las particiones), es apagado sin desmontarpreviamente, típicamente habrá trabajos sin terminar y archivos quequedaron en un estado intermedio (el término técnico exacto es: inconsistente). En un sistema dearchivo sin

Page 52: El Camino de Windows a Linux

journaling, esto crearía la necesidad de un checkeo completo delvolumen, lo que puede llevar un largo tiempo en particiones grandes. Unsistema de archivo con journaling mantiene un registro de transaccionesde cada escritura al disco por un período de tiempo de, por ejemplo,cinco segundos. Cuando el volumen no es desmontado apropiadamente, elsistema de archivo simplemente "regresa" al último estado anteriorcorrecto; así un volumen muy grande puede ser restaurado de un error enpocos segundos.

Formateando particiones

Una vez creadas, las particiones son formateadas con la versiónapropiada del comando mkfs. Cada sistema de archivotendrá su propia versión de mkfs, como por ejemplo, mkfs.ext2,o mkfs.ext3. Estos scripts de ayuda le permiten crear unsistema de archivo sobre una partición ya creada y vacía, simplementeapuntando a ella. Aquí hay algunos ejemplos:

Listado 4. Usando mkfs

# Crea un sistema de archivo ext2 en la tercera <br># partición del primer disco rígido IDE<br>mkfs.ext2 /dev/hda3<br><br> # Crea un sistema de archivo ext3 en la primera<br> # partición del segundo disco rígido SCSI<br>mkfs.ext3 /dev/sdb1<br><br> # Crea un sistema de archivo jfs en una partición <br> # extendida del primer disco rígido IDE<br>mkfs.jfs /dev/hda5<br>

Hay varios parámetros avanzados que afectan cómo es formateadala partición, pero por lo general, las opciones por defecto están bien.Una vez que la partición ha sido formateada, puede ser montada en elsistema de archivo raíz (/). Un sistema de archivo debe ser desmontadopara ser reformateado.

Otras herramientaspara trabajar con sistemas de archivo

Veamos otras útiles herramientas.

Herramientas de Consola

Hay varias herramientas para determinar la condición de discos ysistemasde archivo

df

df viene de "disk free" - disco libre. Reporta lacantidad de espacio usado y disponible en sist. de archivo montados.Algunos modificadores útiles:

Page 53: El Camino de Windows a Linux

Checkeando el espacioen disco

df -h"Legible por Humanos"; usa los familiares indicadoresde tamaño, k, M, y G en vez de listar la información en bytes.

df -lLimita el listado a sist. de archivo locales, ya quepor defecto los sist. de archivo remotos también son listados (lo quepuede hacer más lento el despliegue de la información local).

du

du viene de "disk usage" - uso de disco. Reporta elespacio usado por los archivos, directorios y subdirectorios (con losparámetros apropiados). Algunos modificadores útiles:

Checkeando el disco enuso

du -aMuestra la información para todos los archivos, no solopara los directorios.

du -h"Legible por Humanos"; usa los familiares indicadoresde tamaño, k, M, y G en vez de listar la información en bytes.

du -cMuestra un solo total global una vez que se haprocesado todos los argumentos; puede ser usado para ver el tamañototal ocupado por conjunto dado de archivos y/o directorios.

du -sMuestra solo el total para cada argumento. 

fsck

Este es el programa usado para checkear y repara sist. de archivo,equivalente al chkdsk de Windows. Tendrá diferentesversiones para cada tipo de sist. de archivo, igual que mkfs.fsck debe ejecutarse sobre volúmenes desmontados, apesar de ser raramente necesario a menos que sea sobre un volumen nolimpiamente desmontado (por ej. al apagar la PC cortando la corrienteeléctrica). man fsck e info fsck entran enmás detalles, así como varios de los Recursosincluídos al final del artículo.

Webmin

Webmin tiene varias herramientas para trabajar con sist. de archivo yparticiones.

Page 54: El Camino de Windows a Linux

Hardware y particionesen discos locales

Cada disco y partición es mostrado con la información actual. Clickeesobre un sist. de archivo para ver detalles. Recuerde que solo puedeformatear y cambiar tipos de sist. de archivo sobre particionesdesmontadas.

Sistema, disco y sist. de archivo de red

Monta y desmonta sist. de archivo listados en /etc/fstab. Los tipos desist. de archivo más comunes tienen asistentes para ayudar a crear lasentradas correspondientes (en /etc/fstab). Los sist. de archivo de tipono reconocido por los asistentes pueden ser montados/desmontados desdeaquí, pero sus entradas deben realizarse a mano en /etc/fstab. Muchossist. de archivo de servidor serán fácilmente manejados desde aquítambién.

El Todo es la suma de sus particiones

A pesar de haber muchas similitudes en cómo Linux y Windows manejanparticiones y sist. de archivo, cambiar del esquema de letras de unidada un árbol completamente jerárquico le tomará algún tiempo. Comosiempre, hay robustas herramientas de consola para trabajar con estasfunciones y archivos de configuración del directorio /etc. Herramientastipo web, como Webmin ofrecen también ayuda para estas tareas.

Recursos

Lea las otras partes (los originales en inglés), de laserie  Elcamino de Windows a Linux (developerWorks,Noviembre 2003).

El LinuxPartition HOWTO repasa más en detalle los mecanismos departicionamiento y las herramientas disponibles para ello.

Aunque LinuxAdministration Made Easy es un referencia algo vieja, todavía esútil ya que los procedimientos y técnicas generales para Linux no hancambiado en esencia.

El Multi DiskSystem Tuning HOWTO describe la mejor manera de usar múltiplesdiscos y particiones en un sistema Linux.

Page 55: El Camino de Windows a Linux

"Installingand configuring SuSE Linux Enterprise Server (SLES) 8" te muestracomo instalar y configurar  el SuSE Linux Enterprise Server (SLES)8, incluyendo las etapas referentes a la configuración gráficausando  YaST.

La LinuxSystemAdministrator's Guide es una introducción a la administración desistemas Linux para usuarios no experimentados.

Sistemas de archivo, cuotas de disco, y otros temasrelacionados pueden leerse en el tutorial de developerWorks"LPIcertification 101 exam prep, Part 4: Advanced administration". 

La serie de artículos de IBM developerWorksAdvancedfilesystem implementor's guide trata acerca de temas avanzados enesta cuestión, pero también introduce al lector a los diferentessistemas de archivos disponibles para Linux y sus características.

Aprenda a  Putvirtual filesystems to work ("Trabajar con sist. de archivosvirtuales"), es su código en este artículo de IBM developerWorks.

Formatear un nuevo sistema de archivo? Lea esto primero: "Partitionplanning tips" y "Partitioningin action", ambos de IBM developerWorks.

"Dual-bootingLinux" de IBM developerWorksexplica como Ud. puede fácilmente usar Windows y Linux en la mismacomputadora.

El artículo de IBM developerWorks"Maximumswappage" le puede ayudar a mejorar el rendimiento de la swap en suservidor Linux.

El booteador de Linux, LILO, ha sido superado! Lea todoacerca de eso en el tutorial "Gettingto know GRUB".

Page 56: El Camino de Windows a Linux

"QuemandoCDs en Linux" es fácil si Ud. aprende cómo hacerlo en esta guía deIBM developerWorks.

Permisos de archivo y seguridad son tratadas en el(capítulo 3) Chapter3 de la guía Introductionto Linux del Linux Documentation Project. 

"TechnicalFAQ for Linux users" (developerWorks,Julio 2001) también le ayudará a hacer la transición del mundo Windowsa Linux.

Para empezar a aprender acerca de software IBM para Linux,no hay mejor recurso que la página Speed-startyour Linux app. Encontrará tips de instalación, enlaces haciarecursos DB2, Lotus Domino, WebSphere Application Server,WebSphere Studio, y más. Puede registrarse para recibir gratuitamenteun Linux Software Evaluation Kit, conteniendo  software de pruebay recursos de aprendizaje.

Encuentre más recursos paradesarrolladoresLinux en la zona Linux de developerWorks.

Acerca delautor

Chris Walden es  Arquitecto de e-business para los servicios deconsultoría técnica IBM Developer Relations (también conocidos como los dragonslayers) en Austin, Texas, brindandoeducación, adiestramiento y servicios de consultoría  a empresas asociadas a IBM. Es el fánatico oficial de Linux en su área yhace lo mejor que puede para difundir la buena nueva a quien quieraoir. Adicionalmente a su tarea, administra el área de infraestructurade servidores solo-Linux, los cuales incluyen servicios de archivo,impresión y otras aplicaciones en ambientes de usuarios de plataformamixta. Chris tiene diez años de experiencia en la industria de lacomputación, desde el soporte técnico en campo hasta el desarrollo deaplicaciones web y consultoría. Puedes localizar a Chris en cmwalden-at-us.ibm.com.

Page 57: El Camino de Windows a Linux

http://www-106.ibm.com/developerworks/linux/library/l-roadmap6/ -->

Aquí va la parte 7

Page 58: El Camino de Windows a Linux

El Camino de Windows a Linux: Parte 8. Resguardo y recuperación

Enviado por Myrian el 1 Octubre, 2007 - 16:52.

Artículos

El Camino de Windows a Linux: Parte 8. Resguardo y Recuperación

var title = "Windows-to-Linux roadmap: Part 8. Backup and recovery";var forumURL = "";var zoneList = "linux";

var emailAbstract = "IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this part, we take stock of what is on the system, and plan and implement regular backups with an eye to recovery as well as security.";

var demoURL = "";

Unaguía rápida para el resguardo y la recuperación de datos en Linux

Artículopublicado primero en inglés en la zona Linux de IBMDeveloperWorks parte de la serie Elcamino de Windows a Linux.

Traducido por D.A. Valdez

PorChrisWalden(cmwalden-at-us.ibm.com)

Arquitecto de e-business y consultor para IBM Developer Relations 

Page 59: El Camino de Windows a Linux

11 de Noviembre de 2003

El arquitecto de e-business ChrisWalden es tu guía a través una serie de nueve artículos de developerWorksque trata acerca de la mudanza de sus habilidades informáticas deWindows  a Linux. En esta parte, tomaremos las partes másimportantes del sistema, planificaremos e implementaremos resguardosregulares, teniendo en cuenta tanto la recuperación como la seguridad.

Linux es un ambiente estable y confiable, pero cualquiersistema de computación puede tener eventos inesperados, como fallas dehardware por ejemplo. Tener resguardos confiables de datos einformación crítica de la configuración es parte importante decualquier plan de administración responsable. Hay una amplia variedadde enfoques en cuanto al tema del resguardo en Linux. Las técnicas vandesde simples métodos basados en scripts hasta elaboradosprocedimientos basados en software comercial. Se puede resguardar lainformación a dispositivos remotos en red, unidades de cinta y otrosmedios removibles. Estos resguardos pueden estar basados en archivos oen imágenes de disco. Hay muchas opciones disponibles y Ud.puede combinar las diferentes técnicas y diseñar así el plan perfectode resguardo para sus particulares necesidades.

Cuál es su estrategia?

Como ya mencionamos, hay muchos posibles enfoques para hacer resguardosde un sistema. Para la decisión de elegir uno en particular podría leerel artículo "Introducción alResguardo y Restauración de datos"("Introduction toBacking Up and Restoring Data", el título original en inglés),listado en lasección Recursosal final de este artículo.

Qué es lo que resguarda depende mucho de la razón parahacerlo, por ejemplo si lo está haciendo para poder recuperarse defallas críticas como las de problemas de disco rígido; o si solo estáprotegiendo viejos archivos para poder recuperarlos si los necesitara;o tal vez esté preparando un sistema base desde cero al cual restaurarálos datos, o directamente tendrá un sistema ya precargado listo parausar luego de la restauración del resguardo.

Qué resguardar?

La naturaleza basada en archivos de Linux es una gran ventaja alresguardar y restaurar el sistema. En un entorno Windows, el registroestá muy ligado a un sistema en particular (desde el punto de vista delhardware especialmente). La configuración e instalación de software noes una simple cuestión de copiar archivos y carpetas en una locacióndel sistema, por lo tanto restaurar el sistema requiere el uso desoftware que pueda lidiar con estas particularidades. En Linux encambio, la historia es muy diferente. La configuración está basada enarchivos de texto y excepto por aquellos que tratan directamente acercadel hardware, los demás son ampliamente independientes del sistema(tanto a nivel software instalado o no, como del hardware). Un enfoque

Page 60: El Camino de Windows a Linux

moderno en cuanto a la cuestión de los drivers de hardware es tenerlosdisponibles como módulos que pueden ser dinámicamente cargados ydescargados según se los necesite o no, así los kernels se vuelven másindependientes del sistema también, como ocurre en Linux. A pesar deque un resguardo del sistema implica tratar con temas relacionados acómo está instalado el sistema operativo en su hardware, los resguardosen Linux son mayormente una cuestión de, simplemente, empaquetar ydesempaquetar archivos.

En general, hay algunos directorios que Ud. querrá resguardar:

/etc

contiene todo el núcleo de sus archivos de configuración, esto incluyesu configuración del entorno, nombre de sistema, reglas del firewall,usuarios,grupos y otros aspectos del sistema.

/var

contiene información usada por los demonios (servicios) de su sistema,por ejemplo la configuración de DNS, del DHCP, el spool de correo, losarchivos del servidor HTTP, la instancia de configuración de DB2, etc.

/home

contiene los directorios de trabajo de todos los usuarios,incluyendo allí sus configuraciones personales, archivos bajados yotrasinformaciones que sus usarios no querrán perder.

/root

es el directorio home del usuario root. /opt

es donde se instala mucho del software no relacionado con el sistema,por ejemplo el de IBM, JDKs, OpenOffice y otros se instalan aquí pordefecto.

Hay directorios que debería considerar no resguardar.

/proc

Nunca debería resguardar este. No es un sistema de archivo real, sinouna vista virtual del ambiente y aspectos relacionados con el kernelactual en ejecución. Incluye archivos como /proc/kcore, el cual es unavista virtual completa del estado de la memoria actual. Resguardarlosolo sería desperdiciar recursos.

/dev

Contiene la representación de su hardware en forma de archivos. Si estáplaneando restaurar para lograr un sistema base desde cero, entoncespuede resguardar /dev. Pero si Ud. tiene en mente restaurar hacia unsistema ya instalado, resguardar /dev no será necesario.

Los otros directorios contienen archivos de sistema y paquetesinstalados. En un ambiente de servidor, mucha de esta información no

Page 61: El Camino de Windows a Linux

está personalizada. La mayoría de las personalizacioes se dan en losdirectorios /etc y /home. Sin embargo para asegurarse tal vez deseeigualmente resguardarlos.

En un ambiente de producción donde se quiere asegurar que nohaya pérdida de datos, se debería resguardar el sistema de archivo raíz(/) completo, excepto por el directorio /proc. Aquí debe hacerse unasalvedad, ya que debido a la estructura de árbol unificado propia deLinux, Ud. podría tener montados sistemas de archivo remotos y por elloel factor velocidad de la red tendrán cierta incidencia en cuanto altiempo que puede tomar  realizar los resguardos; por esta razóndebería ponderar la necesidad de resguardar sistemas de archivoremotos montados como parte en su árbol raíz (/). 

En el caso de que el resguardo esté mayormente enfocado en losusuarios y la configuración del sistema, debería resguardar losdirectorios /etc, /var, /home y /root.

Herramientas deresguardo

Como se mencionó antes, los resguardos en Linux son más que nada unacuestión de empaquetar y desempaquetar archivos. Esto le permite a Ud.usar utilidades de sistema ya instaladas y scripts para hacerresguardos, en vez de tener que adquirir software comercial para elmismo fin. En muchos casos, este método de resguardo será el másadecuado, y proveerá al administrador de un alto nivel de control. Unscript de resguardo puede ser implementado para que se ejecuteautomáticamente usando el comando cron, el cual seencarga de la ejecución preprogramada de eventos en Linux.

tar

tar es un comando UNIX clásico que ha sido portado aLinux. tar es el diminutivo de tape archive("archivo de cinta"), y fue originalmente diseñado para empaquetararchivos dentro de cintas. Ud. puede ya haberse encontrado con tarpreviamente, si es que ha estado bajando código fuente para Linux.Básicamente, es un comando basado en archivo que serializa las pilas delos archivos (los une uno detrás de otro).

Árboles completos de directorios pueden ser empaquetados contar, lo que lo hace especialmente bueno para resguardos. Los archivospueden ser restaurados por completo, o solo determinados archivos ydirectorios individualmente. Los resguardos pueden guardarse endispositivos de archivo (particiones de discos, etc.), o dispositivosde cinta. Los archivos pueden ser restaurados a su ubicación original(encima de los existentes para hacer una restauración a cero), o redirigidos a uno/variosdiferentes directorios o sistemas de donde fueron originalmenteguardados. Tar es independiente del sistema de archivo, puede ser usadosobre ext2, ext3, jfs, reiserfs, etc. y/o entre ellos.

Usar tar es muy parecido a usar una utilidad como pkzip. Debeapuntar a un destino, que es el archivo  y/o directorio que va aempaquetar o un dispositivo; y luego darle un nombre al paquete. Puedecomprimir archivos "al vuelo" con métodos de compresión estándar o

Page 62: El Camino de Windows a Linux

especificar un programa de compresión de su elección. Para comprimir odescomprimir archivos a través de bzip2 use tar -z.

Para resguardar un sistema de archivo completo usando tara una unidad de cinta SCSI, excluyendo el directorio /proc:

tar -cpf /dev/st0 / --exclude=/proc

En el ejemplo de arriba, el modificador -c indica al comandoque cree el archivo. El modificador -p indica que queremos preservarlos permisos, algo crítico para hacer buenos resguardos. El modificador-f especifica el lugar y nombre de archivo que queremos para elresguardo. La raíz (/), indica qué es lo que queremos resguardar y esoes el sistema de archivo completo.Finalmente, excluímos el directorio /proc, ya que no contiene nada quenecesitemos guardar. Si el resguardo no cupiera en una sola cinta,podríamos añadir el modificador -M para crear un multi-volumen.

Sensible según el caso

No olvide que Linux es sensible al caso en cuanto a los caracteres. Elcomando tar siempre debe ejecutarse en minúsculas, por ejemplo. Losmodificadores pueden estar en minúsculas, mayuscúlas o mezclados ambos.Por ejemplo -t y -T realizan funciones diferentes. Los nombres dearchivos y directorios también pueden estar en una combinación deminúsculas y mayuscúlas, según el caso.

Para extraer uno o varios archivos, el comando tarse usa con el modificador de extracción, (-x):

tar -xpf /dev/st0 -C /

El modificador -f apunta a nuestro archivo, -p indica quequeremos restaurar con los permisos originales. El modificador -xindica que debe extraer el archivo del paquete. El modificador -C /indica que queremos restaurar desde /. ya que tar normalmente restauraal directorio desde el cual corremos el comando. El modificador -C haceirrelevante el directorio donde estemos.

Los otros comandos tar que Ud. probablemente use a menudo sonaquellos que usan los modificadores -t y -d. El modificador -t lista elcontenido de un paquete. El modificador -d compara el contenido delpaquete con los archivos actuales de un sistema.

Para facilitar la operación y edición, Ud. puede poner losdirectorios y archivos que quiera archivar en un archivo de texto, elcual puede referenciar con el modificador -T. Esto puede ser combinadocon otros directorios listados en la línea de comandos. La siguientelínea resguarda todos los archivos y directorios listados enMisArchivos, el directorio /root y todos los archivos .iso ubicados enel directorio /tmp:

tar -cpf /dev/st0 -T MisArchivos /root /tmp/*.iso

El archivo de lista es un archivo de texto simple con la listade archivos y directorios, este es un ejemplo:

Page 63: El Camino de Windows a Linux

/etc<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">/var<br xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">/home<br xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">/usr/local<br xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">/opt

Por favor, observe que el comando tar -T (o tratando conarchivos, el modificador -from), no acepta comodines (*). Los archivosdeben ser listados explícitamente. El ejemplo de arriba también muestrael modo de referenciar archivos separadamente. Ud. también puedeejecutar un script para buscar en el sistema y construir una listadesde la búsqueda. Aquí hay un ejemplo de esto:

#!/bin/sh<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">cat MisArchivos &gt; ListaTemporal<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">find /usr/share -iname *.png &gt;&gt; ListaTemporal<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">find /tmp -iname *.iso &gt;&gt;

ListaTemporal

tar -cpzMf /dev/st0 -T ListaTemporal

El script de arriba copia el contenido del archivo MisArchivosa ListaTemporal, luego ejecuta un par de comandos de búsqueda paraubicar en el sistema cierto patrón y añade los archivos que coinciden aListaTemporal. La primera búsqueda incluye todos los archivos en elárbol de directorios de /usr/share que terminan en .png. La segundabúsqueda incluye a todos los archivos en el árbol del directorio /tmpque terminan .iso. Una vez construída la lista, tar es ejecutado paracrear un nuevo paquete en el dispositivo /dev/st0 (la primera unidadSCSI), que es comprimido en formato gzip y retiene todos los permisosde origen. El paquete se dividirá en múltiples volúmenes. Los nombresde archivo a ser resguardados serán tomados del archivo ListaTemporal.

Scripts también pueden ser usados para realizar muchas accionescomplejas, como backups incrementales. Un excelente script es listadopor Gerhard Mourani en su libro Securingand Optimizing Linux (Asegurando y Optimizando Linux), el cualpuede localizar desde la sección Recursosal final del artículo.

Tambiénpuede usarse scripts para restaurar archivos, pese a que larestauración es por lo general realizada manualmente. Paquetes enterospueden ser restaurados, o puede especificarse archivos o directoriosindividuales, pudiendo usarse también comodines para hacer esto. 

dumpear y restaurar

dump realiza funciones similares a tar,sin embargo dump está más enfocado en sistemas de archivoque en archivos individuales. Tomado de la página de manual de dump:"dump examina los archivos en un sistema de archivo ext2 y determinacuales necesitan ser resguardados. Estos son copiados entonces a un

Page 64: El Camino de Windows a Linux

disco dado, cinta u otro medio de almacenamiento para ponerlos en unlugar seguro...Un dump que sea más grande que el medio de salida(adonde se lo está copiando), será dividido en múltiples volúmenes. Enla mayoría de los medios, el tamaño es determinado al escribir hastaque se recibe una indicación de que el medio está casi lleno."

El programa que trabaja junto a dump es restore, elcual se usa para restaurar archivos de una imagen dump.

El comando restore realiza la función inversa dedump. Un resguardo completo de un sistema de archivo puede serrestaurado y resguardos incrementales subsecuentes pueden implementarsesobre el resguardo original. Archivos individuales y subárboles dedirectorios pueden ser restaurados desde reguardos parciales ocompletos.

Ambos, dump y restore puedenejecutarse en red, así que Ud. puede resguardar y restaurar desde yhacia dispositivos remotos. dump y restoretrabajan con unidades de cinta y dispositivos de archivo proveyendo unamplio rango de opciones para ello. Sin embargo, ambos están limitadosa sistemas de archivo ext2 y ext3. Si Ud. está trabajando con sistemasde archivo reiserfs, jfs, u otros, necesitará una herramientadiferente, como tar por ejemplo.

Resguardar con dump

Ejecutar un resguardo con dump es fácil y muy directo. El siguientecomando hace un resguardo completo de todos los sistemas de archivo(ext2 y ext3), de un Linux, a una unidad de cinta SCSI:

dump 0f /dev/nst0 /boot<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">dump 0f /dev/nst0 /

En este ejemplo, nuestro sistema tiene dos sistemas dearchivo. Uno para /boot y otro para /, una configuración bastanteusual. Ambos deben referenciarse individualmente cuando se ejecuta unresguardo. /dev/nst0 se refiere a la primera unidad de cinta SCSI, peroen modo de "no rebobinado", esto asegura que los volúmenes son ubicadosde modo contigüo en la cinta.

Una interesante característica de dump es su funcionalidad deresguardo incremental. En el ejemplo de arriba, el 0 indica un nivel deresguardo cero. Esto es, el resguardo completo del sistema que Ud.haría períodicamente para capturar el sistema entero. En resguardosubsecuentes puede usar otros números (1-9), en lugar del 0 paracambiar el nivel de resguardo. Un resguardo de nivel 1 guardaría todoslos archivos que han cambiado desde que fue realizado el resguardo denivel 0. El nivel 2 resguardaría todo lo que ha cambiado desde que serealizó el resguardo de nivel 1, y así sucesivamente. La misma funciónpuede implementarse con tar usando scripts, pero requiere que el mismotenga un mecanismo para determinar cuando fue realizado el últimoresguardo. dump tiene su propio mecanismo, registrando la acción en elarchivo /etc/dumpupdates, cada vez que realiza un resguardo. El archivoes reseteado cuando se ordena ejecutar un resguardo de nivel 0.Subsecuentes niveles son registrados hasta que otro nivel 0 es

Page 65: El Camino de Windows a Linux

realizado. Si Ud. está haciendo un resguardo basado en cinta, dumpautomáticamente trabajará con múltiples volúmenes.

Saltando archivos

Es posible marcar archivos y directorios para que dump nolos archive. El comando para hacerlo es chattr, quecambia los atributos extendidos de los sistemas de archivo sobre ext2 yext3.

chattr +d &lt;filename&gt;

El comando de arriba añade un marcador a un archivo (o directorio), que indica a  dumpque no lo archive durante el proceso de resguardo.

Restaurar con restore

Para restaurar información guardada con dump, se utiliza el comandorestore. Al igual que tar, dump tiene la habilidad de listar (-t) ycomparar archivos resguaradados con los archivos actuales (-C). DondeUd. debe ser precavido es al restaurar datos. Hay dos enfoques muydiferentes para hacer esto, y debe ser muy preciso al usarlos paraobtener resultados predecibles.

Reconstruir(-r)

Recuerde que dump está diseñado con sistemas de archivo en mente, másque para archivos individuales. Por ello es que hay dos estilosdiferentes de restaurar archivos. Para reconstruir un sistema dearchivo, use el modificador -r. "Reconstruir" está diseñado paratrabajar sobre un sistema de archivo vacíoy lo restaura dejándolo en el mismo estado en que fue guardado. Antesde ejecutar "reconstruir", debería tener creado y montado el sistema dearchivo. Ud. nodebería ejecutar "reconstruir" sobre un sistema de archivo que yacontenga archivos.

Aquí hay un ejemplo de cómo hacer una reconstrucción completa desde el"dump" que ejecutamos en el ejemplo anterior.

restore -rf /dev/nst0

El comando de arriba necesita ser ejecutado para cada sistemade archivo a ser restaurado.

Este proceso podría ser repetido para añadir los resguardosincrementales si fuera requerido.

Extract(-x)

Si Ud. necesita trabajar con archivos individuales, en vez de sistemasde archivo completos, debe usar el modificador -x para extraerlos. Por

Page 66: El Camino de Windows a Linux

ejemplo, para extraer solo el directorio /etc desde nuestra cinta deresguardo, use el siguiente comando:

restore -xf /dev/nst0 /etc

restore (-i) Interactivo

Otra característica más que provee restore, es el modo interactivo,úselo con el comando:

restore -if /dev/nst0

restore lo ubicará entonces en una consola interactiva,mostrándole los elementos contenidos en el archivo de resguardo.Tipeando "help" obtendrá una lista de comandos en la que Ud. puedenavegar y seleccionar los elementos que desee extraer. Tenga en menteque cualquier archivo que Ud. extraiga será extraído al directorioactual (desde el cual ha sido ejecutado el comando).

dump vs.tar

Ambos dump y tartienen ventajas y desventajas. Si Ud. está ejecutando cualquier sistemade archivo distinto de ext2 o ext3, entonces no podrá usar dump; perosi éste no es el caso, puede usar dump con un mínimo o nulo uso descripts, y contará incluso con modos interactivos para asistirlo en larestauración de archivos.

Personalmente, prefiero usar tar, ya que tengo unapredilección especial por el nivel de control adicional que brindan losscripts. También existen herramientas multiplataforma para trabajar conarchivos .tar.

Otras herramientas

Virtualmente cualquier programa que pueda copiar archivos puede serusado para realizar algún tipo de resguardo en Linux. Es mucho máscomún que la gente use cpio y/o dd pararesguardos. cpio es otra utilidad de empaquetamiento alestilo tar. Mucho más raro es el uso de dd,una utilidad para copia de sistemas de archivo que crea copias binariasde ellos, dd podría ser usado de modo similar a productoscomo Ghost de Symantec. Tenga en cuenta que dd no está basado enarchivos en absoluto, y solo podrá restaurar datos a un partición dedisco idéntica a la de origen.

Productos Comerciales para Resguardo

Hay varios productos comerciales para hacer resguardos bajo plataformaLinux. Estos generalmente proveen una interfaz y un sistema de reporte,facilidades que al usar dump y tar, debe implementarlas el usuario. Lasofertas comerciales son amplias en cuanto al rango de característicasdisponibles. El mayor beneficio que Ud. puede ganar al usar un productocomercial es una estrategia pre-planificada para manejar resguardos quesolo debe poner en marcha. Los desarrolladores comerciales ya hancometido (y prevenido), muchos de los errores que Ud. podría cometer y

Page 67: El Camino de Windows a Linux

el precio de su experiencia es poco comparado con la pérdida de suspreciosos datos.

Tivoli StorageManager

Probablemente la mejor utilidad de administración de resguardos yalmacenamiento para Linux es el Tivoli Storage Manager. Tivoli StorageManager Server, su versión servidora, está disponible para variasplataformas, incluyendo Linux y el cliente corre aún sobre másplataformas.

Esencialmente, un Storage Manager Server es configurado conlos dispositivos apropiados para resguardar el entorno. Cualquiersistema que participe de los resguardos debe ejecutar un cliente que secomunicará con el servidor. Los resguardos pueden ser programados,realizados manualmente desde la interfaz del TivoliStorage Manager, o incluso ser realizados de manera remota usando unainterfaz web.

La naturaleza basada en políticas de TSM implica que puedendefinirse reglas centrales para ejecutar resguardos sin tener queajustar constantemente una lista de archivos. Adicionalmente el IBMTivoli Storage Resource Manager puede identificar, evaluar, controlar ypredecir la utilización de la capacidad de almacenamiento a nivelempresa, detectar potenciales problemas y automáticamente aplicarajustes correctivos. Vea el sitio web de Tivoli (vea el enlace en lasección Recursos),para más detalles.

Resguardos y restauraciones pueden ser manejadas a través dedispositivos remotos.

Vaya y resguarde

El primer paso para tener un buen resguardo es tener un plan. Conocerlos datos que Ud. necesita preservar y cual será la estrategia derecuperación a utilizar, luego deberá usar las herramientas que mejorse ajusten a ambos propósitos.

Linux incluye algunas útiles herramientas de resguardo "defábrica". Las dos más comunes son tar y dump/restore.Ambas son capaces de realizar resguardos completos de sistema. Usandocreativamente scripts  Ud. puede diseñar esquemas personalizadosde resguardo tanto para sistemas locales como remotos.

Aún así, escribir sus propios scripts puede ser una granresponsabilidad, especialmente cuando se trata de empresas gran tamañoy/o complicadas políticas de resguardo. Software comercial como elTivoli Storage Manager acorta la curva de aprendizaje y lo deja casiinmediatamente al control de sus resguardos, aunque Ud. puede tener queajustar sus estrategias para adecuarlas a las capacidades de las

Page 68: El Camino de Windows a Linux

herramientas.

Recursos

Lea las otras partes (los originales en inglés), de laserie  Elcamino de Windows a Linux (developerWorks,Noviembre 2003).

La LinuxAdministrator'sSecurity Guide es una guía de seguridad con una excelente secciónsobre cuestiones prácticas en cuanto al resguardo y restauración enLinux.

Introduction to Backing Up and Restoring Data es un repaso independiente delsistema operativo o arquitectura de sistema. En él, el autor exploralas técnicas de resguardo, así como las políticas de planeamiento deresguardos.

Linux Administration Made Easy es un referencia algo antigua, perotodavía útil, ya que los procedimientos y técnicas generales para Linuxhan permanecido casi sin cambios.

The Linux SystemAdministrator's Guide es una introducción a la administración desistemas Linux para novatos.

Securingand Optimizing Linux - A Hands on Guide (Red Hat Edition) Capítulo7. Resguardo y Recuperación.  (en inglés), es otra buena guía queincluye un script par hacer resguardos incrementales usando tar.

The TAO of Backup es una interesante presentación de la filosofía del resguardo. Aunqueestá asociado a un producto comercial, la información está bien escrita.

El tutorial de IBM developerWorks"Backingup your Linux machines" lo lleva a través del proceso de crear yeimplementar una estrategia de resguardo en entornos Linux.

Page 69: El Camino de Windows a Linux

Guardar datos en CD es fácil, aprenda cómo hacerlo en elartículo de IBM developerWorks"BurningCDs on Linux". 

Si está en transición a Linux desde ambientes Windows, Ud.debería leer el TechnicalFAQ for Linux users. 

El Tivoli Storage Manager fue votado como la Mejor Soluciónde Almacenamiento de Datos en LinuxWorld 2003. Aprenda más sobre TivoliStorage Manager for Linux.

La páginade producto de Tivolitiene más información sobre él, incluyendo características de seguridady privacidad.

Los permisos de archivo y seguridad son tratados en el Capítulo3 de la Guía de Introducción a Linux (en inglés), del LinuxDocumentationProject. 

Encuentre más recursos paradesarrolladoresLinux en la zona Linux de developerWorks.

Acerca delautor

Chris Walden es  Arquitecto de e-business para los servicios deconsultoría técnica IBM Developer Relations (también conocidos como los dragonslayers) en Austin, Texas, brindandoeducación, adiestramiento y servicios de consultoría  a empresas asociadas a IBM. Es el fánatico oficial de Linux en su área yhace lo mejor que puede para difundir la buena nueva a quien quieraoir. Adicionalmente a su tarea, administra el área de infraestructurade servidores solo-Linux, los cuales incluyen servicios de archivo,impresión y otras aplicaciones en ambientes de usuarios de plataformamixta. Chris tiene diez años de experiencia en la industria de lacomputación, desde el soporte técnico en campo hasta el desarrollo deaplicaciones web y consultoría. Puedes localizar a Chris en cmwalden-at-us.ibm.com.

http://www-106.ibm.com/developerworks/linux/library/l-roadmap8/ -->

Page 70: El Camino de Windows a Linux

El Camino de Windows a Linux: Parte 9. Instalando Programas

Enviado por Myrian el 1 Octubre, 2007 - 16:57.

Artículos

El Camino de Windows a Linux: Parte 9. Instalando Programas

var title = "Windows-to-Linux roadmap: Part 9. Installing software";var forumURL = "";var zoneList = "linux";

var emailAbstract = "IBM e-business architect Chris Walden is your guide through a nine-part developerWorks series on moving your operational skills from a Windows to a Linux environment. He covers everything from logging to networking, and from the command-line to help systems -- even compiling packages from available source code. In this final part, we download and compile a software package, discuss the pros and cons of automated package management, and get to know the RPM system.";

var demoURL = "";

Usode RPMs precompilados y compilación de aplicaciones desde el códigofuente

Artículopublicado primero en inglés en la zona Linux de IBMDeveloperWorks parte de la serie Elcamino de Windows a Linux.

Traducido por D.A. Valdez

PorChrisWalden

Page 71: El Camino de Windows a Linux

(cmwalden-at-us.ibm.com)

Arquitecto de e-business y consultor para IBM Developer Relations 

11 de Noviembre de 2003

El arquitecto de e-business ChrisWalden es tu guía a través una serie de nueve artículos de developerWorksque trata acerca de la mudanza de sus habilidades informáticas deWindows  a Linux. Finalizando esta serie de artículos bajaremos ycompilaremos un programa, luego discutiremos las ventajas y desventajasde un sistema automatizado de administración de paquetes, así comotambién conoceremos el sistema RPM.

Una de las primeras cosas que va a notar cuando instale Linuxes que hay muchos paquetes de programas disponibles para sudistribución. Muchas distribuciones incluyen el sistema operativoLinux, las herramientas de instalación y herramientas administrativas;además incluyen herramientas para redes e Internet, herramientas dedesarrollo, herramientas de oficina, juegos y algunas cosas de las Ud.seguramente nunca ha oído. No es poco común para una distribución deLinux incluir miles depaquetes. Si en el momento de la instalación no ha seleccionado"instalar todo", entonces Ud. solo tiene instalado un pequeñosubconjunto de todos esos paquetes.

Seguro que ahora estará preguntándose "Como desinstalopaquetes que no quiero? Cómo instalo cosas que necesito? Podré usarprogramas que no están incluídos en mi distribución?

RPMs

Mientras instalaba Linux  habrá notado que muchos RPMs estabansiendo instalados. RPM significa RedhatPackage Manager ("Administrador de Paquetes de Red Hat"), y esuna contribución de la distribución Red Hat que se ha convertido en elestándar más usado para administrar paquetes en muchas distribuciones.

Esencialmente, un RPM es un paquete que contiene programaspara Linux, listos para instalar y ejecutar sobre una arquitectura desistema en particular. Por ejemplo, ya hemos instalado el paqueteWebmin desde un RPM en la parte 3 de esta serie ("Introducción a Webmin"). Todos losprogramas inicialmente cargados en su distribución fueron instaladosdesde paquetes RPM.

Anatomia de un RPM

Un RPM es un paquete de archivo. Incluye un archivo .spec, el cual provee informaciónacerca del paquete, su función y dependencias (estas son aquellospaquetes que deben estarinstalados para que el anterior pueda ejecutarse). El .spec también contiene una listade los archivos del paquete, la ubicación donde deberán ser cargados enel sistema y cuales serán sus permisos inicialmente. Un RPM contieneademás un script de pre-instalación, escrito por el desarrollador delpaquete. A continuación el RPM contiene los archivos binarioscompilados (los que constituyen la aplicación propiamente dicha).Finalmente contiene también un script de post-instalación.

Page 72: El Camino de Windows a Linux

Esquema de un RPM

.specscript de pre-instalación

archivo binarioarchivo binario...archivo binarioscript de post-instalación

Cuando un RPM es instalado, el sistema verifica primero si lasdependencias del paquete están instaladas. Si no es así, finaliza y lainstalación no se realiza, a menos que se haya especificado opcionespara forzar la instalación aún sin cumplimentar las dependencias.

El siguiente paso es ejecutar el script de pre-instalación.Este script puede realizar cualquier acción. Normalmente crea usuariosy directorios, pero puede también realizar varios tipos dinámicos deconfiguración, incluso compilar código fuente con opcionespersonalizadas para el sistema.

Sepa donde han estado sus  RPMs

Cuando se instala RPMs, se copian archivos al sistema y luego seejecutan scripts. Ya que RPM se ejecuta como root, todas estasfunciones se ejecutan con todo los permisos de acceso posibles a unsistema. Es por lo tanto importante que Ud. conozca el origen de unpaquete RPM antes de instalarlo en su sistema. Al igual que con losprogramas de Windows, código malicioso puede ser incluído dentro de unpaquete RPM tan fácilmente como en cualquier otro tipo de paquetes deinstalación. Los RPMs del fabricante (la empresa u  organizaciónque crea la distribución), son generalmente seguros. Sea cuidadoso albajar e instalar cosas de fuentes desconocidas.

Si la ejecución del script de pre-instalación finalizaexitosamente, los archivos binarios son copiados al sistema según lalista del paquete. Una vez realizado esto y seteados los permisosiniciales, se ejecuta el script de post-instalación. De nuevo, estescript es capaz de realizar cualquier acción.

Una vez completado todo el proceso, la información acerca delpaquete es añadida a la base de datos RPM, y se completa lainstalación. 

Con este simple sistema es posible realizar todas lasfunciones que podrían llegar a realizarse con el más avanzado de losinstaladores comerciales de software.

La base de datos RPM

La pieza del sistema que añade el toque de elegancia es la base dedatos RPM. Está ubicada por defecto en el directorio /var/lib/rpm ycontiene información acerca de cada RPM instalado en el sistema. Labase de datos contiene las relaciones de dependencias entre paquetes yadvertirá si se intenta desinstalar un paquete que rompa lasdependencias de otro. La base de datos también registra cada archivoque fuera originalmente instalado desde un paquete y su estado

Page 73: El Camino de Windows a Linux

original. También registra la ubicación de la documentación y losarchivos de configuración de cada paquete.

Todo eso puede parecer mucha información, y lo es. Pero noestá sobrecargada, ni es superflua en absoluto. En un sistema con 1.066paquetes instalados, contienendo un total de 203.272, la base de datosde archivos solo tiene un tamaño de 45 MBs (!). RPM usa esta base dedatos para checkear las dependencias cuando se instalan y desinstalanpaquetes. Los usuarios también pueden hacer búsquedas en la base dedatos para ubicar información acerca de paquetes.

UsandoRPM

El programa que permite usar el sistema RPM , apropiadamente se llama rpm.rpm se puede ejecutar de varios modos, pero los máscomunes son instalar, actualizar, buscar, verificar y desinstalar(borrar).

rpm -i(instalar)

Cuando Ud. instale un paquete por primera vez, usará el modificador -io modo de instalación. Simplemente indique el nombre del paquetebinario que desea instalar y ejecute el comando. A continuación el rpmserá instalado en su sistema. La instalación normalmente toma unospocos segundos. A menudo cuando instale un paquete, añadirá elmodificador -v , que le mostrará más información acerca del proceso; ytambién puede que use -h, que le dará retroalimentación visualindicando el progreso del proceso de instalación por medio de una barrade signos # en la consola, así como un indicador númerico deporcentaje. Aquí hay un ejemplo:

Listado 1. Instalando MiPaquete

$ rpm -ivh MiPaquete-1.0.0.i386.rpm<br>Preparing... ########################################### [100%]<br> 1:MiPaquete ########################################### [100%]<br>

y listo, MiPaquete está ahora instalado en el sistema y listopara ser usado.

rpm solo puede ejecutarse como root

rpm instala y borra archivos al sistema,además de requerir acceso a la base de datos de paquetes, y por ellosolo puede ejecutarse como root.

rpm -e(borrar)

Para desinstalar un paquete instalado, usará el modificador -e. rpm

Page 74: El Camino de Windows a Linux

usará la base de datos para borrar todos los archivos pertenecientes alpaquete en cuestión. Si hay otros paquetes instalados que dependan deese, rpm suspenderá la desinstalación. Ud. se veráforzado entonces a usar el modificador --nodeps que no tomará en cuentalo anterior y ejecutará la desinstalación (--nodeps tambień puede serusado al instalar un paquete). Sea muy cuidadose al usar estemodificador para instalar o desinstalar. Borrar paquetes de los queotros dependen puede tener consecuencias inesperadas. Aquí está elcomando para desinstalar el paquete instalado en el ejemplo anterior:

$ rpm -e MiPaquete

Observe no hace falta escribir el nombre completo del paquetepara desinstalarlo, este solo fue requerido en el momento de lainstalación porque estábamos refiriendo un nombre de archivo. Lospaquetes ya instalados solo son referidos por su nombre, y esteconsiste en cualquier cadena de caracteres previa al número de versión.

rpm -V(verificar)

El modificador de verificación es muy útil; compara el estado actual delos archivos de un paquete con el estado original de los mismos almomento de la instalación. Las diferencias son mostradas usando uncódigo:

Resultados de laverificación de archivos

SDiferencia de tamaño del archivo

MDiferencia de Modo (permisos, tipo de archivo y otros)

5Diferencia de firma MD5

DDiferencia de número mayor/menor de dispositivo 

LDiferencia de camino (path) readLink(2)

UDiferencia de Usuario propietario

GDiferencia de Grupo propietario

TDiferencias mTime

Si ejecuta rpm -V sobre un paquete y descubreque ha cambiado el tamaño de un ejecutable, es posible que seaevidencia de una brecha de seguridad en el sistema.

rpm -U(actualización)

Page 75: El Camino de Windows a Linux

Una vez que un paquete ha sido instalado, cualquier intento de instalarun paquete con el mismo nombre resultará en un mensaje que indicará queel paquete ya está instalado. Si Ud. quiere actualizar un paquete a unaversión más reciente, use el modificador -U. 

Cuando se ejecuta una actualización sobre múltiples nombres depaquetes, rpm intentará ponerlos en orden de dependencias, es decir quelos paquetes requeridos serán instalados previamente a los que losrequieran. El modificador de actualización puede ser usado tanto si unpaquete está o no está ya instalado, por lo que mucha gente lo usa paraambas cosas en vez de usar el modificador -i . Aquí hayun ejemplo de uso con varios paquetes rpm:

Listado 2. Actualización con varios paquetes

$ rpm -Uvh My*.rpmPreparing... ########################################### [100%]1:bMyPackageDep ########################################### [ 50%]1:aMyPackageNew ########################################### [100%]

En el caso de arriba, bMyPackageDep era un prerequisito paraaMyPackageNew, así aunque el orden de los nombres de archivos estaba alrevés, rpmlos ordenó como correspondía.

rpm -q(búsqueda)

Varios tipos de informaciones útiles pueden ser buscadas dentro de labase de datos rpm. Las búsquedas pueden ser realizadas por cualquierusuario que tenga permisos de lectura sobre la misma. Por defecto,todos los usuarios los tienen. Para realizar una búsqueda use elmodificador -q con el nombre del paquete que deseaubicar, esto devolverá el nombre y versión del mismo:

$ rpm -q MyPackage<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">MyPackage-1.0.0

El nombre del paquete debe ser tipeado correcta yprecisamente. No se permiten comodines. De todos modos, si Ud. norecuerda el nombre exacto, puede usar la herramienta greppara ayudarse. Use el modificador -qapara buscar todos los paquetes instalados y "entube" la informaciónobtenida a través de grep con la parte del nombre que Ud.recuerda, por ejemplo:

La facilidad de grep

grep es una herramienta de búsqueda de texto.Por defecto, busca en archivos mostrando las líneas que contienen el

Page 76: El Camino de Windows a Linux

texto a buscar. En nuestro ejemplo, buscamos "IBM". grep es muypoderoso como herramienta de consola y para su uso en scripts.

$ rpm -qa | grep IBM<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSAppDev-Product-5.0-0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSSiteDevExp-Core-5.0-0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSSiteDev-Core-5.0-0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSTools-WAS-BASE-V5-5.0-0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMJava118-SDK-1.1.8-5.0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSWB-samples-5.0-0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSWB-5.0-0<br xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSAppDev-Core-5.0-0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSAppDev-5.0-0<brxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IBMWSTools-5.0-0

Además de los números de versión, rpm -q puedeproveer de otras informaciones útiles, por ejemplo:

Consiguiendo información de una búsqueda rpm

rpm -q changelogMuestra el historial de cambios en el desarrollo de laapliación contenida en el paquete

rpm -qcMuestra los archivos de configuración del paquete

rpm -qdMuestra los archivos de documentación del paquete

rpm -qiMuestra la descripción del paquete

rpm -qlMuestra una lista de archivos del paquete

rpm -qRMuestra las dependencias del paquete

La búsqueda implica también otro interesante comando, el cualse ejecuta sobre archivos en vez de paquetes:

rpm -q whatprovides &lt;filename&gt;

Ese comando identificará el paquete asociado con el nombre dearchivo dado, este debe incluir el camino (path), absoluto hasta elarchivo, ya que es de esa manera como la información está guardada enla base de datos rpm.

Page 77: El Camino de Windows a Linux

Front-ends para RPM

Trabajar con rpm desde la consola es fácil, pero a veces es másconveniente trabajar con una interfaz gráfica. Al estilo típico deLinux, hay programas front-end que proveen esta facilidad para elprograma rpm. Cada distribución tiene por lo general su propiofront-end. Consulte la documentación de su distribución para mayorinformación acerca de la herramienta de administración de paquetesprovista.

"Paquete de Software" de Webmin

Webmin provee esta simple interfaz basada en web para trabajar conpaquetes rpm.

Los paquetes pueden ser fácilmente instalados, desinstalados yse puede hacer búsquedas desde aquí. También se puede hacerinstalaciones desde URLS. Si Ud. tiene instalados front-ends para elsistema rpm, como apt, Webmin los usará y proveerá una interfaz paraellos.

Código Fuente

Ya que Linux es un sistema operativo de código fuente abierto, vienecon todas las herramientas de desarrollo necesarias para compilarsoftware. Aunque muchos de los paquetes que Ud. puede querer usar seránprovistos seguramente como RPMs binarios, no está limitado a ellos. Silo desea, puede bajar directamente el código fuente y compilarlo demanera personalizada para su sistema.

Ud. debería ser cuidadoso al compilar código sobre un sistemaen producción, ya que esto puede causar problemas o invalidar elsoporte técnico de programas comerciales que esté usando en el mismo,como el IBM DB2 por ejemplo. Aún así familiarizarse con la compilaciónde código le permitirá aplicar parches a programas y trabajar consoftware portado de otros ambientes. Además de innumerables potencialesventajas en cuanto a mejoras de rendimiento y velocidad al compilarpara su arquitectura de hardware específica. Una vez que Ud. hayaaprendido a compilar código, le será posible crear sus propios RPMs.

Demostración con el código de Corewars

Para demostrar cuan simple puede ser compilar desde el código fuente,lo haremos usando el de un juego de simulación llamado Corewars. Estoes un extracto de su sitio web: "Corewars es un juego de simulacióndonde un cierto número de guerreros intentan chocar contra otrosmientras están dentro de una computadora virtual. Los guerreros puedenser escritos en uno de dos lenguajes tipo ensamblador específicos de lacomputadora virtual, llamados Corewars y Redcode. El primero es ellenguaje por defecto y es más fácil de aprender y entender. Redcodeprovee en cambio, instrucciones más avanzadas y poderosas, perorequiere más tiempo para aprenderlo."

El primer paso para compilar desde código es obtenerlo:

http://download.sourceforge.net/corewars/corewars-0.9.13.tar.gz

Page 78: El Camino de Windows a Linux

Una vez hecho lo anterior, descomprimo el paquete:

tar -xvzf corewars-0.9.13.tar.gz

El archivo es descomprimido en mi directorio actual. Elenfoque estándar para el código fuente es ubicarlo en un directorio quetiene el nombre y versión del programa. En este caso uno llamadocorewars-0.9.13.

Entro dentro de ese directorio y encuento el código fuente,algo de documentación, los scripts de configuración y los archivosREADME. Muchos paquetes de códigos vendrán con un archivo llamadoINSTALL y otro llamado README. Ud. debería leer ese material antes decompilar el software, le salvarán con seguridad de muchos problemasidentificándolos antes que Ud. tenga que encontrárselos y advirtiéndoleacerca de los procedimientos correctos para hacer la compilación einstalación sin problemas. Muchos inconvenientes que tuve al compilarcódigo me ocurrieron simplemente porque no estaba orientado en ladirección adecuada.

El siguiente paso más común es ejecutar el script configure, este es parte del paquete Autoconf, incluído con las herramientas dedesarrollo de su distribución de Linux. Un fragmento tomado de ladescripción del paquete de Autoconf: "El GNU Autoconf es unaherramienta para configurar código fuente y Makefiles. Usando Autoconf,los programadores pueden crear paquetes portables y configurables, yaque la persona encargada de construir (compilar), el paquete puedeespecificar diversas opciones de configuración".

El script configure ejecuta una serie de testssobre el sistema para determinar el mejor modo de compilar el paquetede código para su distribución y arquitectura. Luego crea un Makefilepersonalizado para su sistema. Si hay algún problema para compilar ensu sistema, el script se lo informará. configure lepermitirá por lo general personalizar las características incluídas enel código y/o le permitirá parametrizar locaciones para librerías yotros archivos necesarios para que el paquete de código sea compiladoexitosamente. Aquí ejecutamos configure sin ningúnparámetro adicional:

./configure

Varios tests se ejecutan en el sistema y finalmente terminanexitosamente. Ahora construiremos el programa haciendo:

make

Si la compilación resulta en algún error, necesitarédeterminar cual fue y solucionarlo. Esto puede no ser trivial y puederequerir un buen nivel de conocimiento acerca del entorno y deprogramación en general. Si todo va bien , instalaremos el softwarehaciendo:

make install

Page 79: El Camino de Windows a Linux

Los archivos son copiados en las áreas apropiadas del sistema,sus permisos son actualizados, y los archivos de configuración soncopiados y la documentación es añadida a las páginas de manual.

Ahora testeemos nuestro trabajo ejecutando el programa. Es unprograma gráfico, por lo que necesitaremos tener X corriendo para quefuncione. El The

makeinstall

que hicimos antes puso el programa en nuestro path, asíque ahora podemos ejecutarlo invocándolo:

corewars

La pantalla del programa debería aparecer ahora.

El tópico de cómo jugar al Corewars está fuera del objetivo deeste artículo, pero si Ud. quiere leer más información sobre él,refiérase a la página de manual (man corewars).

La compilación de Corewares es un escenario típico. Hay muchosposibles variaciones de escenarios, incluyendo alguno con cambiosmanuales con el script configurepara ajustar características a compilar, o usando diferentes comandosdel Makefile para ajustar cómo se realiza la compilación, entre otrascosas.

Dado que este programa no fue instalado usando rpm, no hayentradas en la base de datos rpm. Si el programa no funciona luego deser instalado, la mayoría de los Makefiles incluyen una rutina dedesinstalación para borrar el software:

make uninstall

Tenga en mente que al trabajar con código fuente directamenteno se produce ninguna modificación a la base de datos rpm, y por lotanto el software así instalado no está siendo administrado por lo queUd. debe ser cuidadoso al hacerlo.

RPMs de código fuente (SRPMs - "Source" RPMs)

Cuando un RPM es creado, también existe un paquete asociado llamado RPMde código. Éste es la combinación de un archivo SPEC con el códigofuente necesario para compilar el programa (para una o variasarquitecturas). Esto representa lo mejor de ambos mundos, código ybinarios. Con un RPM de código fuente Ud. puede personalizar lacompilación del software en su sistema, pero el producto terminado serátambién un RPM binario instalable en vez de solo binarios. Muchospaquetes disponibles como RPM precompilados, están también disponiblesen forma de SRPMs. Esto representa un modo simple de trasladar softwareentre arquitecturas para Linux. Cuando Ud. haya tenido éxitorecompilando para una plataforma, considere compartir su RPM terminadocon la comunidad.

Page 80: El Camino de Windows a Linux

Que el código esté contigo

Si es nuevo en Linux, para instalar software tiene que seguir pautasdiferentes de las que ha usado hasta ahora. Sin embargo, usar RPM paraesto es un modo elegante y provee un nivel de capacidades que prontoapreciará.

Ud. debería familiarizarse con las opciones para trabajar conrpms desde la consola, pero para el uso del día a día existenfront-ends que hacen los rpms fáciles de manejar. Algunos vienen con sudistribución y otros están disponibles en la red, como Webmin.

Inclusive, Ud. no está limitado a los rpms precompilados, sinoque puede tomar ventaja de la naturaleza orientada al código fuente deLinux y compilar aplicaciones directamente desde el código. Lacompilación es por lo general sencilla cuando se trata de programas yaevolucionados. Recuerde que los programas instalados desde el código noestarán registrados en su base de datos rpm. Cuando trabaje con códigoconsidere usar srpms, lo cual le permitirá combinar el poder decompilar código fuente además de las facilidades para administrar delos rpms.

Recursos

Lea las otras partes (los originales en inglés), de laserie  Elcamino de Windows a Linux (developerWorks,Noviembre 2003).

El tutorial de IBM developerWorksLPIcertification 102 exam prep, Part 1: Compiling sources and managingpackages trata acerca de los administradores de paquetes de Red Haty Debian, así como de la compilación de código fuente y administraciónde librerías compartidas.

El tutorial de IBM developerWorksCompilingand installing software from sources va más adentro en cuanto adesempaquetar, inspeccionar, configurar e instalar software desde elcódigo fuente.

El tutorial de IBM developerWorksLPIcertification 102 exam prep, Part 2: Configuring and compiling thekernel trata el tema de la configuración y soporte de dispositivosPCI y USB a nivel kernel.

Aprenda más acerca de compilación e instalación de códigofuente en la presentación de IBM developerWorks,Compiling

Page 81: El Camino de Windows a Linux

and installing software from sources . 

Aprenda cómo crear sus propios paquetes con la presentaciónde IBM developerWorksCreateDebian Linux packages and Packagingsoftware with RPM. 

Aprenda acerca de los administradores alternativos de RPM yDebian en la presentación de IBM developerWorksManagepackages using Stow. 

La actualización regular de software es una cuestiónimportante en relación con la seguridad. Aprenda como mantener susistema actualizado al día fácil y rápidamente con los tips delartículo de IBM developerWorks, Upgradingapplications from sources. 

Aprenda más acerca de UnitedLinux esta presentación de IBM developerWorks.

SourceForge es un excelente recurso para localizar proyectos de código fuenteabierta; incluso puede añadir sus propio proyecto.

El Corewarsproject es solo uno de muchos que puede encontrar en SourceForge. 

El sitio developerWorksOpensource zone hospeda los proyectos de código fuente abierto de IBM. 

 alphaWorksde IBM ofrece fácil acceso a tecnologías emergentes de IBM como losServicios Web y paquetes de herramientas Grid . 

IBM ofrece una suscripciónToolbox para un solo usuario, de bajo costo anual, para obteneracceso a herramientas clave de IBM, middleware, y tecnología.

Page 82: El Camino de Windows a Linux

La iniciativa de IBM, Speed-startyour Linux app 2003 ofrece un Linux SoftwareEvaluationKit (SEK) que incluye la DB2 Universal Database, WebSphere ApplicationServer, WebSphere Studio Site Developer, WebSphere MQ, Lotus Domino,Tivoli Access Manager, y muchos otros.

Acerca delautor

Chris Walden es  Arquitecto de e-business para los servicios deconsultoría técnica IBM Developer Relations (también conocidos como los dragonslayers) en Austin, Texas, brindandoeducación, adiestramiento y servicios de consultoría  a empresas asociadas a IBM. Es el fánatico oficial de Linux en su área yhace lo mejor que puede para difundir la buena nueva a quien quieraoir. Adicionalmente a su tarea, administra el área de infraestructurade servidores solo-Linux, los cuales incluyen servicios de archivo,impresión y otras aplicaciones en ambientes de usuarios de plataformamixta. Chris tiene diez años de experiencia en la industria de lacomputación, desde el soporte técnico en campo hasta el desarrollo deaplicaciones web y consultoría. Puedes localizar a Chris en cmwalden-at-us.ibm.com.

http://www-106.ibm.com/developerworks/linux/library/l-roadmap9/ -->

Page 83: El Camino de Windows a Linux