Вы находитесь на странице: 1из 83

El camino de Windows a Linux

http://www.eslinux.com/articulos?page=1

Parte 1. Pensando en Linux


Diferencias y similitudes
Artculo publicado primero en ingls 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 gua a travs una serie de nueve artculos de
developerWorks que trata acerca de la mudanza de sus habilidades informticas de Windows a
Linux. Empezamos nuestra transicin 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 decisin, o tal vez venir "de arriba". En cualquier caso, ests
cambiando de procedimientos y herramientas muy familiares a algo tal
vez completamente desconocido. Adems, tal vez te haga falta entrenar a
otros para que se sientan cmodos al manejar Linux. La administracin
es ms que solo seguir procedimientos, hay un lado creativo en toda
administracin exitosa de un entorno de computacin. Hacer esta
transicin puede sentirse un poco como pasar de ser un pintor a ser un
escultor.
Las buenas noticias son que los estndars abiertos en que se
basa Linux son los mimos estndares que formaron la base de la
administracin en Windows. Algunas de las palabras habituales son
diferentes, y las herramientas son un poco diferentes tambin, pero los
conceptos subyacentes son los mismos. Mejor an, tendrs un conjunto de
herramientas an ms grande y diverso para trabajar, controlar y
mantener tu entorno. La fortaleza de Linux est en su estabilidad y
flexibilidad. Mientras aprendes a pensar en Linux, te acostumbrars ms
y ms a automatizar todo, y a hacerlo de manera remota.

Linux es un poco
diferente a Windows

Antes de discutir cuan diferente es Linux de Windows, exploremos las


similitudes que existen entre ambos.
Usuarios y grupos
Ambos, Linux y Windows son sistemas operativos multiusuario. Ambos
pueden ser usados por diferentes usuarios, y darle a cada uno entorno y
recursos completamente separados. La seguridad se lleva a cabo en base
a la identidad del usuario. El acceso a los recursos tambin puede ser
controlado por pertenencia a un grupo determinado, haciendo ms fcil
trabajar con un nmero grande de usuarios sin tener configurar
individualmente cada cuenta.
Usuarios y grupos pueden ser centralizados en un solo
repositorio, permitiendo a mltiples servidores compartir el mismo
usuario y la informacin para autenticarlo.
Sistema de archivos
Ambos, Linux y Windows pueden trabajar con amplia variedad de sistemas
de archivos. Los recursos de archivos pueden ser compartidos con una
variedad de mquinas cliente a travs de NetBIOS, FTP, u otros
protocolos. El acceso a sistemas de archivo individuales puede ser
incorporado de manera flexible, permitiendo al administrador elegir
donde y cmo sern accesados.
Puertos y dispositivos
Los dispositivos fsicos como los puertos paralelos, serial y USB estn
soportados. Controladores usuales como IDE y SCSI, tambin estn
soportados. Linux tiene muy buen soporte para hardware estndar.
Redes
Ambos, Linux y Windows soportan protocolos como TCP/IP, NetBIOS, e IPX.
Ambos soportan una amplia variedad de dispositivos de red. Ambos
brindan la posibilidad de compartir recursos como archivos e
impresosras, a travs de la red. Ambos tienen la capacidad necesaria
para proveer servicios de red como DHCP y DNS.
Servicios
Ambos, Linux y Windows tienen servicios; aplicaciones que corren en
background para proveer determinadas funciones al sistema y a las
computadoras que invocan de manera remota el servicio. Estos programas
pueden ser controlados individualmente e iniciados automticamente
cuando el sistema bootea. (Aclaracin: En Linux uno se refiere a estas
aplicaciones como demonios,
tal como se las llamaba en Unix).

Linux es diferente de
Windows
Aunque hay varias similitudes entre las tecnologas, hay algunas
diferencias entre el estilo de trabajo en Windows y la manera de
trabajar en Linux. Estas diferencias son sutiles hasta que uno tiene

que hacer uso de ellas, sin embargo son conceptos clave para pensar en
Linux.
Linux est pensado
para el trabajo en red ms que para imprimir documentos
Cuando Windows fue liberado, el mundo estaba ms que nada, basado en
papel. Una de las cosas bellas acerca de Windows era que cualquier cosa
que hicieras en l se vea bien y era fcil de imprimir. Esto ha
afectado fundamentalmente la evolucin de Windows.
De la misma manera, Linux ha sido afectado por sus orgenes.
Linux fue diseado desde sus comienzos para trabajar en red. Esto fue
inspirado por el sistema operativo Unix, as que haba una simplicidad,
algunos dicen consicin, encausando su diseo. Y ya que el texto plano
se comporta bien en una red, ste ha sido siempre la base para la
configuracin y otros datos de Linux.
Para aquellos acostumbrados a un entorno grfico, un servidor
Linux podra parecerles primitivo a primera vista. Pero el desarrollo
de Linux se ha enfocado mayormente en qu sucede bajo la apariencia del
sistema. Linux posee capacidades sofisticadas de trabajo en red,
scripting, y seguridad que estn activas y funcionando incluso en un
entorno de modo texto. Algunos de los en apariencia bizarros pasos para
realizar ciertas tareas son inexplicables hasta que te das cuenta que
Linux espera hacer este trabajo en red, en cooperacin con otras
mquinas Linux. Linux tambin posee muchas capacidades de
automatizacin y puede ser programado para realizar detalladas tareas
usando solo el equivalente de los archivos "batch" de Windows. La
naturaleza basada en el modo texto de Linux es parte fundamental de
esta capacidad.
Interfaz grfica opcional
Linux tiene un componente grfico. Linux es capaz de trabajar con
placas de video y monitores de ltima generacin para realizar trabajos
verdaderamente asombrosos. De hecho, muchos artistas de efectos
digitales realizan su tarea sobre estaciones de trabajo Linux, cuando
en el pasado usaban sistemas IRIX para hacer el mismo trabajo. De todos
modos, el entorno grfico no est integrado en Linux en s, sino que es
una capa de software ejecutndose por encima del sistema base. Esto
significa que puedes ejecutar la interfaz grfica solo cuando la
necesites. Si tu sistema se usa la mayor parte del tiempo en servir
aplicaciones web por ejemplo, entonces puedes desactivar la interfaz
grfica y usar la potencia de CPU y memoria ahorradas para el servicio.
Si necesitas hacer tu trabajo en la interfaz grfica, puedes
ejecutarla, hacer el trabajo, y luego volver a desactivarla cuando
hayas finalizado.

Hay herramientas grficas para administrar Linux, tantas como para el


trabajo de oficina, como el correo electrnico, la navegacin por la
web y el procesamiento de texto. En fin, en Linux, las herramientas de
administracin grfica son usualmente front-ends para herramientas de
consola (de lnea de comandos). Esto quiere decir que cualquier cosa
que puedas hacer con herramientas grficas, tambin puedes hacerla con

comandos de consola en modo texto. Tambin cabe aclarar que el uso de


una herramienta grfica no impide hacer cambios manuales a un archivo
de configuracin. El valor de esta posibilidad no se aprecia
inmediatamente, pero pinsalo, si cualquier tarea realizada con
herramientas grficas se puede hacer con comandos de consola, esto
significa que esas tareas tambin pueden ser automatizadas con scripts.
Linux provee lo mejor de los dos mundos, del entorno grfico y del modo
texto, 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 configuracin en Linux son legibles para las
personas. Esto es similar a los archivos INI de las viejas versiones de
Windows. Esta filosofa es un enfoque diferente al del Registro de
Windows. Los archivos de configuracin son generalmente provistos y
creados por las aplicaciones que los utilizan, y estn usualmente
aislados de otros archivos de configuracin. Bien, la mayora de los
archivos de configuracin estn ubicados dentro del rbol del
directorio /etc, as se tiene
una sola localizacin donde buscarlos de ser necesario. Un archivo de
configuracin de texto es fcil de resguardar, examinar y de editar sin
tener que usar herramientas de sistema especiales para ello (solo un
editor de textos cualquiera).
Extensiones de Archivo
Linux no usa extensiones en los nombres de archivo para identificar su
tipo, para ello, revisa el encabezado del archivo. Puedes igualmente
seguir usando extensiones en los nombres de archivo para identificar su
tipo de manera visual, pero Linux no lo toma en cuenta. Digamos, por
ejemplo, un servidor web, podra usar determinados nombres convenidos
para identificar tipos de archivo, pero esto queda como una opcin a
nivel de aplicaciones individuales.
Linux usa permisos de acceso para determinar si cierto archivo
es un ejecutable. De ese modo a cualquier archivo se le puede dar
el status de ejecutable; y programas y scripts pueden ser identificados
como ejecutables por su creador o administrador. Una clara ventaja de
esto es la seguridad. Un archivo ejecutable guardado en el sistema no
necesariamente ser automticamente ejecutado, una caracterstica que
hace fracasar muchos scripts maliciosos y virus.

Rebootear es el ltimo recurso


Si has estado usando Windows durante mucho tiempo, estars acotumbrado
a rebootear el sistema por muchas razones, desde instalar software a
corregir problemas con algn servicio. Este es un hbito que
necesitars modificar al empezar a pensar al estilo Linux. Linux tiende
a ser Newtoniano por naturaleza, una vez puesto en movimiento, tender
a permanecer en movimiento hasta sea influenciado por una fuerza
externa para dejar de hacerlo, como por ejemplo, una falla del
hardware. De hecho el diseo de sistema de Linux previene que las
aplicaciones daen el kernel; lo que es la razn de por qu no necesita
rebootear frecuentemente (en contraste con el diseo de sistema de
Windows). As que excepto el kernel de Linux, puedes instalar,

ejecutar, terminar y reconfigurar software sin tener que rebootear el


sistema.

Si rebooteas tu sistema Linux, no cambiars probablemente su


comportamiento en caso de tener problemas, incluso puedes llegar a
empeor la situacin. Aprender a trabajar con los servicios y niveles de
ejecucin (runlevels), es clave
para la resolucin exitosa de problemas. De todo lo que vayas a
aprender en Linux, evitar el hbito de rebootear la mquina ser
probablemente lo ms difcil.

Bueno, las buena noticias son que esto te permite hacer mucho
trabajo de manera remota en Linux. Mientras algunos servicios bsicos
de red estn ejecutndose, probablemente podrs ingresar al sistema.
Tambin, en caso de tener problemas con algn servicio en particular,
puedes dejar ejecutndose a los dems mientras continas trabajando
para resolver el problema. Cuando ests dando varios servicios desde un
solo sistema, sta es una diferencia crtica.

Los comandos son sensibles al contexto


Todos los comandos de Linux y sus opciones son sensibles al contexto.
Por ejempo, -R
es
diferente de -r,
y harn cosas diferentes. Los comandos de consola van casi siempre en
minsculas. Repasaremos en detalle los comandos en la "Part
e 2. Curso Acelerado de Consola."

Qu debera considerar para pensar al estilo Linux?


La transicin de administrar Windows a administrar Linux no es trivial.
Como administrador de Windows, Ud. tiene muchas ventajas. Mucho del
conocimiento de como trabajar con computadoras le servir. El xito
como administrador de un sistema Linux ser principalmente cuestin de
identificar las diferencias y ajustar sus hbitos.
Muchas de las diferencias entre Linux y Windows son ventajas.
Los recursos gastados en un interfaz grfica que no se utiliza pueden
ser reclamados para los servicios que s los requieran. Las tareas
pueden ser completamente automatizadas con scripts. Los archivos de
configuracin son de texto plano y legibles para las personas. No tiene
que rebootear el sistema para realizar determinadas tareas, de hecho
deber abandonar su instinto de rebootear.

Recursos

Lea las otras partes (los originales en ingls), de la


serie El

camino de Windows a Linux (developerWorks,


Noviembre 2003).

El Howto De
DOS/Windows a Linux tiene algunos datos tiles para la gente con
conocimientos previos de DOS o Windows.

Para empezar a aprender acerca de software IBM para Linux,


no hay mejor recurso que la pgina Speed-start
your Linux app. Encontrar tips de instalacin, enlaces hacia
recursos DB2, Lotus Domino, WebSphere Application Server,
WebSphere Studio, y ms. Puede registrarse para recibir gratuitamente
un Linux Software Evaluation Kit, conteniendo software de prueba
y recursos de aprendizaje.

Continue su aprendizaje de los conceptos bsicos de Linux


en la pgina Start
here to learn about Linux de developerWorks.

"Technical
FAQ for Linux users" (developerWorks,
Julio 2001) tambin le ayudar a hacer la transicin del mundo Windows
a Linux.

El Proyecto de
Documentacin de Linux (disponible en espaol), es un repositorio
de documentacin referente a Linux incluyendo textos acerca de
configuracin de aplicaciones, HOWTOs, FAQs, y ms.

Linux Online!
ofrece informacin y noticias a aquellos no familiarizados con Linux.

The O'Reilly
Network es un excelente recurso para obtener (gratuitamente y de
modo pago), libros tcnicos sobre Linux.

El sitio Linux
de IBM ofrece software, hardware, enlaces, soluciones end-to-end
Linux, informacin de referencia para clientes, empresas distribuidoras
de Linux (IBM Alliances), y contribuciones de cdigo abierto de IBM. En
particular, recomendamos las pginas Learning
Linux y Linux
Education .

IBM ofrece servicios de Certificacin


Profesional en Linux y servicios de certificacin
profesional en hardware UNIX y Linux y en varios sistemas de
software (incluyendo productos de IBM).

IBM
Partnerworld
ofrece soporte de marketing, ventas y software para empresas asociadas
a IBM.

Linux
lens es un
portal de acceso rpido a iniciativas relacionadas con Linux para
empresas asociadas a IBM.

Encuentre ms recursos para


desarrolladores
Linux en la zona Linux de developerWorks.

El Camino de Windows a Linux: Parte


2. Curso rpido de consola
Enviado por Myrian el 31 Marzo, 2007 - 00:34.

Artculos

Una gua rpida para la consola de Linux


Artculo publicado primero en ingls 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
Arquitecto de e-business y consultor para IBM Developer Relations
11 de Noviembre de 2003
El arquitecto de e-business Chris Walden es tu gua a travs una serie de nueve artculos de
developerWorks que trata acerca de la mudanza de sus habilidades informticas de Windows a
Linux. En esta parte, cubriremos la consola as como los comandos bsicos de Linux.

Cualquier tarea administrativa puede ser realizada desde la


consola en Linux, usar una consola es ms rpido que usar un programa
de interfaz grfica y puede proveer funcionalidad adicional. Mejor an,
cualquier tarea de consola puede ser includa en un script y
automatizarla de esa manera. Para realmente tomar el control de tu
entorno Linux, querrs aprender como hacer cosas desde la consola. La
informacin que brindo aqu es una gua para que te inicies en la
consola de Linux si ya tienes conocimientos previos de DOS/Windows.

Accediendo a una
consola
Si tu sistema bootea en modo texto (una configuracin comn para
servidores, con el fin de conservar recursos para los servicios),
entonces ya ests en una consola. En un sistema Linux tpico pods
acceder a consolas adicionales presionando Ctrl + Alt + (F1 - F6). Cada
consola es una sesin completamente diferente dentro del sistema y
puede ser accedida por diferentes usuarios al mismo tiempo.
Este comportamiento multi-consola es diferente del escritorio
mltiple de Windows. En Linux cada consola puede ser controlada por un
usuario completamente diferente. Por ejemplo, puedes logearte como root
en la consola 1, y como juanalgo en
la consola 2. Ambas consolas corren diferentes instancias de programas,
en su propio espacio de usuario. Del mismo modo, diferentes usuarios
pueden logearse remotamente en un sistema Linux. En cuanto a esto
ltimo, Linux provee capacidades ms desde el enfoque de un mainframe
que como un simple servidor o estacin de trabajo.

Si ests en modo grfico, pods abrir una terminal para acceder a una
consola. La terminal estar por lo general disponible en un botn/cono
de tu barra de tareas del escritorio, o puedes buscarla bajo el men
Herramientas de Sistema del men de programas (o similar segn tu
distribucin). Tambin puedes abrir una terminal desde el men
contextual (click con el botn derecho del mouse sobre el escritorio).

Comandos
Hay muchos comandos disponibles desde la consola. Algunas de estas
herramientas solo son realmente tiles cuando escribes scripts. Aqu
hay una lista de los primeros que probablemente necesitars. Recuerda
que todos los comandos son sensibles a las maysculas/minsculas. -R es
diferente de -r,
y casi seguramente hacen diferentes cosas. Los comandos de consola por
lo general, van en minsculas.
cd
Para moverte por los directorios usa el familiar comando cd.
El truco es recordar que en Linux barra hacia delante (/) es usada
donde estabas acostumbrado a usar la barra hacia atrs (\). La barra
hacia atrs se usa tambin, pero especifica que el comando contina en
la siguiente lnea (o luego de un espacio en blanco al escribir nombres

de directorios con espacios, como "Fotos del Viaje"). Esto se hace a


veces para que sea ms legible al tipear un comando particularmente
largo.
ls
Listar archivos en un directorio puede hacerse mediante el comando ls.
Hay varias opciones que puedes usar para alterar la informacin que
presenta el listado:
Listando archivos
ls -l
Muestra una lista larga, incluyendo tamao de
archivo, fecha y hora de creacin/modificacin, y otros atributos
ls -t
Ordena los archivos por hora de creacin
ls -S
Ordena los archivos por tamao
ls -r
Combinado con una de las opciones para ordenar,
invierte el orden. ls -lt mostrara el archivo ms nuevo
al principio de la lista. ls -lrt mostrara los archivos
ms nuevos al final de la lista.
ls -h
Legible por humanos. Usa los amigables trminos
kilobyte, megabyte, y gigabyte para mostrar el tamao de los archivos,
en vez de listarlos en bytes.
ls -a
Muestra todos los archivos del directorio, incluso los
que estn ocultos.
cp
Copiar archivos con el comando cp. El comando trabaja
esencialmente igual que el comando copy
del DOS. Esencialmente se usan dos modificadores:
Copiando archivos
cp -R
Copia archivos recursivamente; es necesario si se
quiere copiar un directorio entero
cp -f
Fuerza la copia y sobreescribe archivos existentes sin
preguntar antes.
cp -l
Enlaza archivos en vez de copiarlos; lea ms detalles a
continuacin
Creando enlace con el comando copy

El comando cp puede ser usado para crear rpidamente


enlaces duros (hard links), a un archivo, o a una estructura completa
de archivos. Usa el modificador -l para indicar la copia
tipo enlace. Todos los directorios sern creados como directorios, pero
todos los archivos sern creados como enlaces duros.
cp -lR /data/accounting/payroll
/data/management/hr
El comando de arriba copiara la estructura completa de
directorio de /data/accounting/payroll y directorios anidados a
/data/management/hr/payroll. Todos los archivos dentro de la estructura
del directorio sern creados como enlaces. Esto puede ser usado para
proveer vistas diferentes de los mismos archivos dentro de un sistema
de archivo. Tambin es una til tcnica de seguridad, permitiendo
acceder a archivos desde un directorio diferente con diferentes
controles (permisos, etc.), de acceso.
mv
Este comando sirve para mover y renombrar archivos. Es casi igual que
hacerlo con el comando DOS move, excepto que puede mover
estructuras completas de directorios tanto como archivos.
cat
Este comando sirve para ver archivos. Es el equivalente del comando type
del DOS. command. Bajar el contenido "crudo" de un archivo a
otro y mostrar este ltimo en la pantalla. cat es rpido
para concatenar y puede usarse para unir varios archivos en uno solo.
more
Este comando sirve para ver informacin, una pgina a la vez. Funciona
esencialmente igual que el comando DOS more.
less
Usa less para ver un archivo de texto y tener la
posibilidad de subir y bajar por el documento, y hacer bsquedas de
texto.
vi
Algunos diran que es vi por "virtualmente
imposible", sin embargo es un editor de textos que tiene una larga
tradicin en el mundo Unix. vi no es realmente
intuitivo, pero est disponible en casi cualquier ambiente tipo Unix.
La versin instalada en Linux incluye un tutorial de ayuda; una vez que
ya lo has usado puedes llegar a hacer cosas increbles con unos pocos
atajos de teclado. En verdad ningn editor ha podido reemplazar a vi
para la edicin directa de passwords y archivos de configuracin.
man
Este comando sirve para ver la documentacin de un comando (otro). Man
es la contraccin de manual. La

documentacin de los comandos tiende a ser minuciosa. Para aprender ms


acerca del comando man, tipea:
man man
info
info es como man excepto que provee
texto con hipervnculos para hacer ms fcil la navegacin.
Cul consola?
Una diferencia crtica entre DOS/Windows y Linux es que la consola de
comandos es una capa separada del sistema operativo. El entorno de
consola tiene que ver con las capacidades que tiene el usuario, como
lneas de comando editables y el scrolling del historial, por ejemplo.
La consola tambin determina la sintaxis requerida para hacer funciones
en scripts. En DOS/Windows, hay una sola opcin para hacer scripts, el
humilde archivo .BAT. A lo largo de la historia hizo mucho, pero
requera muy buena creatividad de parte del programador para hacer
tareas ms all de lo bsico. Si eras bueno escribiendo archivos .BAT,
vas a mostrar lo mejor de ti con scripts de consola.
La consola por defecto es un parmetro en cada cuenta de
usuario. La tpica consola por defecto en Linux es /bin/bash, aunque
hay otras. La documentacin man para cada consola es realmente muy
buena y llega a ser muy detallada en cuanto a cmo funcionan. Lejos de
intentar alcanzar la calidad de esas explicaciones, solo mostramos las
opciones disponibles, mira la pgina man correspondiente para ms
detalles.
bash
La consola Bash (Bourne Shell) es la versin libre de la Consola
Bourne, la primera consola Unix, e incluye muchas caractersticas
adicionales. Bash tiene lneas de comando editables, scroll de
historial y completado por tabulacin (para ayudar a evitar errores de
tipeo en nombres de archivo largos).
csh
La consola C (C Shell), usa una sintaxis "tipo C" y tiene muchas de las
caractersticas de la Bourne, pero usa conjunto interno de comandos
diferente.
ksh
La consola Korn (Korn shell), usa la misma sintaxis que la Bourne y
tiene includas caractersticas amigables de la consola C. ksh
es useda en muchos scripts de instalacin y probablemente debera
estar instalada en el sistema aunque no sea la consola por
defecto.
tcsh
La consola TC (TC shell), es una versin avanzada de la consola C y es
100% compatible con ella.

zsh
La consola Z (Z shell), es una versin avanzada de la consola Korn con
muchas caractersticas 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 la
consola que quiere ejecutar poniendo los carateres "#!" al comienzo del
archivo (la primera lnea), apuntando a la consola deseada. Cuando el
script sea ejecutado, usar la consola especificada, pero dejar sin
cambios la consola que haya elegido el usuario (que puede ser otra
distinta del script). Aqu hay un ejemplo de la primer lnea de un
script a ser ejecutado en una consola C:
#!/bin/csh
Enlzame, Scotty!
Una cualidad que llama al uso en Linux es el enlace de archivos. Un
enlace es una referencia a un archivo, as puede tener varias
instancias del mismo archivo en mltiples ubicaciones del sistema de
archivo. En Linux, un enlace puede ser tratado como un archivo tanto
como si fuera el original. Un enlace puede ser ejecutado, editado y
accedido sin tener que hacer nada adicional para hacerlo. En cuanto a
lo que le concierne a las aplicaciones del sistema, un enlace es el archivo original. Cuando Ud.
edita un archivo a travs de un enlace, est editando el archivo
original. Un enlace no es una copia; hay dos tipos de enlace: el enlace
duro y el enlace simblico.
Un enlace duro solo
puede hacer referencia a archivos en el mismo sistema de archivos.
Provee una referencia al ndice fsico del archivo (tambin llamado
-nodo), dentro del sistema al que pertenece el archivo. Los enlaces
duros no se cortan cuando el archivo original es movido, ya que apuntan
a la informacin fsica que constituye el archivo, no a su localizacin
en la estructura de archivos. Un enlace duro no requiere que el usuario
tenga permisos de acceso al archivo original y no muestra la ubicacin
del original, y por ello tiene algunas ventajas de seguridad. Si borra
un archivo que ha sido enlazado como "duro", el archivo permanece hasta
que todas las referencias han sido borradas tambin.
Un enlace simblico
es un puntero a la ubicacin de un archivo en el sistema de archivo.
Los enlaces simblicos pueden distribuir los archivos de un sistema
hasta el punto en que apuntan incluso a archivos en sistemas de
archivos remotos. Un enlace simblico muestra la ubicacin del archivo
original y requiere que el usuario tenga permisos de acceso a la
ubicacin original del archivo para poder usar el enlace. Si el archivo
original es borrado , todos los enlaces simblicos hacia l se rompen.
Apuntaran a una ubicacin que ya no existe en el sistema de archivo.
Ambos tipos de enlaces pueden hacerse con el comando
ln
<origen> <destino>

. Por defecto ln
crear un enlace duro. El parmetro -s permite crear un
enlace simblico.
# Crea un enlace simblico desde MiArchivo en el <br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
#
directorio actual
a&nbsp; /TuDir/MiArchivo<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
ln MiArchivo /TuDir<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<br xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
# Crea un enlace simblico
desde MiArchivo en el
<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
#
</code><code>directorio actual a
/TuDir/TuArchivo<br
xmlns: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 la
administracin de Linux. Hay herramientas que permiten evitar la
consola, pero estar limitado a lo que esas herramientas le permitan
hacer. Acceder a la consola es fcil, t acceder a la documentacin es
ms fcil an por medio de los comandos man e info.
Recursos

Lea las otras partes (los originales en ingls), de la


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

Empiece a aprender a usar el editor vi leyendo el tutorial "vi


intro -- the cheat sheet method" (developerWorks).

"Basic
tasks for new Linux developers" (developerWorks,
July 2001) ofrece una introduccin simple para empezar a trabajar bajo
Linux, cubriendo tpicos introductorios como abrir una ventana de

consola, aadir usuarios y grupos, montaje de unidades de CD-ROMs, etc.

"Technical
FAQ for Linux users" (developerWorks,
Julio 2001) tambin le ayudar a hacer la transicin del mundo Windows
a Linux.

"What
good is a Linux client?" son las crnicas de la experiencia de una
persona en transicin desde su ambiente Windows a Linux. El artculo de
soporte
"Linux
glossary for Windows users" es tambin til por s mismo como
referencia.

Puede navegar muchas pginas de manual en lnea el el sitio


GNU Manuals
Online .

El Howto De
DOS/Windows a Linux tiene algunos datos tiles para la gente con
conocimientos previos de DOS o Windows.

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

El tutorial "LPI
certification 101 exam prep, Part 1: Linux fundamentals" cubre
bash, comandos Linux estndar y ms.

Aprenda ms acerca de scripts shell en la serie de


artculos "Bash
by
example" (developerWorks).

Aunque escrito originalmente para usuarios AIX el libro System


User's Guide: Operating System and Devices - Shells tiene secciones
como AIX
Commands Reference - man Command que cubre muy bien y cuya
informacin se aplica tambin a Linux.

Para empezar a aprender acerca de software IBM para Linux,


no hay mejor recurso que la pgina Speed-start
your Linux app. Encontrar tips de instalacin, enlaces hacia
recursos DB2, Lotus Domino, WebSphere Application Server,
WebSphere Studio, y ms. Puede registrarse para recibir gratuitamente
un Linux Software Evaluation Kit, conteniendo software de prueba
y recursos de aprendizaje.

Continue su aprendizaje de los conceptos bsicos de Linux


en la pgina Start
here to learn about Linux de developerWorks.

Encuentre ms recursos para


desarrolladores
Linux en la zona Linux de developerWorks.

El Camino de Windows a Linux: Parte


3. Introduccin a Webmin

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

Artculos

Una
herramienta de administracin basada en Web

Artculo
publicado primero en ingls 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 gua a travs una serie de nueve
artculos de developerWorks
que trata acerca de la mudanza de sus habilidades informticas
de
Windows a Linux. En esta parte, instalaremos y haremos un
recorrido rpido por Webmin, una aplicacin basada en Web
para
administrar Linux y otras plataformas que provee una interfaz
grfica
para muchas tareas administrativas y operativas.

Uno de los desafos cuando hacemos el cambio de


administrar un
entorno Windows a administrar un entorno Linux, es aprender cuales son
las nuevas herramientas de las que disponemos. Como administrador, Ud.
debe conocer los detalles del sistema operativo que le permitan obtener

lo mejor de l. Mientras se encuentre en el proceso de hacer


esto,
igualmente debe poder hacer el trabajo, para ello la aplicacin
Webmin
nos ayudar durante la transicin.
De acuerdo con Webmin.com (lea Recursos
para obtener un enlace): "Webmin es una interfaz basada en Web para la
administracin de Unix. Usando cualquier navegador que soporte
tablas y
formularios (y Java para el mdulo Adm. de Archivos), Ud. puede
configurar cuentas de usuario, Apache, DNS, compartir archivos, y
ms.
Webmin consiste en un servidor Web simple y ciertos programas CGI que
trabajan directamente con archivos de sistema como /etc/inetd.conf,
y /etc/passwd. El servidor Web y los programas CGI
estn escritos en Perl versin 5, y no usan
mdulos Perl que no sean
estndares."

Webmin se puede ejecutar en prcticamente cualquier plataforma


tipo
Unix, includas Linux, AIX,
HPUX, Solaris, OS X, y otras. Provee una interfaz para realizar muchas
tareas administrativas en Linux. Puede ser ejecutado desde cualquier
navegador grfico ya sea local o remotamente. Webmin puede ser
seguro
usando SSL, para prevenir fugas de informacin. Ya que Ud.
est
aprendiendo cmo administrar Linux, Webmin le ahorrar
mucho tiempo: es
muy til para ayudar a realizar las tareas tediosas que no
pueden ser
automatizadas.
Webmin es extensible. El autor provee una gua de
desarrollo y
hay diferentes mdulos de terceros disponibles. Ud. puede
tambin
disear sus propios mdulos y as adaptar a Webmin
a sus necesidades
particulares.
Instalando Webmin
El primer paso para trabajar con Webmin es instalarlo, lo que es tan
sencillo y directo como bajarlo de su sitio web (lea Recursos
para obtener un enlace).
Al momento de escribir este artculo, la versin
actual es la
1.90. El mtodo correcto de instalacin puede variar
segn su
distribucin. Si est usando Red Hat Linux, SuSE, o
Mandrake,

entonces un RPM es el ms simple. Si est usando una


distribucin
diferente, deber checkear la documentacin de su
distribucin y las
instrucciones de instalacin de Webmin para determinar el
mtodo ms
apropiado. Para la explicacin asumiremos que usa un RPM.
Primero verifique si Webmin est instalado en su
sistema.
Desde una terminal de texto ingrese:

rpm -q webmin
Si Webmin est instalado obtendr el
nmero de versin
instalada:
Webmin-1.090-1
o en caso contrario una indicacin de que Webmin no
est
instalado:
package webmin is not installed
Instalando otros programas
Muchos programas en Linux se instalan tan
fcilmente
como Webmin. Para leer ms acerca de la instalacin y
desinstalacin de
programas (tambin acerca de compilacin de cdigo
fuente), lea la
parte 9 de esta serie de artculos.
Incluso aunque Webmin ya est instalado, es probable
que sea
una versin anterior a la ltima disponible, por lo que
tal vez quiera
realizar una actualizacin (o una instalacin desde cero
borrando
previamente el paquete instalado), usando el siguiente comando:
rpm -Uvh webmin-1.090-1.noarch.rpm
Una actualizacin con mensajes informativos en pantalla
se
realiza, mostrando una barra de progreso con caracteres #.
RPM noarch
Ver que el paquete Webmin es listado y nombrado como "noarch".
Ya que
los paquetes RPMS son archivos binarios, son usualmente compilados para
determinadas arquitecturas, como i386 o ppc. Instalar un paquete de la

arquitectura incorrecta para su hardware implica obtener resultados


errneos. Ya que Webmin est escrito en Perl, que es
independiente de
la arquitectura, se utiliza la designacin "noarch" para
indicarlo.
[N.del T.]
Instalar Webmin en la distribucin Debian es sencillo,
usando la herramienta de instalacin de la distribucin
(y el paquete
.deb includo en los CDs de instalacin):
apt-get webmin<br>
De manera similar en la distribucin Mandrake,
tambin usando
la herramienta de instalacin de la distribucin (y el
paquete includo
en los CDs de instalacin):
urpmi webmin<br>
Fin de [N.del T.]

Cuando Webmin se instala, es activado por defecto, sin embargo no se


instala con SSL activado. El soporte SSL requiere la instalacin
del
mdulo Perl, Net::SSLeay. Hasta que se haga esto,
Webmin
solo ser seguro de ejecutar localmente. La cuestin de
asegurar Webmin
ser brevemente tratada al final de este artculo.
Lenguaje de Extraccin
Prctica y
Reporte - Practical Extraction and Reporting Language (Perl)
Perl es un lenguaje interpretado multiplataforma, en uso desde 1987.
Est disponible para una amplia variedad de plataformas,
includa
Windows. Provee sofisticadas capacidades para crear potentes scripts.
Perl se destaca en el tratamiento de textos y se ha vuelto popular para
la programacin CGI en la Web. Perl es extensible mediante
mdulos, los
cuales son libreras de funciones, tambin escritas en
Perl. Muchos
mdulos estn disponibles bajo una licencia libre muy
abierta
denominada The
Artistic
License (lea Recursos
para obtener un enlace).
Usando Webmin

Acceda Webin desde su navegador favorito. Dos herramientas, el adm. de


archivos y el cliente telnet/ssh, son applets y requieren un entorno de
ejecucin Java (Java Runtime Environment - JRE), instalado y
configurado para su navegador, para poder funcionar. Estas herramientas
si bien son tiles, no son indispensables. Todos los
dems mdulos no
tienen requerimientos especiales.
Para empezar a usar Webmin, apunte su navegador al puerto
10000 del sistema. Con un navegador ejecutndose desde su
sistema
local, debera usar http://localhost.localdomain:10000/.
Webmin le
presentar una pantalla de login.
Los usuarios de Webmin no tienen que ver con los del sistema
operativo. Esto le permite configurar usuarios para la
administracin a
travs de Webmin que no son parte del esquema normal de
autenticacin
Unix. De todos modos, si tiene usuarios que desee que sean capaces de
usar Webmin, puede aadirlos a la lista de usuarios de Webmin y
autenticarlos mediante los esquemas Unix, y no usando los mecanismos
propios de Webmin. El acceso a los diferentes mdulos de Webmin
puede
ser controlado por usuario. El equipo de soporte al usuario (Helpdesk),
podra tener acceso solo a las funciones para administrar claves
de
usuario, mientras otros podran tener acceso a todos los
mdulos por
ejemplo.
Un usuario root es automticamente creado con la clave
root
del sistema. Webmin registra mediante logs las actividades en base al
usuario conectado, as, en un ambiente multiusuario,
sera recomendable
crear un grupo de administracin con los permisos del usuario
root, y
crear cuentas de usuario individuales para quienes trabajan en el
sistema y deban tener acceso. Su primer accesso a Webmin debe ser como
root.

usuario root
En Linux, el administrador del sistema es llamado root. El
usuario root tiene completo control de todos los aspectos del sistema.
El uso del nombre root nunca debera ser subestimado.
Secciones de Webmin
La primera pantalla que ver es la seccin de
Configuracin de
Webmin. The first screen you will see is the Webmin Configuration
Section. Aqu es donde Ud. puede configurar usuarios. Los

conos
permiten cambiar a los diferentes mdulos de seccin de
Webmin. Todo en
estos mdulos es configurable, y puede reagrupar las cosas de la
manera
que le resulte ms apropiada.
Webmin para usuarios tambin
Hay un cono para configurar el paquete opcional Usermin, el
cual
provee una herramienta para usuarios basada en Web para realizar tareas
como cambio de clave de acceso, adm. del sistema de correo y otras.
Usermin no provee acceso a funciones de configuracin del
sistema.
Usermin y Webmin estn pensados para complementarse entre
s.
La seccin Sistema (System)
trata acerca de la configuracin del sistema operativo en
general. Aqu
Ud. puede configurar archivos de sistema, usuarios, grupos y el
comportamiento de booteo generl del sistema. Puede controlar los
servicios que estn corriendo actualmente en el sistema y
cmo y cuando
deben iniciarse (desde el cono Bootup/Shutdown). La
configuracin de
esos servicios se hace de la seccin Servidores (Servers). La
herramienta "Paquetes de Software" ("Software Packages"), es de
inters, ya que permite una vista rpida de los paquetes
instalados en
el sistema y tiene interfaces para interactuar con repositorios de
actualizacin de la distribucin y con rpmfind.net un
repositorio cmun
de RPMs en Internet (lea Recursos
para obtener un enlace).

La seccin Servidores (Servers),


permite configurar los varios servicios que Ud. puede correr en el
sistema. Las herramientas BIND y DHCP son tiles, tambin
Samba, de uso
simple para configurar shares para Windows y otros clientes.
Sendmail, el servidor SMTP, es conocido por su complejo archivo de
configuracin; la herramienta Webmin para Sendmail lo aleja de
problemas en ese caso tambin.
La seccin "Redes" (Networking),
provee herramientas para configurar hardware de red y algunos de los
complejos controles de red como los firewalls.

La seccin Hardware
es para la configuracin de dispositivos fsicos y de
almacenamiento.

La herramienta para la Adm. de Volmenes Lgicos Logical Volume


Management (LVM), un tipo de particin, como ext3 o reiserfs,
que sirve
igualmente para guardar archivos - es particularmente interesante
ya que lo ayuda a manejar visualmente los volmenes
dinmicos en su
sistema Linux.

La seccin Cluster es
la que usara tuviera un sistema de clusters justamente.
Un cluster, es un conjunto de sistemas relacionados en red que
necesitan tener sus configuraciones sincronizadas al detalle. Deben
sincronizar entre otras cosas: usuarios, grupos, paquetes y otras
cosas, con deteccin de fallas del sistema. Estas herramientas
le
ayudarn sistemas a prueba de fallas donde la
sincronizacin es
importante. El clustering es una tcnica avanzada y casi con
seguridad
requerir la instalacin de paquetes adicionales no
includos con su
distribucin.

La seccin Otros (Others),


contiene utilidades que le pueden ser necesarias. Las herramientas
"SSH/Telnet Login" y "Adm. de Archivos" necesitan, como ya explicamos
antes, el entorno JRE para funcionar. La herramienta "Mdulos
Perl", es
til para ver los mdulos Perl y cmo interfaz
directa con CPAN (el
repositorio de mdulos Perl en
Internet). El Adm. de Archivos le permite explorar los sistemas de
archivo de su servidor, copiar y mover archivos sin necesidad de
interactuar con la memoria de la estacin de trabajo, si
est
trabajando de manera remota. La herramienta de conexin
SSH/Telnet es
una consola remota que le permitir todas las funciones usuales,
pero a
travs de su navegador.

Sumario
Webmin es una aplicacin de administracin basada en Web
escrita en
Perl. Es extensible y est disponible para otros sistemas tipo
Unix
aparte de Linux. Una vez instalada, Webmin es accesible a travs
de un
puerto especial, tpicamente el 10000, ya sea local o

remotamente.
Provee una interfaz grfica sencilla para realizar una variedad
de
tareas administrativas en Linux, incluyendo la administracin de
usuarios, firewalls, y la configuracin de dispositivos de red.
Webmin se puede instalar y usar libremente, y es una buena
manera de manejar un entorno Linux mientras hace la transicin
desde
las herramientas grficas de Windows. Las herramientas de Webmin
son
una interfaz para aquellas basadas en consola, as que la
configuracin
ser consistentes con ellas y la administracin puede
hacerse
indistintamente desde uno u otro conjunto de herramientas.
Recursos

Lea las otras partes (los originales en ingls), de


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

Vea la pgina de Webmin


para informacin general y para descargar la
herramienta Webmin.

Antes de usar Webmin remotamente, debera leer Securing Webmin


with SSL.

Aprenda ms acerca de Pearl en Perl.org.

La red CPAN es el
hogar de muchos tile mdulos para Pearl y otro software
relacionado.

Perl est liberado bajo la Artistic


License, la cual le permite publicar o mantener
en privado los cambios al cdigo fuente.

Aprenda ms acerca de Perl y mantngase al


da con su
desarrollo en la columna de la Comunidad Pearl de IBM developerWorks Cultured
Perl.

RPMFind es
un repositorio RPM donde Ud. puede encontrar muchos tiles
(algunos no
tanto, pero divertidos), programas.

"Understanding
Linux configuration files" (developerWorks,
) explica los permisos de usuario, demonios y servicios y mucho
ms.

"Using
the xinetd program for system administration" y "Automating
UNIX system administration with Perl" ofrecen alternativas para
simplificar la administracin de sistemas. Cuestiones similares
son
tratadas en "Administer
Linux on the fly".

Tutoriales tiles: "LPI


certification 101 (release 2) exam prep, Part 2: Basic administration,"
el cual introduce al uso de tuberas shell y comandos de
procesamiento
de texto; "LPI
certification 101 (release 2) exam prep, Part 3: Intermediate
Administration," el cual trata acerca de la documentacin,
cuentas
de usuario y su adm. y permisos; y "LPI
certification 101 (release 2) exam prep, Part 4: Advanced
administration," que trata acerca de sistemas de archivo y logs del
sistema.

Para empezar a aprender acerca de software IBM para Linux,


no hay mejor recurso que la pgina Speed-start
your Linux app. Encontrar tips de instalacin,
enlaces hacia
recursos DB2, Lotus Domino, WebSphere Application Server,
WebSphere Studio, y ms. Puede registrarse para recibir
gratuitamente
un Linux Software Evaluation Kit, conteniendo software de prueba
y recursos de aprendizaje.

Encuentre ms recursos para


desarrolladores
Linux en la zona Linux de developerWorks.

El Camino de Windows a Linux: Parte


4. Administracin de Usuarios

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

Artculos

Claves de acceso, grupos y sus sombras

Artculo
publicado primero en ingls 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 gua a travs una serie de nueve
artculos de developerWorks
que trata acerca de la mudanza de sus habilidades informticas
de
Windows a Linux. En esta parte, aadimos y borramos
usuarios, y
grupos desde la interfaz Webmin, y desde la lnea de comandos.
Los
archivos de grupo y claves shadow tambin son tratados.

La administracin de usuarios es en Linux, por partes


iguales,
muy similar y muy diferente de la administracin de usuarios en
Windows. Ambos sistemas son multiusuario, y el control de acceso de
ambos est basado en grupos, lo que permite controlar de manera
ms
sencilla sin tener que "tocar" muchos usuarios en cada cambio. En ese
punto comienzan las diferencias.
El super usuario
En Linux, el Super Usuario es llamado root. El
usuario root puede controlar todos los procesos, acceder cualquier
archivo, y realizar cualquier funcin en el sistema. Nada puede
ser
ocultado del root. Administrativamente hablando, el root es el ser
supremo. Es por ello muy importante que la cuenta de root sea protegida
por una clave segura. Ud. no debera usar el root para sus
tareas
habituales.
A otros usuarios se les puede dar privilegios de root, pero
esto debera hacerse con cuidado. En particular se recomienda
darles
acceso especfico para correr ciertos programas como root, en
vez de
permitirles directamente acceder al sistema como root.
Creando nuevos
usuarios
Los nuevos usuarios pueden ser creados ya sea desde la lnea de
comandos, o usando una herramienta como Webmin.
El comando para aadir un nuevo usuario es useradd.
Por ejemplo, para crear uno desde la lnea de comandos:
useradd -c "usuario normal" -d /home/userid -g users <br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-G webadm,helpdesk -s /bin/bash userid
Este comando crea un nuevo usuario llamado "userid", el
ltimo
parmetro del comando. Un comentario es includo y dice
"usuario
normal". El directorio Home de userid ser "/home/userid". El
grupo
primario de userid ser "users", pero userid tambin
ser aadido a los
grupos "webadm" y "helpdesk". Userid tendr a /bin/bash como su
entorno
de consola.
Usando Webmin, la creacin de un nuevo usuario es
fcil y
visual. Logese en Webmin usando su navegador favorito y vaya a
la
seccin Sistema (System),

Seleccion la herramienta "Usuarios y Grupos" y luego haga click en


"Crear nuevo usuario" (Create a
new user).
Cambiando claves de
acceso
El cambio de la clave de acceso de un usuario se puede hacer desde
consola usando el comando passwd:
passwd userid
Solo el root puede cambiar la clave de otro/s usuarios con el
comando passwd. Cuando el comando es ingresado, se le
pedir que ingrese y luego que confirme la nueva clave. Si ambas
coinciden, entonces la configuracin del usuario se actualiza y
la
clave es cambiada. Un usuario puede tambin cambiar su propia
clave
desde consola tipeando passwd;
en este caso, el usuario es al que se le pide que ingrese su vieja
clave y luego la nueva.
Muchas distribuciones de Linux instalan y activan un
mdulo
"anticracker" para los cambios de clave. Este mdulo testea la
nueva
clave para ver si sigue los lineamientos recomendados para las claves
dificles de romper. Si no lo hace, una advertencia ser
dada al
usuario indicando el uso de una clave poco segura. Dependiendo se su
configuracin, un usuario puede requerir el uso obligatorio de
una
clave segura para que esta sea aceptada. El root ser advertido
del
cambio de clave pero no puede detenerlo.
En Webmin, una clave puede cambiarse desde el mdulo
"Cambio
de Claves de la seccin Sistema. Seleccione un usuario de la
lista e
ingrese la nueva clave en el campo vaco.
Borrando usuarios
Desde la consola, los usuarios se pueden borrar usando el comando userdel.
userdel -r userid
El parmetro opcional -r borrar tambin
el directorio "home"
del usuario y todo su contenido, adems del usuario en
s. Si quiere
conservar el directorio, omita el parmetro -r. El
parmetro solo borra
el directorio "home" del usuario, no todos los archivos que pudiera

tener el usuario en el sistema.

Cmo estn
organizados los usuarios
La configuracin de Linux est basada en archivos de
texto, as que
todos los usuarios residen en un archivo llamado /etc/passwd. Puede ver
este archivo, una pgina a la vez, usando el comando more:
more /etc/passwd
El directorio /etc
Recuerde que muchos de los archivos de configuracin de Linux
estn en
el directorio /etc.
La organizacin del archivo es muy directa. Cada
lnea
contiene un usuario y sus parmetros, separados por dos puntos.
userid:x:75000:75000::/home/userid:/bin/bash
La primera columna contiene el nombre de usuario. La segunda
columna contiene la clave del usuario. La tercera columna contiene el
id numrico del usuario. La cuarta columna contiene el id
numrico del
grupo primario del usuario. La quinta columna contiene el nombre
completo del usuario o un comentario. La sexta columna contiene la
localizacin del directorio home del usuario. Normalmente este
directorio suele estar ubicado dentro de /home, y tiene el mismo nombre
del usuario. La sptima columna contiene la consola por defecto
del
usuario.

Estructura del archivo


de claves
Login ID
Clave de acceso
ID del usuario
ID del grupo
Comentario
Directorio Home
Consola por defecto
userid
x
75000
75000

/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 tipo
de claves era usualmente guardada en texto plano dentro de este
archivo. Esta configuracin es todava posible, pero rara
vez se usa
por las implicaciones de seguridad. La solucin fue crear algo
llamado clave sombra (shadow
password). En
este caso una "x" es colocada en el lugar correspondiente a la clave en
el archivo /etc/passwd, y una versin encriptada de la clave
queda
guardada en el archivo /etc/passwd. Esta tcnica mejora la
seguridad al
separar la informacin del usuario de la clave en s. El
algoritmo de
encriptacin MD5 mejor ms la situacin
permitiendo claves ms
seguras. Un ejemplo de clave sombra a continuacin:
Claves Shadow y derechos de usuario
Una indiosicracia de la administracin de
usuarios en
Linux, que es el legado de UNIX, es el archivo de claves. Un usuario
que se logea debe ser capaz de leer el archivo /etc/password para ver
si su nombre de usuario existe. El tener las claves contenidas en el
mismo archivo podra habilitar a potenciales crackers el
descubrir las
claves de acceso al sistema ya que podran bajar el archivo
/etc/passwd
y 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 el
mundo, por ello los crackers no tienen acceso a las claves ni manera
alguna de intentar "trabajarlas".
Este modo de trabajo no es completamente ptimo
ya que
igualmente provee algo de informacin del usuario al potencial
cracker.
Una mejor manera es mantener los usuarios en un repositorio separado
LDAP.
userid:$1$z2NXZR19$PZpyL84DmPKBXMeURaXXM.:12138:0:186:7:::
Todo lo concierniente a la clave sombra es manejado
detrs de
escena, y Ud. rara vez tendr que hacer algo ms que
activarla.
Grupos
Los grupos en Linux son parecidos a los de Windows. Ud. crea un grupo y
aade miembros, luego los derechos de acceso a recursos pueden

ser
asignados por grupo. Los miembros de un grupo pueden acceder a los
recursos 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."
Los
grupos se localizan en un archivo llamado /etc/group. Cada grupo es
listado en una lnea distinta como la siguiente:
mygroup:x:527:
La primera columna muestra el nombre del grupo. La segunda
columna es una clave. De nuevo, la "x" indica que la clave real es
guardada en un archivo "sombra" llamado /etc/gshadow. La tercera
columna es un ndice numrico para el grupo. Todo lo que
sigue luego de
la tercer columna sern los ids de los usuarios miembros del
grupo,
separados por comas.

Para aadir miembros al grupo, use el comando gpasswd


con el parmetro -a y el nmero id del usuario que desea
aadir:
gpasswd -a userid mygroup
Borre usuarios de un grupo usando el mismo comando pero con el
parmetro -d, en vez de -a:
gpasswd -d userid mygroup
Tambin es posible hacer cambios a los grupos editando
el
archivo /etc/group directamente.
Teniendo cuidado al editar el
archivo de claves
El peligro real al editar manualmente los archivos /etc/passwd y
/etc/group es duplicar accidentalmente un nmero id.
Todos los recursos usan el nmero de id, en vez
de el
nombre del usuario o del grupo. Si accidentalmente se duplicara alguno,
podra dar acceso a cosas que Ud. no quiere que sean accedidas.
Por
ejemplo, si cambia el id de cualquier usuario a 0, el nmero id
del
root, cuando ese usuario se logee, su id ser el de root (!). De
igual
manera si borra una lnea de usuario o de grupo en el archivo,

ese
usuario o grupo es borrado del sistema.
Estos son errores tpicamente humanos. Las
herramientas
no los comenten en absoluto. De cualquier modo, a veces es ms
fcil
editar rpidamente /etc/group para solucionar un problema. Solo
tenga
en mente que est tratando con algo poderoso al tocar esas
lneas.
Tenga cuidado.
Los grupos pueden ser creados, editados y borrados desde
Webmin, la misma herramienta que antes usamos para trabajar con
usuarios.
Usuarios y
asociaciones de grupo
Aunque en este artculo no discutir sobre control de
acceso,
necesitar tener alguna idea de cmo aplicarlo sobre
usuarios y grupos
con respecto a archivos. Si observa un listado de archivos de un
directorio ver algo similar a lo siguiente:

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


Ignore las dems columnas por el momento y solo mire la
tercera, cuarta y la ltima columna. La tercera columna contiene
el
nombre de propietario del archivo, "userid". La cuarta columna contiene
el grupo asociado con el archivo, "mygroup". La ltima columna
contiene
el nombre de archivo. Es posible asignar derechos a "Otros", el
equivalente de Linux de grupo "Todos" de Windows.

Un archivo de un solo propietario es comn en los sistemas


operativos,
pero la tcnica de un solo grupo propietario parece limitada
para
muchos administradores nuevos en su manejo. No lo es. Ya que los
usuarios pueden ser miembros de cualquier grupo, es simple crear nuevos
grupos para manejar la seguridad en el acceso a recursos. En Linux la
definiciones de grupo tienden a estar basadas ms en el acceso a
los
recursos requerido por un cierto grupo de trabajo. Si los recursos
estn lgicamente organizados en el sistema, crear
ms grupos para
afinar ms el acceso a recursos es lo ms simple.

Informacin ms detallada acerca de asociacin de


grupos y usuarios en
la seccin Recursos
al final de este artculo. Para ms detalles acerca
de cmo
cambiar permisos de archivo lea la pgina de manual del comando
chmod
con
man
chmod
.
Sumario
Los usuarios y grupos trabajan esencialmente de la misma manera en
Linux y en Windows, excepto que solo un grupo puede ser asociado con un
recurso del sistema. Al pensar en grupo en Linux, considrelos
fciles
de 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 a
unidades de negocios.

La informacin de usuarios y grupos es guardada en los archivos


/etc/passwd y /etc/group respectivamente. Su sistema tendr casi
con
seguridad un archivo /etc/shadow y un /etc/gshadow, los cuales
contienen las claves de acceso encriptadas para aadir
seguridad. Es
posible trabajar con usuarios y grupos directamente editando los
archivos mencionados, pero debe hacerse con sumo cuidado.

Todas las funciones referentes a usuarios y grupos pueden hacerse desde


la consola, lo que las hace fciles de incluir (y automatizar),
en
scripts. Herramientas como Webmin proveen un modo grfico de
hacer el
mismo trabajo.

Recursos

Lea las otras partes (los originales en ingls), de


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

The
Linux System Administrator's Guide, Chapter
11.
Managing user accounts es un documento viejo, pero todava
til ya
que las tcnicas generales para grupos y usuarios no han
cambiado. La
gua es una buena lectura para aprender ms acerca de la
administracin
basada en consola.

El sitio Linux
Headquarters tiene buenos tutoriales bsicos y tips que
tratan
muchos temas. Su modo tpico de tratar un tema es
"Instal Linux...y
ahora qu?" Lee sus tutoriales aqu.

El Proyeco de Documentacin de Linux (tambin


en espaol),
tiene una lista
de
HOWTOs clasificados por categora para ayudar a encontrar
informacin relevante fcil y rpidamente.

Aadir usuarios con herramientas grficas es


un tema
tratado tambin en "Basic
tasks for new Linux developers."

La adm. de usuarios tambin es tratada en el


tutorial de developerWorks,
"LPI
certification 101 exam prep, Part 3: Intermediate administration".

El IBM Directory Server implementa el Lightweight Directory


Access Protocol (LDAP) para acceso a servicios de directorio,
especialmente aquellos basados en X.500. Lea "Authenticating
Linux users with IBM Directory Server" para ms detalles.

Permisos de archivo y seguridad son tratado en el Captulo


3 (en ingls), la gua Introduction
to Linux del Linux Documentation Project.

Lea ms acerca de Usuarios


y Logins en este captulo del libro Linux Unleashed
(Macmillan
Computer Publishing, 1998) y en Managing
Accounts and Groups de The Official Red
Hat Linux System
Administration Primer (Red Hat, 2002).

La Universidad de Maryland comparte sabias reflexiones en la


eleccin de claves seguras.

El Manual de Red Hat Linux de ms detalles


acerca
del uso del archivo
de claves shadow.

El Howto Linux
Shadow Password da una introduccin al sistema de claves
sombra as
como tambin lineamientos paso a paso para su
implementacin.

La seguridad de sistemas es un tema amplio y complejo, pero


en un mundo interconectado nos afecta a todos. Afortunadamente, nunca
es demasiado tarde o temprano para comenzar. Los documentos Adding
Security to Common Linux Distributions y Strategies
for Keeping a Secure Server (que es el captulo 12 de la
gua Linux
Administration Made Easy) le ayudarn a hacer eso.

El artculo de IBM developerWorks


"Addressing
security issues in Linux" le ayudar a empezar en cuestiones
bsicas de seguridad.

"Technical
FAQ for Linux users" (developerWorks,
Julio 2001) tambin le ayudar a hacer la
transicin del mundo Windows
a Linux.

Para empezar a aprender acerca de software IBM para Linux,


no hay mejor recurso que la pgina Speed-start
your Linux app. Encontrar tips de instalacin,
enlaces hacia
recursos DB2, Lotus Domino, WebSphere Application Server,

WebSphere Studio, y ms. Puede registrarse para recibir


gratuitamente
un Linux Software Evaluation Kit, conteniendo software de prueba
y recursos de aprendizaje.

Encuentre ms recursos para


desarrolladores
Linux en la zona Linux de developerWorks.

El Camino de Windows a Linux: Parte


5. Logs en Linux

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

Artculos

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 = "";

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

Trabajando
con logs
Artculo
publicado primero en ingls 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 gua a travs una serie de nueve artculos de developerWorks
que trata acerca de la mudanza de sus habilidades informticas de
Windows a Linux. En esta parte, localizamos y manipulamos
archivos de logs con el objetivo de informarnos y dar seguridad al
sistema.

Una de las claves del xito en administracin de sistemas es


conocer que est pasando en l. Linux ofrece un nivel de logeo
excepcional y el nivel de detalle de los logs es configurable.
Los logs de Linux estn en texto plano, as que puede leerlos
y hacer bsquedas sin tener que usar herramientas especiales. Ud. puede
tambin escribir scripts que escaneen los logs y realicen funciones
automticas basadas en su contenido.

Los logs de Linux estn ubicados en el directorio /var/log. El sistema


mantiene varios logs, pero los programas y servicios tambin pueden
ubicar sus archivos de logs en ese directorio. Muchos logs solo pueden
ser ledos por el root, pero eso puede cambiarse simplemente cambiando
los permisos de acceso del archivo en cuestin.

/var/log/messages
El logeo de mensajes es el ncleo ms importante de informacin del
sistema de logs. Este archivo contiene los mensajes de booteo de cuando
arranca el sistema, as como otros emitidos durante su funcionamiento.

Errores de entrada/salida, trabajo en redes, y otros errores generales


de sistema son reportados en este archivo. Otras informaciones, como
por ejemplo, quien se relogea como root, tambin son registradas. Si
hay servicios activos, como servidores DHCP por ejemplo, Ud. puede leer
ah los mensajes de sus acciones. El archivo /var/log/messages es

generalmente el primer lugar donde mirar cuando se est intentando


solucionar problemas.
/var/log/XFree86.0.log
Este log muestra los resultados de la ltima ejecucin del servidor
XWindow. Si Ud. est teniedo problemas al iniciar en modo grfico, este
archivo le proveer casi seguramente algo de informacin para ver qu
es lo que est fallando.
Otros logs
Habr otros archivos de log en el directorio /var/log dependiendo de
qu distribucin est usando y qu servicios est corriendo. Por
ejemplo, puede haber logs asociados con el servidor de correo, con la
comparticin de recursos, de tareas automticas, etc.

Listo? A Rotar!
Ud. ver algunos archivos en el directorio /var/log que terminan con un
nmero, estos son archivos rotados. Los archivos pueden volverse
grandes y difciles de manejar y por ello Linux provee un comando para
rotarlos y as evitar que la informacin actual se mezcle con
informacin vieja irrelevante.
Generalmente logrotate se ejecuta
automticamente cada cierto tiempo, pero tambien puede ejecutarse
manualmente. Cuando es ejecutada, logrotate tomar la versin actual de
los archivos de log y les aadir un ".1" al final del nombre de
archivo. Luego, cualquier otro archivo rotado previamente ser
renombrado secuencialmente ".2", ".3", etc. Cuando ms grande el nmero
del log, ms viejo es.
Ud. puede configurar el comportamiento automtico de logrotate
editando el archivo /etc/logrotate.conf. Aprenda ms en detalle cmo
trabajar con logrotate leyendo la pgina man del programa haciendo
man
logrotate
.

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

dmesg
Para ver rpidamente el log del ltimo booteo del sistema, use el
comando dmesg. Le mostrar seguramente grandes cantidades
de texto, as tal vez quiera "entubar" sta salida para leerla
pausadamente, as:

dmesg | more
El comando de arriba le mostrar los mensajes de booteo una
pantalla a la vez.
tail
A veces Ud. quiere leer continuamente las actualizaciones de algo que
est ocurriendo. Tail est diseado para mostrar unas
pocas ltimas lneas de un archivo de texto. Aadiendo el parmetro -f,
tail continuar mostrando las nuevas lneas a medida
que se vayan agregando al archivo.
tail -f /var/log/messages
El comando de arriba le mostrar las ltimas diez lneas de
/var/log/messages, y luego continuar monitoreando el archivo mostrando
nuevas lneas incorporadas. Para detener el comando tail -f, use el
atajo de teclado CTRL + C para cerrar el proceso.

more
More funciona igual que su versin para DOS. Ud.
puede apuntarlo a un archivo o "entubar" su entrada desde otro comando
para ver la informacin pantalla por pantalla. Por ejemplo, para
mostrar 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 buscar
informacin 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" para
obtener ayuda acerca del uso de less.
logger
Ud. puede querer incluir sus propios mensajes dentro un archivo de log.
Podra simplemente aadir el mensaje de logeo al archivo apropiado,
pero tendra que duplicar el estilo de logeo del sistema; tambin
tendra que cambiar su cdigo si el sistema de logeo fuera cambiado o
personalizado. El comando logger
le permite enviar sus propios mensajes al sistema de logeo, selo en

scripts para informar acerca de errores y ejecucin de programas.

Personalizando el logeo
Hay dos servicios o demonios que controlan el logeo de mensajes, klogd
y syslogd. klogd solo logea mensajes del
kernel. syslogd trabaja con otros mensajes del sistema,
como los de las aplicaciones por ej. Ud. puede configurar el
comportamiento de ambos editando los archivos /etc/syslog.conf y
/etc/sysconfig/syslog, respectivamente. La personalizacin completa del
logeo est ms all del objetivo de este artculo, pero Ud. puede
aprender ms detalles en los Recursos
listados al final. Tambin puede aprender leyendo la pgina man de
/etc/sylogd.conf.
Esencialmente cada mensaje generado por software provee alguna
informacin para identificar su origen y de qu se trata. El archivo
/etc/syslog.conf le permite especificar qu hacer con este tipo de
mensajes. Ud. puede bajarlos a los archivos de mensajes, o a algn
archivo personal; puede enviarlos a un host remoto donde ser procesado
segn las reglas de configuracin del otro syslogd. Los logeos remotos
son una excelente caracterstica de seguridad. Aadiendo sus logs a un
sistema remoto puede prevenir una brecha de seguridad que cubra sus
rastros alterando los archivos de logs.
Aqu hay un ejemplo de logeo personalizado tomado de la pgina
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/kernel
kern.crit @finlandia
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info

La primera regla direcciona cualquier mensaje del kernel al


archivo /var/adm/kernel.
La segunda sentencia direcciona todos los mensajes del kernel
de prioridad "critic" al host remoto "finlandia". Esto es til ya que
si el host local cae y el disco queda irrecuperable, Ud. no podra leer
los mensajes almacenados. Si estn en un host remoto tambin, los podr
leer y determinara la razn de la cada del host local.
La tercera regla direcciona los mismos mensajes de la segunda
a la consola local, as la persona que est trabajando podr leerlos
(tambin).

La cuarta lnea le dice a syslogd que guarde todos los


mensajes del kernel de prioridad "info" (kern.info), hasta
"advertencia" en el archivo /var/adm/kernel-info. Toda prioridad
"error" (err), y superior es excluda.
La posibilidad de personalizar el logeo as provee un muy buen
grado de flexibilidad y control sobre el ambiente Linux.

Configuracin de Logs
en Webmin
Webmin tiene un mdulo para trabajar con archivos de logs.
Todos los logs configurados son mostrados, clickee en un
archivo de log para editar su configuracin.
O tambin puede clickear Vista ("View"), para
ver el contenido de un archivo de logeo.
Viendo archivos de log desde la
consola
Ya que los archivos de log estn en texto plano, no hace
falta una herramienta especial para leerlos. Cualquier visor o editor
de textos puede acceder a un archivo de logeo. Un navegador como
Mozilla, tambin puede mostrarlos (y proveer cierta capacidad de
bsqueda). Linux tambin tiene herramientas de consola para ver logs
como more,
que muestra el archivo una pgina a la vez, igual que la versin DOS.
El comando less mostrar el archivo solo para lectura y
permitir el scrolling bidireccional y brindar capacidades de
bsqueda. Prebelo haciendo:
less
/var/log/messages

en la lnea de comando.
El mdulo de Webmin interacta con el archivo
etc/syslog.conf file, as que cualquier cosa que haga en l se refleja
en el sistema.

Logeando su vida
Los archivos de logeo en Linux son crticos para la resolucin de
problemas y el mantenimiento del sistema. El logeo se hace a archivos
de texto, evitando as la necesidad de herramientas propietarias para
leerlos. Los archivos de texto son tambin fciles de leer con vista a
su uso en scripts y programas.
Los logs son rotados para evitar que se vuelvan demasiado
grandes y son separados de la informacin actual, dicha rotacin es
configurable.
El logeo es altamente configurable y los logs pueden incluso
se guardados en sistemas separados por cuestiones de seguridad y/o

resguardo. Ud. puede generar sus propios logs de sistema por medio de
scripts y programasm, que sern reconocidos y registrados por el
demonio/servicio de logeo del sistema, syslogd.

Recursos

Lea las otras partes (los originales en ingls), de la


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

La pgina man de syslog.conf contiene una excelente


descripcin de como configurar logs.Para acceder tipee:
info
syslog.conf
.

La pgina man de syslogd tiene una descripcin bsica de


como funciona syslogd,
incluyendo cuestiones de seguridad. Tipee: info syslogd.

El artculo de IBM developerWorks,


LPI
certification 101 exam prep, Part 2: Basic administration trata
acerca de tuberas shell, redireccionamiento y comandos de
procesamiento de texto.

El trabajo con logs est tambin explicado el tutorial de


IBM developerWorks,
"LPI
certification 101 exam prep, Part 4: Advanced administration.

El artculo de IBM developerWorks


"Addressing
security issues in Linux" le ayudar a empezar en cuestiones
bsicas de seguridad.

Encontrar ms informacin sobre archivos .config en el


artculo de IBM developerWorks "Understanding
Linux configuration files".

"Technical
FAQ for Linux users" (developerWorks,

Julio 2001) tambin le ayudar a hacer la transicin del mundo Windows


a Linux.

Para empezar a aprender acerca de software IBM para Linux,


no hay mejor recurso que la pgina Speed-start
your Linux app. Encontrar tips de instalacin, enlaces hacia
recursos DB2, Lotus Domino, WebSphere Application Server,
WebSphere Studio, y ms. Puede registrarse para recibir gratuitamente
un Linux Software Evaluation Kit, conteniendo software de prueba
y recursos de aprendizaje.

Encuentre ms recursos para


desarrolladores
Linux en la zona Linux de developerWorks.

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

El Camino de Windows a Linux. Parte


6. Trabajando con particiones y
sistemas de archivo

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

Artculos

El Camino de Windows a Linux: Parte 6. Trabajando con


particiones 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 = "";

Usando
discos y dispositivos en Linux
Artculo
publicado primero en ingls 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 gua a travs una serie de nueve artculos de developerWorks
que trata acerca de la mudanza de sus habilidades informticas de
Windows a Linux. En esta parte exploraremos la estructura
jerrquica de directorios de Linux e investigaremos acerca del montaje
y los dispositivos.
Trabajar con archivos y dispositivos de almacenamiento en
Linux es diferente a hacerlo en Windows. Existe una estructura
jerrquica de directorios y archivos, y eso es solo el principio, por
ello Ud. deber desarrollar un nuevo enfoque de la cuestin, un modo
diferente 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

No hay letras de
unidad!
No, en Linux las unidades no se designan con letras, lo que en realidad
es muy til. Si ha trabajado con sistemas Windows en ambientes
complejos de red desde una mquina con numerosos dispositivos, tal vez
el alfabeto ya no le parezca tan apropiado. En Linux solo hay una
estructura de archivos, empieza desde la raz (/) y todos los sistemas
de archivo locales y remotos y todos los dispositivos locales estn
representados en esa estructura.
Cuando Linux bootea, crea esta estructura basado en la
informacin del archivo /etc/fstab. As como Windows asigna letras de
unidad a particiones del disco rgido y otros dispositivos de
almacenamiento, Linux les asigna
directorios en la estructura de archivos raz. La estructura
jerrquica es completamente configurable y puede ser cambiada "al
vuelo".

Montando
El trmino para referirse en Linux a aadir dispositivos al sistema de
archivo es montaje. Linux
monta automticamente el sistema de archivo / (raz). Puede haber
tambin un sistema de archivo separado /boot, conteniendo el kernel y
otros archivos de booteo. Linux tambin montar algunos sistemas de
archivo especiales. El espacio de swap (lo que sera el archivo de
intercambio en Windows), no se muestra como parte del sistema de
archivo, no aparece en el listado de la raz (/); sin embargo es
manejado y montado por el kernel. Igualmente ocurre con otros sistemas
de archivo especiales como "proc" y "sys" que se ven como cualquier
carpeta normal en la estructrura de archivo y su contenido puede ser
tratado como cualquier archivo.
Qu es /proc?
El sistema de archivo /proc es un excelente ejemplo de la diferencia en
la manera de pensar entre Windows y Linux. /proc contiene una
representacin virtual de varios aspectos del sistema en ejecucin. Hay
informacin acerca de la configuracin de IRQs, uso de memoria, drivers
de dispositivos cargados, estado de la red, y mucho, mucho ms. Hay
incluso un archivo llamado /proc/kcore, que es una representacin toda
la memoria en uso. Cada uno de estos archivos puede ser ledo igual que
cualquier archivo de texto o binario. Algunos archivos tambin pueden
escribirse para cambiar el comportamiento del kernel, mientras ste se
est ejecutando. Por ejemplo, para activar el IP-forwarding en el
primer dispositivo ethernet en el sistema, Ud. puede usar un comando
como este:
echo 1 &gt;
/proc/sys/net/ipv4/conf/eth0/forwarding

El principal beneficio de este tipo de sistema es que


Ud. puede usar simples scripts para hacer importantes modificaciones a
los parmetros del sistema en ejecucin.
Otros sistemas de archivo, como los de medios removibles o
sistemas de archivo remotos, necesitarn ser montados manualmente.
Cuando se monta un sistema de archivo hace falta saber cmo se
referiere a l Linux y tener un directorio vaco para usarlo como punto
de montaje. Para medios removibles, Linux probablemente crear puntos
de montaje durante la instalacin. En Red Hat Linux, el dispositivo
CDROM
es configurado para ser montado en /mnt/cdrom. Eso significa que cuando
Ud. ponga un CD en la lectora CDROM, ingresar el comando:
mount /mnt/cdrom
El CD es aadido al sistema
de archivo y el dispositivo CDROM es bloqueado, as no puede ser
accidentalmente abierto. Para acceder a los contenidos del CD,
simplemente acceda al directorio /mnt/cdrom. Cuando haya terminado de
usar el CD, puede removerlo del sistema de archivo con el
comando:
umount /mnt/cdrom
El directorio /mnt/cdrom quedar vaco la lectora de CDROM
ser desbloqueada, luego podr retirar de manera segura el CD. El mismo
procedimiento se usar con otros medios removibles, como disketeras por
ej. (se montan usualmente en /mnt/floppy).
Ejecutar mount sin parmetros le mostrar los
sistemas de archivo actualmente montados.
Por qu existe el bloqueo de
dispositivos?
Recuerde que Linux no es solo un sistema multiusuario, sino que tambin
es multisesin. Esto quiere decir que varios usuarios pueden estar
logeados en el sistema al mismo tiempo, corriendo procesos y usando
recursos. Esto no es lo mismo que cuando nos logeamos para acceder a un
archivo en un share en Windows. En Linux cada usuario puede usar el
sistema igual que si estuvieran fsicamente delante de la mquina; el
sistema mantiene su estabilidad no permitiendo la liberacin arbitraria
de sistemas de archivo que estn en uso, por ello al estar la lectora
bloqueda, el CD no puede ser ejectado hasta que el sistema de archivo
sea desmontado (lo que se podr hacer si nadie est
usando/leyendo/accediendo el CD).

El archivo /etc/fstab
La asociacin entre dispositivo y su punto de montaje se configura en
el archivo /etc/fstab. Puede ser editado a mano o con una herramienta
de administracin. Aqu hay un ejemplo de /etc/fstab/:
Conociendo la
estructura de /etc/fstab

/dev/hda5
/
ext3
defaults
11
/dev/hda2
/boot
ext3
exec,dev,duid,rw
12
/dev/hda6
swap
swap
defaults
00
/dev/scd0
/mnt/cdrom
auto
ro,noauto,exec
00
none
/dev/pts
devpts
id=5,mode=620
00
none
/proc
proc
defaults
00
none
/dev/shm
tmpfs
defaults
00
Cada lnea representa un archivo de sistema a ser montado. La
primera columna contiene el punto de montaje, la localizacin en el
sistema de ese dispositivo. La tercera columna identifica el tipo de
sistema de archivo. La cuarta columna tiene opciones para manejar
adecuadamente el sistema de archivo. La ltima columan contiene
parmetros para el sistema de archivo en particular; el primer nmero
es o un 1 o un 0 e indica si el sistema debera ser copiado con un
"dump" (una opcin para resguardar - backupear - sistemas). El segundo
nmero es 0, 1, o 2 e indica el orden en el cual el sistema debera ser
checkeado al bootear la mquina: 0 si no debe ser checkeado en
absoluto, 1 si debe ser checkeado primero y debe usarse para el sistema
raz /; otros sistemas deberan ser 2.
En el archivo fstab listado arriba, la particin raz est en
la quinta particin del primer disco rigdo IDE (aunque no hay ms
discos IDE en esa mquina de ejemplo), la primera particin lgica de

una particin extendida. El sistema de archivo /boot, donde se ubican


los archivos de inicio del kernel estn ubicado en la segunda particin
del mismo disco (y tambin en la particin extendida). Otros sistemas
de archivo estn listados como "none", y los vamos a explicar en un
momento, por ahora concentrmonos en los discos fsicos.
Las opciones en la cuarta columna variarn dependiendo del
tipo del sistema de archivo. En este ejemplo, / y /boot son montados
con las opciones por defecto ("default"); eso significa que son
montadas automticamente en modo lectura-escritura y con entrada/salida
(I/O) asincrnica. Solo el root puede montar o desmontar el
dispositivo, pero los usuarios pueden ejecutar binarios y usar el "bit
pegajoso" ("sticky bit"), explicado ms adelante en el artculo. El
sistema de archivo ser manejado como un dispositivo de bloque por el
sistema operativo. Para /mnt/cdrom, las opciones son diferentes, no es
montado automticamente y ser montado como de solo lectura. Los
usuarios podrn ejecutar scripts y programas en/desde ese sistema de
archivo.
Todo es un archivo
Todos los archivos en el directorio /dev son archivos especiales
llamados nodos que apuntan al dispositivo fsico a travs del driver.
Esto le permite a Ud. hacer interesantes cosas. Por ejemplo, para hacer
una 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, se
copia una imagen binaria.
Este enfoque basado en archivos le permite crear alias
para los dispositivos, para darles nombres ms fciles de entender. Por
ejemplo, es usual un alias llamado /dev/cdrom que apunta al dispositivo
fsico 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 ms fcil de recordar. La tcnica de los alias
tambin le permite estandarizar scripts para muchos sistemas que
podran tener configuraciones fsicas diferentes.

Aadiendo sistemas de
archivo
Ud. puede aadir sistemas de archivo a /etc/fstab agregando nuevas
lneas al archivo. Como ejemplo prctico, tengo un dispositivo RAID que
contiene recursos de archivos para uso del departamento. Este
dispositivo solo contendr archivos de datos y ser mantenido separado
del sistema operativo, as podr mover el dispositivo a otro sistema en
caso de ocurrir una falla en el hardware. El RAID ha sido previamente
configurado y es reconocido por Linux como /dev/sdc, el tercer
dispositivo SCSI. Un sistema de archivo ext3 ha sido creado en la
primer particin, y podremos accederla en /dev/sdc1. Quiero que este
RAID sea montado automticamente al bootear la computadora.

Aado las siguientes lneas 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 punto
de montaje:
mkdir /data
Una vez creado el directorio, podemos montar el sistema de
archivo en l:
mount /data
El RAID est ahora asociado al directorio /data. Si el sistema
rebootea, /data ser montado automticamente.

Particiones
Las particiones en Linux funcionan esencialmente igual que en Windows.
El comando de consola fdisk es usado para crear y manipular
particiones. Cuando Ud. ejecuta fdisk, debe apuntarlo hacia un
dispositivo en particular. Para ver qu dispositivos estn disponibles,
use el comando:
fdisk -l.
Listado 2. Usando fdisk
[root@cmw-t30 root]# fdisk -l
Disk /dev/hda: 240 heads, 63 sectors, 7752 cylinders
Units = 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 que


muestra un estructura de archivo poco comn, la de un servidor. Muestra
un disco rgido IDE con varias particiones. Si hubieran otros
dispositivos, seran listados tambin, por ejemplo, un segundo disco
rgido podra ser mostrado como /dev/hdb.
Ejecute fdisk de nuevo con dispositivo como
parmetro y llegar a un prompt.
Listado 3. fdisk sobre un dispositivo

[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 la


tabla de la particin que est revisando con "p". Puede crear, borrar y
modificar el tipo de particin. "I" le mostrar la lista completa de
tipos de particin disponibles. Para escribir los cambios realizados a
la particin y salir del programa use "w"; o para salir sin guardar los
cambios, "q". Algunos cambios son realizados de inmediato. Algunos
cambios requieren un rebooteo del sistema (el cambio de tipo de
particin por ejemplo).
Las reglas para manejar particiones en Linux son iguales que
en Windows. Le est permitidas tener cuatro particiones primarias,
cualquiera de las cuales pueden ser particiones extendidas.

Tipos de sistema de
archivo
Linux puede manejar cualquier tipo de sistema de archivo que conozca el
kernel. Un generoso nmero de ellas viene soportado por defecto y
nuevos tipos pueden ser aadidos. Aqu tiene algunos interesantes que
estn soportados:

ext2: El sistema de archivo estndar de Linux


(prcticamente en desuso).

ext3: El sistema de archivo estndar de Linux con


journaling (uno de los ms 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,


muy
popular tambin.

El Journaling ahorra tiempo y


protege los datos
Los sistemas de archivo con journaling ayudan a proteger los

datos de apagones imprevistos del sistema. Si un volumen (otro modo de


llamar a las particiones), es apagado sin desmontar
previamente, tpicamente habr trabajos sin terminar y archivos que
quedaron en un estado intermedio (el trmino tcnico exacto es: inconsistente). En un sistema de
archivo sin
journaling, esto creara la necesidad de un checkeo completo del
volumen, lo que puede llevar un largo tiempo en particiones grandes. Un
sistema de archivo con journaling mantiene un registro de transacciones
de cada escritura al disco por un perodo de tiempo de, por ejemplo,
cinco segundos. Cuando el volumen no es desmontado apropiadamente, el
sistema de archivo simplemente "regresa" al ltimo estado anterior
correcto; as un volumen muy grande puede ser restaurado de un error en
pocos segundos.

Formateando particiones
Una vez creadas, las particiones son formateadas con la versin
apropiada del comando mkfs. Cada sistema de archivo
tendr su propia versin de mkfs, como por ejemplo, mkfs.ext2,
o mkfs.ext3. Estos scripts de ayuda le permiten crear un
sistema de archivo sobre una particin ya creada y vaca, simplemente
apuntando a ella. Aqu hay algunos ejemplos:
Listado 4. Usando mkfs
# Crea un sistema de archivo ext2 en la tercera <br># particin del
primer disco rgido IDE<br>mkfs.ext2 /dev/hda3<br><br> # Crea un sistema
de archivo ext3 en la primera<br> # particin del segundo disco rgido
SCSI<br>mkfs.ext3 /dev/sdb1<br><br> # Crea un sistema de archivo jfs en
una particin <br> # extendida del primer disco rgido IDE<br>mkfs.jfs
/dev/hda5<br>

Hay varios parmetros avanzados que afectan cmo es formateada


la particin, pero por lo general, las opciones por defecto estn bien.
Una vez que la particin ha sido formateada, puede ser montada en el
sistema de archivo raz (/). Un sistema de archivo debe ser desmontado
para ser reformateado.

Otras herramientas
para trabajar con sistemas de archivo
Veamos otras tiles herramientas.
Herramientas de Consola
Hay varias herramientas para determinar la condicin de discos y
sistemas
de archivo

df

df viene de "disk free" - disco libre. Reporta la


cantidad de espacio usado y disponible en sist. de archivo montados.
Algunos modificadores tiles:
Checkeando el espacio
en disco
df -h
"Legible por Humanos"; usa los familiares indicadores
de tamao, k, M, y G en vez de listar la informacin en bytes.
df -l
Limita el listado a sist. de archivo locales, ya que
por defecto los sist. de archivo remotos tambin son listados (lo que
puede hacer ms lento el despliegue de la informacin local).
du
du viene de "disk usage" - uso de disco. Reporta el
espacio usado por los archivos, directorios y subdirectorios (con los
parmetros apropiados). Algunos modificadores tiles:

Checkeando el disco en
uso
du -a
Muestra la informacin para todos los archivos, no solo
para los directorios.
du -h
"Legible por Humanos"; usa los familiares indicadores
de tamao, k, M, y G en vez de listar la informacin en bytes.
du -c
Muestra un solo total global una vez que se ha
procesado todos los argumentos; puede ser usado para ver el tamao
total ocupado por conjunto dado de archivos y/o directorios.
du -s
Muestra 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 diferentes
versiones para cada tipo de sist. de archivo, igual que mkfs.
fsck debe ejecutarse sobre volmenes desmontados, a
pesar de ser raramente necesario a menos que sea sobre un volumen no
limpiamente desmontado (por ej. al apagar la PC cortando la corriente
elctrica). man fsck e info fsck entran en
ms detalles, as como varios de los Recursos
includos al final del artculo.

Webmin
Webmin tiene varias herramientas para trabajar con sist. de archivo y
particiones.

Hardware y particiones
en discos locales
Cada disco y particin es mostrado con la informacin actual. Clickee
sobre un sist. de archivo para ver detalles. Recuerde que solo puede
formatear y cambiar tipos de sist. de archivo sobre particiones
desmontadas.
Sistema, disco y sist. de archivo de red
Monta y desmonta sist. de archivo listados en /etc/fstab. Los tipos de
sist. de archivo ms comunes tienen asistentes para ayudar a crear las
entradas correspondientes (en /etc/fstab). Los sist. de archivo de tipo
no reconocido por los asistentes pueden ser montados/desmontados desde
aqu, pero sus entradas deben realizarse a mano en /etc/fstab. Muchos
sist. de archivo de servidor sern fcilmente manejados desde aqu
tambin.

El Todo es la suma de sus particiones


A pesar de haber muchas similitudes en cmo Linux y Windows manejan
particiones y sist. de archivo, cambiar del esquema de letras de unidad
a un rbol completamente jerrquico le tomar algn tiempo. Como
siempre, hay robustas herramientas de consola para trabajar con estas
funciones y archivos de configuracin del directorio /etc. Herramientas
tipo web, como Webmin ofrecen tambin ayuda para estas tareas.

Recursos

Lea las otras partes (los originales en ingls), de la


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

El Linux
Partition HOWTO repasa ms en detalle los mecanismos de
particionamiento y las herramientas disponibles para ello.

Aunque Linux
Administration Made Easy es un referencia algo vieja, todava es
til ya que los procedimientos y tcnicas generales para Linux no han
cambiado en esencia.

El Multi Disk
System Tuning HOWTO describe la mejor manera de usar mltiples
discos y particiones en un sistema Linux.

"Installing
and configuring SuSE Linux Enterprise Server (SLES) 8" te muestra
como instalar y configurar el SuSE Linux Enterprise Server (SLES)
8, incluyendo las etapas referentes a la configuracin grfica
usando YaST.

La Linux
System
Administrator's Guide es una introduccin a la administracin de
sistemas Linux para usuarios no experimentados.

Sistemas de archivo, cuotas de disco, y otros temas


relacionados pueden leerse en el tutorial de developerWorks
"LPI
certification 101 exam prep, Part 4: Advanced administration".

La serie de artculos de IBM developerWorks


Advanced
filesystem implementor's guide trata acerca de temas avanzados en
esta cuestin, pero tambin introduce al lector a los diferentes
sistemas de archivos disponibles para Linux y sus caractersticas.

Aprenda a Put
virtual filesystems to work ("Trabajar con sist. de archivos
virtuales"), es su cdigo en este artculo de IBM developerWorks.

Formatear un nuevo sistema de archivo? Lea esto primero: "Partition


planning tips" y "Partitioning
in action", ambos de IBM developerWorks.

"Dual-booting
Linux" de IBM developerWorks
explica como Ud. puede fcilmente usar Windows y Linux en la misma
computadora.

El artculo de IBM developerWorks


"Maximum
swappage" le puede ayudar a mejorar el rendimiento de la swap en su

servidor Linux.

El booteador de Linux, LILO, ha sido superado! Lea todo


acerca de eso en el tutorial "Getting
to know GRUB".

"Quemando
CDs en Linux" es fcil si Ud. aprende cmo hacerlo en esta gua de
IBM developerWorks.

Permisos de archivo y seguridad son tratadas en el


(captulo 3) Chapter
3 de la gua Introduction
to Linux del Linux Documentation Project.

"Technical
FAQ for Linux users" (developerWorks,
Julio 2001) tambin le ayudar a hacer la transicin del mundo Windows
a Linux.

Para empezar a aprender acerca de software IBM para Linux,


no hay mejor recurso que la pgina Speed-start
your Linux app. Encontrar tips de instalacin, enlaces hacia
recursos DB2, Lotus Domino, WebSphere Application Server,
WebSphere Studio, y ms. Puede registrarse para recibir gratuitamente
un Linux Software Evaluation Kit, conteniendo software de prueba
y recursos de aprendizaje.

Encuentre ms recursos para


desarrolladores
Linux en la zona Linux de developerWorks.

Acerca del
autor
Chris Walden es Arquitecto de e-business para los servicios de
consultora tcnica IBM Developer Relations (tambin conocidos
como los dragonslayers) en Austin, Texas, brindando
educacin, adiestramiento y servicios de consultora a
empresas asociadas a IBM. Es el fnatico oficial de Linux en su rea y
hace lo mejor que puede para difundir la buena nueva a quien quiera
oir. Adicionalmente a su tarea, administra el rea de infraestructura
de servidores solo-Linux, los cuales incluyen servicios de archivo,

impresin y otras aplicaciones en ambientes de usuarios de plataforma


mixta. Chris tiene diez aos de experiencia en la industria de la
computacin, desde el soporte tcnico en campo hasta el desarrollo de
aplicaciones web y consultora. Puedes localizar a Chris en cmwalden-at-us.ibm.com.

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

Aqu va la parte 7

El Camino de Windows a Linux: Parte


8. Resguardo y recuperacin

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

Artculos

El Camino de Windows a Linux: Parte 8. Resguardo y Recuperacin


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 = "";

Una
gua rpida para el resguardo y la recuperacin de datos en Linux

Artculo
publicado primero en ingls 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 gua a travs una serie de nueve artculos de developerWorks
que trata acerca de la mudanza de sus habilidades informticas de
Windows a Linux. En esta parte, tomaremos las partes ms
importantes del sistema, planificaremos e implementaremos resguardos
regulares, teniendo en cuenta tanto la recuperacin como la seguridad.
Linux es un ambiente estable y confiable, pero cualquier
sistema de computacin puede tener eventos inesperados, como fallas de
hardware por ejemplo. Tener resguardos confiables de datos e
informacin crtica de la configuracin es parte importante de
cualquier plan de administracin responsable. Hay una amplia variedad
de enfoques en cuanto al tema del resguardo en Linux. Las tcnicas van
desde simples mtodos basados en scripts hasta elaborados
procedimientos basados en software comercial. Se puede resguardar la
informacin a dispositivos remotos en red, unidades de cinta y otros
medios removibles. Estos resguardos pueden estar basados en archivos o
en imgenes de disco. Hay muchas opciones disponibles y Ud.
puede combinar las diferentes tcnicas y disear as el plan perfecto
de resguardo para sus particulares necesidades.
Cul es su estrategia?
Como ya mencionamos, hay muchos posibles enfoques para hacer resguardos
de un sistema. Para la decisin de elegir uno en particular podra leer
el artculo "Introduccin al
Resguardo y Restauracin de datos"
("Introduction to
Backing Up and Restoring Data", el ttulo original en ingls),
listado en la
seccin Recursos
al final de este artculo.
Qu es lo que resguarda depende mucho de la razn para
hacerlo, por ejemplo si lo est haciendo para poder recuperarse de
fallas crticas como las de problemas de disco rgido; 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 para
usar luego de la restauracin del resguardo.
Qu resguardar?
La naturaleza basada en archivos de Linux es una gran ventaja al
resguardar y restaurar el sistema. En un entorno Windows, el registro
est muy ligado a un sistema en particular (desde el punto de vista del
hardware especialmente). La configuracin e instalacin de software no
es una simple cuestin de copiar archivos y carpetas en una locacin
del sistema, por lo tanto restaurar el sistema requiere el uso de
software que pueda lidiar con estas particularidades. En Linux en
cambio, la historia es muy diferente. La configuracin est basada en
archivos de texto y excepto por aquellos que tratan directamente acerca
del hardware, los dems son ampliamente independientes del sistema
(tanto a nivel software instalado o no, como del hardware). Un enfoque

moderno en cuanto a la cuestin de los drivers de hardware es tenerlos


disponibles como mdulos que pueden ser dinmicamente cargados y
descargados segn se los necesite o no, as los kernels se vuelven ms
independientes del sistema tambin, como ocurre en Linux. A pesar de
que un resguardo del sistema implica tratar con temas relacionados a
cmo est instalado el sistema operativo en su hardware, los resguardos
en Linux son mayormente una cuestin de, simplemente, empaquetar y
desempaquetar archivos.
En general, hay algunos directorios que Ud. querr resguardar:

/etc
contiene todo el ncleo de sus archivos de configuracin, esto incluye
su configuracin del entorno, nombre de sistema, reglas del firewall,
usuarios,
grupos y otros aspectos del sistema.

/var
contiene informacin usada por los demonios (servicios) de su sistema,
por ejemplo la configuracin de DNS, del DHCP, el spool de correo, los
archivos del servidor HTTP, la instancia de configuracin de DB2, etc.

/home
contiene los directorios de trabajo de todos los usuarios,
incluyendo all sus configuraciones personales, archivos bajados y
otras
informaciones que sus usarios no querrn 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 por
defecto.

Hay directorios que debera considerar no resguardar.

/proc
Nunca debera resguardar este. No es un sistema de archivo real, sino
una vista virtual del ambiente y aspectos relacionados con el kernel
actual en ejecucin. Incluye archivos como /proc/kcore, el cual es una
vista virtual completa del estado de la memoria actual. Resguardarlo
solo sera desperdiciar recursos.

/dev
Contiene la representacin de su hardware en forma de archivos. Si est

planeando restaurar para lograr un sistema base desde cero, entonces


puede resguardar /dev. Pero si Ud. tiene en mente restaurar hacia un
sistema ya instalado, resguardar /dev no ser necesario.
Los otros directorios contienen archivos de sistema y paquetes
instalados. En un ambiente de servidor, mucha de esta informacin no
est personalizada. La mayora de las personalizacioes se dan en los
directorios /etc y /home. Sin embargo para asegurarse tal vez desee
igualmente resguardarlos.
En un ambiente de produccin donde se quiere asegurar que no
haya prdida de datos, se debera resguardar el sistema de archivo raz
(/) completo, excepto por el directorio /proc. Aqu debe hacerse una
salvedad, ya que debido a la estructura de rbol unificado propia de
Linux, Ud. podra tener montados sistemas de archivo remotos y por ello
el factor velocidad de la red tendrn cierta incidencia en cuanto al
tiempo que puede tomar realizar los resguardos; por esta razn
debera ponderar la necesidad de resguardar sistemas de archivo
remotos montados como parte en su rbol raz (/).
En el caso de que el resguardo est mayormente enfocado en los
usuarios y la configuracin del sistema, debera resguardar los
directorios /etc, /var, /home y /root.
Herramientas de
resguardo
Como se mencion antes, los resguardos en Linux son ms que nada una
cuestin de empaquetar y desempaquetar archivos. Esto le permite a Ud.
usar utilidades de sistema ya instaladas y scripts para hacer
resguardos, en vez de tener que adquirir software comercial para el
mismo fin. En muchos casos, este mtodo de resguardo ser el ms
adecuado, y proveer al administrador de un alto nivel de control. Un
script de resguardo puede ser implementado para que se ejecute
automticamente usando el comando cron, el cual se
encarga de la ejecucin preprogramada de eventos en Linux.
tar
tar es un comando UNIX clsico que ha sido portado a
Linux. tar es el diminutivo de tape archive
("archivo de cinta"), y fue originalmente diseado para empaquetar
archivos dentro de cintas. Ud. puede ya haberse encontrado con tar
previamente, si es que ha estado bajando cdigo fuente para Linux.
Bsicamente, es un comando basado en archivo que serializa las pilas de
los archivos (los une uno detrs de otro).
rboles completos de directorios pueden ser empaquetados con
tar, lo que lo hace especialmente bueno para resguardos. Los archivos
pueden ser restaurados por completo, o solo determinados archivos y
directorios individualmente. Los resguardos pueden guardarse en
dispositivos de archivo (particiones de discos, etc.), o dispositivos
de cinta. Los archivos pueden ser restaurados a su ubicacin original
(encima de los existentes para hacer una restauracin a cero), o redirigidos a uno/varios
diferentes directorios o sistemas de donde fueron originalmente
guardados. Tar es independiente del sistema de archivo, puede ser usado
sobre ext2, ext3, jfs, reiserfs, etc. y/o entre ellos.

Usar tar es muy parecido a usar una utilidad como pkzip. Debe
apuntar a un destino, que es el archivo y/o directorio que va a
empaquetar o un dispositivo; y luego darle un nombre al paquete. Puede
comprimir archivos "al vuelo" con mtodos de compresin estndar o
especificar un programa de compresin de su eleccin. Para comprimir o
descomprimir archivos a travs de bzip2 use tar -z.
Para resguardar un sistema de archivo completo usando tar
a 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 comando
que cree el archivo. El modificador -p indica que queremos preservar
los permisos, algo crtico para hacer buenos resguardos. El modificador
-f especifica el lugar y nombre de archivo que queremos para el
resguardo. La raz (/), indica qu es lo que queremos resguardar y eso
es el sistema de archivo completo.
Finalmente, exclumos el directorio /proc, ya que no contiene nada que
necesitemos guardar. Si el resguardo no cupiera en una sola cinta,
podramos aadir el modificador -M para crear un multi-volumen.
Sensible segn el caso
No olvide que Linux es sensible al caso en cuanto a los caracteres. El
comando tar siempre debe ejecutarse en minsculas, por ejemplo. Los
modificadores pueden estar en minsculas, mayusclas o mezclados ambos.
Por ejemplo -t y -T realizan funciones diferentes. Los nombres de
archivos y directorios tambin pueden estar en una combinacin de
minsculas y mayusclas, segn el caso.
Para extraer uno o varios archivos, el comando tar
se usa con el modificador de extraccin, (-x):
tar -xpf /dev/st0 -C /
El modificador -f apunta a nuestro archivo, -p indica que
queremos restaurar con los permisos originales. El modificador -x
indica que debe extraer el archivo del paquete. El modificador -C /
indica que queremos restaurar desde /. ya que tar normalmente restaura
al directorio desde el cual corremos el comando. El modificador -C hace
irrelevante el directorio donde estemos.
Los otros comandos tar que Ud. probablemente use a menudo son
aquellos que usan los modificadores -t y -d. El modificador -t lista el
contenido de un paquete. El modificador -d compara el contenido del
paquete con los archivos actuales de un sistema.
Para facilitar la operacin y edicin, Ud. puede poner los
directorios y archivos que quiera archivar en un archivo de texto, el
cual puede referenciar con el modificador -T. Esto puede ser combinado
con otros directorios listados en la lnea de comandos. La siguiente
lnea resguarda todos los archivos y directorios listados en
MisArchivos, el directorio /root y todos los archivos .iso ubicados en
el directorio /tmp:
tar -cpf /dev/st0 -T MisArchivos /root /tmp/*.iso

El archivo de lista es un archivo de texto simple con la lista


de archivos y directorios, este es un ejemplo:
/etc<br
xmlns: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 con
archivos, el modificador -from), no acepta comodines (*). Los archivos
deben ser listados explcitamente. El ejemplo de arriba tambin muestra
el modo de referenciar archivos separadamente. Ud. tambin puede
ejecutar un script para buscar en el sistema y construir una lista
desde la bsqueda. Aqu hay un ejemplo de esto:
#!/bin/sh<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
cat MisArchivos &gt; ListaTemporal<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
find /usr/share -iname *.png &gt;&gt; ListaTemporal<br
xmlns: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 MisArchivos
a ListaTemporal, luego ejecuta un par de comandos de bsqueda para
ubicar en el sistema cierto patrn y aade los archivos que coinciden a
ListaTemporal. La primera bsqueda incluye todos los archivos en el
rbol de directorios de /usr/share que terminan en .png. La segunda
bsqueda incluye a todos los archivos en el rbol del directorio /tmp
que terminan .iso. Una vez construda la lista, tar es ejecutado para
crear un nuevo paquete en el dispositivo /dev/st0 (la primera unidad
SCSI), que es comprimido en formato gzip y retiene todos los permisos
de origen. El paquete se dividir en mltiples volmenes. Los nombres
de archivo a ser resguardados sern tomados del archivo ListaTemporal.
Scripts tambin pueden ser usados para realizar muchas acciones
complejas, como backups incrementales. Un excelente script es listado
por Gerhard Mourani en su libro Securing
and Optimizing Linux (Asegurando y Optimizando Linux), el cual
puede localizar desde la seccin Recursos
al final del artculo.
Tambin
puede usarse scripts para restaurar archivos, pese a que la
restauracin es por lo general realizada manualmente. Paquetes enteros
pueden ser restaurados, o puede especificarse archivos o directorios
individuales, pudiendo usarse tambin comodines para hacer esto.
dumpear y restaurar
dump realiza funciones similares a tar,
sin embargo dump est ms enfocado en sistemas de archivo

que en archivos individuales. Tomado de la pgina de manual de dump:


"dump examina los archivos en un sistema de archivo ext2 y determina
cuales necesitan ser resguardados. Estos son copiados entonces a un
disco dado, cinta u otro medio de almacenamiento para ponerlos en un
lugar seguro...Un dump que sea ms grande que el medio de salida
(adonde se lo est copiando), ser dividido en mltiples volmenes. En
la mayora de los medios, el tamao es determinado al escribir hasta
que se recibe una indicacin de que el medio est casi lleno."
El programa que trabaja junto a dump es restore, el
cual se usa para restaurar archivos de una imagen dump.
El comando restore realiza la funcin inversa de
dump. Un resguardo completo de un sistema de archivo puede ser
restaurado y resguardos incrementales subsecuentes pueden implementarse
sobre el resguardo original. Archivos individuales y subrboles de
directorios pueden ser restaurados desde reguardos parciales o
completos.
Ambos, dump y restore pueden
ejecutarse en red, as que Ud. puede resguardar y restaurar desde y
hacia dispositivos remotos. dump y restore
trabajan con unidades de cinta y dispositivos de archivo proveyendo un
amplio rango de opciones para ello. Sin embargo, ambos estn limitados
a sistemas de archivo ext2 y ext3. Si Ud. est trabajando con sistemas
de archivo reiserfs, jfs, u otros, necesitar una herramienta
diferente, como tar por ejemplo.
Resguardar con dump
Ejecutar un resguardo con dump es fcil y muy directo. El siguiente
comando 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<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
dump 0f /dev/nst0 /
En este ejemplo, nuestro sistema tiene dos sistemas de
archivo. Uno para /boot y otro para /, una configuracin bastante
usual. Ambos deben referenciarse individualmente cuando se ejecuta un
resguardo. /dev/nst0 se refiere a la primera unidad de cinta SCSI, pero
en modo de "no rebobinado", esto asegura que los volmenes son ubicados
de modo contigo en la cinta.
Una interesante caracterstica de dump es su funcionalidad de
resguardo incremental. En el ejemplo de arriba, el 0 indica un nivel de
resguardo cero. Esto es, el resguardo completo del sistema que Ud.
hara perodicamente para capturar el sistema entero. En resguardo
subsecuentes puede usar otros nmeros (1-9), en lugar del 0 para
cambiar el nivel de resguardo. Un resguardo de nivel 1 guardara todos
los archivos que han cambiado desde que fue realizado el resguardo de
nivel 0. El nivel 2 resguardara todo lo que ha cambiado desde que se
realiz el resguardo de nivel 1, y as sucesivamente. La misma funcin
puede implementarse con tar usando scripts, pero requiere que el mismo
tenga un mecanismo para determinar cuando fue realizado el ltimo
resguardo. dump tiene su propio mecanismo, registrando la accin en el

archivo /etc/dumpupdates, cada vez que realiza un resguardo. El archivo


es reseteado cuando se ordena ejecutar un resguardo de nivel 0.
Subsecuentes niveles son registrados hasta que otro nivel 0 es
realizado. Si Ud. est haciendo un resguardo basado en cinta, dump
automticamente trabajar con mltiples volmenes.
Saltando archivos
Es posible marcar archivos y directorios para que dump no
los archive. El comando para hacerlo es chattr, que
cambia los atributos extendidos de los sistemas de archivo sobre ext2 y
ext3.
chattr +d &lt;filename&gt;
El comando de arriba aade un marcador a un
archivo (o directorio), que indica a dump
que no lo archive durante el proceso de resguardo.
Restaurar con restore
Para restaurar informacin guardada con dump, se utiliza el comando
restore. Al igual que tar, dump tiene la habilidad de listar (-t) y
comparar archivos resguaradados con los archivos actuales (-C). Donde
Ud. debe ser precavido es al restaurar datos. Hay dos enfoques muy
diferentes para hacer esto, y debe ser muy preciso al usarlos para
obtener resultados predecibles.
Reconstruir
(-r)
Recuerde que dump est diseado con sistemas de archivo en mente, ms
que para archivos individuales. Por ello es que hay dos estilos
diferentes de restaurar archivos. Para reconstruir un sistema de
archivo, use el modificador -r. "Reconstruir" est diseado para
trabajar sobre un sistema de archivo vaco
y lo restaura dejndolo en el mismo estado en que fue guardado. Antes
de ejecutar "reconstruir", debera tener creado y montado el sistema de
archivo. Ud. no
debera ejecutar "reconstruir" sobre un sistema de archivo que ya
contenga archivos.

Aqu hay un ejemplo de cmo hacer una reconstruccin completa desde el


"dump" que ejecutamos en el ejemplo anterior.
restore -rf /dev/nst0
El comando de arriba necesita ser ejecutado para cada sistema
de archivo a ser restaurado.
Este proceso podra ser repetido para aadir los resguardos
incrementales si fuera requerido.
Extract
(-x)

Si Ud. necesita trabajar con archivos individuales, en vez de sistemas


de archivo completos, debe usar el modificador -x para extraerlos. Por
ejemplo, para extraer solo el directorio /etc desde nuestra cinta de
resguardo, use el siguiente comando:
restore -xf /dev/nst0 /etc
restore (-i) Interactivo
Otra caracterstica ms que provee restore, es el modo interactivo,
selo con el comando:
restore -if /dev/nst0
restore lo ubicar entonces en una consola interactiva,
mostrndole los elementos contenidos en el archivo de resguardo.
Tipeando "help" obtendr una lista de comandos en la que Ud. puede
navegar y seleccionar los elementos que desee extraer. Tenga en mente
que cualquier archivo que Ud. extraiga ser extrado al directorio
actual (desde el cual ha sido ejecutado el comando).
dump vs.
tar
Ambos dump y tar
tienen ventajas y desventajas. Si Ud. est ejecutando cualquier sistema
de archivo distinto de ext2 o ext3, entonces no podr usar dump; pero
si ste no es el caso, puede usar dump con un mnimo o nulo uso de
scripts, y contar incluso con modos interactivos para asistirlo en la
restauracin de archivos.
Personalmente, prefiero usar tar, ya que tengo una
predileccin especial por el nivel de control adicional que brindan los
scripts. Tambin existen herramientas multiplataforma para trabajar con
archivos .tar.
Otras herramientas
Virtualmente cualquier programa que pueda copiar archivos puede ser
usado para realizar algn tipo de resguardo en Linux. Es mucho ms
comn que la gente use cpio y/o dd para
resguardos. cpio es otra utilidad de empaquetamiento al
estilo tar. Mucho ms raro es el uso de dd,
una utilidad para copia de sistemas de archivo que crea copias binarias
de ellos, dd podra ser usado de modo similar a productos
como Ghost de Symantec. Tenga en cuenta que dd no est basado en
archivos en absoluto, y solo podr restaurar datos a un particin de
disco idntica a la de origen.
Productos Comerciales para Resguardo
Hay varios productos comerciales para hacer resguardos bajo plataforma
Linux. Estos generalmente proveen una interfaz y un sistema de reporte,
facilidades que al usar dump y tar, debe implementarlas el usuario. Las
ofertas comerciales son amplias en cuanto al rango de caractersticas
disponibles. El mayor beneficio que Ud. puede ganar al usar un producto
comercial es una estrategia pre-planificada para manejar resguardos que

solo debe poner en marcha. Los desarrolladores comerciales ya han


cometido (y prevenido), muchos de los errores que Ud. podra cometer y
el precio de su experiencia es poco comparado con la prdida de sus
preciosos datos.
Tivoli Storage
Manager
Probablemente la mejor utilidad de administracin de resguardos y
almacenamiento para Linux es el Tivoli Storage Manager. Tivoli Storage
Manager Server, su versin servidora, est disponible para varias
plataformas, incluyendo Linux y el cliente corre an sobre ms
plataformas.
Esencialmente, un Storage Manager Server es configurado con
los dispositivos apropiados para resguardar el entorno. Cualquier
sistema que participe de los resguardos debe ejecutar un cliente que se
comunicar con el servidor. Los resguardos pueden ser programados,
realizados manualmente desde la interfaz del Tivoli
Storage Manager, o incluso ser realizados de manera remota usando una
interfaz web.
La naturaleza basada en polticas de TSM implica que pueden
definirse reglas centrales para ejecutar resguardos sin tener que
ajustar constantemente una lista de archivos. Adicionalmente el IBM
Tivoli Storage Resource Manager puede identificar, evaluar, controlar y
predecir la utilizacin de la capacidad de almacenamiento a nivel
empresa, detectar potenciales problemas y automticamente aplicar
ajustes correctivos. Vea el sitio web de Tivoli (vea el enlace en la
seccin Recursos),
para ms detalles.

Resguardos y restauraciones pueden ser manejadas a travs de


dispositivos remotos.

Vaya y resguarde
El primer paso para tener un buen resguardo es tener un plan. Conocer
los datos que Ud. necesita preservar y cual ser la estrategia de
recuperacin a utilizar, luego deber usar las herramientas que mejor
se ajusten a ambos propsitos.
Linux incluye algunas tiles herramientas de resguardo "de
fbrica". Las dos ms comunes son tar y dump/restore.
Ambas son capaces de realizar resguardos completos de sistema. Usando
creativamente scripts Ud. puede disear esquemas personalizados
de resguardo tanto para sistemas locales como remotos.
An as, escribir sus propios scripts puede ser una gran
responsabilidad, especialmente cuando se trata de empresas gran tamao
y/o complicadas polticas de resguardo. Software comercial como el
Tivoli Storage Manager acorta la curva de aprendizaje y lo deja casi

inmediatamente al control de sus resguardos, aunque Ud. puede tener que


ajustar sus estrategias para adecuarlas a las capacidades de las
herramientas.

Recursos

Lea las otras partes (los originales en ingls), de la


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

La Linux
Administrator's
Security Guide es una gua de seguridad con una excelente seccin
sobre cuestiones prcticas en cuanto al resguardo y restauracin en
Linux.

Introduction
to Backing Up and Restoring Data es un repaso independiente del
sistema operativo o arquitectura de sistema. En l, el autor explora
las tcnicas de resguardo, as como las polticas de planeamiento de
resguardos.

Linux
Administration Made Easy es un referencia algo antigua, pero
todava til, ya que los procedimientos y tcnicas generales para Linux
han permanecido casi sin cambios.

The
Linux System
Administrator's Guide es una introduccin a la administracin de
sistemas Linux para novatos.

Securing
and Optimizing Linux - A Hands on Guide (Red Hat Edition) Captulo
7. Resguardo y Recuperacin. (en ingls), es otra buena gua que
incluye un script par hacer resguardos incrementales usando tar.

The TAO of Backup


es una interesante presentacin de la filosofa del resguardo. Aunque
est asociado a un producto comercial, la informacin est bien escrita.

El tutorial de IBM developerWorks


"Backing

up your Linux machines" lo lleva a travs del proceso de crear ye


implementar una estrategia de resguardo en entornos Linux.

Guardar datos en CD es fcil, aprenda cmo hacerlo en el


artculo de IBM developerWorks
"Burning
CDs on Linux".

Si est en transicin a Linux desde ambientes Windows, Ud.


debera leer el Technical
FAQ for Linux users.

El Tivoli Storage Manager fue votado como la Mejor Solucin


de Almacenamiento de Datos en LinuxWorld 2003. Aprenda ms sobre Tivoli
Storage Manager for Linux.

La pgina
de producto de Tivoli
tiene ms informacin sobre l, incluyendo caractersticas de seguridad
y privacidad.

Los permisos de archivo y seguridad son tratados en el Captulo


3 de la Gua de Introduccin a Linux (en ingls), del Linux
Documentation
Project.

Encuentre ms recursos para


desarrolladores
Linux en la zona Linux de developerWorks.

Acerca del
autor
Chris Walden es Arquitecto de e-business para los servicios de
consultora tcnica IBM Developer Relations (tambin conocidos como los dragonslayers) en
Austin, Texas, brindando
educacin, adiestramiento y servicios de consultora a
empresas asociadas a IBM. Es el fnatico oficial de Linux en su rea y
hace lo mejor que puede para difundir la buena nueva a quien quiera
oir. Adicionalmente a su tarea, administra el rea de infraestructura
de servidores solo-Linux, los cuales incluyen servicios de archivo,
impresin y otras aplicaciones en ambientes de usuarios de plataforma
mixta. Chris tiene diez aos de experiencia en la industria de la
computacin, desde el soporte tcnico en campo hasta el desarrollo de
aplicaciones web y consultora. Puedes localizar a Chris en cmwalden-at-us.ibm.com.

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

El Camino de Windows a Linux: Parte


9. Instalando Programas

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

Artculos

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 = "";

Uso
de RPMs precompilados y compilacin de aplicaciones desde el cdigo
fuente
Artculo
publicado primero en ingls 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 gua a travs una serie de nueve artculos de developerWorks
que trata acerca de la mudanza de sus habilidades informticas de
Windows a Linux. Finalizando esta serie de artculos bajaremos y
compilaremos un programa, luego discutiremos las ventajas y desventajas
de un sistema automatizado de administracin de paquetes, as como
tambin conoceremos el sistema RPM.
Una de las primeras cosas que va a notar cuando instale Linux
es que hay muchos paquetes de programas disponibles para su
distribucin. Muchas distribuciones incluyen el sistema operativo
Linux, las herramientas de instalacin y herramientas administrativas;
adems incluyen herramientas para redes e Internet, herramientas de
desarrollo, herramientas de oficina, juegos y algunas cosas de las Ud.
seguramente nunca ha odo. No es poco comn para una distribucin de
Linux incluir miles de
paquetes. Si en el momento de la instalacin no ha seleccionado
"instalar todo", entonces Ud. solo tiene instalado un pequeo
subconjunto de todos esos paquetes.
Seguro que ahora estar preguntndose "Como desinstalo
paquetes que no quiero? Cmo instalo cosas que necesito? Podr usar
programas que no estn includos en mi distribucin?

RPMs
Mientras instalaba Linux habr notado que muchos RPMs estaban
siendo instalados. RPM significa Redhat
Package Manager ("Administrador de Paquetes de Red Hat"), y es
una contribucin de la distribucin Red Hat que se ha convertido en el
estndar ms usado para administrar paquetes en muchas distribuciones.
Esencialmente, un RPM es un paquete que contiene programas
para Linux, listos para instalar y ejecutar sobre una arquitectura de
sistema en particular. Por ejemplo, ya hemos instalado el paquete
Webmin desde un RPM en la parte 3 de esta serie ("Introduccin a Webmin"). Todos los
programas inicialmente cargados en su distribucin fueron instalados
desde paquetes RPM.
Anatomia de un RPM
Un RPM es un paquete de archivo. Incluye un archivo .spec, el cual provee informacin
acerca del paquete, su funcin y dependencias (estas son aquellos
paquetes que deben estar

instalados para que el anterior pueda ejecutarse). El .spec tambin contiene una lista
de los archivos del paquete, la ubicacin donde debern ser cargados en
el sistema y cuales sern sus permisos inicialmente. Un RPM contiene
adems un script de pre-instalacin, escrito por el desarrollador del
paquete. A continuacin el RPM contiene los archivos binarios
compilados (los que constituyen la aplicacin propiamente dicha).
Finalmente contiene tambin un script de post-instalacin.
Esquema de un RPM
.spec
script de pre-instalacin
archivo binario
archivo binario
...
archivo binario
script de post-instalacin
Cuando un RPM es instalado, el sistema verifica primero si las
dependencias del paquete estn instaladas. Si no es as, finaliza y la
instalacin no se realiza, a menos que se haya especificado opciones
para forzar la instalacin an sin cumplimentar las dependencias.
El siguiente paso es ejecutar el script de pre-instalacin.
Este script puede realizar cualquier accin. Normalmente crea usuarios
y directorios, pero puede tambin realizar varios tipos dinmicos de
configuracin, incluso compilar cdigo fuente con opciones
personalizadas para el sistema.
Sepa donde han estado sus RPMs
Cuando se instala RPMs, se copian archivos al sistema y luego se
ejecutan scripts. Ya que RPM se ejecuta como root, todas estas
funciones se ejecutan con todo los permisos de acceso posibles a un
sistema. Es por lo tanto importante que Ud. conozca el origen de un
paquete RPM antes de instalarlo en su sistema. Al igual que con los
programas de Windows, cdigo malicioso puede ser includo dentro de un
paquete RPM tan fcilmente como en cualquier otro tipo de paquetes de
instalacin. Los RPMs del fabricante (la empresa u organizacin
que crea la distribucin), son generalmente seguros. Sea cuidadoso al
bajar e instalar cosas de fuentes desconocidas.
Si la ejecucin del script de pre-instalacin finaliza
exitosamente, los archivos binarios son copiados al sistema segn la
lista del paquete. Una vez realizado esto y seteados los permisos
iniciales, se ejecuta el script de post-instalacin. De nuevo, este
script es capaz de realizar cualquier accin.
Una vez completado todo el proceso, la informacin acerca del
paquete es aadida a la base de datos RPM, y se completa la
instalacin.
Con este simple sistema es posible realizar todas las
funciones que podran llegar a realizarse con el ms avanzado de los
instaladores comerciales de software.

La base de datos RPM


La pieza del sistema que aade el toque de elegancia es la base de
datos RPM. Est ubicada por defecto en el directorio /var/lib/rpm y
contiene informacin acerca de cada RPM instalado en el sistema. La
base de datos contiene las relaciones de dependencias entre paquetes y
advertir si se intenta desinstalar un paquete que rompa las
dependencias de otro. La base de datos tambin registra cada archivo
que fuera originalmente instalado desde un paquete y su estado
original. Tambin registra la ubicacin de la documentacin y los
archivos de configuracin de cada paquete.
Todo eso puede parecer mucha informacin, y lo es. Pero no
est sobrecargada, ni es superflua en absoluto. En un sistema con 1.066
paquetes instalados, contienendo un total de 203.272, la base de datos
de archivos solo tiene un tamao de 45 MBs (!). RPM usa esta base de
datos para checkear las dependencias cuando se instalan y desinstalan
paquetes. Los usuarios tambin pueden hacer bsquedas en la base de
datos para ubicar informacin acerca de paquetes.

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

rpm -i
(instalar)
Cuando Ud. instale un paquete por primera vez, usar el modificador -i
o modo de instalacin. Simplemente indique el nombre del paquete
binario que desea instalar y ejecute el comando. A continuacin el rpm
ser instalado en su sistema. La instalacin normalmente toma unos
pocos segundos. A menudo cuando instale un paquete, aadir el
modificador -v , que le mostrar ms informacin acerca del proceso; y
tambin puede que use -h, que le dar retroalimentacin visual
indicando el progreso del proceso de instalacin por medio de una barra
de signos # en la consola, as como un indicador nmerico de
porcentaje. 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 listo


para ser usado.

rpm solo puede ejecutarse como root


rpm instala y borra archivos al sistema,
adems de requerir acceso a la base de datos de paquetes, y por ello
solo puede ejecutarse como root.
rpm -e
(borrar)
Para desinstalar un paquete instalado, usar el modificador -e. rpm
usar la base de datos para borrar todos los archivos pertenecientes al
paquete en cuestin. Si hay otros paquetes instalados que dependan de
ese, rpm suspender la desinstalacin. Ud. se ver
forzado entonces a usar el modificador --nodeps que no tomar en cuenta
lo anterior y ejecutar la desinstalacin (--nodeps tambie puede ser
usado al instalar un paquete). Sea muy cuidadose al usar este
modificador para instalar o desinstalar. Borrar paquetes de los que
otros dependen puede tener consecuencias inesperadas. Aqu est el
comando para desinstalar el paquete instalado en el ejemplo anterior:
$ rpm -e MiPaquete
Observe no hace falta escribir el nombre completo del paquete
para desinstalarlo, este solo fue requerido en el momento de la
instalacin porque estbamos refiriendo un nombre de archivo. Los
paquetes ya instalados solo son referidos por su nombre, y este
consiste en cualquier cadena de caracteres previa al nmero de versin.
rpm -V
(verificar)
El modificador de verificacin es muy til; compara el estado actual de
los archivos de un paquete con el estado original de los mismos al
momento de la instalacin. Las diferencias son mostradas usando un
cdigo:
Resultados de la
verificacin de archivos
S
Diferencia de tamao del archivo
M
Diferencia de Modo (permisos, tipo de archivo y otros)
5
Diferencia de firma MD5
D
Diferencia de nmero mayor/menor de dispositivo
L
Diferencia de camino (path) readLink(2)
U
Diferencia de Usuario propietario
G
Diferencia de Grupo propietario

T
Diferencias mTime
Si ejecuta rpm -V sobre un paquete y descubre
que ha cambiado el tamao de un ejecutable, es posible que sea
evidencia de una brecha de seguridad en el sistema.
rpm -U
(actualizacin)
Una vez que un paquete ha sido instalado, cualquier intento de instalar
un paquete con el mismo nombre resultar en un mensaje que indicar que
el paquete ya est instalado. Si Ud. quiere actualizar un paquete a una
versin ms reciente, use el modificador -U
.
Cuando se ejecuta una actualizacin sobre mltiples nombres de
paquetes, rpm intentar ponerlos en orden de dependencias, es decir que
los paquetes requeridos sern instalados previamente a los que los
requieran. El modificador de actualizacin puede ser usado tanto si un
paquete est o no est ya instalado, por lo que mucha gente lo usa para
ambas cosas en vez de usar el modificador -i . Aqu hay
un ejemplo de uso con varios paquetes rpm:
Listado 2. Actualizacin con varios paquetes
$ rpm -Uvh My*.rpm
Preparing... ########################################### [100%]
1:bMyPackageDep ########################################### [ 50%]
1:aMyPackageNew ########################################### [100%]

En el caso de arriba, bMyPackageDep era un prerequisito para


aMyPackageNew, as aunque el orden de los nombres de archivos estaba al
revs, rpm
los orden como corresponda.
rpm -q
(bsqueda)
Varios tipos de informaciones tiles pueden ser buscadas dentro de la
base de datos rpm. Las bsquedas pueden ser realizadas por cualquier
usuario que tenga permisos de lectura sobre la misma. Por defecto,
todos los usuarios los tienen. Para realizar una bsqueda use el
modificador -q con el nombre del paquete que desea
ubicar, esto devolver el nombre y versin del mismo:
$ rpm -q MyPackage<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
MyPackage-1.0.0
El nombre del paquete debe ser tipeado correcta y
precisamente. No se permiten comodines. De todos modos, si Ud. no
recuerda el nombre exacto, puede usar la herramienta grep
para ayudarse. Use el modificador -qa

para buscar todos los paquetes instalados y "entube" la informacin


obtenida a travs de grep con la parte del nombre que Ud.
recuerda, por ejemplo:
La facilidad de grep
grep es una herramienta de bsqueda de texto.
Por defecto, busca en archivos mostrando las lneas que contienen el
texto a buscar. En nuestro ejemplo, buscamos "IBM". grep es muy
poderoso como herramienta de consola y para su uso en scripts.
$ rpm -qa | grep IBM<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMWSAppDev-Product-5.0-0<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMWSSiteDevExp-Core-5.0-0<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMWSSiteDev-Core-5.0-0<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMWSTools-WAS-BASE-V5-5.0-0<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMJava118-SDK-1.1.8-5.0<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMWSWB-samples-5.0-0<br
xmlns: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<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMWSAppDev-5.0-0<br
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
IBMWSTools-5.0-0
Adems de los nmeros de versin, rpm -q puede
proveer de otras informaciones tiles, por ejemplo:
Consiguiendo informacin de una bsqueda rpm
rpm -q changelog
Muestra el historial de cambios en el desarrollo de la
apliacin contenida en el paquete
rpm -qc
Muestra los archivos de configuracin del paquete
rpm -qd
Muestra los archivos de documentacin del paquete
rpm -qi
Muestra la descripcin del paquete
rpm -ql
Muestra una lista de archivos del paquete
rpm -qR
Muestra las dependencias del paquete
La bsqueda implica tambin otro interesante comando, el cual
se ejecuta sobre archivos en vez de paquetes:

rpm -q whatprovides &lt;filename&gt;


Ese comando identificar el paquete asociado con el nombre de
archivo dado, este debe incluir el camino (path), absoluto hasta el
archivo, ya que es de esa manera como la informacin est guardada en
la base de datos rpm.

Front-ends para RPM


Trabajar con rpm desde la consola es fcil, pero a veces es ms
conveniente trabajar con una interfaz grfica. Al estilo tpico de
Linux, hay programas front-end que proveen esta facilidad para el
programa rpm. Cada distribucin tiene por lo general su propio
front-end. Consulte la documentacin de su distribucin para mayor
informacin acerca de la herramienta de administracin de paquetes
provista.

"Paquete de Software" de Webmin


Webmin provee esta simple interfaz basada en web para trabajar con
paquetes rpm.
Los paquetes pueden ser fcilmente instalados, desinstalados y
se puede hacer bsquedas desde aqu. Tambin se puede hacer
instalaciones desde URLS. Si Ud. tiene instalados front-ends para el
sistema rpm, como apt, Webmin los usar y proveer una interfaz para
ellos.

Cdigo Fuente
Ya que Linux es un sistema operativo de cdigo fuente abierto, viene
con todas las herramientas de desarrollo necesarias para compilar
software. Aunque muchos de los paquetes que Ud. puede querer usar sern
provistos seguramente como RPMs binarios, no est limitado a ellos. Si
lo desea, puede bajar directamente el cdigo fuente y compilarlo de
manera personalizada para su sistema.
Ud. debera ser cuidadoso al compilar cdigo sobre un sistema
en produccin, ya que esto puede causar problemas o invalidar el
soporte tcnico de programas comerciales que est usando en el mismo,
como el IBM DB2 por ejemplo. An as familiarizarse con la compilacin
de cdigo le permitir aplicar parches a programas y trabajar con
software portado de otros ambientes. Adems de innumerables potenciales
ventajas en cuanto a mejoras de rendimiento y velocidad al compilar
para su arquitectura de hardware especfica. Una vez que Ud. haya
aprendido a compilar cdigo, le ser posible crear sus propios RPMs.

Demostracin con el cdigo de Corewars


Para demostrar cuan simple puede ser compilar desde el cdigo fuente,
lo haremos usando el de un juego de simulacin llamado Corewars. Esto
es un extracto de su sitio web: "Corewars es un juego de simulacin
donde un cierto nmero de guerreros intentan chocar contra otros
mientras estn dentro de una computadora virtual. Los guerreros pueden
ser escritos en uno de dos lenguajes tipo ensamblador especficos de la

computadora virtual, llamados Corewars y Redcode. El primero es el


lenguaje por defecto y es ms fcil de aprender y entender. Redcode
provee en cambio, instrucciones ms avanzadas y poderosas, pero
requiere ms tiempo para aprenderlo."
El primer paso para compilar desde cdigo es obtenerlo:

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

Una vez hecho lo anterior, descomprimo el paquete:


tar -xvzf corewars-0.9.13.tar.gz
El archivo es descomprimido en mi directorio actual. El
enfoque estndar para el cdigo fuente es ubicarlo en un directorio que
tiene el nombre y versin del programa. En este caso uno llamado
corewars-0.9.13.
Entro dentro de ese directorio y encuento el cdigo fuente,
algo de documentacin, los scripts de configuracin y los archivos
README. Muchos paquetes de cdigos vendrn con un archivo llamado
INSTALL y otro llamado README. Ud. debera leer ese material antes de
compilar el software, le salvarn con seguridad de muchos problemas
identificndolos antes que Ud. tenga que encontrrselos y advirtindole
acerca de los procedimientos correctos para hacer la compilacin e
instalacin sin problemas. Muchos inconvenientes que tuve al compilar
cdigo me ocurrieron simplemente porque no estaba orientado en la
direccin adecuada.
El siguiente paso ms comn es ejecutar el script configure
, este es parte del paquete Autoconf, includo con las herramientas de
desarrollo de su distribucin de Linux. Un fragmento tomado de la
descripcin del paquete de Autoconf: "El GNU Autoconf es una
herramienta para configurar cdigo fuente y Makefiles. Usando Autoconf,
los programadores pueden crear paquetes portables y configurables, ya
que la persona encargada de construir (compilar), el paquete puede
especificar diversas opciones de configuracin".
El script configure ejecuta una serie de tests
sobre el sistema para determinar el mejor modo de compilar el paquete
de cdigo para su distribucin y arquitectura. Luego crea un Makefile
personalizado para su sistema. Si hay algn problema para compilar en
su sistema, el script se lo informar. configure le
permitir por lo general personalizar las caractersticas includas en
el cdigo y/o le permitir parametrizar locaciones para libreras y
otros archivos necesarios para que el paquete de cdigo sea compilado
exitosamente. Aqu ejecutamos configure sin ningn
parmetro adicional:
./configure
Varios tests se ejecutan en el sistema y finalmente terminan
exitosamente. Ahora construiremos el programa haciendo:

make

Si la compilacin resulta en algn error, necesitar


determinar cual fue y solucionarlo. Esto puede no ser trivial y puede
requerir un buen nivel de conocimiento acerca del entorno y de
programacin en general. Si todo va bien , instalaremos el software
haciendo:

make install
Los archivos son copiados en las reas apropiadas del sistema,
sus permisos son actualizados, y los archivos de configuracin son
copiados y la documentacin es aadida a las pginas de manual.
Ahora testeemos nuestro trabajo ejecutando el programa. Es un
programa grfico, por lo que necesitaremos tener X corriendo para que
funcione. El The
make
install
que hicimos antes puso el programa en nuestro path, as
que ahora podemos ejecutarlo invocndolo:
corewars
La pantalla del programa debera aparecer ahora.

El tpico de cmo jugar al Corewars est fuera del objetivo de


este artculo, pero si Ud. quiere leer ms informacin sobre l,
refirase a la pgina de manual (man corewars).
La compilacin de Corewares es un escenario tpico. Hay muchos
posibles variaciones de escenarios, incluyendo alguno con cambios
manuales con el script configure
para ajustar caractersticas a compilar, o usando diferentes comandos
del Makefile para ajustar cmo se realiza la compilacin, entre otras
cosas.
Dado que este programa no fue instalado usando rpm, no hay
entradas en la base de datos rpm. Si el programa no funciona luego de
ser instalado, la mayora de los Makefiles incluyen una rutina de
desinstalacin para borrar el software:
make uninstall
Tenga en mente que al trabajar con cdigo fuente directamente
no se produce ninguna modificacin a la base de datos rpm, y por lo
tanto el software as instalado no est siendo administrado por lo que
Ud. debe ser cuidadoso al hacerlo.
RPMs de cdigo fuente (SRPMs - "Source" RPMs)
Cuando un RPM es creado, tambin existe un paquete asociado llamado RPM
de cdigo. ste es la combinacin de un archivo SPEC con el cdigo
fuente necesario para compilar el programa (para una o varias
arquitecturas). Esto representa lo mejor de ambos mundos, cdigo y

binarios. Con un RPM de cdigo fuente Ud. puede personalizar la


compilacin del software en su sistema, pero el producto terminado ser
tambin un RPM binario instalable en vez de solo binarios. Muchos
paquetes disponibles como RPM precompilados, estn tambin disponibles
en forma de SRPMs. Esto representa un modo simple de trasladar software
entre arquitecturas para Linux. Cuando Ud. haya tenido xito
recompilando para una plataforma, considere compartir su RPM terminado
con la comunidad.

Que el cdigo est contigo


Si es nuevo en Linux, para instalar software tiene que seguir pautas
diferentes de las que ha usado hasta ahora. Sin embargo, usar RPM para
esto es un modo elegante y provee un nivel de capacidades que pronto
apreciar.
Ud. debera familiarizarse con las opciones para trabajar con
rpms desde la consola, pero para el uso del da a da existen
front-ends que hacen los rpms fciles de manejar. Algunos vienen con su
distribucin y otros estn disponibles en la red, como Webmin.
Inclusive, Ud. no est limitado a los rpms precompilados, sino
que puede tomar ventaja de la naturaleza orientada al cdigo fuente de
Linux y compilar aplicaciones directamente desde el cdigo. La
compilacin es por lo general sencilla cuando se trata de programas ya
evolucionados. Recuerde que los programas instalados desde el cdigo no
estarn registrados en su base de datos rpm. Cuando trabaje con cdigo
considere usar srpms, lo cual le permitir combinar el poder de
compilar cdigo fuente adems de las facilidades para administrar de
los rpms.

Recursos

Lea las otras partes (los originales en ingls), de la


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

El tutorial de IBM developerWorks


LPI
certification 102 exam prep, Part 1: Compiling sources and managing
packages trata acerca de los administradores de paquetes de Red Hat
y Debian, as como de la compilacin de cdigo fuente y administracin
de libreras compartidas.

El tutorial de IBM developerWorks


Compiling
and installing software from sources va ms adentro en cuanto a
desempaquetar, inspeccionar, configurar e instalar software desde el
cdigo fuente.

El tutorial de IBM developerWorks


LPI
certification 102 exam prep, Part 2: Configuring and compiling the
kernel trata el tema de la configuracin y soporte de dispositivos
PCI y USB a nivel kernel.

Aprenda ms acerca de compilacin e instalacin de cdigo


fuente en la presentacin de IBM developerWorks,
Compiling
and installing software from sources .

Aprenda cmo crear sus propios paquetes con la presentacin


de IBM developerWorks
Create
Debian Linux packages and Packaging
software with RPM.

Aprenda acerca de los administradores alternativos de RPM y


Debian en la presentacin de IBM developerWorks
Manage
packages using Stow.

La actualizacin regular de software es una cuestin


importante en relacin con la seguridad. Aprenda como mantener su
sistema actualizado al da fcil y rpidamente con los tips del
artculo de IBM developerWorks,
Upgrading
applications from sources.

Aprenda ms acerca de United


Linux esta presentacin de IBM developerWorks.

SourceForge
es un excelente recurso para localizar proyectos de cdigo fuente
abierta; incluso puede aadir sus propio proyecto.

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

El sitio developerWorks
Open
source zone hospeda los proyectos de cdigo fuente abierto de IBM.

alphaWorks
de IBM ofrece fcil acceso a tecnologas emergentes de IBM como los
Servicios Web y paquetes de herramientas Grid .

IBM ofrece una suscripcin


Toolbox para un solo usuario, de bajo costo anual, para obtener
acceso a herramientas clave de IBM, middleware, y tecnologa.

La iniciativa de IBM, Speed-start


your Linux app 2003 ofrece un Linux Software
Evaluation
Kit (SEK) que incluye la DB2 Universal Database, WebSphere Application
Server, WebSphere Studio Site Developer, WebSphere MQ, Lotus Domino,
Tivoli Access Manager, y muchos otros.

Acerca del
autor
Chris Walden es Arquitecto de e-business para los servicios de
consultora tcnica IBM Developer Relations (tambin conocidos
como los dragonslayers) en Austin, Texas, brindando
educacin, adiestramiento y servicios de consultora a
empresas asociadas a IBM. Es el fnatico oficial de Linux en su rea y
hace lo mejor que puede para difundir la buena nueva a quien quiera
oir. Adicionalmente a su tarea, administra el rea de infraestructura
de servidores solo-Linux, los cuales incluyen servicios de archivo,
impresin y otras aplicaciones en ambientes de usuarios de plataforma
mixta. Chris tiene diez aos de experiencia en la industria de la
computacin, desde el soporte tcnico en campo hasta el desarrollo de
aplicaciones web y consultora. Puedes localizar a Chris en cmwalden-at-us.ibm.com.

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

Вам также может понравиться