You are on page 1of 43

Este material es un breve resumen del

contenido de la Clase Sistemas Operativos I

Manual
bsico
operativos I
Gua de estudio v1.4
Mayo 2014

Carlos Edgardo Amador Sandoval


Contenido
1. Introduccin ........................................................................................................................ 3
2. Unidad I ................................................................................................................................ 3
Las rutas absolutas .......................................................................................................................... 4
Las rutas relativas ............................................................................................................................ 5
Fechas de lanzamiento .................................................................................................................... 6
Lnea de tiempo del Linux ............................................................................................................... 8
Distribuciones.................................................................................................................................. 8
3. Arquitectura ........................................................................................................................ 9
4. Comandos bsicos .......................................................................................................... 10
Ejemplo1 1 parcial ......................................................................................................................... 16
5. Unidad 2 ............................................................................................................................. 17
6. Permisos de archivos y directorios .......................................................................... 18
Introduccin .................................................................................................................................. 18
Permisos en formato numrico octal ...................................................................................... 19
Estableciendo los permisos con el comando chmod ............................................................... 20
7. Estructura de control y bucles ................................................................................... 21
Variables y funciones.................................................................................................................... 21
Variables ................................................................................................................................... 21
Definiendo una variable ........................................................................................................... 22
Usando variables de entorno ................................................................................................... 22
Asignado resultados de comandos a variables........................................................................ 23
Usando caracteres especiales en variables ............................................................................. 23
Variables numericas ................................................................................................................. 23
Funciones .................................................................................................................................. 24
Estructuras de control y bucles .................................................................................................... 24
Comparaciones de cadenas alfanumericas.............................................................................. 25
Comparacion de valores numericos ......................................................................................... 25
Comprobacion de atributos de fichero .................................................................................... 25
if/else ........................................................................................................................................ 26
for .............................................................................................................................................. 27
while.......................................................................................................................................... 28

1
until ........................................................................................................................................... 29
case............................................................................................................................................ 29
select ......................................................................................................................................... 30
8. Archivos de configuracin de red ............................................................................. 30
Archivos de configuracin de interfaz........................................................................................... 31
Interfaces Ethernet.................................................................................................................... 31
9. Instalando desde paquetes precompilados .............................................................................. 33
Pasos para dar salida a Internet al equipo de Linux para nuestro laboratorio ................................. 34
Paso 1, aadir el adaptador virtual para salida a internet (la virtual debe de estar apagada) .... 34
Paso 2, verificar con ifconfig la informacin de la interfaz .......................................................... 34
Paso 3, configurar el archivo de la interfaz adicionada en el Linux, mediante un editor de texto
....................................................................................................................................................... 35
Paso 4, se deshabilita y habilita la interfaz .................................................................................. 36
Paso 5, hacer ping al gateway ...................................................................................................... 37
Paso 6, verificar el dns .................................................................................................................. 38
Paso 7, hacer ping a una pagina de internet ................................................................................ 38
Paso 8, abrir un navegador y empezar a navegar ........................................................................ 39
10. Como montar un disco duro en linux .................................................................................... 40
1er. paso - Particionar ................................................................................................................... 40
2do. paso - Crear filesystem .......................................................................................................... 41
3er. paso - Punto de montaje........................................................................................................ 41
4to. paso - Modificar el archivo fstab ........................................................................................... 42
5to. paso - Montarlo ..................................................................................................................... 42

2
1. Introduccin
El siguiente trabajo representa el material de estudio a utilizar para el curso de sistemas
operativos I, aqu se encuentra reunida de forma resumida la informacin bsica para el
desarrollo de la clase, se aclara que de igual forma el catedrtico podr proporcionarles
otros documentos de referencia o direcciones urls que les permitan enriquecer su
fuente bibliogrfica.

En este material hablaremos de los elementos bsicos a manejar de Linux, se aclara que
el material est diseado para aquellas personas que no han tenido interaccin alguna
con Linux como sistema operativo.

2. Unidad I
Objetivos de Aprendizaje

Al finalizar esta unidad, el alumno ser capaz de:


Describir qu es Linux?
Describir la Arquitectura de Linux
Aplicar los Comandos bsicos

Introduccin
Un sistema de computadora es un dispositivo electrnico programable que puede almacenar,
recuperar y procesar datos. Ejecuta un conjunto de instrucciones llamado programa.
La ejecucin del programa da al usuario final el resultado deseado. Un ejemplo de ejecucin de un
programa es cuando se trabaja con una calculadora en un sistema operativo Windows.

Una computadora es capaz de realizar mltiples tareas, tales como:


Ejecutar programas de usuario
Conectar computadoras en una Red de rea Local (Local rea Network LAN)
Compartir los recursos
Controlar su hardware

Para que una computadora sea capaz de hacer todo esto, requiere de un programa especial
llamado sistema operativo. El sistema operativo reside en el disco duro de la computadora y acta
como un puente entre los programas de usuario y los programas que controlan le hardware de la
computadora.

El sistema operativo trabaja principalmente en segundo plano. Se encarga de los componentes


hardware de una computadora, adems de asegurar el inicio y ejecucin de diversos programas.
Tambin se encarga de los datos almacenados en los dispositivos de almacenamiento de la
computadora.

3
El sistema operativo es el responsable de las siguientes funciones del sistema de computadora:
Arrancar o iniciar la computadora
Actuar como interfaz entre el CPU y el mundo externo
Coordinar los dispositivos del sistema
Coordinar las aplicaciones o programas en ejecucin

El sistema operativo controla todo el trabajo de la computadora. Sin el, la computadora solo es un
montn de circuitos electrnicos.

La figura ilustra el rol de un sistema operativo

Linux es un ncleo de sistema operativo libre tipo Unix. Es uno de los principales ejemplos de
software libre. Linux est licenciado bajo la GPL v2 y est desarrollado por colaboradores de todo
el mundo.

Tambin diremos que Linux es un sistema jerrquico de archivos los cuales se desprenden de la
nica unidad contenedora existente llamada raz, / (pleca), root (no confundir con el usuario root),
a diferencia de Windows que puede poseer ms de una unidad contenedora y esta usualmente
reciben el nombre de C:,D:,E:,F:, etc..

En la mayora de los sistemas operativos y sistemas de archivos una ruta se puede expresar en
forma relativa (o parcial) o en forma absoluta:

Las rutas absolutas sealan la ubicacin de un archivo o directorio desde el directorio raz
del sistema de archivos. Por ejemplo es una ruta absoluta /home/usuario/Notas.doc que seala la
ubicacin de Notas.doc desde la raz del sistema de archivos.

Esta sirve para ir a cualquier directorio desde cualquier parte en que estemos. Cuando algo comienza con /,
representa una ruta absoluta.

4
La imagen muestra el ejemplo de una ruta absoluta: /root/Unicah/Sistemas/Operativos.
Las rutas relativas sealan la ubicacin de un archivo o directorio a partir de la posicin
actual del sistema operativo en el sistema de archivos. Por ejemplo es una ruta relativa usuario/
Notas.doc que seala al archivo Notas.doc dentro del directorio usuario en la ubicacin actual. En
sistemas tipo UNIX, la ruta ~/ es una ruta relativa que lleva al directorio personal del usuario que
ha insertado la ruta relativa; por ejemplo, si el usuario juan tiene una imagen en su directorio
personal, esta imagen podra tener dos rutas de acceso, una relativa y una absoluta:

La absoluta: /home/usuario/Notas1parcial.xls

La relativa: usuario/Notas1parcial.xls

Cuando algo no comienza con /, representa una ruta relativa o parcial.

5
La imagen muestra el ejemplo de una ruta relativa o parcial: Unicah/Sistemas/Operativos.

Fechas de lanzamiento
Versin Fecha Nota

0.01 17 de septiembre de 1991 Initial Public Release

0.02 5 de octubre de 1991

0.11 8 de diciembre de 1991

0.95 7 de marzo de 1992

6
1.0.0 13 de marzo de 1994 Primera versin
estable

1.1.0 6 de abril de 1994 Versin de


desarrollo

1.2.0 6 de marzo de 1995

1.3.0 12 de junio de 1995 Versin de


desarrollo

2.0.0 9 de junio de 1996

2.1.0 30 de septiembre de 1996 Versin de


desarrollo

2.2.0 26 de enero de 1999

2.3.0 11 de mayo de 1999 Versin de


desarrollo

2.4.0 4 de enero de 2001

2.5.0 23 de noviembre de 2001 Versin de


desarrollo

2.6.0 18 de diciembre de 2003

2.6.25 16 de abril de 2008

2.6.30 10 de junio de 2009

2.6.35 1 de agosto de 2010

2.6.38 14 de marzo de 2011

2.6.38.2 23 de marzo de 2011

7
3.0 22 de julio de 2011

Lnea de tiempo del Linux

Distribuciones

Una distribucin Linux (coloquialmente llamada distro) es una distribucin de software basada en
el ncleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de
un grupo especfico de usuarios, dando as origen a ediciones domsticas, empresariales y para
servidores. Por lo general estn compuestas, total o mayoritariamente, de software libre, aunque
a menudo incorporan aplicaciones o controladores propietarios.

Adems del ncleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas
del proyecto GNU y el sistema de ventanas X Window System. Dependiendo del tipo de usuarios a
los que la distribucin est dirigida se incluye tambin otro tipo de software como procesadores
de texto, hoja de clculo, reproductores multimedia, herramientas administrativas, etctera. En el

8
caso de incluir herramientas del proyecto GNU, tambin se utiliza el trmino distribucin
GNU/Linux.

Existen distribuciones que estn soportadas comercialmente, como Fedora (Red Hat), openSUSE
(Novell), Ubuntu (Canonical Ltd.), Mandriva, y distribuciones mantenidas por la comunidad como
Debian y Gentoo. Aunque hay otras distribuciones que no estn relacionadas con alguna empresa
o comunidad, como es el caso de Slackware.

3. Arquitectura
Cuando se habla de arquitectura nos referimos a la forma en como est construida una
distribucin en particular todas las
distribuciones utilizan la estructura descrita
en este grafico como base arquitectura a
emplear, lo que hace que unas personas
prefieran una distribucin a otra es la
manera en como son construidas esas
distribuciones.

Cada da es ms grande el nmero de


distribuciones existentes en el mercado
alguna de ellas son para propsitos
generales y otras para propsitos
especficos, para el desarrollo de nuestro
curso emplearemos Linux Red Hat
Enterprise 5.

Ahora hablemos de los componentes de esta estructura general:

9
Linux no requiere de un equipo de ltima generacin para su configuracin mnima. Slo requiere de:
Un procesador 386SX o superior
4 MB de RAM (se recomienda tener 8 MB)
un controlador de disco duro y un disco duro con 20 MB de espacio libre (se recomienda tener 100 MB) (en la prctica, Linux se puede ejecutar
desde un simple disquete)
una unidad de CD-ROM
Hardware Con respecto a dispositivos perifricos , es mucho ms probable que Linux admita los componentes de hardware comnmente disponibles en el
mercado.

En informtica, un ncleo o kernel (de la raz germnica Kern) es un software que acta de sistema operativo.Es el principal responsable de
facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma ms bsica, es el encargado de gestionar recursos, a
travs de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, tambin se encarga de decidir qu
programa podr hacer uso de un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado. Acceder al hardware
directamente puede ser realmente complejo, por lo que los ncleos suelen implementar una serie de abstracciones del hardware. Esto permite
kernel esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.

Puesto que un sistema operativo no sirve de mucho sin aplicaciones que se ejecuten en el mismo, el sistema operativo de linux provee varias
aplicaciones populares existentes para GNU/Linux, por ejemplo:
Bases de datos relacionales Multiusuario
PostgreSQL.
MySQL (multiplataforma).
aplicaciones
base Bases de datos relacionales Monousuario
OpenOffice Base (multiplataforma, necesita Java).

Biblioteca de Funciones
Este punto hace referencia a
Entorno Grafico
bibliotecas de programas en Shell Texto
En Linux se puede elegir varios entornos grficos, los
Linux,Esto incluye las principales son:
bibliotecas estticas, libreras
compartidas, bibliotecas KDE: Es un entorno de escritorio con un aspecto
similar al de Windows con muchas funcionalidades El shell es simplemente un programa
dinmicamente cargado. incorporadas. Ideal para PCs que cuentan con un
que lee los comandos que se teclean y
mnimo de 128 Mb de memoria RAM
los convierte en una forma mas
GNOME: Es la principal alternativa existente a KDE
entendible para el sistema Unix/Linux.
para quienes estn acostumbrados a Windows. Tambien incluye algunas sentencias
Seguramente GNOME es una buena opcin para
quienes prefieren un entorno menos barroco que basicas de programacion que
KDE, aunque quizs posea a primera vista una permiten: tomar desiciones, realizar
interfaz menos familiar para los usuarios de ciclos y almacenar valores en variables.
Windows.

4. Comandos bsicos
A continuacin enumeraremos y explicaremos la lista de comandos bsicos a emplear para este
primer parcial. (Para efectos de aprendizaje se ir hablando de cada comando y haciendo un par
de ejercicios prcticos en el laboratorio de clases)

a. man comando

Todos los manuales de Linux estn dentro del propio sistema operativo, y este comando permite
acceder a la informacin correspondiente al comando comando.

Por ejemplo con

10
man who aparecer por pantalla y de forma formateada por pginas, la explicacin del comando
who. Se puede navegar a travs de estas pginas con los cursores del teclado, y presionando q
para salir.

man ls: muestra la informacin sobre el comando de visualizacin de la pantalla.

man dir: muestra la informacin sobre el comando que contiene los directorios.

man mkdir: muestra la informacin sobre la creacin de archivos.

man rmdir: muestra la informacin sobre borrar ficheros.

man pico: muestra la informacin sobre el uso de este editor de texto.

Linux Funcin DOS Ejemplo


Muestra la documentacin
man [nombreComando] de un determinado help man mkdir
comando.

b. Clear

Este comando limpia la consola.

Linux Funcin DOS Ejemplo


clear Borra la pantalla. cls clear

c. Comando pwd (Situacin actual)

El comando pwd (print working directory) visualiza o imprime la ruta del directorio en el que nos
encontramos en este momento. Este comando es uno de los pocos que no tiene opciones y se
utiliza escribiendo simplemente pwd , como lo vimos en la imagen muestra el ejemplo de una ruta
absoluta.

d. Comando cd: (Cambio de directorio)

Este comando permite cambiar de directorio a partir del directorio actual de trabajo. Por ejemplo,
cd /home/Pedro En este ejemplo pasamos del directorio actual de trabajo al nuevo directorio
/home/Pedro, que ser desde ahora nuestro nuevo directorio. cd directory Nos traslada al
subdirectorio directory (que deber existir como subdirectorio en el directorio actual).

Con cd .. Retrocedemos un nivel en la jerarqua de directorios. Por ejemplo, si estamos en


/home/Pedro y usamos este comando, pasaremos al escalafn inmediatamente superior de la
jerarqua de directorios, en este caso a /home. Nota: al contrario que en MS-DOS en Linux no
existe la forma cd.. sin espacio entre cd y los dos puntos.

Con cd Nos sita nuevamente en el directorio personal del usuario.

11
e. Comando mkdir (Creacin de subdirectorios)

Este comando (make directory) permite a cada usuario crear un nuevo subdirectorio, y se emplea
de la siguiente forma: mkdir subdir, donde subdir es el nombre del directorio que se va a crear.

f. Comando rmdir (Borrado de subdirectorios)

Este comando borra uno o ms directorios del sistema (remove directory), siempre que estos
subdirectorios estn vacos. Por ejemplo: rmdir subdir, donde subdir es el nombre del directorio
que se va a eliminar.

g. Comando ls (listado del contenido de directorios)

Una de las acciones ms habituales a la hora de trabajar es mostrar el contenido de un directorio,


para lo cual existen herramientas grficas. No obstante el shell incluye un programa con este
mismo fin: ls.

ls muestra los nombres de los ficheros y subdirectorios contenidos en el directorio en el que se


est. Slo se obtienen los nombres de los ficheros, sin ninguna otra informacin.

ls -a Muestra todos los ficheros incluyendo algunos que ordinariamente estn ocultos para el
usuario (aquellos que comienzan por un punto). Se recuerda que el fichero punto( . ) indica el
directorio actual y el doble punto ( .. ) el directorio padre, que contiene, al actual.

ls -l Esta es la opcin de lista larga: muestra toda la informacin de cada fichero incluyendo:
protecciones, tamao y fecha de creacin o del ltimo cambio introducido.

h. rm

rm es una orden de Unix usada para eliminar archivos y directorios del sistema de archivos. Esta
orden debe utilizarse con cautela, ya que puede ser muy destructiva, debido a que, al momento de
ser llamada, por omisin borra los archivos sin pedir confirmacin.
Proviene de la palabra remove que significa "borrar" en ingls.

Parmetros rm:
-r, Procesa subdirectorios de forma recursiva.
-i, Pide confirmacin para cada borrado.
-f, Forzado, ignora archivos no existentes y elimina cualquier aviso de confirmacin.

En ocasiones se crea un alias con el nombre "rm", redirigido a "rm -i", con el fin de evitar borrados
accidentales. Si un usuario desea borrar varios archivos sin confirmacin, se puede cancelar
manualmente la confirmacin con el modificador -f: "rm -f"

12
"rm -rf" (con variantes, "rm -rf /", "rm -rf *", entre otras) son frecuentemente usados en bromas y
ancdotas sobre desastres en Unix. Esta variante de la orden si es ejecutada por el administrador,
puede causar que todos los contenidos del sistema de archivos sean borrados.
Aunque no es equivalente, su uso en bromas es similar al de format c: en Windows.

Borra el archivo angel.cpp que est dentro de la carpeta /usr/home/anix/ estando en el


directorio /etc
rm /usr/home/anix/angel.cpp
Borrar todos los archivos .ogg dentro del directorio /usr/home/anix/musica
rm /usr/home/anix/musica/*.ogg
Borrar todo el directorio musica (si se omite f de -rf, el sistema solicitar confirmacin
para cada archivo que est en el directorio a eliminar).
rm -rf /usr/home/anix/musica

i. cp

cp es una orden de Unix usado para copiar archivos o directorios del sistema de archivos.
cp proviene de la palabra copy que significa copiar en Ingls.
La orden equivalente en DOS es copy.

j. mv

mv es un comando de Unix usado para mover o renombrar archivos o directorios del sistema de
archivos. El archivo original es borrado y el crea un nuevo archivo con el mismo contenido, el
nombre puede ser diferente o puede ser el mismo. En caso de que se use en la misma ruta con el
nombre del archivo y otro nombre solo cambiara el nombre del archivo.
mv proviene de la palabra move que significa mover en Ingls.

Ejemplos:
mv file1 file_1 renombra un archivo
mv File /file mueve 'File' a '/file'
mv file ./dir/file mueve 'file' a 'dir/file' Relativo al directorio

k. tar

Comprimir y descomprimir archivos es una de las tareas mas comunes que vamos a tener que
realizar en Linux por lnea de comandos. Podemos hacerlo mediante diversas herramientas, pero
existen dos que van a estar disponibles en casi cualquier distribucin.

Son dos herramientas que se tienen que utilizar de manera complementaria. Se trata de tar, que
simplemente empaqueta varios archivos en un nico fichero, y gzip, que hace la compresin
propiamente dicha.

El comando tar tiene la siguiente sintaxis:

13
tar [opciones] [origen] [destino]

Donde opciones son, por ejemplo, las siguientes:

c: crear un archivo
x: extraer de un archivo
t: listar los contenidos de un archivo
v: ver un reporte de las acciones a medida que se van realizando
f: empaquetar contenidos de archivos
z: para comprimir a la vez que se empaqueta

Como se puede ver, con la opcin z se puede comprimir en el mismo paso en el que se
empaqueta, lo que puede hacer las cosas ms rpidas y cmodas. De todos modos, tar
simplemente hace el empaquetado y es gzip el que realiza la compresin. Simplemente que
nosotros no tenemos que llamar a gzip, sino que ya lo hace directa e internamente tar.

Ejemplos

1) Si queremos empaquetar un directorio llamado "html" y guardar los datos en "html-paq.tar", lo


haramos con la sentencia:

tar cvf html-paq.tar html

2) Si queremos comprimir un directorio llamado "archivos" y guardarlo en un fichero llamado


"archivos-comp.tgz", `podramos hacer algo como esto:

tar czvf archivos-comp.tgz archivos

Si nos fijamos, en este caso el nombre del archivo comprimido le hemos puesto extensin .tgz, que
indica que est empaquetado y comprimido.

3) Si queremos desempaquetar un archivo llamado xxx.tar podemos utilizar un comando como


este:

tar xvf xxx.tar

Eso supone que tenemos el archivo xxx.tar en el mismo directorio desde donde lanzamos el
comando. Los contenidos se desempaquetarn en el mismo directorio donde estamos situados.

14
4) Si el archivo que queremos desempaquetar est comprimido. Es decir, si queremos
descomprimir y desempaquetar en un solo paso, tenemos que hacerlo con la opcin z del
comando tar. Algo como esto:
tar xzvf xxx.tgz

l. gzip

Gzip Nos permite descomprimir, ver y chequear la integridad de los archivos Gz.

m. gunzip

Unzip nos permite descomprimir archivos zip

n. >

Redireccin de escritura
Para escribir un archivo se utiliza >. Hay que tener mucho cuidado de no borrar un archivo
sobreescribindolo. Cuando se utilizan redirecciones, debido a su utilidad en los scripts, "no se
realizan confirmaciones".

Si el archivo a escribir ya existe desde antes, el redireccionador > lo sobreescribe con flujo de texto
nuevo.

En cambio el operador >> realiza un agregado de texto en el flujo existente.

No hay nada mejor que un ejemplo clarificador:

$ escribe-en-salida-estandar > archivo.txt


El (falso) comando escribe-en-salida-estndar justamente hace eso, escribe unas cuantas cosas en
salida estndar.

Puede ser un comando ls, un comando cal (calendario) o cualquier comando antes visto, as como
tambin una combinacin de comandos por tuberas.

En este punto, el contenido de archivo.txt es lo mismo que saldra en pantalla. Si ejecutamos otro
comando redireccionado a archivo.txt (nuevamente), ste pierde su contenido y el resultado de la
operacin pasa a estar en el mismo.

Cuando se necesita tener una lista de acontecimientos, no se quiere que un acontecimiento nuevo
borre a todos los anteriores. Para lograr esto agregamos en vez de sobreescribir.

$ echo Este es el acontecimiento Nro. 1 > bitacora.log

15
$ echo Este es el segundo acontecimiento >> bitacora.log

Nota:

En caso de emplear otros comandos estos sern explicados en la clase.

Ejemplo1 1 parcial
Ing Amador 2012

En base a los comandos enseados por su maestro cree la estructura aqu propuesta:

/
Respaldo

home

16
Unicah Facultades
Facultades.zip

UTH Carreras Carrera.mdf


Usuario

Chilo Maestrias Maestrias2011.rar

Unitec Doctorados ListaDoctorados.do


c

Metro Diplomados Diplomados_Diciembre.pdf

1. Cree la estructura aqu sealada


2. Agrupe la carpeta Unicah y copie la agrupacin en la carpeta Respaldo
3. Comprima el archivo Diplomados_Diciembre.pdf y lo mueva a la carpeta Respaldo
4. Duplique el archivo Maestrias2011.rar y lo llame Maestrias2011.rar.back
5. Borre la carpeta Unicah y sus archivos recursivamente
Repaso:

Responda con claridad para que se utilizan estos comandos:

1. mkdir 7. tail 14. more 20. Que es el kernel de Linux y


2. rmdir 8. gzip 15. ll que hace
3. rm 9. gunzip 16. > 21. Que el Shell de Linux y que
4. pwd 10. mv 17. ls l > archivo.txt hace.
5. cd 11. cp 18. Que es la ruta parcial
6. cat 12. clear 19. Que es la ruta absoluta 22. Cul es la unidad
13. tar contendedora de linux

5. Unidad 2
Objetivos de Aprendizaje

Al finalizar esta unidad, el alumno ser capaz de:

1. Describir como funcionan los permisos sobre archivos y directorios


2. Crear estructura de control y bucles
3. Aplicar los comandos asociados a la configuracin la red.

17
4. Instalar paquetes precompilados bajados desde internet.
5. Instalar discos duros en el sistema operativo.

6. Permisos de archivos y
directorios
autor: sergio.gonzalez.duran@gmail.com

Introduccin

Has visto esa combinacin de r,w,x y - cuando listas un directorio?, tienes cierta idea que son los
permisos, pero como se usan y como funcionan?. En este manual sobre permisos de archivos y
directorios de LinuxTotal entenders totalmente su uso y la manera correcta de utilizarlos.

En Linux, todo archivo y directorio tiene tres niveles de permisos de acceso: los que se aplican al
propietario del archivo, los que se aplican al grupo que tiene el archivo y los que se aplican a todos
los usuarios del sistema. Podemos ver los permisos cuando listamos un directorio con ls -l:
$> ls -l
-rwxrwxr-- 1 sergio ventas 9090 sep 9 14:10 presentacion
-rw-rw-r-- 1 sergio sergio 2825990 sep 7 16:36 reporte1
drwxr-xr-x 2 sergio sergio 4096 ago 27 11:41 videos

Veamos por partes el listado, tomando como ejemplo la primera lnea. La primera columna (-
rwxrwxr--) es el tipo de archivo y sus permisos, la siguiente columna (1) es el nmero de enlaces al
archivo, la tercera columna (sergio) representa al propietario del archivo, la cuarta columna
(ventas) representa al grupo al que pertence al archivo y las siguientes son el tamao, la fecha y
hora de ltima modificacin y por ltimo el nombre delarchivo o directorio.

El primer caracter al extremo izquierdo, representa el tipo de archivo, los posibles valores para
esta posicin son los siguientes:
- un guin representa un archivo comun (de texto, html, mp3, jpg, etc.)
d representa un directorio
l link, es decir un enlace o acceso directo
b binario, un archivo generalmente ejecutable

Los siguientes 9 restantes, representan los permisos del archivo y deben verse en grupos de 3.

Los tres primeros representan los permisos para el propietario del archivo. Los tres siguientes son
los permisos para el grupo del archivo y los tres ltimos son los permisos para el resto del mundo
o otros.
rwx rwx rwx

18
usuario grupo otros

En cuanto a las letras, su significado son los siguientes:


r read - lectura
w write - escritura (en archivos: permiso de modificar, en directorios: permiso de crear
archivos en el dir.)
x execution - ejecucin

Las nueve posiciones de permisos son en realidad un bit que o esta encendido (mostrado con su
letra correspondiente) o esta apagado (mostrado con un guin -), asi que, por ejemplo, permisos
como rwxrw-r--, indicara que los permisos del propietario (rwx) puede leer, escribir y ejecutar el
archivo, el grupo (o sea los usuarios que esten en mismo grupo del archivo) (rw-) podr leer y
escribir pero no ejecutar el archivo, y cualquier otro usuario del sistema (r--), solo podr leer el
archivo, ya que los otros dos bits de lectura y ejecuccin no se encuentran encendidos o activados.

Permisos en formato numrico octal

La cambinacin de valores de cada grupo de los usuarios forma un nmero octal, el bit x es 2 0 es
decir 1, el bit w es 21 es decir 2, el bit r es 22 es decir 4, tenemos entonces:
r=4
w=2
x=1

La combinacin de bits encendidos o apagados en cada grupo da ocho posibles combinaciones de


valores, es decir la suma de los bits encendidos:
- - - = 0 no se tiene ningn permiso
- - x = 1 solo permiso de ejecucin
- w - = 2 solo permiso de escritura
- w x = 3 permisos de escritura y ejecucin
r - - = 4 solo permiso de lectura
r - x = 5 permisos de lectura y ejecucin
r w - = 6 permisos de lectura y escritura
r w x = 7 todos los permisos establecidos, lectura, escritura y ejecucin

Cuando se combinan los permisos del usuario, grupo y otros, se obtienen un nmero de tres cifras
que conforman los permisos del archivo o del directorio. Esto es ms fcil visualizarlo con algunos
ejemplos:
Permisos Valor Descripcin

19
rw------- 600 El propietario tiene permisos de lectura y escritura.

rwx--x--x 711 El propietario lectura, escritura y ejecucin, el grupo y otros solo ejecucin.

El propietario lectura, escritura y ejecucin, el grupo y otros pueden leer y


rwxr-xr-x 755
ejecutar el archivo.

rwxrwxrwx 777 El archivo puede ser leido, escrito y ejecutado por quien sea.

Solo el propietario puede leer el archivo, pero ni el mismo puede modificarlo o


r-------- 400
ejecutarlo y por supuesto ni elgrupo ni otros pueden hacer nada en el.

El usuario propietario puede leer y escribir, el grupo puede leer el archivo y


rw-r----- 640
otros no pueden hacer nada.

Estableciendo los permisos con el comando chmod

Habiendo entendido lo anterior, es ahora fcil cambiar los permisos de cualquier archivo o
directorio, usando el comando chmod (change mode), cuya sintaxis es la siguiente:

chmod [opciones] permisos archivo[s], algunos ejemplos:


$> chmod 755 reporte1
$> chmod 511 respaldo.sh
$> chmod 700 julio*
$> chmod 644 *

Los ejemplos anterior establecen los permisos correspondientes que el usuario propietario desea
establecer, el tercer ejemplo (chmod 700 julio*) cambiar los permisos a todos los archivos que
empiezen con julio (julio01, julio02, julio_respaldo, etc.) debido al caracter '*' que es parte de las
expresiones regulares que el shell acepta, e indica lo que sea. El ltimo ejemplo por lo tanto
cambiar los permisos a los archivos dentro del directorio actual.

Una opcin comn cuando se desea cambiar todo un rbol de directorios, es decir, varios
directorios anidados y sus archivos correspondientes, es usar la opcin -R, de recursividad:
$> chmod -R 755 respaldos/*

Esto cambiar los permisos a 755 (rwxr-xr-x) del directorio respaldos y de todos los subdirectorios
y archivos que estn contenidos dentro de este.

20
7. Estructura de control y
bucles
Variables y funciones
#!/bin/bash
#
# Esto es un ejemplo en Bash del clasico "Hola Mundo"
#

echo "Hola Mundo"

Como podeis ver, nada dificil para empezar. Empecemos a explicar un poco que significa cada
linea:

#!/bin/bash: Esta linea indica donde se encuentra el interprete de comandos en nuestro sistema.
Por defecto todos los sistemas que tengan Bash instalado, lo tendran en el directorio /bin. Al
utilizar esta linea, podremos ejecutar el script como un programa normal, ya que el sistema sabra
que es un script en Bash y que tiene que hacer con el.

Si el script de ejemplo lo hubiesemos grabado como ejemplo.sh, lo podriamos ejecutar de la


siguiente manera:

[ralfm@desktop]# chmod ugo+x ejemplo.sh


[ralfm@desktop]# ./ejemplo.sh
Hola Mundo

# Esto es un ejemplo en Bash del clasico "Hola Mundo": Esto es un comentario. Todas las lineas
que empiecen con el simbolo '#' seran tratadas como comentarios y no se ejecutaran.

echo "Hola Mundo": Esto es el comando que imprime la cadena de texto en pantalla.

Variables

21
En todo script tendreis que trabajar con variables, mas tarde o mas temprano. Vamos a ver como
se definen y usan. Una buena costumbre cuando definamos variables en Bash es utilizar letras
mayusculas, esto no es necesario, pero nos ayudara a tener un script mas facil de entender.

Definiendo una variable


#!/bin/bash
#
# Esto es un ejemplo en Bash del clasico "Hola Mundo"
#

MENSAJE="Hola Mundo"
echo $MENSAJE

Hemos definido una variable llamada MENSAJE con el valor "Hola Mundo", y la hemos usado con
el comando echo para escribir el valor de la misma. Las variables en Bash se definen como
NOMBRE=valor (sin espacios antes o despues del simbolo '=') y su valor se usa, poniendo el
simbolo '$' delante del nombre de la variable, $NOMBRE.

Si al utilizar el valor de una variable, el nombre de variable esta seguido de un caracter que sea
otra letra, numero o el simbolo '_', tendremos que utilizar los simbolos '{}' alrededor del nombre
de la variable.

#!/bin/bash

FICHERO="registro"
echo ${FICHERO}_2006.txt
Usando variables de entorno
#!/bin/bash

echo "El usuario '$USERNAME' ha ejecutado el script $0, en el ordenador '$HOSTNAME'. "

Tambien se pueden usar en nuestro scripts, variables que no hemos definido nosotros. Estas
variables son las llamadas 'variables de entorno' del sistema. Teneis una lista con las mas
importantes por defecto, en el segundo articulo de esta serie, Bash (II) - Comandos, variables de
entorno y combinaciones de teclas. En nuestro ejemplo hemos utilizado $USERNAME y

22
$HOSTNAME para obtener el nombre de usuario y del ordenador. La variable $0 contiene el
nombre del script, mas adelante explicaremos esto.

Asignado resultados de comandos a variables


#!/bin/bash

ATRIBUTOS_SCRIPT=`/bin/ls -l $0`

echo "El usuario '$USERNAME' ha ejecutado el script $0, en el ordenador '$HOSTNAME'. "
echo "Los atributos del script son: "
echo $ATRIBUTOS_SCRIPT

Tambien podemos asignar la salida que producen los comandos del sistema a una variable. En
nuestro ejemplo hemos asignado la salida del comando 'ls -l a una variable llamada
ATRIBUTOS_SCRIPT. Esto nos sera muy util en nuestros scripts para obtener informacion del
sistema que podremos utilizar en nuestros scripts.

Usando caracteres especiales en variables

Existen una serie de caracteres que tienen un significado especial en Bash, por ejemplo $ y ". Si
queremos usar literalmente estos caracteres en el valor de una variable tendremos que usar el
simbolo '\' delante de ellos.

#!/bin/bash

MENSAJE="\"Hola Mundo ...\""


echo "El valor de la variable \$MENSAJE es $MENSAJE"
Variables numericas

Si queremos definir variables numericas para su utilizacion en scripts Bash podemos utilizar el
comando let. Nada mejor que un ejemplo para ver como se trabaja con variables numericas.

#!/bin/bash

let A=100
let B=200
let C=$A+$B

23
echo "A: $A | B: $B | C: $C"
Funciones

En Bash se pueden definir funciones. Una funcion en Bash (denominada subrutina o


procedimiento en otros lenguajes de programacion) se podria definir como un script dentro de un
script. Sirve para organizar un script en unidades logicas de manera que sea mas facil mantenerlo y
programarlo. En Bash las funciones se pueden definir de la siguiente manera:

function nombre_de_funcion(){
comandos_del_shell
}

Un ejemplo de funcion en un script:

#!/bin/bash

let A=100
let B=200

#
# Funcion suma()
# Suma los variables A y B
#
function suma(){
let C=$A+$B
echo "Suma: $C"
}

#
# Funcion resta()
# Resta los variables A y B
#
function resta(){
let C=$A-$B
echo "Resta: $C"
}

suma
resta

Estructuras de control y bucles

24
En Bash existen estas construcciones para controlar el flujo de ejecucion de un script:

if/else: Ejecuta una serie de comandos dependiendo si una cierta condicion se cumple o
no.
for: Ejecuta una serie de comandos un numero determinado de veces.
while: Ejecuta una seria de comandos mientras que una determinada condicion sea
cumpla.
until: Ejecuta una serie de comandos hasta que una determinada condicion se cumpla.
case: Ejecuta una o varias listas de comandos dependiendo del valor de una variable.
select: Permite seleccionar al usuario una opcion de una lista de opciones en un menu.

La mayoria de condiciones utilizadas con estas construcciones son comparaciones de cadenas


alfanumericas o numericas, valores de terminacion de comandos y comprobaciones de atributos
de ficheros. Antes de seguir viendo como estas construcciones se pueden utilizar, vamos a ver
como las condiciones se pueden definir.

Comparaciones de cadenas alfanumericas


Operador Verdad (TRUE) si:
------------------------------------------
cadena1 = cadena2 cadena1 es igual a cadena2
cadena1 != cadena2 cadena1 no es igual a cadena2
cadena1 < cadena2 cadena1 es menor que cadena2
cadena1 > cadena 2 cadena1 es mayor que cadena 2
-n cadena1 cadena1 no es igual al valor nulo (longitud mayorque 0)
-z cadena1 cadena1 tiene un valor nulo (longitud 0)
Comparacion de valores numericos
Operador Verdad (TRUE) si:
------------------------------------------
x -lt y x menor que y
x -le y x menor o igual que y
x -eq y x igual que y
x -ge y x mayor o igual que y
x -gt y x mayor que y
x -ne y x no igual que y
Comprobacion de atributos de fichero
Operador Verdad (TRUE) si:
------------------------------------------
-d fichero fichero existe y es un directorio

25
-e fichero fichero existe
-f fichero fichero existe y es un fichero regular (no un
directorio, u otro tipo de fichero especial)

-r fichero Tienes permiso de lectura en fichero


-s fichero fichero existe y no esta vacio
-w fichero Tienes permiso de escritura en fichero
-x fichero Tienes permiso de ejecucion en fichero (o de busqueda
si es un directorio)

-O fichero Eres el dueo del fichero


-G fichero El grupo del fichero es igual al tuyo.

fichero1 -nt fichero2 fichero1 es mas reciente que fichero2


fichero1 -ot fichero2 fichero1 es mas antiguo que fichero2

Podemos combinar varias condiciones con los simbolos '&&' (AND) y '||' (OR), y negar una
condicion con '!'. Unos ejemplos mas adelante aclararan como utilizarlos.

if/else

La sintaxis de esta construccion es la siguiente:

if "condicion"
then
"comandos"
[elif "condicion"
then
"comandos"]
[else
"comandos"]
fi

Como ya hemos dicho, podemos comprobar los valores de terminacion de un comando, y


comparar cadenas alfanumericas/numericas y atributos de ficheros. Nada mejor que unos
ejemplos para aclararnos las ideas.

#!/bin/bash
#
# Comprobando terminacion de un comando
#

26
DIRECTORIO="/tmp/test"

COMANDO="/bin/mkdir $DIRECTORIO"

if $COMANDO
then
echo "$DIRECTORIO ha sido creado"
else
echo "$DIRECTORIO no pudo ser creado"
fi
#!/bin/bash
#
# Comparacion de cadenas alfanumericas
#

CADENA1="uno"
CADENA2="dos"
CADENA3=""

if [ $CADENA1 = $CADENA2 ]; then


echo "$CADENA1 es igual a $CADENA2"

elif [ $CADENA1 != $CADENA2 ]; then


echo "$CADENA1 no es igual a $CADENA2"

fi

if [ -z $CADENA3 ]; then
echo "$CADENA3 esta vacia"
fi
--------------------------------------------------
#!/bin/bash
#
# Comparacion de valores numericos
#

let NUM1=1
let NUM2=2
let NUM3=3

if [ $NUM1 -ne $NUM2 ] && [ $NUM1 -ne $NUM3 ]; then


echo "$NUM1 es diferente a $NUM2 y $NUM3"
fi

if [ $NUM1 -lt $NUM3 ]; then


echo "$NUM1 es menor que $NUM3"
fi
for

27
La sintaxis de esta construccion es la siguiente:

for nombre [in lista]


do
comandos que pueden utilizar $nombre
done

Un ejemplo nos aclarara las cosas. Vamos a listar informacion en el DNS de una lista de direcciones
web:

#!/bin/bash

for HOST in
do
echo "-----------------------"
echo $HOST
echo "-----------------------"

/usr/bin/host $HOST
echo "-----------------------"

done
while

La sintaxis de esta construccion es la siguiente:

while condicion
do
comandos
done

Un ejemplo simple con while en donde escribimos el valor de una variable 10 veces, despues de
incrementar su valor:

#!/bin/bash

NUM=0

while [ $NUM -le 10 ]; do


echo "\$NUM: $NUM"
let NUM=$NUM+1
done

28
until

La sintaxis de esta construccion es la siguiente:

until condicion; do
comandos
done

Un ejemplo simple con until en donde escribimos el valor de una variable 10 veces, despues de
incrementar su valor:

#!/bin/bash

NUM=0

until [ $NUM -gt 10 ]; do


echo "\$NUM: $NUM"
let NUM=$NUM+1
done
case

La sintaxis de esta construccion es la siguiente:

case expresion in
caso_1 )
comandos;;
caso_2 )
comandos;;
......
esac

Un ejemplo simple con case para aclarar las cosas:

#!/bin/bash

for NUM in 0 1 2 3
do
case $NUM in
0)
echo "\$NUM es igual a cero";;
1)
echo "\$NUM es igual a uno";;

29
2)
echo "\$NUM es igual a dos";;
3)
echo "\$NUM es igual a tres";;
esac
done
select

La sintaxis de esta construccion es la siguiente:

select nombre [in lista]


do
comandos que pueden utilizar $nombre
done

Un ejemplo simple para aclarar las cosas.

#!/bin/bash

select OPCION in opcion_1 opcion_2 opcion_3


do
if [ $OPCION ]; then
echo "Opcion elegida: $OPCION"
break
else
echo "Opcion no valida"
fi
done

8. Archivos de configuracin
de red
Antes de ahondar en los archivos de configuracin de interfaz, hagamos una lista de los archivos de
configuracin principales usados en la configuracin de la red. La comprensin del papel que desempean
estos archivos en la configuracin de la red puede ser de ayuda a la hora de personalizar un sistema Red Hat
Enterprise Linux.

Los principales archivos de configuracin de la red son los siguientes:

/etc/hosts El principal propsito de este archivo es resolver los nombres de hosts que no se
pueden resolver de otra manera. Tambin se puede usar para resolver nombres de hosts en
pequeas redes sin servidor DNS. Sin tener en cuenta el tipo de red en que se encuentre el
ordenador, este archivo debe contener un lnea que especifica la direccin IP del dispositivo

30
loopback (127.0.0.1) como por ejemplo localhost.localdomain. Para mayor informacin consulte la
pgina man de hosts.
/etc/resolv.conf Este archivo especifica las direcciones IP de los servidores DNS y el dominio de
bsqueda. A menos que se haya configurado para algo diferente, los scripts de inicializacin de la
red llenan este archivo. Para mayor informacin consulte la pgina man de resolv.conf.
/etc/sysconfig/network Especifica la informacin del routing y del host para todas las interfaces
de red.
/etc/sysconfig/network-scripts/ifcfg-<nombre-interfaz> Para cada interfaz de red existe un
script de configuracin de interfaz correspondiente. Cada uno de estos archivos
proporcionan informacin especfica para una interfaz de red determinada.

Archivos de configuracin de interfaz


Los archivos de configuracin de interfaz controlan las interfaces de software para dispositivos de red
individuales. Cuando su sistema arranca, utiliza estos archivos para saber qu interfaces debe activar y cmo
configurarlas. Estos archivos habitualmente se conocen como ifcfg-<name>, donde <name> hace referencia
al nombre del dispositivo que controla el archivo de configuracin.

Interfaces Ethernet

Uno de los archivos de interfaz ms comunes es ifcfg-eth0, que controla la primera tarjeta de interfaz de red
Ethernet o NIC en el sistema. En un sistema con mltiples NICs, tendr archivos ifcfg-eth<X> mltiples,
(donde <X> es un nmero nico correspondiente a una interfaz especfica). Como cada dispositivo tiene su
propio archivo de configuracin, un administrador podr controlar cmo cada interfaz funciona
individualmente.

Lo siguiente es un ejemplo de un archivo ifcfg-eth0 para un sistema que usa una direccin IP fija:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no

Los valores que se requieren en un archivo de configuracin de interfaz pueden cambiar basndose en otros
valores. Por ejemplo, el archivo ifcfg-eth0 para una interfaz que use DHCP se ver bastante diferente, debido
al hecho de que la informacin IP viene proporcionada por el servidor DHCP:

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

La Herramienta de administracin de redes (system-config-network) es una forma fcil de hacer los


cambios a los diferentes archivos de configuracin Sin embargo, tambin es posible modificar los archivos
de configuracin para una interfaz de red dada, manualmente.

Abajo hay un listado de los parmetros configurables en un archivo de configuracin de interfaz Ethernet.

31
BOOTPROTO=<protocolo>, donde <protocolo> es uno de los siguientes:
o none No se debera utilizar ningn protocolo de tiempo de arranque.
o bootp Se debera utilizar el protocolo BOOTP.
o dhcp Se debera utilizar el protocolo DHCP.
BROADCAST=<direccion>, donde <direccion> es la direccin de difusin. Esta directriz ha sido
descontinuada, pues el valor es calculado automticamente con ifcalc.
DEVICE=<nombre>, donde <nombre> es el nombre del dispositivo fsico (a excepcin de los
dispositivos PPP asignados de forma dinmica donde es el nombre lgico).
DHCP_HOSTNAME Solamente utilice esta opcin si el servidor DHCP requiere que el cliente
especifique un nombre de host antes de recibir una direccin IP. (El demonio del servidor DHCP en
Red Hat Enterprise Linux no es compatible con esta funcionalidad.)
DNS{1,2}=<direccion>, donde <direccion> es la direccin del servidor de nombres que se tiene que
colocar en /etc/resolv.conf si la directriz PEERDNS est en yes.
ETHTOOL_OPTS=<opciones>, donde <opciones> son cualquiera de las opciones especficas del
dispositivo soportadas por ethtool. Por ejemplo, si desea forzar a 100Mb, full duplex:

ETHTOOL_OPTS="autoneg off speed 100 duplex full"

Tenga en cuenta que el cambiar la velocidad o las configuraciones de duplex casi siempre requieren
desactivar la negociacin automtica con la opcin autoneg off. Se necesita iniciar esto primero,
pues las entradas para las opciones dependen del orden.
GATEWAY=<direccion>, donde <direccion> es la direccin IP del enrutador o dipositivo de puerta de
enlace (si existe).
HWADDR=<direccion-MAC>, donde <direccion-MAC> es la direccin de hardware del dispositivo
Ethernet en la forma de AA:BB:CC:DD:EE:FF. Esta directriz es til para las mquinas con mltiples
NICs para asegurarse que las interfaces se les asignan los nombres correctos de dispositivos sin
importar el orden de carga configurado para cada mdulo NIC. Esta directriz no debera ser usada
en conjunto con MACADDR.
IPADDR=<direccion>, donde <direccion> es la direccin IP.
MACADDR=<direccion-MAC>, donde <direccion-MAC> es la direccin de hardware del dispositivo
Ethernet en la forma de AA:BB:CC:DD:EE:FF. Esta directriz es utilizada para asignar una direccin
MAC a una interfaz, ignorando la asignada a la NIC fsica. Esta directriz no debera ser usada en
conjunto con HWADDR.
MASTER=<interfaz-vinculo>,donde <interfaz-vinculo> es la interfaz de unin de canales a la cual la
interfaz Ethernet est vinculada.

Esta directriz es usada en conjunto con la directriz SLAVE.

NETMASK=<mascara>, donde <mascara> es el valor de la mscara de red.


NETWORK=<direccion>, donde <direccion> es la direccin de red. Esta directriz ya no se usa, pues el
valor es calculado automticamente con ifcalc.
ONBOOT=<respuesta>, donde <respuesta> es una de las siguientes:
o yes El dispositivo debera activarse en el momento de arranque.
o no Este dispositivo no debera activarse en el momento de arranque.
PEERDNS=<respuesta>, donde <respuesta> es una de las siguientes:
o yes Modifica /etc/resolv.conf si est activada la directriz DNS. Si est usando DCHP, la
opcin yes es la predeterminada.
o no No modificar /etc/resolv.conf.
SLAVE=<interfaz-vinculo>,donde <interfaz-vinculo> es una de las siguientes:
o yes Este dispositivo es controlado por la interfaz de unin de canales especificado en la
directriz MASTER.

32
o no Este dispositivo no es controlado por la interfaz de unin de canales especificada en
la directriz MASTER.

Esta directriz es usada en conjunto con la directriz MASTER.

SRCADDR=<direccion>, donde <direccion> es la direccin IP de la fuente especfica para los


paquetes salientes.
USERCTL=<respuesta>, donde <respuesta> es una de las siguientes:
o yes Los usuarios que no sean root pueden controlar este dispositivo.
o no No se les permite controlar este dispositivo a los usuarios que no sean root.

9. Instalando desde paquetes


precompilados
Los paquetes precompilados son programas ya compilados y empaquetados
especialmente para cada distribucin, as que cuando los descarguemos tendremos
que descargar uno que est preparado para la distribucin que usemos. Explicaremos
los dos tipos de paquetes ms extendidos que hay: rpm y deb

Instalando paquetes rpm


Los rpm son el tipo de paquetes que usan las distribuciones como RedHat, Fedora,
Suse o Mandrake. Estas distribuciones tienen una herramienta (comando) para
administrar este tipo de paquetes: instalarlos, borrarlos, listar los instalados, etc.
Podemos ver todas sus capacidades con man rpm.

Nosotros nos limitaremos a ver cmo instalar o borrar un paquete rpm que hemos
descargado. Hemos de instalrlos como root ya que los rpms vienen preparados para
instalarse en los directorios del sistema, as que necesitaremos permiso para escribir
en ellos. Los comandos que nos servirn son los siguientes:

Instalar paquetes:

# rpm -Uvh <paquetes rpm>


# rpm -ivh <paquetes rpm>
El segundo comando simplemente nos instala un paquete (o varios). El primero en
cambio, si estamos instalando una versin nueva de un paquete que ya tenemos, lo
actualiza; si no lo tenemos lo instala. Es recomendable utilizar el primero.

Eliminar paquetes:

# rpm -e <paquete rpm>


Listar paquetes instalados:

# rpm -qa

33
# rpm -qa | grep <patron>
Con el primer comando listamos en pantalla todos los paquetes instalados. Con el
segundo restringimos la lista a los paquetes que en el nombre contengan al expresin
que le decimos (<patron>).

Pasos para dar salida a Internet al equipo


de Linux para nuestro laboratorio
Paso 1, aadir el adaptador virtual para salida a internet (la virtual
debe de estar apagada)

Paso 2, verificar con ifconfig la informacin de la interfaz

Cuando ejecute el comando ifconfig deber de aparece un adaptador mas con la


nomenclatura ethX donde X representa el numero de dispositivo de red (relacin n-1)
adicionado al equipo.

34
Paso 3, configurar el archivo de la interfaz adicionada en el Linux,
mediante un editor de texto

35
Paso 4, se deshabilita y habilita la interfaz

Si cuando se reinicia la maquina aparece el mensaje de que otro dispositivo posee esa ip,
deber de cambiar el valor de IPADDR por una ip que no este en uso , otra alternativa a
esto es modificar la direccin ip de forma temporal mediante lnea de comando asi:

36
Paso 5, hacer ping al gateway

37
Paso 6, verificar el dns

Modificar el archivo resolv.conf de acuerdo a su puerta de enlace.

Paso 7, hacer ping a una pagina de internet

38
Si no hace ping recuerde revisar la direccin Ip hasta que encuentre una que le funcione.

Paso 8, abrir un navegador y empezar a navegar

39
10. Como montar un disco duro en
linux
Pasos necesarios para montar un disco duro en linux desde la terminal

1er. paso - Particionar

Suponiendo que se instal en el IDE 1 maestro, entonces el dispositivo ser /dev/hdc o si no estas
seguro puedes usar:

#> fdisk -l

Y te mostrar una lista de los dispositivos conectados a los IDE's. Entonces procedes a particionar
la unidad recien instalada:

#> fdisk /dev/hdc

Una vez en fdisk, presiona m para una lista de los comandos de fdisk, en este caso usaremos:

Command (m for help): n (aade nueva particin)


Command action
e extended
p primary partition (1-4)
p (tiene que ser particin primaria)
Partition number (1-4): 1
First cylinder (1-5580, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-558, default 5580): +10000M

Con lo anterior primero indicamos una nueva particin (n), despus se indic que es del tipo
primaria (p), el nmero de particin y por ltimo el tamao para esta particin, en este caso de
10GB o 10000MB, si se quisiera todo el disco en una sola particin, bastara con presionar enter.
En este caso suponemos que se dividir el disco en ms de una particin y repetiriamos lo anterior
pero empezando en el siguiente cilindro disponible y sera la particin 2. Hay que indicar el tipo de
sistema de archivos que tendr la particin, esto con el comando t:

t
Partition number (1-4) : 1
Hex code (L to list codes): 83

40
El tipo de particin para Linux es el 83, si presionas L donde lo indica vers una lista bastante
extensa con cdigos para distintos tipos de sistemas de archivos.

Por ltimo, guarda los cambios con:

w (escribe los cambios)

CUIDADO! Hasta antes de presionar w no pasa nada, ya que los cambios no se han realizado,
despus de presionar w(rite) no hay vuelta atrs, si te equivocaste de particin perders los datos
que hubiera ah, asi que cuando trabajes con fdisk checa y recheca varias veces que ests haciendo
lo correcto.

2do. paso - Crear filesystem

Despus de lo anterior yo siempre reinicio el sistema para que el kernel reconozca los cambios. (Si
alguien sabe como evitar este paso de reiniciar por favor avseme, se supone que si se puede pero
no he sabido como).

p> Para crear el filesystem o sistema de archivos se usa el comando mkfs, este comando tiene
mltiples variantes, pero supongamos que quieres poner un filesystem ext3 que es el mas comn
hoy en da para Linux. (ext3 es un ext2 con journaling, es decir con bitacoras de cambios en tiempo
real, lo que por ejemplo permite recuperarse de un apagn sin mayores problemas).

Siguiendo el ejemplo, debemos tener ahora un dispositivo hdc1 (/dev/hdc1), recuerda que
/dev/hdc es el disco duro en si y /dev/hdc1 es la particin primaria 1 de ese disco. Entonces
podemos usar cualquiera de las siguientes variantes de mkfs para crear el sistema de archivos en
la unidad:

#> mkfs -t ext3 /dev/hdc1


#> mkfs.ext3 /dev/hdc1
#> mke2fs -j /dev/hdc1

Cualquiera de las tres variantes crear el filesystem ext3 en el dispositivo indicado.

3er. paso - Punto de montaje

Este paso es extremadamente simple, es solo cuestin de crear un directorio que es donde
posteriormente montaremos el nuevo dispositivo. Puedes crearlo donde sea pero yo acostumbro
hacerlo en la raz para identificarlo mas fcil.

41
#> mkdir /respaldos

El nombre del directorio es lo de menos, en este caso le pongo un nombre sugestivo de acuerdo a
lo que pretendo va a ser el destino del disco nuevo que en este caso, ser la de contener
respaldos.

4to. paso - Modificar el archivo fstab


Un archivo de configuracin muy importante en cualquier sistema Linux es fstab, ubicado dentro
de /etc. Este archivo contiene una configuracin en forma de 6 columnas que indican al sistema
como deben montarse las unidades o dispositivos del equipo. Hay que agregar la siguiente lnea al
final (con tu editor favorito) de las que ya estn:

#> vi /etc/fstab
...
/dev/hdc1 /respaldos ext3 defaults 2 1
...
:wq
Y listo ahora cada vez que prendas el equipo el dispositivo /dev/hdc1 quedar montado y accesible
en /respaldos.

5to. paso - Montarlo


No puedes usar un dispositivo en Linux como un disco duro si este no esta montado. De hecho el
paso previo no monta el dispositivo solo indica que en el siguiente arranque se monte
automticamente. Asi que aqui podras reiniciar el equipo para poder trabajar sobre el nuevo
disco duro o para no reiniciar podras montarlo a travs del comando mount:

#> mount -t ext3 /dev/hdc1 /respaldos

Lo que ests haciendo es decirle al sistema: "monta el dispositivo /dev/hdc1 con el tipo de sistema
de archivos ext3 en el punto de montaje (directorio) /respaldos" Aunque ya que este dispositivo
esta indicado en /etc/fstab bastara para montarlo hacer lo siguiente:

#> mount /respaldos

Listo es todo. El disco duro nuevo esta instalado y disponible para usuarse.

mount -n -o remount /

kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet 1

42