You are on page 1of 113

Ejercicios del Estudiante

Administracin Avanzada del Sistema Operativo



Ejercicio 1: Linux, su historia y cultura

Nota: Esta unidad no tiene ejercicios. Esta pgina simplemente asegurar que la numeracin de
los ejercicios se mantenga sincronizada.


















































Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Ejercicio 2: Instalacin del sistema operativo

De qu se trata este ejercicio
Este ejercicio trata de la instalacin del sistema operativo Linux.

Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. tendr la capacidad de hacer lo siguiente:
Preparar un sistema para la instalacin de Linux
Particionar un sistema
Instalar Linux

Materiales requeridos
Una estacin por estudiante.
Conjunto de medios (CDs o DVDs) de instalacin.























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Instrucciones de Ejercicio

Nota: Los Los ejercicios en este material de curso han sido diseados y probados en las
siguientes distribuciones:
Centos 5.2
Si Ud. est usando esta distribucin siga las instrucciones que vienen. Si usa otra distribucin u
otra versin, su instructor le podr dar informacin adicional.
Dependiendo de las circunstancias su instructor le proveer de un conjunto de medios de
instalacin en CD o DVD o compartir estos medios en red, de modo que pueda realizar el
proceso de instalacin.
Si Ud. instala a travs de red, el instructor le dar informacin adicional respecto a lo siguiente:
El mtodo de instalacin: NFS, FTP, HTTP.
La direccin IP que ser utilizada por su estacin de trabajo, si se est utilizando DHCP,
no es necesario.
El nombre o direccin IP del servidor de instalacin.
El path de las imgenes de instalacin en el servidor de instalacin.

Instalando CentOS 5.2 (Instalacin basada en DVD)
1. Configurar el BIOS del sistema para que arranque desde el CD ROM.
2. Insertar el (primer) CD o DVD de instalacin de CentOs 5.2 en el DVD ROM.
3. Encender o reiniciar el sistema.
4. Ud. puede observar que el sistema arranca desde el CD.
5. Para iniciar la instalacin grfica presionamos la tecla Enter.
6. Aparece una opcin para revisar los medios (CD/DVD) de instalacin. Si Ud. Est seguro
de que estos medios funcionan adecuadamente, puede prescindir (Skip) de la verificacin.
7. En la pantalla inicial de instalacin grfica de Centos 5.2, se da clic en Next.
8. Escoja el lenguaje para el proceso de instalacin (Recomendado: Ingls) y presione Next.
9. Escoja el idioma en el que trabaja su teclado (Espaol) y clic en Next.
10. Al aceptar la configuracin de teclado, obtiene una advertencia en referencia a que la
informacin que Ud. Tendra en el disco podra ser borrada en el paso que viene que es el
de particionamiento. Acepte la advertencia y siga adelante.
11. En la seccin de particionamiento, en el primer men, seleccione la opcin que le permite
crear un esquema personalizado de particionamiento (Custom Layout) y continue.
12. En la nueva pantalla y de ser posible cree tres particiones una para /boot de 100 MB, una
para swap de 2GB, una para el sistema de archivos / que ocupe 10 GB, una para /home de
1 GB, dejando libre al menos 1 GB. Permita a su instructor revisar el esquema de
particionamiento antes de guardarlo.
13. Luego clic en Next.
14. Escoja la instalacin de GRUB para el arranque. Clic en Next.
15. En la seccin de dispositivos de red, configrelos, su instructor le dir si usar DHCP o no.
Si no, l le proveer de una Direccin IP, Mscara de Red, Red y direccin de Broadcast,
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
as como el Hostname, Gateway y direcciones de DNS. Ingrese estos valores, revselos y
de Clic en Next.
16. Escoja la opcin correspondiente de Huso Horario de acuerdo a su situacin geogrfica en
el mapa que se le presenta. Clic en Next.
17. Designe una contrasea para el usuario root (sta ser lpic2009), confrmela y clic en Next.
18. Ahora seleccione los paquetes de instalacin de acuerdo a lo recomendado por su
instructor. Adems asegrese de anotar claramente estas indicaciones.
















19. Clic en Next para que de inicio la instalacin del sistema operativo. Este proceso tomar
alrededor de 30 minutos, dependiendo de las caractersticas tcnicas de los equipos.
20. En el momento en que aparece la pantalla de instalacin completa retire el CD/DVD del
CD ROM y de clic en Reboot, para reiniciar el sistema.
21. Ahora es necesario completar algunos pasos post-instalacin, de Clic en Next. Entre los
pasos de instalacin se mencionarn herramientas como la de Firewall (iptables) y
SELinux, por favor deshabiltelas. As mismo se le solicitar configurar la hora del equipo.
Finalmente deber reiniciar el equipo nuevamente.

FIN DEL EJERCICIO





Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 3: Utilizacin Bsica del Sistema

De qu se trata este ejercicio
El propsito de este ejercicio es la familiarizacin con el sistema operativo
Linux, la sintaxis y algunos comandos bsicos. El ejercicio muestra tambin
algunos conceptos en referencia a la caracterstica de multiusuario.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. tendr la capacidad de hacer lo siguiente:
Conmutar entre terminales virtuales
Hacer login en un sistema Linux y cambiar su password.
Ejecutar comandos bsicos-
Usar los comandos write y wall para comunicarse con otros usuarios.
Usar las teclas de control del teclado para controlar la salida de la lnea
de comandos.
Usar el historial de comandos.






















Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Haciendo Login en una Terminal virtual
En esta seccin va a hacer login en el sistema utilizando las terminales virtuales tanto de
texto como grficas.
1. Si la instalacin no dio problemas, debera ver un prompt de login grfico. Si este no es el
caso, pregunte a su instructor para arreglarlo.
2. Verifique que Ud. tenga 7 terminales virtuales diferentes. Presione cclicamente Alt-Fn,
donde n es el nmero de Terminal al que Ud. Desea acceder. Use Ctrl-Alt-Fn cuando Ud.
est en una Terminal grfica.
3. En su primera Terminal virtual (tty1), haga login en el sistema con su propio nombre de
usuario que configur cuando se instal el sistema. Si no cre el usuario, consulte a su
instructor sobre cmo hacerlo.
4. En su segunda Terminal virtual (tty2), haga login en el sistema como root. Despus de
haberlo hecho, mire el command prompt. Nota algo diferente con el command prompt de
las otras terminales virtuales?
5. En su sptima Terminal virtual (tty7), haga login en el sistema con su propio nombre de
usuario y password.
6. Abra una ventana Terminal. Eche un vistazo al command prompt. Difiere este del
command promt tty1? Por qu? Por qu no?

Comandos Bsicos
En esta seccin vamos a ejecutar algunos comandos bsicos, para que se familiarice con la
sintaxis de comandos de Linux, y el hecho de que Ud. est en un sistema multiusuario y
multitarea.
Todos los comandos en esta seccin se ejecutan en la Terminal virtual 7 (el promtp de login
grfico donde est logueado), usando la ventana Terminal que abri, a menos que se especifique
otra instruccin.
7. Cambie su password. Memorice este password porque nadie podr recuperarlo si lo olvida.
8. Muestre la fecha del sistema.
9. Muestre el calendario completo del ao 2006.
10. Muestre el mes de mayo del ao 2001 y 01. Son los aos 2001 y 01 los mismos?
11. Genere una lista de todos los usuarios presentes en el sistema.
12. Muestre su nombre de login.
13. Muestre la informacin de login de su propia cuenta de usuario y de la de root.
14. Limpie su pantalla.
15. Imprima el texto Estoy ocupado en su pantalla.
16. Escriba el mensaje Estoy ocupado a la pantalla de root. Revise si root recibi el mensaje.
17. Escriba el mensaje Estoy ocupado a la pantalla de todos los usuarios. Revise si todos
recibieron el mensaje.

Tips de Teclado
18. El bash shell tiene una funcin de historial de comandos. Mire algunos de los comandos
que ha ingresado. Intente alterar alguno de estos comandos, luego ejecute el comando de
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
nuevo.
19. Su Terminal tiene un buffer que lleva la cuenta de la salida de sus comandos. Mire la
salida de los comandos previos.
20. Bash soporta el auto completado de comandos y nombres de archivos con el caracter
TAB. Intente utilizar esta caracterstica, tanto en comandos como en nombres de
archivos.

Usando el historial
21. Use el comando history para ver los ltimos 20 comandos que escribi.
22. Ejecute uno de los comandos de la lista del historial.
23. Ejecute de nuevo el comando echo, esta vez reemplazando ocupado por disponible.
24. Bash soporta tambin la bsqueda dentro del historial. Intente esta caracterstica.

FIN DEL EJERCICIO










Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 4: Archivos y Directorios

De qu se trata este ejercicio
Este ejercicio les da a los estudiantes la oportunidad de empezar su trabajo
con directorios y los archivos que estos contienen.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. tendr la capacidad de hacer lo siguiente:
Trabajar con directorios
Trabajar con archivos
Trabajar con archivos y directorios de manera recursiva
Trabajar con archivos binarios
























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Instrucciones de Ejercicio
Trabajando con directorios
1. Si Ud. no est logueado con su nombre de usuario en la tty7, hgalo ahora. Asegrese de
tener una ventana Terminal abierta.
2. Revise el directorio en el que est ubicado. Qu directorio es? _________________
3. Cmbiese de directorio al directorio raz (/).
4. Verifique que se encuentra en el directorio raz y ejecute un listado simple y uno largo de
los archivos en este directorio.
5. Liste todos los archivos dentro del directorio actual y liste todos los archivos en el directorio
actual y dentro de los directorios que posee.
Nota: Este comando provee salida extensiva. Una vez que haya visto suficiente, termine el
comando con la secuencia <Ctrl> adecuada.
6. Regrese a su directorio home y liste sus contenidos incluyendo los archivos ocultos.
7. Cree un directorio en su directorio home y que se llame mydir. Luego, ejecute el
comando para ver una lista larga dentro de su directorio home y el directorio mydir.
8. Cmbiese al directorio mydir. Cree dos archivos de longitud cero llamados myfile1 y
myfile2.
9. Ejecute el comando para ver un listado largo de los contenidos del directorio mydir.
Cules son los tamaos de myfile1 y myfile2? _____________________
10. Regrese a su directorio home y use el comando ls -R para ver su rbol de directorios.
11. Intente remover el directorio mydir. Funciona?
12. Vaya al directorio mydir una vez ms y borre los dos archivos en ese directorio. Luego
regrese a su directorio home y borre el directorio mydir.

Trabajando con archivos
13. Mire el contenido del archivo /etc/passwd. El archivo /etc/passwd contiene una lista de
todos los usuarios autorizados a usar el sistema.
14. Copie el archivo /etc/passwd a su directorio home y renmbrelo a usersfile.
15. Divida el archivo usersfile en archivos ms pequeos, de 200 bytes cada uno.
16. Haga un listado largo de todos los archivos en su directorio home.

Trabajando con archivos y directorios recursivamente
17. Cree un directorio sub1 y un directorio sub2 dentro de sub1. Haga todo esto utilizando un
solo comando.
18. Vaya al directorio sub2 y cree un archivo llamado myfile.
19. Regrese a su directorio home. Luego haga una copia del rbol de directorio sub1 con el
nombre de tree1. Haga una lista recursiva de todos los archivos y directorios en sub1 y en
tree1.
20. Ahora Ud tiene dos rboles de directorios, llamados sub1 y tree1. Mueva el rbol de
directorio tree1 dentro del subdirectorio sub1.
21. Liste los contenidos de su directorio home. Haga un listado recursivo de todos los archivos
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
y directorios en el directorio sub1.

Trabajando con archivos binarios
22. Liste el contenido del archivo /bin/ls usando el comando od.

FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 5: Permisos de Acceso al Sistema de Archivos

De qu se trata este ejercicio
Este ejercicio les da a los estudiantes la oportunidad de trabajar con
permisos de archivos y directorios.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. tendr la capacidad de aplicar permisos en
archivos y directorios.



























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Creando cuentas de usuario
Con el objetivo de demostrar el uso de permisos en su totalidad, Ud necesita crear unos pocos
usuarios adicionales tux1 y tux2, quienes son miembros del grupo penguins. Para esto, necesita
ejecutar algunos comandos que no se han cubierto an en el curso y que normalmente no se
necesitan ejecutar como usuarios comunes.
1. En una terminal loguese como root.
2. Ejecute la siguiente serie de comandos:
# groupadd penguins
# useradd -m -g penguins -c Tux el Pinguino (1) tux1
# useradd -m -g penguins -c Tux el Pinguino (2) tux2
# passwd tux1
New password: pinguino1
Retype new password: pinguino1
# passwd tux2
New password: pinguino2
Retype new password: pinguino2

3. En otra terminal, loguese como tux1 con el password pinguino1 y en otra loguese como
tux2 con el password pinguino2.

Permisos en archivos y directorios
4. Cmbiese a la terminal donde est como el usuario tux1 y observe sus permisos sobre su
directorio home.
5. Cmbiese a la terminal donde Ud est como tux2. Intente cambiarse al directorio home de
tux1, o leer el contenido del directorio home de tux1. Funciona?
En un sistema Fedora, CentOS o Reh Hat, ambos comandos fallan, pues los permisos por
defecto sobre los directorios home de los usuarios estn seteados a rwx------.
6. Cmbiese a la terminal donde est como el usuario tux1 y cambie los permisos sobre el
directorio home de tux1 de modo que otros usuarios estn permitidos de leer y acceder en
l. Luego intente acceder al directorio nuevamente como tux2. Funciona?
7. Como tux2, intente crear y borrar archivos en el directorio home de tux1. Funciona?
8. De nuevo regrese a la Terminal donde est como tux1. Cree un directorio bin y copie el
archivo /bin/ls en este directorio, renombrndolo a my_ls en el proceso.
9. Configure los permisos en my_ls a rw-r------, luego intente ejecutarlo, tanto como tux1 y
como tux2. Funciona? Por qu no?
10. Ahora configure los permisos a rwxr-xr-x, entonces intente ejecutar el archivo my_ls una
vez ms, tanto como tux1 como tux2. Funciona ahora?
11. Intente ejecutar my_ls como tux1 y tux2, y como Ud mismo, pero ahora con los permisos:
rw-------, rw-rw----, rwx------, rwx--x--- y rwx--x--x. Qu permisos se requieren, los
mnimos, para que tux1 pueda ejecutar my_ls? Cules son los permisos mnimos que se
requieren para tux2? Qu permisos requiere su propia cuenta de usuario?
FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 6: Fuentes de Documentacin de Linux

De qu se trata este ejercicio
El propsito de este ejercicio es dar a los estudiantes la oportunidad de
explorar y experimentar con los comandos man e info. Los estudiantes
tambin leern documentacin FAQ y HOWTO.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Usar el comando man
Usar el comando info
Localizar y usar otro tipo de documentacin Linux
























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Pginas man
1. Si Ud no est ya logueado en el sistema, hgalo como tux1 en una Terminal virtual.
2. Abra las pginas man para el comando man. Lea el texto que sigue para obtener un mejor
entendimiento de la funcionalidad del comando man.
3. Busque el string PAGER en la pgina manual del comando man.
4. Use la tecla <q>para finalizar el comando man.
5. Abra la pgina man del comando ls Muvase a travs de las pginas manuales:
a. Vaya a la ltima pgina
b. Vaya a la pgina anterior
c. Vaya a la primera pgina
Tipee esos comandos mientras observa la pgina man de ls.
6. Cierre el comando man.
7. Encuentre qu pginas manuales tienen que ver con passwd. Luego vea cada pgina,
pasando el nmero de seccin correspondiente.
Nota: Si el comando man -k o apropos no funcionan, entonces necesita ejecutar el
comando makewhatis como root. Normalmente, el comando makewhatis es ejecutado
automticamente cada noche, pero ya que su sistema est recin instalado, podra no
haberse ejecutado todava.

Comando info
8. Vea la documentacin de info del comando finger. Est Ud leyendo documentacin info
ahora?
9. Muvase a travs de esta pgina usando la barra espaciadora <space> o la tecla
<backspace>.
10. Lea la ayuda para el comando info. Use la tecla <l>para regresar a la informacin de
finger.
11. Termine el comando info.
12. Lea la documentacin info del comando info. Use el men utilizando las teclas <tab>y
<m>.

Documentacin adicional
13. Haga un listado de todos los directorios en el directorio /usr/share/doc. Abra algunos de
estos directorios para observar el tipo de informacin que est disponible.
14. Si los sistemas del aula de clase tienen una conexin a Internet, entonces eche un vistazo
a la pgina http://www.tldp.org. Este es el principal site de documentacin de Linux.
Note que en algunos casos se requiere algn tipo de configuracin adicional de su web
browser pues el aula de clase est detrs de algn tipo de firewall basado en Proxy. En
este caso, su instructor le dar ayuda adicional.

FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
.
Ejercicio 7: Estructura del sistema de archivos de Linux

De qu se trata este ejercicio
El propsito de este ejercicio es dar a los estudiantes una idea clara acerca
de la estructura del sistema de archivos comn en la mayora de los
sistemas Linux.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Describir la forma en la que el filesystem de Linux est configurado
Montar y desmontar sistemas de archivos
Crear y manipular dispositivos de disco
Localizar archivos y directorios en el sistema de archivos de Linux.























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Descubriendo el filesystem
1. En una Terminal virtual loguese como root.
2. Haga un listado de los directorios presentes en la raz de su filesystem y ejecute los pasos
3. y 4. para cada uno de estos directorios.
3. Ejecute el comando du en cada directorio. El comando du muestra la cantidad de espacio
en disco que el directorio y todos sus subdirectorios utilizan (en kilobytes). Qu directorio
contiene la mayor cantidad de informacin? Por qu?
4. Haga cd a cada directorio y liste sus contenidos. Si hay subdirectorios importantes, liste
sus contenidos tambin. No intente, sin embargo, listar todo. Intente descubrir qu clase de
archivos encuentra en cada directorio.
Accediendo al CD ROM
5. Observe el contenido del archivo /etc/fstab. En qu ubicacin se montar su CD ROM?
6. Liste los contenidos de los directorios que va a ser usado como punto de montaje para su
CD ROM.
7. Inserte un CD en su drive de CD ROM y mntelo, luego mire los contenidos del punto de
montaje nuevamente.
Nota: En algunas situaciones, el CD ROM es automticamente montado. Esto debido a
que algunas distribuciones estn configuradas para correr el servicio autorun cuando un
usuario se loguea en un ambiente grfico. Este servicio imita el comportamiento de MS
Windows: Chequea el drive de CD ROM cada segundo, monta el CD si uno es encontrado,
e intenta correr el ejecutable autorun si est presente en el CD.
8. Intente expulsar el CD ROM. Funcional? Desmonte el CD ROM, luego intente expulsarlo
de nuevo. Funciona ahora?
9. En otra Terminal virtual loguse como tux1 si no lo est ya. Intente montar el CD ROM
desde ah. Funciona? Por qu? Finalmente desmonte, expulse y remueva el CD.
Particionamiento
10. En una Terminal virtual, logueado como root, liste todas las particiones que se encuentran
formando parte de su disco. Identifique el tipo de disco y el nmero de particin, as como
su correspondiente punto de montaje en el sistema.
11. Loguese como root y desmonte la particin donde est alojado el sistema de archivos de
home y haga un chequeo del filsystem con la herramienta fsck. Luego monte la particin
nuevamente en el punto de montaje correspondiente.
Localizacin de archivos
12. Como usuario root, haga una bsqueda con el comando find para encontrar todos los
archivos que contengan en su nombre el string csh, dentro del directorio /usr.
13. Igualmente como usuario root, determine la ubicacin exacta en las estructura de archivos,
del comando ls.
14. Ahora localice el patrn csh utilizando el comando locate. Realice si fuera necesario la
actualizacin de la base de datos mediante el comando updatedb.
15. Busque todas las correspondencias de cat utilizando el comando whatis. Asimismo utiliza
para ello el comando apropos.

FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 8: Herramientas para el manejo de Filesystems

De qu se trata este ejercicio
El propsito de este ejercicio es introducir a los estudiantes en las
herramientas de manejo de espacio en los sistemas de archivos, a travs
del establecimiento de cuotas de disco, el control y monitoreo de las mismas
y el uso de hard y symbolic links.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Utilizar los comandos esenciales para la implementacin de cuotas
de disco
Habilitar y monitorear el uso de cuotas de disco en un sistema de
usuarios
Manejar y crear Hard y Symbolic Links























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Instrucciones de Ejercicio
Creacin de cuotas de disco de usuario
1. Abra el archivo /etc/fstab y asegrese de que las cuotas de disco estn habilitadas en
/home, para usuarios. (opcin usrquota). Desmonte y monte nuevamente el filesystem de
modo que los cambios realizados tomen efecto.
2. Cree el archivo vaco aquota.user dentro del directorio raz del sistema de archivos
(/home) (touch /home/aquota.user)
3. Active el chequeo de cuotas en el sistema de archivos. (quotacheck /home)
4. Active las cuotas de disco en el sistema de archivos. (quotaon)
5. Configure el softlimit de los usuarios tux1 y tux2 en 4 MB y el hardlimit en 5MB. (edquota
-u tux1)
6. Loguese como usuario tux1 en otra Terminal virtual y cree 5 archivos de 1 MB cada uno.
Observe lo que sucede.
Utilice el siguiente comando para la creacin de cada archivo de 1 MB:
dd if=/dev/zero of=one bs=1M count=1
7. An logueado como tux1, revise el estado de la cuota, (quota)
8. En una sesin de root cheque las cuotas de todos los usuarios (repquota /home)

Hard y Symbolic Links
9. Dentro del directorio /etc/rc.d/ liste el contenido de cada uno de sus subdirectorios y
observe los links existentes. (comando ls -l)
10. Loguese como tux1 y cree un archivo llamado myfile
11. Cree un symbolic link hacia myfile y que se llame myslink (ln s myfile myslink)
12. Cree un hard link hacia myfile llamado myhlink (ln myfile myhlink)
13. Utilizando el comando ls liste el contenido del directorio donde est trabajando y verifique
la creacin de los links.
14. Utilizando el comando stat y como argumento a myfile y myhlink, verifique que estos dos
hacen referencia al mismo inode.
15. Utilizando en comando ls -li myslink verifique que este link posee su propio inode.


FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 9: Edicin de Archivos

De qu se trata este ejercicio
El propsito de este ejercicio es dar a los estudiantes la oportunidad de
crear y editar archivos usando el editor de UNIX ms popular, vi, y para
probar otros editores tambin disponibles.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Usar vi para crear y editar archivos.
Listar algunos otros editores tambin disponibles en el sistema.

























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Trabajando con vi
1. Loguese como tux1 en una Terminal virtual.
2. Asegrese de encontrarse en su directorio home. Cree un archivo llamado vitest usando
vi.
Escriba el siguiente texto y el alfabeto marino en el archivo vitest. Agregar el alfabeto es
una manera fcil de llenar un par de pantallas de informacin necesaria para un uso
posterior. Esta es una sesin de entrenamiento para el uso de vi.

A alfa
B bravo
C charlie
D delta
E eco
F fox
G golf
H hotel
I indian
J july
K kilo
L lima
M mike
N november
O oskar
P papa
Q quebec
R romeo
S sierra
T tango
U uniforme
V victor
W whisky
X xerox
Y yanky
Z zolu

3. Regrese al modo comando. Guarde y salga del archivo. Note que tan pronto presione los
dos puntos (:), estos aparecen bajo la ltima lnea de su rea de entrada. Una vez que el
bfer est vaco y el archivo cerrado, Ud ve un mensaje con el nmero de lneas y
caracteres en el archivo.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Teclas de movimiento del cursor
4. Abra de nuevo el archivo vitest. Note que la ltima lnea en la pantalla muestra el nombre
del archivo y el nmero de caracteres.
5. Utilizando las teclas <h>, <j>, <k> y <l>, practique movindose a travs del archivo.
6. Usando los comandos vi apropiados para moverse a travs del texto:
a. Muvase una pgina adelante <Ctrl-f>
b. Muvase una pgina atrs <Ctrl-b>
c. Mueva al cursor a la primera lnea en la pantalla H
d. Mueva al cursor a la ltima lnea en el archivo G
e. Mueva el cursor a la primera lnea en el archivo :1 <enter>
f. Mueva el cursor a la lnea 5 del archivo :5 <enter>
g. Mueva el cursor al final de la lnea $
h. Mueva el cursor al final de la lnea 0

7. Cambie el archivo vitest de manera que despus de cada letra del alfabeto, un primer
nombre comn sea agregado y que inicie con esa letra. Asegrese de usar distintos
mtodos para conmutar del modo de comandos al modo de edicin (insert).
El archivo debera verse ms o menos as:
A alfa Ani
B bravo Ben
C charlie Carlos

8. Practique algo ms con los comandos que se encuentran en la hoja de resumen.
9. Guarde el archivo pero no salga de vi.

Bsqueda global y reemplazo
10. Reemplace todos los espacios en el archivo vitest con tabs (:%s / / <TAB>/g)
11. Guarde su archivo (:wq, :x o ZZ)

Trabajando con otros editores
12. Su sistema tiene otros editores en modo texto y grfico que estn disponibles. Inicie alguno
de ellos.
gedit vitest
kedit vitest
hexedit vitest

FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 10: Conceptos Bsicos de Shell

De qu se trata este ejercicio
El propsito de este ejercicio es dar a los estudiantes la oportunidad de
conocer las caractersticas bsicas del shell de Linux.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Usar wildcards para expansin de nombres de archivos.
Re-direccionar stdin, stdout y stderr.
Usar pipes para proveer la salida de un proceso como entrada de
otro.
Ejecutar agrupamiento de comandos.























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Wildcards
1. Loguese como tux1
2. Vaya al directorio /etc y haga una lista de todos los archivos aqu.
3. Use ls con wildcards para listar nombres de archivos
- Que terminen en conf. (ls -d *conf)
- Que empiecen con d o D (ls -d [dD]*)
- Que tengan una o en la quinta posicin (?????o*)
- Que contengan la palabra tab (en cualquier combinacin con caracteres
maysculas y minsculas) (ls -d *[tT][aA][bB]*)
- Que terminen con un nmero (ls -d *[0-9])
- Que no terminen en un nmero (ls -d [!0-9])
4. Qu sucede si ejecuta el comando ls -d ?[!y]*[e-f]? Cul ser el nombre de archivo ms
corto que podra corresponder? Ejecute este comando para verificar su respuesta.
5. Regrese a su directorio home.
Redireccin
6. Use el comando cat y redireccin para crear un archivo llamado junk que contengan unas
pocas lneas de texto. Cuando Ud haya escrito unas pocas lneas, termine su entrada al
comando y retorne al prompt de shell. Luego vea los contenidos del archivo que ha creado.
$ cat > junk
Escriba algunas lneas de informacin
<Ctrl-D>
$ cat junk
7. Agregue algunas lneas ms al archivo junk usando redireccin. Luego vea los contenidos
del archivo junk y cheque si todas las lneas que guard en este archivo estn ah.
$ cat >> junk
Escriba algunas lneas de informacin
<Ctrl-D>
$ cat junk

Pipes, Tees y Filtros
8. Cuente el nmero de archivos en su directorio actual. Use un pipe. No cuente los archivos
manualmente.
$ ls | wc -l
9. Hacen ls > tempfile; wc -l tempfile; rm tempfile lo mismo que el comando anterior?,
Por qu? O Por qu no?
10. Use el comando ls y guarde la salida en un archivo llamado tempfile2 antes de contar los
archivos.
$ ls | tee tempfile2 | wc -l
11. Use el comando sed para alterar la salida del comando ls -l /etc, de modo que se vea
como si Ud poseyera todos los archivos en /etc. Ejecute esto con y sin la opcin global.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Cul es la diferencia?
$ ls -l /etc | sed s/root/tux1/
$ ls -l /etc | sed s/root/tux1/g
12. Use el comando awk para mostrar la primera y novena columna de la salida del comando
ls -l /etc.
$ ls -l /etc | awk {print $1 $9}
13. Use el comando tac para mostrar la salida del comando ls en orden reverso.
$ ls | tac
14. Use el comando nl para numerar las lneas del archivo tempfile
$ nl tempfile

Agrupamiento de comandos
15. En la misma lnea de comandos, muestre la fecha actual del sistema y todos los usuarios
que estn logueados en el sistema y guarde todo esto a un archivo, luego de numerar sus
lneas. Cheque su salida.
$ ( date ; who ) | nl > users
$ cat users

Ambiente de proceso
16. Muestre todas las variables que estn definidas en su ambiente de proceso actual.
Tambin muestre las variables actualmente exportadas.
$ set | less
$ env | less

17. Cree una variable x y setee su valor a 10. Revise el valor de la variable. Muestre
nuevamente todas sus variables actuales.
$ x=10
$ echo $x
$ set | less
$ env | less
18. Cree un subshell. Cheque el valor que x mantiene en l. Cul es el valor de x? Liste las
variables actuales del subshell. Ve alguna entrada para x?
$ bash
$ echo $x
$ set | less
19. Setee el valor de x a 500 y regrese al proceso padre.Cul es el valor actual de x? Por
qu?
$ x=500
$ exit
$ echo $x
20. Asegrese de que los procesos hijos hereden la variable x. Verifique esto creando un
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
subshell y chequeando el valor de la variable x. Luego de esto salga del subshell.
$ export x
$ env | less
$ bash
$ echo $x
$ exit


FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 11: Procesos del Sistema

De qu se trata este ejercicio
Este ejercicio familiariza a los estudiantes con la manipulacin y control de
procesos.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Monitorear procesos
Cambiar y entender el ambiente de procesos
Controlar jobs (trabajos del sistema)
Terminar procesos
























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Listando Procesos
1. Haga login como usuario tux1 en una Terminal virtual.
2. Revise el PID de su ambiente de login y luego cree un subshell digitando el
comando bash, Cul es el PID del subshell? Es diferente de su proceso de
login?
__________________________________________________________________
__________________________________________________________________
3. Ingrese el comando ls -R / > outfile 2> /dev/null & y luego muestre los procesos
que estn corriendo en el sistema. Qu procesos estn corriendo?
__________________________________________________________________
__________________________________________________________________
4. Mientras el comando ls est todava corriendo, ejecute el comando pstree. (Podra
ser necesario reiniciar el comando ls).
5. Haga login como tux2 en otra Terminal virtual y ejecute el comando vi tux2_file.
6. Regrese a la Terminal de tux1 y muestre todos los procesos de su sistema. Si es
necesario, revise las pginas man e info para encontrar las opciones correctas que
muestren todos los procesos corriendo en el sistema. Busque sus propios
procesos, as como los procesos de tux2.
7. Ejecute nuevamente el comando ls -R / > outfile 2> /dev/null & y luego salga de
su Terminal, con el comando exit. En una nueva Terminal virtual liste los procesos
que estn corriendo. Qu pasa con los procesos si mata a sus procesos padre?

Control de Jobs
8. Usando vi u otro editor, cree un archivo llamado myclock en su directorio bin con
los siguientes contenidos:
whi l e t r ue
do
dat e
sl eep 10
done
Haga el script ejecutable.
9. Corra el script myclock.
10. Suspenda el job que inici.
11. Liste todos los jobs que Ud. est corriendo en el sistema y reinicie el job anterior
en el background.
12. Liste todos los usuarios que han hecho login. Traiga de nuevo al job hacia el
foreground, espere hasta recibir una marca de tiempo y luego salga del job.

Terminando un proceso
13. Ejecute el script myclock nuevamente, esta vez en el background.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
14. Liste todos sus procesos y mate el proceso sleep. Qu sucede?
15. Ahora detenga el script de shell myclock.


FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 12: Utilitarios del Sistema Operativo

De qu se trata este ejercicio
El propsito de este ejercicio es familiarizar a los estudiantes con algunas
herramientas tiles disponibles en Linux.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Listar columnas especficas de un archivo
Buscar lneas que correspondan a un patrn dentro de archivos de
texto
Ordenar las lneas de un archivo
Mostrar las primeras o ltimas lneas de un archivo
Encontrar la ubicacin de ejecutables
Comprimir y descomprimir archivos






















Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Trabajando con cut
1. Muestre el contenido del archivo /etc/passwd
$ cat /etc/passwd
2. Muestre nicamente el nombre de usuario y el directorio home de los usuarios listados en
/etc/passwd.
$ cut f1,6 -d: /etc/passwd
3. Muestre el nombre y los miembros de todos los grupos listados en /etc/group
$ cut -f1,4 -d: /etc/group
4. Liste nicamente el tipo, tamao y nombre de los archivos en el directorio actual.
$ ls -l | cut -c1-1,31-45,52-

Trabajando con grep
5. Encuentre todas las lneas que empiecen con la letra s en el archivo /etc/passwd.
$ grep ^s /etc/passwd
6. Repita la bsqueda anterior, pero esta vez solamente muestre el nmero de lneas que
contienen el patrn.
$ grep c ^s /etc/passwd
7. Encuentre todos los procesos corriendo en el sistema cuyos dueos son tux1 y tux2.
$ ps aux | egrep tux1|tux2

Trabajando con sort
8. Muestre los contenidos del archivo /etc/passwd en orden alfabtico.
$ sort /etc/passwd
9. Muestre los contenidos del archivo /etc/passwd nuevamente, pero ahora ordenados por el
campo de directorio home.
$ sort -t: +5 /etc/passwd

Trabajando con head y tail
10. Muestre las primeras lneas del archivo /etc/passwd
$ head /etc/passwd
11. Muestre las ltimas 6 lneas del archivo /etc/passwd
$ tail -6 /etc/passwd
12. El comando tail es tambin muy til para mostrar informacin correspondiente a la salida
en tiempo real de un comando. Primero, liste los procesos que estn corriendo
actualmente en el sistema, note las cabeceras. Luego, muestre los procesos corriendo en
su sistema excluyendo la informacin de cabecera.
$ ps
$ ps | tail +2

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Trabajando con los comandos type, which y whereis
13. Encuentre donde est almacenado el comando passwd. Localice las pginas manuales
para este comando.
$ type passwd
$ which passwd
$ whereis passwd

Trabajando con gzip, gunzip y zcat
14. Cree un archivo grande llamado big en su directorio home, por ejemplo capturando la
salida del comando ls -lR /. Cul es el tamao de big?
$ ls -lR / > big 2>&1
$ ls -l big
15. Haga el archivo dos veces su tamao.
$ cp big big2
$ cat big2 >> big
$ rm big2
16. Anote el tamao de big _______
Comprima el archivo big. Cul es el nuevo tamao del archivo y cul es su nuevo
nombre? _________________
$ ls -l big
$ gzip big
$ ls -l big*
El nuevo nombre es big.gz
17. Mire los contenidos del archivo big.gz
$ zcat big
18. Restaure el viejo archivo big.
$ gunzip big
$ ls l big*
El nombre es big nuevamente.


FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 13: Programacin Bsica de Shell

De qu se trata este ejercicio
Luego de utilizar Linux por un tiempo, Ud encuentra ciertas caractersticas
de su ambiente que le gustara adaptar a algunas tareas que ejecuta
regularmente y que quisiera automatizar.
Este ejercicio le introduce a algunas de las ms comunes construcciones
utilizadas para ayudarle escribiendo scripts de shell para personalizar y
automatizar su ambiente computacional.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Listar construcciones comunes usadas para escribir scripts de shell
Crear y ejecutar scripts de shell simples
























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Trabajando con parmetros posicionales
1. Loguese como tux1 en una Terminal virtual.
2. Cree un script de shell llamado parameters que devuelva los cinco parmetros que
siguen, usando variables especiales predefinidas seteadas por el shell, para llenar los
espacios en blanco. Ejecute el script usando los argumentos: 10 100 1000.
$ vi parameters
echo El nombr e de est e scr i pt es $0.
echo El pr i mer par met r o pasado es el nmer o: $1.
echo El segundo par met r o pasado es el nmer o: $2.
echo El t er cer par met r o pasado es el nmer o: $3.
Echo En t ot al f uer on $# par met r os pasados.
$ chmod +x parameters
$ ./parameters 10 100 1000

Ejecucin Condicional
3. Usando la ejecucin condicional, cree un script llamado checkfile que confirme si el
archivo llamado parameters existe en su directorio. Si existe, use un comando para
mostrar su contenido. Ejecute el script.
$ vi checkfile
[ - f par amet er s ] && cat par amet er s
$ chmod +x checkfile
$ ./checkfile
4. Modifique el script checkfile y cambie el nombre del archivo de parameters a noname
(revise que no tenga un archivo con ese nombre en su directorio). Asimismo, usando
ejecucin condicional, si el comando ls no fue exitoso, muestre el mensaje de error, El
archivo no fue encontrado. Ejecute el script.
$ vi checkfile
[ - f nof i l e ] && cat nof i l e | | echo El ar chi vo no f ue encont r ado
$ ./checkfile
5. Modifique el script checkfile para aceptar un parmetro nico como entrada de la lnea de
comandos a los comandos ls y cat. Ejecute el script dos veces, una vez usando el archivo
parameters y una vez ms usando el archivo llamado noname.
$ vi checkfile
[ - f $1] && cat $1 | | echo $1 no f ue encont r ado
$ ./checkfile parameters
$ ./checkfile noname
6. Ejecute el script checkfile nuevamente, pero esta vez sin parmetros. Qu sucede?
Modifique el script de manera que esto no aparezca nuevamente.
$ ./checkfile
$ vi checkfile
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
[ - f $1 ] && cat $1 | | echo $1 no f ue encont r ado
$ ./checkfile

Loops
7. Usando el lazo for, modifique el script checkfile para aceptar mltiples archivos como
entrada desde la lnea de comandos, en lugar de slo uno. Si los archivos son
encontrados, mustrelos. Si no son encontrados muestre un mensaje de error mostrando
todos los nombres de los archivos que no fueron encontrados. Mire en su directorio y note
unos pocos nombres de archivos vlidos que pueda usar como entrada. Ejecute el script
usando nombres de archivos vlidos e invlidos.
$ vi checkfile
f or x i n $*
do
[ - f $x ] && cat $x | | echo $x no f ue encont r ado
done
$ ls
$ ./checkfile filename filename filename
(Donde filename es reemplazado por nombres de archivos vlidos e invlidos de su
directorio)
8. Ahora haga lo mismo, pero use un lazo while en combinacin con el comando shift.
$ vi checkfile
whi l e [ ! - z $1 ]
do
[ - f $1 ] && cat $1 | | echo $1 no f ue encont r ado
shi f t
done

Aritmtica
9. De la lnea de comandos, muestre el resultado de multiplicar 5 por 6.
$ echo $((5 * 6))
10. Ahora cree un script llamado math para multiplicar cualquier par de nmero cuando se
ingresen como parmetros en la lnea de comandos. Ejecute el script multiplicando 5 por 6.
Experimente con otros dos nmeros.
$ vi math
echo $( ( $1 * $2 ) )
$ chmod +x math
$ ./math 5 6

Ejercicio de integracin (opcional)
11. Use el conocimiento que gan en este curso para escribir un script que acepte un nombre
directorio como parmetro y calcule el tamao total de los archivos en ese directorio.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
$ vi sum
i f [ - d $1 ]
t hen
sum=0
f or i i n $( l s - l $1 | cut - c32- 42 )
do
sum=`expr $sum + $i `
done
echo El t amao t ot al de l os ar chi vos en $1 es $sum.
f i
$ ./sum /tmp

FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 14: La interfaz grfica en Linux

De qu se trata este ejercicio
Este ejercicio nos da la oportunidad de tomar contacto con los dos
ambientes de escritorio principales en Linux: KDE y GNOME.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Iniciar X
Trabajar con GNOME
Trabajar con KDE
Listar y configurar varias aplicaciones en GNOME y KDE

























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Iniciando el GUI
1. Loguese como root en una Terminal virtual.
2. Edite el archivo /etc/inittab y asegrese que el runlevel por defecto sea 3.
3. Reinicie el sistema. El ambiente grfico inicia?
4. Loguese como tux1 e inicie X con en comando startx.
5. Finalice el ambiente X, haga logout y loguese como root.
6. Edite el archivo /etc/inittab nuevamente y configure nuevamente el runlevel 5 por defecto.
Reinicie el sistema nuevamente. Inici el ambiente grfico?

Trabajando con GNOME y KDE
7. Haga login en el ambiente grfico usando su propio nombre.
8. Tanto GNOME como KDE tienen sus propias aplicaciones como procesadores de
palabras, manejadores de archivos, editores de texto, etc, como una parte estndar del
cdigo base. Estas aplicaciones son tpicamente competidores directos de sus
aplicaciones correspondientes en una plataforma MS Windows.
Una instalacin Linux por defecto instala muchas de estas aplicaciones y Ud puede
descargar muchas ms de la pgina web de GNOME o KDE.
9. Descubra dentro de cada ambiente de escritorio algunas de las herramientas que provee,
muchas de ellas llevan nombres relacionados con el ambiente, por ejemplo kcalc, kwrite,
gedit, gnome-calculator, etc. Utilice y pruebe cada una de estas herramientas tanto en
KDE como en GNOME, usando el men de manejadores de pantalla, que aparece cuando
hace logout del GUI.
10. En KDE intente iniciar una aplicacin GNOME y viceversa. Funciona? Intente cortar y
pegar entre las aplicaciones GNOME y KDE. Funciona?



FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 15: Adecuacin del Ambiente de usuario

De qu se trata este ejercicio
Cuando los usuarios hacen login, generalmente prefieren sus ambientes
adaptados a cubrir sus necesidades especficas. En este ejercicio, los
estudiantes adaptarn su ambiente con algunas funciones muy tiles que
son invocadas cada vez que hacen login.



Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Adaptar los archivos .bash_profile y .bashrc
Setear definiciones de alias
Alterar valores de umask























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Adaptando el ambiente de shell
1. Loguese como tux1 en una Terminal virtual.
2. Edite el archivo apropiado para cambiar su ambiente cada vez que se ha logueado.
Asegrese de tener las siguientes funciones cuando haga login.
- Cambie el prompt primario para mostrar el path completo del directorio actual.
- Mostrar un mensaje indicando su nombre de login y la fecha en la que hizo login.
- Defina un alias num que muestre cuntos usuarios estn logueados en ese momento.
- Setee la variable cheese con el valor gouda.
$ vi .bash_profile
PS1=$PWD $
echo El usuario $LOGNAME hizo login el $(date)
alias num=who | wc -l
cheese=gouda

Adaptando el ambiente de shell
3. Haga logout y login nuevamente. Cheque si las funciones que defini en el paso 1 estn
activadas.
- Muestra su prompt el path completo a su directorio actual?
- Se muestra su mensaje?
- Puede usar el comando num?
- Est la varianle cheese seteada en gouda?
4. Si todas las preguntas anteriores fueron respondidas con si, contine con el paso 5, si no
es as, trate los pasos 2 y 3 nuevamente y ubique los inconvenientes.
5. Inicie un subshell y responda las siguientes preguntas.
- Muestra su prompt el path completo a su directorio actual?
- Se muestra su mensaje?
- Puede usar el comando num?
- Est la varianle cheese seteada en gouda?
6. Si las configuraciones estn tambin disponibles en subshells, contine con el paso 9, si
no, contine con el paso 7.
7. La mayora de configuraciones, con excepcin de las variables del sistema se aplican
solamente al ambiente actual y no se pasan a los subshells (procesos hijos). Hay un
archivo de configuracin en el sistema que permite que estas configuraciones estn
disponibles tambin en subprocesos. Qu archivo es ste?
8. Edite los archivos .bash_profile y .bashrc de manera que los parmetros adecuados
estn en el archivo de configuracin respectivo. Qu datos deberan estar en
.bash_profile y cules en .bashrc?
9. Haga logout y login nuevamente y verifique que las configuraciones anteriores estn
seteadas en su ambiente de login. Revise tambin si estos datos estn seteados en un
subshell.
10. En los pasos previos, Ud alter archivos de configuracin y luego hizo logout y login para
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
activar las nuevas configuraciones. Qu podra hacer para activar estas configuraciones
en un archivo adaptado, sin hacer login y logout?
11. Retorne nuevamente a su shell de login.
12. Borre el alias num de su ambiente sin necesidad de editar el archivo .bashrc o
.bash_profile. Luego liste la lista de alias seteados en ese instante intente ejecutar el alias
num.
13. Agregue el alias num a su ambiente y confirme si est de regreso nuevamente.

Adaptando el ambiente X
14. Dentro de la interfaz grfica, abra algunas aplicaciones, y haga logout. Mientras hace logout
active la opcin Save Setup. Luego haga login nuevamente. Aparecen sus aplicaciones y
configuraciones nuevamente?

FIN DEL EJERCICIO
Ejercicio 16: Configuracin Bsica del Sistema

De qu se trata este ejercicio
Este ejercicio brinda la oportunidad de familiarizarse con la
configuracin bsica del sistema que podra necesitarse en una
Workstation.



Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Instalar y desinstalar RPMs
Configurar una tarjeta de sonido
Configurar una tarjeta de red
























Instrucciones de Ejercicio

El manejador de paquetes de Red Hat (RPM)

1. Loguese como root en su ambiente grfico. Abra una ventana Terminal.

2. Haga una lista de todos los paquetes que estn instalados en el sistema.

3. Liste la informacin del paquete bash.

4. Liste todos los archivos dentro del paquete bash.

5. Liste todos los paquetes que contenga su medio de instalacin (archivos rpm
dentro de su CD)

6. Liste la informacin del paquete webmin contenido en su CD de datos, antes
de instalarlo. Verifique que no est instalado.

7. Instale el paquete webmin.

8. Verifique que en efecto el paquete webmin est instalado.

9. Desinstale el paquete webmin y verifique que ya no est disponible en el
sistema.


Configuracin de una tarjeta de sonido (Opcional)
10. Use la herramienta de configuracin de tarjeta de sonido que se incluya en su
distribucin y configrela. Intente reproducir algo de audio.

Configuracin de una tarjeta de red (Opcional)
11. Inspeccione los archivos donde la configuracin de red de su sistema est
almacenada.
12. Observe la configuracin actual utilizando comandos especficos del sistema.
13. Intente cambiar la configuracin actual de red y observe los cambios
realizados. Vuelva a dejar la configuracin original.

FIN DEL EJERCICIO








Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 17: Asegurando una estacin Linux

De qu se trata este ejercicio
Este ejercicio provee la oportunidad de aplicar las tcnicas que pueden ser
usadas para asegurar una estacin en Linux.



Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Hacer una lista de los puertos abiertos
Determinar qu servicios son responsables de qu puertos abiertos
Deshabilitar servicios innecesarios.

























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Determinando qu servicios tienen puertos abiertos
1. Loguese como root en su ambiente grfico y abra una ventana Terminal.
2. Haga una lista de todos los puertos abiertos en el sistema. Identifique todos los puertos
que estn en un estado LISTEN
3. Para cada uno de los puertos del paso anterior determine qu PID abri ese puerto. Luego
determine cul es el nombre del proceso para ese PID.
4. Consulte las pginas manuales y la informacin del RPM para ese proceso y determine su
Ud necesita ese servicio corriendo o no.

Deshabilitando servicios innecesarios
5. Deshabilite cualquier servicio innecesario, utilizando el comando chkconfig.
6. Reinicie su sistema y cheque que todos los servicios innecesarios no iniciaron.

FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 18: Integracin de Linux en un ambiente
Windows

De qu se trata este ejercicio
Este ejercicio brinda la oportunidad de familiarizarse con las diferentes
opciones cuando se integra Linux en un Ambiente Windows.



Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. ser capaz de:
Acceder a filesystems Windows
Leer documentos con formatos de Windows

























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Instrucciones de Ejercicio
Actualmente algunas distribuciones de Linux como SuSE y Ubuntu vienen con soporte nativo para
leer y escribir en sistemas de archivos NTFS. Otras distribuciones como Red Hat, Fedora y
CentOS tienen la posibilidad de instalar una herramienta que actualiza las propiedades del kernel
para poder leer y escribir en NTFS.

Accesando a filesystems Windows
1. En una estacin con Linux y Windows, desde el sistema Linux y logueado como root, haga
una lista de todas las particiones que existen en su sistema con el comando fdisk l
/dev/hda (IDE) o fdisk -l /dev/sda (SCSI)
2. Liste todos los filesystems que estn montados, utilizando el comando mount. Compare
esta lista con la salida del comando previo. Esto debera darle una lista de los filesystems
de Windows que no estn montados todava.
3. Consulte con el instructor acerca de la herramienta adecuada para dar a su kernel de Linux
el soporte necesario para poder acceder a filesystems Windows (especialmente en
referencia a sistemas NTFS)
4. Cree puntos de montaje bajo /mnt para todos los filesystems Windows que desea montar.
Luego monte estos filesystems manualmente, usando el comando mount, Verifique que
los filesystems han sido montados exitosamente y liste sus contenidos.
5. Agregue una lnea al archivo /etc/fstab de manera que se monte automticamente cuando
se reinicia el sistema. Reinicie el sistema para verificar que funciona.

Open Office
6. Inicie Open Office e intente crear y guardar varios tipos de documentos: texto,
presentaciones, hojas de clculo, etc. Intente guardarlos en formatos compatibles con
Microsoft.
7. Inicie un browser y Google para buscar y obtener varios archivos en formato Microsoft
(.doc, .xls, etc), verifique si puede abrirlos, modificarlos y guardarlos.


FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 19: Planeamiento y Mantenimiento Fsico

Nota: Esta unidad no tiene ejercicios. Esta pgina simplemente asegura que la numeracin de los
ejercicios se mantenga sincronizada.


















































Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 20: Instalacin Avanzada de Linux

De qu se trata este ejercicio
Este ejercicio le permitir instalar el sistema operativo a travs de red.


Qu seremos capaces de hacer
Al finalizar este ejercicio, Ud. debera tener experiencia en instalar Linux a
travs de la red.

Materiales Requeridos
Para completar este ejercicio, Ud. necesitar lo siguiente:
- Un disco de instalacin de su distribucin.
- La direccin IP del servidor de instalacin.
Su instructor le proveer de la ltima de ellas.





























Ejercicios del Estudiante

Instrucciones de Ejercicio

Instalacin de Servidor Web (Solamente en los equipos servidores)
1. Asegrese de que exista conexin de red entre las mquinas designadas como servidor y
las clientes.
2. Verificar si est instalado el paquete para servicio web, utilizando el comando rpm -q
httpd.
3. Si est instalado, lo activamos utilizando el comando service httpd start.
4. Probar si el servidor web est respondiendo a peticiones al respecto a travs de la red.
Digitar en un browser http://ipdelservidor.
5. La raz del servidor web (Apache) es normalmente el path /var/www/html. Copie todos los
archivos que estn incluidos en el DVD en el directorio /var/www/html usando el comando
cp -a.
# cp -a /punto/montaje/dvd/* /var/www/html/
6. Al final Ud. tendr una gran cantidad de archivos dentro de /var/www/html/ con todos y
cada uno de los paquetes del DVD de instalacin.

Instalacin va Red
7. Debe ser posible acceder va web al directorio base y a los paquetes dentro de l,
utilizando el siguiente URL desde cualquier browser dentro de la red:
http://192.168.1.91/CentOS/RPMS
8. Arrancar la mquina en la que se instalar el sistema operativo con el DVD de instalacin
y en el prompt boot: colocar: linux askmethod.



9. El sistema solicitar la configuracin de una direccin IP para esa mquina. Configurar una
direccin adecuada al esquema en el que se est trabajando. El instructor recomendar el
valor adecuado en esta tarea.
10. Al asignar la direccin IP, el sistema solicitar el mtodo de instalacin a utilizarse. En este
caso se escoge http y se especifica la direccin IP del servidor. Asimismo en la seccin
donde se consulta el directorio raz ponemos a / como el correspondiente a la base donde
se encuentra el directorio CentOS.
Administracin Avanzada del Sistema Operativo
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
11. Damos en Siguiente y comienza el proceso normal de instalacin que ya es conocido.
12. Para este proceso de instalacin tomar las medidas siguientes:
- Mtodo de Particionamiento Manual
o swap: 2 GB
o /boot: 100 MB
o /: 9 GB
o /home: 1 GB
o Libre: 2GB
- En la configuracin del boot loader dejar los parmetros por defecto.
- Configurar adecuadamente los parmetros de red.
- No configure reglas de firewall y deshabilite SELinux.
- Seleccione la zona horaria.
- Asigne el password de root como lpic2009.
- Seleccione los paquetes que desee instalar. El menor nmero posible.

13. Una vez concluido este proceso, la instalacin tomar de 15 a 30 minutos, dependiendo
del nmero de paquetes seleccionados y del ancho de banda disponible a travs de la red.
Durante el proceso de instalacin, cree tres usuarios adicionales: tux1, tux2 y tux3, todos
ellos con el mismo password del usuario root.

Verificacin de instalacin va kickstart
14. Luego de reiniciar el sistema, haga login como root y eche un vistazo al archivo anaconda-
ks-cfg en el directorio home de root. Reconoce las opciones que escogi durante el
proceso de instalacin?
15. Identifique cada una de las partes o secciones del archivo, as como los lugares
adecuados donde debera agregar informacin, en caso de que deseara personalizar toda
una instalacin desatendida utilizando el archivo a travs de la herramienta kickstart.


FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 21: Proceso de Encendido y Apagado

De qu se trata este ejercicio
Este ejercicio ilustra el proceso de encendido y apagado de un sistema
Linux.


Qu seremos capaces de hacer
Al finalizar este ejercicio, Ud. debera ser capaz de:
- Escoger entre una pantalla de login grfica y una de texto, al cambiar
los run levels de un sistema.
- Arrancar un sistema Linux en modo single-user
- Usar editores de run level
































Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

El bootloader GRUB
1. Haga login como root
2. Cambie el archivo de configuracin /boot/grub/grub.conf de manera que se requiera un
password cuando se intente alterar varias de las opciones de arranque. Asegrese de que
el password est encriptado. Por conveniencia en clase use el password lpic2008.
# grub
grub>md5crypt
Password: lpic2008
Encrypted: $1$J GuR//$kjOu7Q9kTZk01wFKWQqMb/
grub>quit

El valor Encrypted ser siempre diferente, utilice el obtenido en su caso a continuacin.

# vi /boot/grub/menu.lst

Nota: Cuando grub inicia, inicia probando dispositivos para determinar los dispositivos
reconocidos en el BIOS. Esto puede tomar algo de tiempo, incluso varios minutos,
dependiendo de su hardware. Espere hasta que esto est realizado para ejecutar el
comando md5crypt dentro de grub.

Agregue la siguiente lnea sobre la primera lnea title del archivo /boot/grub/menu.lst:
password --md5 $1$JGuR//$kjOu7Q9kTZk01wFKWQqMb/

Nuevamente, el password encriptado ser diferente en cada situacin.

3. Reinicie su mquina. Use el comando shutdown para ejecutar el proceso de reinicio.
Luego intente alterar la secuencia de arranque, tanto sin utilizar la contrasea y luego
utilizndola.
# shutdown -r now
Espere a que el sistema se apague, y mire el men del GRUB cuando aparezca. Observe
la pantalla de manera cuidadosa para determinar las opciones que estn disponibles.
Intente alterar la secuencia de arranque de Linux, por ejemplo agregando un parmetro de
kernel como mem=64M.
Cargue Linux nuevamente.

Recuperando mensajes del kernel

Los mensajes que son mostrados por el kernel pueden ser una herramienta muy til en la
determinacin de problemas. Es por esto que Ud. podra desear recuperarlos, aun luego de que
su sistema ha arrancado.
4. Haga login como root.
5. Observe los mensajes de kernel y el archivo de logs /var/log/messages.
# dmesg | less
# less /var/log/messages

Configurando el runlevel por defecto

El runlevel por defecto puede ser alterado para configurar tu sistema para su situacin. En este
ejercicio, configure el runlevel por defecto en 3, de manera que Ud. reciba un prompt de login de
texto.

6. Edite el archivo /etc/inittab, cambie la lnea:
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
id:5:initdefault:
a
id:3:initdefault:
7. Reinicie su sistema, esta vez usando Ctrl-Alt-Delete.
8. Luego de que GRUB aparece, no haga nada. Luego de 5 a 10 segundos, GRUB debera
automticamente arrancar el sistema operativo por defecto.
9. Haga login como root e inicie el sistema en modo grfico.
# init 5
10. Haga una lista larga de los archivos dentro de los directorios /etc/rc.d/rc3.d, /etc/rc.d/rc4.d,
/etc/rc.d/rc5.d y /etc/rc.d/init.d.
# ls -l /etc/rc.d/rc3.d
# ls -l /etc/rc.d/rc4.d
# ls -l /etc/rc.d/rc5.d
# ls -l /etc/rc.d/init.d
11. Cree una lista de servicios con chkconfig, y revise su salida en relacin a la salida de los
comandos previos.
# chkconfig --list
12. Verifique que el servicio portmap est habilitado en un runlevel actual. Deshabilite este
servicio, luego revise los links simblicos en /etc/rc.d/rc5.d nuevamente.
# chkconfig --list portmap
# chkconfig portmap off
# chkconfig --list portmap
# ls -l /etc/rc.d/rc5.d
13. Cheque si el demonio portmap est actualmente corriendo. Luego reinicie el sistema.
# service portmap status
# reboot
14. Habilite el servicio portmap nuevamente, e inicie el servicio de manera manual.
# chkconfig portmap on
# chkconfig --list portmap
# service portmap start

Usando el Modo Single User
El modo Single User es muy conveniente para mantenimiento del sistema.

15. Haga logout, reinicie el sistema con Ctrl-Alt-Delete y arranque el sistema en modo single user
# exit
<Ctrl-Alt-Delete>
Si su sistema usa GRUB, presione p e ingrese el password. Luego presione e para
editar la entrada del sistema operativo, y presione e una vez ms para editar la
lnea de kernel. Luego, escriba single al final y presione Enter. Ahora presione b
para arrancar Linux.
En sistemas Fedora/RHEL Ud. no tendr que hacer login, Ud. obtendr un prompt
de root inmediatamente.

15. Haga una lista de los procesos que estn corriendo.
# ps ax
16. Reinicie el sistema.
# reboot
17. Documente los cambios realizados en su sistema, especialmente en referencia a las
contraseas implementadas.


FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 22: Herramientas de Administracin del sistema

De qu se trata este ejercicio
Este ejercicio brinda experiencia prctica en el uso de herramientas de
administracin del sistema en su distribucin.



Qu seremos capaces de hacer
Al finalizar este ejercicio, Ud. debera tener ser capaz de utilizar y configurar
la herramienta de administracin del sistema en la distribucin que usa.


































Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Trabajando con la herramienta de administracin del sistema
1. Inicie la herramienta de administracin del sistema que vino con su distribucin.
2. Eche un vistazo de la estructura de mens de su herramienta de administracin del
sistema para obtener una idea de la ubicacin de varios de los tems de configuracin.

Descargando e instalando webmin (extra y opcional)
Si el tiempo y las circunstancias lo permiten, intente instalar webmin. Su instructor le dir como y
dnde obtener la imagen de instalacin. Siga las instrucciones de la lectura para instalar,
configurar y ejecutar webmin.



FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 23: Herramientas de Empaquetamiento

De qu se trata este ejercicio
Este ejercicio brinda algo de experiencia prctica en el uso de la
herramienta de empaquetamiento en su distribucin.



Qu seremos capaces de hacer
Al finalizar este ejercicio, Ud. debera tener ser capaz de:
- Instalar, actualizar y desinstalar paquetes
- Consultar paquetes
- Verificar la autenticidad de paquetes
- Crear paquetes simples






























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Recuperando informacin acerca de paquetes instalados
1. Haga una lista de todos los paquetes que estn instalados en el sistema.
# rpm -q -a
2. Encuentre qu paquete instal el archivo /etc/inittab.
rpm -q -f /etc/inittab
3. Liste la informacin de ese paquete.
rpm -q -i -f /etc/inittab
4. Liste todos los archivos en ese paquete.
rpm -q -l -f /etc/inittab
5. Verifique si todos los archivos en ese paquete son todava los mismos. Qu archivo ha
cambiado y cmo? Por qu?
rpm -V -f /etc/inittab
Si Ud. ha realizado todos los ejercicios hasta ahora, debera observar que /etc/inittab ha
cambiado, tanto el checksum MD5 como el tiempo de modificacin, pero no el tamao.
Esto es debido a que Ud. cambi el runlevel por defecto.

Instalando paquetes
6. Monte el primer disco de sus medios de instalacin y cmbiese al directorio donde se
monta el disco.
# cd /media/cdrecorder
7. Agregue la clave pblica de la distribucin a su keyring. Use el comando find para localizar
su clave pblica.
# rpm --import RPM-GPG-KEY*
8. Verifique que el paquete fetchmail no est instalado (si lo est desinstlelo). Verifique el
paquete en el DVD e instlelo. Luego verifique que est instalado.
# rpm -q fetchmail
# rpm -K fetchmail-version.rpm
# rpm -ihv fetchmail-version.rpm
# rpm -qil fetchmail-version.rpm
9. Desinstale el paquete wireshark.
# rpm -e fetchmail

Usando un frontend para manejo de paquetes
10. Si es necesario, inicie X. Luego, inicie el frontend para RPM preferido para su distribucin.
Use esto para instalar la seccin Games and Entertainment.
# system-config-packages

Creando RPMs
11. Revise con su instructor si el archivo hello-1.2.tar.gz est disponible en algn lugar de la
red para su descarga en el directorio /root. Si est disponible, vaya al siguiente paso. Si no
estuviera disponible, Ud. necesita crearlo por su cuenta. En este caso cree un directorio
/root/hello-1.2 y cree los siguientes archivos dentro de l.
hello-1.2/hello.c
#i ncl ude <st di o. h>
mai n( )
{
pr i nt f ( Hel l o Wor l d! \ n) ;
}
hello-1.2/README

( C) Syder i x Copyr i ght 2008
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Est e pr ogr ama est l i cenci ado
baj o GPL. Est e pr ogr ama i mpr i me
el mensaj e Hel l o Wor l d! en
p

ant al l a.
hello-1.2/Makefile

al l : hel l o
hel l o: hel l o. c
gcc - o hel l o hel l o. c
i nst al l : hel l o
i nst al l - d $( DESTDI R) / usr / bi n
i nst al l - s - m0755 o r oot g r oot hel l o $( DESTDI R) / usr / bi n/ hel l o
cl ean:
r mf hel l o

Nota: Las lneas que contienen comandos inician con un TAB, no con espacios!

Luego, regrese a su directorio /root y haga un archivo tar de todos estos archivos, y
comprmalo con gzip.

# cd /root
# mkdir hello-1.2
# cd /hello-1.2
# vi hello.c
# vi Makefile
# vi README
# cd ..
# tar -czvf hello-1.2.tar.gz hello-1.2/
12. Copie el archivo hello-1.2.tar.gz hacia /usr/src/redhat/SOURCES
# cp hello-1.2.tar.gz /usr/src/redhat/SOURCES
13. Cree el archive hello.spec como se muestra a continuacin en el directorio correcto.
# vi /usr/src/redhat/SPECS/hello.spec

#
#Ar chi vo SPEC par a el pr ogr ama hel l o wor l d
#
Summar y: Hel l o, Wor l d Pr ogr am
Name: hel l o
Ver si on: 1. 2
Rel ease: 1
Li cense: GPL
Gr oup: Appl i cat i on
Sour ce: hel l o- 1. 2. t ar . gz
Di st r i but i on: Li nux
Vendor : Syder i x
Packager : J ose Est r ada
Bui l dRoot : / var / t mp/ hel l o- 1. 2

%descr i pt i on
Est e pr ogr ama i mpr i me el t ext o Hel l o Wor l d en l a pant al l a.

%pr ep
%set up

%bui l d
make

%i nst al l
make i nst al l DESTDI R=${RPM_BUI LD_ROOT}

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
%f i l es
%doc README
/ usr / bi n/ hel l o

14. Inicie la etapa prep de RPM y observe los resultados:
# rpmbuild -bp /usr/src/redhat/SPECS/hello.spec
# ls -lR /usr/src/redhat/BUILD
# ls -lR /var/tmp/hello-1.2
15. Inicie la etapa de compilacin (build) de RPM y observe los resultados.
# rpmbuild -bc /usr/src/redhat/SPECS/hello.spec
# ls -lR /usr/src/redhat/BUILD
# ls -lR /var/tmp/hello-1.2
16. Inicie la etapa de instalacin RPM y observe los resultados.
# rpmbuild -bi /usr/src/redhat/SPECS/hello.spec
# rpmbuild -lR /usr/src/redhat/BUILD
# ls -lR /var/tmp/hello-1.2
# /var/tmp/hello-1.2/usr/bin/hello
17. Cree el binario RPM y observe los resultados.
# rpmbuild -bb /usr/src/redhat/SPECS/hello.spec
# ls -l /usr/src/redhat/RPMS/i386
# rpm -qilp /usr/src/redhat/RPMS/i386/hello-1.2-1.i386.rpm
18. Cree el RPM fuente y observe los resultados.
# rpmbuild -bs /usr/src/redhat/SPECS/hello.spec
# ls -l /usr/src/redhat/SRPMS
# rpm -qilp /usr/src/redhat/SRPMS/i386/hello-1.2-1.src.rpm
19. Pruebe si existe un programa hello instalado. Ya que no lo est, instale su nuevo RPM
hello usando el comando rpm. Prubelo, desinstlelo, y luego prubelo nuevamente.
# hello (Esto debera fallar)
# rpm -ihv /usr/src/redhat/RPMS/i386/hello-1.2.i386.rpm
# hello (Esto no debera fallar)
# rpm -e hello
# hello (Esto debera fallar)


FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 24: Sistema X Window

De qu se trata este ejercicio
Este ejercicio trata sobre el uso del sistema X Window.



Qu seremos capaces de hacer
Al finalizar este ejercicio, Ud. debera tener experiencia con:
- Configurar XFree86, X.org.
- Iniciar y detener X
- Manejadores de ventanas
- Ejecutar aplicaciones X sobre la red































Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Configurando Xorg
1. Si Ud. est en un runlevel que automticamente inicia X, cmbiese a un runlevel que no
inicia X. Si Ud. inici X manualmente, detngalo.
# init 3
2. Haga una copia de backup del archivo xorg.conf.
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
3. Intente configurar la resolucin de su monitor a un valor diferente al actual.
# system-config-display
4. Busque en el archivo /etc/X11/xorg.conf el parmetro respectivo correspondiente al
cambio de resolucin que realiz.
5. Cambie nuevamente la configuracin de su monitor al valor de resolucin anterior.

Corriendo Aplicaciones
Para que una aplicacin sea ejecutada en un ambiente X, necesita estar lista para ello. La
mayora de aplicaciones que inician con x lo estn. Ud puede ejecutarlas directamente. Las
aplicaciones que no estn habilitadas para X, pueden ser ejecutadas desde una ventana xterm.
Una ventana xterm emula una Terminal ordinaria en un ambiente X.

6. En X, inicie xterm desde uno de los mens manejadores de ventanas. En Linux, el xterm
es algunas veces tambin conocido como xterm, kterm o algo ms terminado en term.
Intente ejecutar algunos de estos comandos desde esta ventana.
7. Hay muchas formas de iniciar aplicaciones con X. Una de ellas es desde los mens de los
manejadores de ventanas, que ya hicimos. Otra forma es desde la lnea de comandos
desde una ventana xterm. Intntelo, en la ventana xterm, ejecute el comando xterm &.
Ahora Ud. ve aparecer una nueva ventana xterm.
8. Otra forma de iniciar una aplicacin es desde una ventana de Terminal real. Note que X
inicio en una Terminal virtual nmero 7, de manera que Ud. puede todava acceder a la
nmero 1 hasta la 6. Intente cambiar entre las diferentes terminales.
9. Cmbiese a una ventana Terminal donde Ud. obtenga un prompt de lnea de comandos
ordinario. Si es necesario, haga login como root:
Ctrl-Alt-F1
Login:root
Password:lpic2009
10. Ejecute xterm. Ud. debera observar un mensaje de eror: Cant open display. Lo que
sucedi es que la aplicacin intent contactar el servidor X, pero no se encontr
informacin en el ambiente acerca de cul servidor X contactar. Esta informacin es
normalmente almacenada en la variable de ambiente $DISPLAY.
# xterm
11. Realice un echo $DISPLAY en esta ventana. Tambin realice un echo $DISPLAY en una
ventana xterm.
# echo $DISPLAY
# <Alt-F7>
# echo $DISPLAY
12. Regrese nuevamente a la pantalla X y note que Ud. inici una ventana xterm extra con
export DISPLAY=127.0.0.1:0.0. Ahora reinicie la aplicacin xterm. No deberan producirse
mensajes de error.
<Ctrl-Alt-F1>
# export DISPLAY=:0.0
# xterm &
13. Regrese a la pantalla X y note que Ud. inici una ventana xterm extra.
<Alt-F7>

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Ejecutando Aplicaciones sobre una Red

Dado que las aplicaciones utilizan una conexin TCP/IP para comunicarse con el servidor X, Ud.
puede tambin ejecutar aplicaciones desde otro servidor.

14. GDM, el GNOME Display Manager, tiene una caracterstica de seguridad que deshabilita
las sesiones X sobre la red. Esta caracterstica puede ser deshabilitada en un sistema
Fedora/RedHat. Para deshabilitar esta caracterstica, modifique el archivo
/etc/X11/gdm/gdm.conf: Setee la directiva DisallowTCP a false. Luego reinicie gdm,
cambiando al runlevel 3 y luego de regreso al runlevel 5.
# vi /etc/X11/gdm/gdm.conf
Di sal l owTCP=f al se
# init 3
# init 5
15. Pida a un compaero que abra una ventana terminal para Ud.
16. Configure la variable de display para que apunte a su propia pantalla. El comando para ello
lucir as: export DISPLAY=1.2.3.4:0.0, donde 1.2.3.4 es su propia direccin IP.
# export DISPLAY=1.2.3.4
17. Ahora intente iniciar un xterm. Ud. debera observar un mensaje de error: could not open
display. Esta es una caracterstica de seguridad de X: no acepta automticamente
conexiones entrantes.
# xterm &
18. Regrese a su propio sistema e ingrese el comando xhost +. Esto habilitar las conexiones
entrantes.
# xhost +
19. Regrese al sistema de su compaero e intente nuevamente el comando xterm. Esta vez
debera ser exitoso.
# xterm &
20. En su pantalla grfica Ud. debera ver una nueva xterm. Intente el comando hostname en
esta pantalla para verificar que la aplicacin xterm esta ejecutndose en el otro sistema.
# hostname
21. Cierre el xterm y ejecute un xhost.
# xhost

Ejecutar sesiones X sobre una red
Ud. puede no solamente ejecutar una nica aplicacin sobre la red, sino tambin una sesin X
completa sobre la red. En este caso no es solamente la aplicacin que est ejecutndose en el
sistema remoto, sino el manejador de ventana tambin. De hecho, el nico programa que necesita
estar ejecutndose localmente es su servidor X.

Nota: Las sesiones X sobre una red no han sido muy probadas y varias distribuciones tienen
problemas con ellas.

22. Realice todos los cambios necesarios al archivo de configuracin de su administrador de
login favorito de modo que se habiliten logins remotos. Luego reinicie su manejador de
login cambindose al runlevel 3 y luego al runlevel 5 nuevamente.

Para determinar el display manager que se est ejecutando:
# ps ax | grep dm

Para xdm:
# init 3
# cd /etc/X11/xdm
# vi Xaccess
Descomente la lnea que tiene nicamente un * en ella. Esto est ya hecho en
SuSE.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# vi xdm-config
Comente (con un !) la ltima lnea que especifica
DisplayManager.requestPort:0.
# init 5
Para kdm:
# init 3
# cd /etc/X11/xdm
# vi kdmrc
En la seccin [Xdmcp], cambie Enable=false por Enable=trae
# vi Xaccess
Descomente la lnea que tiene solo un * en ella.

Para gdm:
# init 3
# cd /etc/X11/gdm
# vi gdm.conf
En la seccin [xdmcp], cambie Enable=false por Enable=trae
# init 5

23. Inicie un segundo servidor X, esta vez indicando a X que obtenga su login manager del
sistema de su compaero.
# X -query <hostname> :1
24. Detenga la segunda sesin e inciela nuevamente, pero realice un broadcast indirecto por
un login manager. Ud. debera recibir un chooser que permita hacer login a cualquier
sistema ejecutando un display manager en la red.
# X -indirect <hostname> :1



FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 25: Compilacin y configuracin del Kernel

De qu se trata este ejercicio
Este ejercicio le permitir compilar el kernel de Linux.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. debera tener experiencia con:
Instalar las fuentes de kernel
Compilar el kernel
Instalar el kernel


























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Este ejercicio trata de la manera cmo compilar un kernel y obtener un paquete rpm que
pueda instalar y compartir con otros.

Preparacin
Antes de completar este ejercicio, algunos archivos RPM debern ser instalados en su
sistema, si no lo estn ya.
Para RedHat/CentOS:
kernel-version.rpm
qt-devel-version.rpm

Instalando los fuentes del kernel
1. Descargue la ltima versin de las fuentes del kernel de Linux de la pgina
www.kernel.org, o en su defecto solicite a su instructor el archivo correspondiente.
2. Copie el archivo (generalmente en formato .tar.bz2) al directorio /usr/src.
# cp linux-version.tar.bz2 /usr/src
3. Cmbiese al directorio /usr/src.
# cd /usr/src
4. Desempaquete las fuentes de Linux y cree un link simblico linux hacia el
directorio de las fuentes de kernel.
# tar -xvjf linux-2.6.18.3.tar.bz2
# ln -s linux-version linux
# cd /usr/src
5. Modificar el archivo /etc/modprobe.conf, de tal manera que se des-comente la lnea
correspondiente al mdulo mptscsi pues de otro modo, obtendremos un error como
este:
No modul e mpt scsi f ound f or ker nel 2. 6. 18. 3- def aul t , abor t i ng.
# vi /etc/modprobe.conf
6. Para iniciar el proceso de configuracin del nuevo kernel, es buena idea tomar como base
el kernel actual, de modo que copiamos la configuracin actual al directorio /usr/src/linux.
# cd /usr/src/linux
# make clean && make mrproper
# cp /boot/config-`uname -r` ./.config
7. Ahora obtenga el men de configuracin del nuevo kernel.
# make menuconfig
8. Ubique la opcin Load an Alternate Configuration File y escoja a .config como el archivo
de configuracin.
9. Explore a travs del men de configuracin de kernel y haga los cambios que crea
pertinentes. Asegrese de identificar un identificador de versin de kernel en la opcin
General Setup ---> () Local version - append to kernel release. Puede utilizar default de
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
modo que el paquete rpm que generemos se llame kernel-versiondefault-1.i386.rpm.
Puede igualmente utilizar cualquier otra cadena que le permita identificar la versin de
kernel. Slo asegrese de que todas las que compile tengan nombres diferentes.
10. Cuando haya hecho las elecciones pertinentes para el nuevo kernel, salga y guarde los
cambios realizados.
11. Compile el nuevo kernel.
#make rpm
Este proceso puede tomar varias horas.
12. Instale el nuevo kernel a travs del paquete .rpm que se ha creado.
# cd /usr/src/redhat/RPMS/i386/
# rpm -ihv --nodeps kernel-versiondefault.i386.rpm
13. Cree el disco RAM del nuevo kernel.
# mkinitrd /boot/initrd-version-default.img version-default

Configurando el BootLoader
14. Configure el bootloader de manera que el nuevo kernel pueda arrancar cuando se reinicie
el sistema.
Primero haga un listado de los archivos contenidos dentro del directorio /boot
# ls /boot
Qu archivos le llaman la atencin respecto del proceso que realizamos con anterioridad.
-
-
Edite el archivo /boot/grub/menu.lst de manera que agregue una nueva entrada para el
kernel nuevo. Tome como base la o las entradas actuales.
#vi /boot/grub/menu.lst
15. Reinicie el sistema
# reboot
16. Una vez que observe el GRUB al reiniciar el sistema, escoja el nuevo kernel que compil, y
verifique que arranque de manera adecuada.

FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 26: Dispositivos Carcter, PCMCIA y USB

NOTA
Esta unidad no incluye ejercicios pues el hardware requerido para realizar
este tipo de ejercicios no estar disponible en la mayora de salas de clase.
Esta pgina est aqu para asegurar los nmeros de ejercicio sincronizados

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 27: Dispositivos Bloque, RAID y LVM

De qu se trata este ejercicio
Este ejercicio permite trabajar con dispositivos Bloque, RAID y LVM.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. tendr experiencia en:
Discos RAM
Software RAID
Logical Volume Management


























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Nota
En esta unidad Ud. crear y utilizar varios dispositivos bloque. Estos dispositivos bloque
no son realmente tiles de manera aislada, sino hasta que crea un filesystem en ellos.
Para esto, Ud utilizar el comando mke2fs para crear un filesystem, y el comando mount
para montarlo. Estos comandos se cubren a profundidad en la siguiente unidad.

Trabajando con discos RAM
1. Verifique el tamao de los discos RAM que utiliza el kernel.
# dmesg | grep RAM
2. Formatee el disco RAM con el comando mke2fs.
# mke2fs /dev/ram0
3. Cree un directorio /mnt/ramdisk y monte el disco RAM en ese punto de montaje.
# mkdir /mnt/ramdisk
# mount /dev/ram0 /mnt/ramdisk
4. Ejecute el comando df para ver cunto espacio est disponible en este disco RAM.
# df
5. Copie algunos archivos en este disco RAM y mntelo nuevamente. Est el archivo ah
todava?
# cp /etc/passwd /mnt/ramdisk/passwd
# cat /mnt/ramdisk/passwd
6. Desmonte el disco RAM y mntelo nuevamente. Est el archivo ah an?
# umount /mnt/ramdisk
# mount /dev/ram0 /mnt/ramdisk
# cat /mnt/ramdisk/passwd
7. Reinicie su sistema y luego intente montar el disco RAM nuevamente. Funciona?
# reboot
Luego de reiniciar
# mount /dev/ram0 /mnt/ramdisk

Trabajando con particiones
Se crearn cuatro particiones de 150 MB cada una, que se usarn en los ejercicios siguientes.
Asegrese de disponer de ese espacio libre.
8. Inicie el programa fdisk y cree 4 particiones adicionales. El tamao de cada particin debe
ser de 150 MB. Guarde la tabla de particiones en el disco.
Anote los nmeros de particiones creadas, pues estos datos se usarn luego en el
transcurso del ejercicio.
# fdisk /dev/hda
Nota: De este punto en adelante se asumir que las particiones que cre son,
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
respectivamente, /dev/hda9, /dev/hda10, /dev/hda11. Asegrese de que no sobrescriba
accidentalmente otras particiones.
9. Preste atencin particular a la salida del comando fdisk. Dependiendo de las
circunstancias, puede mencionar The kernel still uses the old table. The new table will be
used at the next reboot. Intente con el commando partprobe para re-leer la tabla de
particiones. Si no observa errores, continu con el siguiente paso. Si ve mensajes de error,
reinicie el sistema.
# partprobe
o
# reboot
10. Formatee la primera de las cuatro particiones con el comando mke2fs. Cree un punto de
montaje /mnt/partition y monte esta particin en este punto de montaje.
# mke2fs /dev/hda9
# mkdir /mnt/partition
# mount /dev/hda9 /mnt/partition
11. Ejecute el comando df para observar cunto espacio est disponible en estas particiones.
# df
12. Copie algunos archivos en estas particiones y verifique que se encuentre ah.
# cp /etc/passwd /mnt/partition/passwd
# cat /mnt/partition/passwd
13. Reinicie su sistema y luego intente montar la particin nuevamente. Funciona?
# reboot
Luego de reiniciar
# mount /dev/hda9 /mnt/partition
14. Desmonte la particin que mont.
# umount /mnt/partition

Preparacin para RAID
15. Utilizando fdisk cambie el tipo de particin de las 4 particiones creadas a 0fxd (Linux RAID
autodetect). Use partprobe para re-leer la tabla de particiones y si es necesario, reinicie su
sistema:
# fdisk /dev/hda
Command (m for help): t
Partition number (1-11): 9
Hex code (type L to list codes): fd
Command (m for help): t
Partition number (1-11): 10
Hex code (type L to list codes): fd
Command (m for help): t
Partition number (1-11): 11
Hex code (type L to list codes): fd
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Command (m for help): t
Partition number (1-11): 12
Hex code (type L to list codes): fd
Command (m for help): w
# partprobe
O
# reboot

Trabajo para RAID (Fedora/RHEL)
16. Cree un arreglo RAID usando tres particiones en un arreglo lineal. Use el comando
mdadm para inicializar el arreglo, luego cree un filesystem en l. Monte el arreglo en un
punto de montaje llamado /mnt/raid. Ejecute el comando df para determinar cuanto
espacio tiene esta particin y para ver el status del arreglo RAID. Luego desmonte la
particin y detenga el arreglo.
# mdadm --create -v /dev/md0 -l linear -n3 /dev/hda9 /dev/hda10 /dev/hda11
# mke2fs j /dev/md0
# mkdir /mnt/raid
# mount /dev/md0 /mnt/raid
# df (escriba el espacio utilizado)
# cat /proc/mdstat
# mdadm --detail /dev/md0
# umount /mnt/raid
# mdadm -S /dev/md0
17. Cree un nuevo arreglo RAID usando las 4 particiones en un arreglo RAID-0. Use el
comando mdadm para inicializar el arreglo, luego cree un filesystem l. Monte el arreglo
en un punto de montaje llamado /mnt/raid. Ejecute el comando df para determinar cuanto
espacio tiene esta particin y para ver el status del arreglo RAID. Luego desmonte la
particin y detenga el arreglo.
# mdadm --create -v /dev/md0 -l 0 -n4 /dev/hda9 /dev/hda10 /dev/hda11 /dev/hda12
# mke2fs j /dev/md0
# mkdir /mnt/raid
# mount /dev/md0 /mnt/raid
# df (escriba el espacio utilizado)
# cat /proc/mdstat
# mdadm --detail /dev/md0
# umount /mnt/raid
# mdadm -S /dev/md0
18. Cree un nuevo arreglo RAID usando 3 particiones en un arreglo RAID-1. Use el comando
mdadm para inicializar el arreglo, luego cree un filesystem l. Monte el arreglo en un punto
de montaje llamado /mnt/raid. Ejecute el comando df para determinar cuanto espacio tiene
esta particin y para ver el status del arreglo RAID. Setee uno o dos discos del arreglo
como daados (faulty) y observe la recuperacin del arreglo utilizando el disco sobrante.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Luego desmonte la particin y detenga el arreglo.
# mdadm --create -v /dev/md0 -l 1 -n 3 /dev/hda9 /dev/hda10 /dev/hda11 -x /dev/hda12
# mke2fs j /dev/md0
# mkdir /mnt/raid
# mount /dev/md0 /mnt/raid
# df (escriba el espacio utilizado)
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# mdadm --manage -f /dev/md0 /dev/hda9
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# mdadm --manage -r /dev/md0 /dev/hda9
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# mdadm --manage -a /dev/md0 /dev/hda9
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# umount /mnt/raid
# mdadm -S /dev/md0
19. Cree un nuevo arreglo RAID usando 3 particiones en un arreglo RAID-5 y uno ms usado
como spare (repuesto). Use el comando mdadm para inicializar el arreglo, luego cree un
filesystem l. Monte el arreglo en un punto de montaje llamado /mnt/raid. Ejecute el
comando df para determinar cuanto espacio tiene esta particin y para ver el status del
arreglo RAID. Setee uno o dos discos del arreglo como daados (faulty) y observe la
recuperacin del arreglo utilizando el disco spare o de repuesto. Luego desmonte la
particin y detenga el arreglo.
# mdadm --create -v /dev/md0 -l 5 -n 3 /dev/hda9 /dev/hda10 /dev/hda11 -x /dev/hda12
# mke2fs j /dev/md0
# mkdir /mnt/raid
# mount /dev/md0 /mnt/raid
# df (escriba el espacio utilizado)
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# mdadm --manage -f /dev/md0 /dev/hda9
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# mdadm --manage -r /dev/md0 /dev/hda9
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# mdadm --manage -a /dev/md0 /dev/hda9
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# cat /proc/mdstat (Repetir esto hasta que todo est sincronizado)
# mdadm --detail /dev/md0
# umount /mnt/raid
# mdadm -S /dev/md0

Trabajo para LVM
20. Con fdisk, cambie los tipos de particin de las 4 particiones a 0x8e (Linux LVM). Intente
usar partprobe y si es necesario reinicie el sistema.
# fdisk /dev/hda
Command (m for help): t
Partition number (1-11): 9
Hex code (type L to list codes) : 8e
Command (m for help): t
Partition number (1-11): 10
Hex code (type L to list codes) : 8e
Command (m for help): t
Partition number (1-11): 11
Hex code (type L to list codes) : 8e
Command (m for help): t
Partition number (1-11): 12
Hex code (type L to list codes) : 8e
Command (m for help): w
# partprobe
O
# reboot
21 Inicialice cada una de las 4 particiones, que us antes, como Physical Volumen. SI obtiene un
mensaje de error /etc/lvmtab does not exist, ejecute el comando vgscan para crearlo.
# pvcreate /dev/hda9
# pvcreate /dev/hda10
# pvcreate /dev/hda11
# pvcreate /dev/hda12
21. Cree un colume group vg00, que consista de las primeras dos particiones LVM. Use un
tamao de PE de 4 MB.
# vgcreate -s 4M vg00 /dev/hda9 /dev/hda10
22. Cree un logical volume lv00 de 50 MB en el volume group vg00.
# lvcreate -L 50M -n lv00 vg00
23. Formatee el logical volume con el comando mke2fs. Cree un punto de montaje /mnt/lv00 y
monte el logical volume. Luego, ejecute el comando df para revisar cunto espacio est
disponible.
# mke2fs /dev/vg00/lv00
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# mkdir /mnt/lv00
# mount /dev/vg00/lv00 /mnt/lv00
# df
24. Use los diferentes commandos LVM para recuperar informacin acerca de los physical
volume, el volume group y los logical volumes.
# vgdisplay vg00
# lvdisplay /dev/vg00/lv00
# pvdisplay /dev/hda9
# pvdisplay /dev/hda10
# pvdisplay /dev/hda11
# pvdisplay /dev/hda12
25. Eche un vistazo de todos los archivos que fueron creados en /etc/lvm. Puede leer estos
archivos?
# cd /etc/lvm
# ls
# cat vg00.conf
Si su pantalla se llena de mensajes basura, use el comando reset para restaurar todo.
26. Agregue las tercera y cuarta particiones LVM al volume group vg00, y migre toda la
informacin en estos physical volumes. Luego reduzca el volume group de modo que el
volume group solamente contenga la tercera y cuarta particin. Necesita desmontar el
logical volume /dev/vg00/lv00 primero?
# vgextend vg00 /dev/hda11
# vgextend vg00 /dev/hda12
# pvmove /dev/hda9 /dev/hda11
# pvmove /dev/hda10 /dev/hda12
# vgreduce vg00 /dev/hda9 /dev/hda10
# vgdisplay vg00
No es necesario desmontar los logical volumen mientras se realiza la migracin.
27. Agregue las primeras dos particiones nuevamente a su volume group, y cree tres logical
volumes ms en este volume group, llamados lv01 hasta lv03. Cada logical volume
necesita ser de 50 MB tambin. Necesitaremos esto para el siguiente ejercicio.
# vgextend vg00 /dev/hda9 /dev/hda10
# lvcreate -L 50M -n lv01 vg00
# lvcreate -L 50M -n lv02 vg00
# lvcreate -L 50M -n lv03 vg00
28 Documente todos los cambios realizados.


FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 28: Filesystems

De qu se trata este ejercicio
Este ejercicio permite trabajar filesystems.


Qu seremos capaces de hacer
Al finalizar este ejercicio Ud. debera tener experiencia en:
Crear, montar y desmontar filesystems Linux.
Montar y desmontar filesystems no Linux.
Montaje automtico de filesystems en el arranque del sistema.
Configurar cuotas de usuario.

























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Instalacin de herramientas
1. Asegrese de que todos los utilitarios para ext2/ext3, ReiserFS y J FS estn instaladas.
Tambin cheque el soporte de kernel para cada uno de estos filesystems. No todas las
distribuciones incluyen todos los utilitarios por defecto, y no todas las distribuciones
incluyen soporte para todos los filesystems en su kernel.
Los utilitarios para ext2/ext3 estn contenidos en el paquete RPM e2fsprogs
(Fedora/RHEL/SuSE).
Los utilitarios para ReiserFS estn contenidos en el RPM reiserfs-utils (Fedora) y el
paquete RPM reiserfs (SuSE). Red Hat no incluye soporte ReiserFS.
Los Utilitarios para J Fs estn contenidos en el RPM jfsutils.

Creando Filesystems Linux
2. Si su distribucin lo soporta, cree un filesystem ext3 en /dev/vg00/lv01.
# mke2fs j /dev/vg00/lv01
3. Cree un punto de montaje, /mnt/lv01 para este filesystem.
# mkdir /mnt/lv01
4. Monte el filesystem en este punto de montaje.
# mount /dev/vg00/lv01 /mnt/lv01
5. Si su distribucin lo soporta, cree un filesystem ReiserFS en /dev/vg00/lv02.
# mkreiserfs /dev/vg00/lv02
6. Cree un punto de montaje, /mnt/lv02 para este filesystem.
# mkdir /mnt/lv02
7. Monte el filesystem en este punto de montaje.
# mount /dev/vg00/lv02 /mnt/lv02
8. Si su distribucin lo soporta, cree un filesystem J FS en /dev/vg00/lv03.
# mkfsjfs /dev/vg00/lv03
9. Cree un punto de montaje, /mnt/lv03 para este filesystem.
# mkdir /mnt/lv01
10. Monte el filesystem en este punto de montaje.
# mount /dev/vg00/lv03 /mnt/lv03
11. Ejecute el commando mount y df para observar los filesystems montados. Puede
observar cunto espacio estn utilizando los journals? Asimismo, liste el directorio raz de
los filesystems montados. Son visibles los journals?
# mount
# df
# df -i
# cd /mnt/lv00
# ls -la
Ejercicios del Estudiante
# cd /mnt/lv01
# ls -la
# cd /mnt/lv02
# ls -la
# cd /mnt/lv03
# ls -la
12. Cree algunos archivos y/o directorios en estos filesystems montados.
# cd /mnt/lv00
# touch testfile0
# mkdir testdir0
# cd /mnt/lv01
# touch testfile1
# mkdir testdir1
# cd /mnt/lv02
# touch testfile2
# mkdir testdir2
# cd /mnt/lv03
# touch testfile3
# mkdir testdir3

Montando automticamente Filesystems en el arranque
Los filesystems que desee montar automticamente en el arranque deberan estar listados en
/etc/fstab.
13. Edite el archivo /etc/fstab para incluir todos los filesystems creados previamente.
# vi /etc/fstab
Agregue las lneas siguientes:



14. Ejecute el comando sync para asegurar que toda la informacin sea escrita a disco.
Espere 5 segundos. Luego apague su computadora con el botn de power off. No haga un
shutdown adecuado. Encienda su computadora y observe los mensajes de arranque. Qu
filesystem fue chequeado ms rpidamente.
# sync

Cambiando el tamao del Filesystem
15. Para cada uno de los cuatro fs creados intente extender el tamao del filesystem a 100
MB. Ejecute filesystem checks antes y despus si es posible.
Note que algunos tipos de filesystems no permiten extender el fs sin desmontarlo. En ese
caso, Ud tendr que desmontar el filesystem primero.
Administracin Avanzada del Sistema Operativo
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Nota: Al extender un filesystem J FS parece no funcionar correctamente. La mayora de
distribuciones sin embargo no incluyen el comando extendfs.

ext2 (usando lvextend/resize2fs)
# umount /mnt/lv00
# e2fsck f /dev/vg00/lv00
# lvextend -L 100M /dev/vg00/lv00
# resize2fs p /dev/vg00/lv00
# e2fsck f /dev/vg00/lv00
# mount /mnt/lv00
# df
ext3 (usando e2fsadm):
# umount /mnt/lv01
# e2fsadm -L 100M /dev/vg00/lv01
# mount /mnt/lv01
# df
ReiserFS:
# lvextend -L 100M /dev/vg00/lv02
# resize_reiserfs -v /dev/vg00/lv02
# df
J FS (Como se indic, esto no funcionar bien, pero debera trabajar como se
indica)
# lvextend -L 100M /dev/vg00/lv03
# extendfs /dev/vg00/lv03
# df

Trabajando con archivos con mltiples nombres
Como se observ anteriormente, un archivo puede tener mltiples nombres, siempre que cada
nombre se refiera al mismo inode. Un ejemplo de esta situacin es /bin/gzip, /bin/gunzip y
/bin/zcat.
16. Haga login como root. Verifique si /bin/gzip, /bin/gunzip y /bin/zcat de hecho tienen el
mismo nmero de inode.
# ls -li /bin/gzip /bin/gunzip /bin/zcat
17. Vaya a /root y cree un archivo llamado one, usando vi. Ponga algo de texto en el archivo,
de manera que pueda identificarlo.
# cd /root
# vi one
18. Verifique el nombre del archivo y su contenido.
# ls -li one
# cat one
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
19. Ahora cree un segundo link al archivo (un segundo nombre de archivo) llamado two.
Verifique el nombre del archivo y sus contenidos.
# ln one two
# ls -li one two
# cat two
20. Borre el archivo one.
# rm one
21. Verifique el nombre de archivo y los contenidos de two. Note que el link se ha roto.
# ls -li two
# cat two
22. Cree un tercer link, llamado three, en el directorio /. Nuevamente debera apuntar al
archivo original. Verifique el nombre de archivo y los contenidos de este archivo.
# cd /
# ln /root/two three
# ls -li three
# cat three
23. Ahora intente crear un cuarto link en uno de los filesystems que cre.
# cd /mnt/linux1
# ln /root/two tour
24. Cree un symbolic link desde /root/two hacia /mnt/lv00/four. Lea la pgina manual de ln si
es necesario. Verifique el nombre y los contenidos del archivo.
# cd /mnt/lv00
# ln -s /root/two four
# ls -li four
# cat four
25. Ahora borre /root/two, y verifiquelos contenidos de ambos /tmp/three y /mnt/lv00/tour.
# rm /root/two
# ls -li /three /mnt/lv00/tour
# cat /three
# cat /mnt/lv00/four

Configurando cuotas de usuario
26. Remonte el filesystem /home de modo que est habilitado para cuotas, y asegrese de
que las cuotas estn habilitadas cuando el sistema se reinicie.
# vi /etc/fstab
Agregue la opcin usrquota a la entrada que describe su filesystem /home. La lnea
debera verse as:
/dev/hda8 /home /ext3 defaults,usrquota 1 2
Note que no debera haber ningn espacio entre defaults y usrquota, slo una coma.
# mount -o remount /home
Ejercicios del Estudiante
# mount | grep /home
27. Ejecute un reclculo de las cuotas actuales y active el chequeo de cuotas.
# touch /home/aguota.user
# quotacheck /home
Si recibe una advertencia acerca de que un archive est siendo truncado, ejecute
quotacheck nuevamente.
# quotaon /home
28. Configure el softlimit de los usuarios tux1 y tux2 a 4 MB y el hard limit a 5 MB.
# edquota -u tux1
Al cambiar el softlimit a 4096 y el hardlimit a 5120, el archivo debera lucir as:

Guarde el archivo.
# edquota -p tux1 -u tux2
29. En otra Terminal, haga login como tux1 y cree 5 archivos de 1 MB cada uno. Observe lo
que pasa.

30. An logueado como tux1 revise las cuotas.
$ quota
31. Retorne a su sesin de root y revise las cuotas de todos los usuarios.
# repquota /home
32. Documente todos los cambios realizados.

FIN DEL EJERCICIO

Administracin Avanzada del Sistema Operativo
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Ejercicio 29: Manejo de Memoria

De qu se trata este ejercicio
Este ejercicio demuestra el manejo de memoria en Linux, y le permite crear
y utilizar espacio de paginacin.


Qu seremos capaces de hacer
Luego de terminar este ejercicio Ud. debera tener experiencia en:
Las herramientas ms importantes en el manejo de memoria
Crear y activar particiones de paginacin y archivos de paginacin


























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Si tiene ms de 128 MB de memoria
En este ejercicio Ud. aprender acerca del manejo de memoria en Linux. Como parte de este
ejercicio, se va a saturar la memoria disponible. La experiencia muestra que si tiene ms de 128
MB de memoria, esas partes del ejercicio tomarn demasiado tiempo. (Efectivamente,Hay una
desventaja de tener mucha memoria!) Por lo tanto se va a limitar la cantidad de memoria que
Linux detecta a 128 MB, solamente para este ejercicio.
1. Reinicie Linux
# reboot
2. Si usa GRUB, modifique la lnea del kernel de manera que el parmetro mem=128M se
agregue.

Uso de top
3. Inicie top e identifique las diferentes piezas de informacin:
- La hora, el uptime, el nmero de usuarios y la informacin de carga en la
primera lnea.
- El nmero de procesos en la segunda lnea.
- El parmetro CPU breakdown en la cuarta lnea.
- El parmetro real memory breakdown en la cuarta lnea
- El parmetro swap space breakdown en la quinta lnea
- Los procesos (ordenados por tiempo de CPU) en las siguientes lneas
Verifique que Linux ha detectado nicamente 128 MB.
# top
4. top automticamente se refresca a s mismo cada 10 segundos. Para incrementar esto a 1
segundo, ingrese el comando s1.
5. top por defecto no muestra la cantidad de espacio swap usado por cada proceso. Para
mostrar esta cantidad tambin, llame a la pantalla Field Order con el comando f, y habilite
el despliegue del espacio swap.
p
en RedHat presione o. En Fedora/SUSE, presione, presione p.
6. Para ordenar los procesos de manera diferente use los comandos M, P o T.
7. Deje a top ejecutndose en una ventana separada.

Chequeo de espacio swap
8. Debera haber un espacio swap activo (revise la quinta lnea de top). Desactive este
espacio swap. (Si no conoce que particin es usado como espacio swap, revise
/proa/swaps.)
# cat /proa/swaps
# swapoff /dev/hdn
9. Regrese a su ventana top y chequee lo que sucedi.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
10. Reactive el espacio swap.
# swapon /dev/hdn

Uso del Cache
11. El cacheo se realiza de manera automtica. Si Ud. ha ejecutado el ejercicio de manera
adecuada, su uso de cach debera ser cerca de 20 MB. Vea lo que pasa si realmente
iniciamos a acceder en el disco. Inicie un programa que le de trabajo intensivo al disco.
# find /usr type f exec cat {} \; > /dev/null
12. Observe lo que pasa a la cantidad de informacin en cach en el comando top. Este
nmero debera incrementarse hasta que su cach casi toda su memoria real. Solamente
alrededor de 4 MB se dejarn libres de uso. Pero note tambin que virtualmente ningn
proceso conmutar a disco.

Uso del espacio swap
El espacio swap es nicamente utilizado si hay muy poca memoria disponible. Primero la cantidad
de informacin en cach disminuye a cerca de cero antes de que los procesos conmuten a disco.
Por tanto, necesita tener un programa que use mucha memoria real. La solucin ms fcil es
escribirlo uno mismo.
13. Cree el directorio /root/bin y haga cd a l.
# mkdir /root/bin
# cd /root/bin
14. Cree un programa llamado usemem, que contenga:
#!/usr/bin/perl
print Alojando $ARGV[0] megabytes de memoria \n;
$big = ;
for( $i=0; $i<$ARGV[0]; $i++ )
{
$big .= 1234567890x104858;
}
print Presione ENTER para liberar memoria\n;
<STDIN>;

Cuando inicie este programa, gradualmente alojar la cantidad de memoriaque se
especifique en la lnea de comandos, y luego espera que se presione EMTER. Cuando
presione ENTER, el programa sale y desaloja su memoria.
15. Haga un chmod 755 de este programa e incielo con un parmetro de 1. Esto asegurar
que el programa aloje cerca de 1 MB de memoria.
# chmod 755 usemem
# usemem 1
No aplaste ENTER!
16. Ahora regrese a su pantalla top y seleccione el modo sort by memory usage ejecutando
el comando M. Note cunto de memoria es utilizada por el comando usemem.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
17. Detenga usememn e incielo con cerca de la mitad de la cantidad de memoria que est en
su sistema. De modo que si dispone de 128 MB de memoria real. Inicie el comando con 64
como parmetro. Mire lo que sucede en top. Primero Ud. debera observar que la cantidad
de informacin en cach se disminuye y quiz observe algunos procesos conmutando a
disco (swapped out).
# usemem 64
18. Ahora inicie usemem con cerca del 80% de su memoria y mire lo que pasa.
19. Detenga usemem y observe lo que pasa. No te que los procesos que conmutan a disco no
regresan a memoria automticamente tan pronto como la memoria est disponible.
Conmutarn a memoria cuando sean necesarios.
20. Deshabilite su espacio swap con swapoff y observe lo que sucede.
# swapoff /dev/hdn
21. Habilite el espacio swap de nueve y ejecute usemem con cerca del 90 % del total de
memoria (real +swap). Si Ud satura su memoria real, y satura el espacio swap, ver que
usemem es automticamente detenido cuando intenta alojar incluso ms memoria.
# swapon /dev/hdan
# usemem 300

Creacin de un archivo swap
Si repentinamente necesita ms espacio swap en un sistema activo, pero no tiene ms particiones
vacas para respaldar, Ud puede crear archivos swap. El uso de archivos swap es, sin embargo,
menos eficiente que las particiones swap, de modo que utilice esto nicamente en una
emergencia. Es incluso posible poner el archivo swap en un directorio montado a travs de NFS.
22. Primero, encuentre un filesystem donde tenga espacio para un gran archivo swap (Al
menos 64 MB libre). Localice un directorio en este filesystem.
# df
Suponiendo que escogi al directorio /var y el swapfile /var/tmp/swapspace
23. Cree el gran archivo a ser utilizado como archivo swap.
# dd if=/dev/zero of=/var/tmp/swapspace bs=1M count=64
24. Convierta este archive en un swapfile
# mkswap /var/tmp/swapspace
25. Actvelo.
# swapon /var/tmp/swapspace
26. Vaya a su ventana top y revise si el espacio swap se ha incrementado. Tambin observe el
archivo /proa/swaps. Cul cree que es el significado del campo Priority y por qu es
diferente el de la particin swap. Ahora intente utilizar de nuevo el comando usemem que
fall la ltima vez.
# cat /proc/swaps
# usemem 300
27. Agregue el archivo swap a su archivo /etc/fstab de manera que se active la siguiente vez
que reinicie el sistema.
# vi /etc/fstab
Agregue la lnea siguiente:
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
/var/tmp/swapspace swap swap defaults 0 0
28. Reinicie el sistema para asegurar que est trabajando con la correcta cantidad de
memoria.
# reboot


FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 30: Scheduling

De qu se trata este ejercicio
Este ejercicio provee al estudiante con el conocimiento acerca de tareas
programadas en Linux (scheduling). Los estudiantes configurarn tareas
programadas e iniciarn sus propios jobs a travs de esta herramienta.


Qu seremos capaces de hacer
Luego de terminar este ejercicio Ud. debera tener experiencia en:
Nombrar los comandos y demonios que involucran las tareas
programadas en Linux
Iniciar y detener jobs a travs de estas tareas programadas.

























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Trabajo con cron y at
En este ejercicio se trabajar nicamente con cron y at. No se trabajar con ancharon pues le
toma un da para iniciar el primer job y no trabajar con batch pues es dependiente de la carga del
sistema y es complicado crear una situacin donde este utilitario pueda ser demostrado, dado el
amplio rango de configuraciones en los que este curso necesita ejecutarse.

1. Haga login en la primera Terminal como tux1 y en la quinta como root.
<ALT-F1> Login como tux1
<ALT-F2> Login como root
2. Vaya a la Terminal vitual 5
3. Cheque si los demonios necesarios para scheduling estn corriendo
# ps aux | egrep cron|at
4. Mire los contenidos de su archivo crontab. Dnde estn almacenados los archivos
crontab de los usuarios?
# crontab -l
O
# more /var/spool/cron/root
Da un mensaje de error
Los archivos crontab de los usuarios estn almacenados en el directorio /var/spool/cron
(Fedora RHEL) o /var/spool/cron/tabs (SLES)
5. Liste los contenidos de los directorios /var/spool/cron y /var/spool/at. Qu observa?
# ls -lR /var/spool/cron*
# ls -lR /var/spool/at*
Ud no debera observer archivos de usuario.
6. Edite su archivo crontab: Asegrese de que su sistema ejecuta el comando df cada cinco
minutos.
# crontab -e
Ingrese la lnea siguiente:
*/5 * * * * df
7. Revise los contenidos del directorio /var/spool/cron nuevamente. Qu observa ahora?
# ls -lR /var/spool/cron*
Debera observar un archivo con el nombre root.
8. Inicie un job que correr en 10 minutos. El comando que debera ser ejecutado en 10
minutos es who. A qu hora correr el comando de acuerdo con at?
# at now + 10 minutes
at> who
at> <CTRL-D>
9. Revise si hay jobs listados en los contenidos del directorio /var/spool/at. Qu observa?
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# atq
O
# at -l
# ls lR /var/spool/at*
Ud debera observer un archivo extra ahora.
10. Observe los contenidos del archivo. Qu observa?
# vi /var/spool/at*/<nombre del archivo>
Ud est observando los shell scripts que se ejecutan por parte del demonio atd en la hora
especificada. En la ltima lnea del archivo, Ud encuentra el comando who, que se desea
que se ejecute.
11. Ingrese el siguiente comando:
# at 9am
at> ps aux
at> <CTRL-D>
Cundo se ejecutar este comando?
Este comando se ejecutar maana a las 9am.
12. Cmbiese a la VT donde tux1 est logueado.
13. Observe el archivo crontab de tux1
$ crontab -l
14. Haga un archivo crontab para tux1 que ejecute el comando ls $HOME | wc -l cada hora.
Cheque si el archivo crontab para tux1 existe de todos modos.
$ crontab -e
Agregue la lnea siguiente
0 * * * * ls $HOME | wc -l
$ crontab -l
15. Borre el archive crontab
$ crontab -r
No borre directamente el archivo crontab con el comando rm
16. Regrese a la terminal 5. Configure el demonio cron de modo que tux1 no se le permita usar
croad nunca ms.
<ALT-F5>
# vi /etc/cron.deny
Agregar tux1 a este archivo
17. Vaya a la Terminal 1 e intente crear un archivo crontab nuevamente. Qu sucede?
<ALT-F1>
$ crontab -e
$ crontab -l
Ud obtendr un mensaje de error indicando que no est permitido de utilizar crontab.
18. Como root, revise su correo, Qu clase de mail recibi?
<ALT-F2>
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# mail
El correo que ve es la salida del demonio croad que contiene la salida de los comandos
que ejecut con su archivo crontab y el demonio atd.
19. Borre los archivos crontab de root. (No use el comando rm)
# crontab -r
20. Observe los archivos crontab del sistema y los directorios.
# less /etc/crontab
# less /etc/cron.d/*
# ls -l /etc/cron.hourly
# ls -l /etc/cron.daily
# ls -l /etc/cron.weekly
# ls -l /etc/cron.monthly


FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 31: Backup y Restore

De qu se trata este ejercicio
El propsito de estos ejercicios es familiarizarse con tcnicas de respaldo y
restauracin.


Qu seremos capaces de hacer
Luego de terminar este ejercicio Ud. debera ser capaz de:
Realizar backups incrementales y completos del sistema.
Usar tar y/o otros comandos para realizar backup y restore.


























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Instrucciones de Ejercicio


Usando tar

1. Revise las pginas manuales para los comandos de backup discutidos: tar, cpio.
# man tar
# man cpio
2. Cree en su directorio /home tres subdirectorios, llamadas subdir1, subdir2 y subdir3, y cree
cinco archivos, llamados, testfile1, testfile2, testfile3, testfile4, testfile5 en cada
subdirectorio.
# ls /home
# cd /home
# for i in 123
> do
> mkdir subdir$i
> for j in 1 2 3 4 5
> do
> touch subdir$i/testfile$j
> done
> done
3. Cree un logical volume extra en su volume group. Nombre este logical volume backuplv.
Su tamao debera ser de alrededor de 10 MB.
# lvcreate -L 10M -n backuplv vg00
4. Use el comando tar para hacer backup de su directorio /home hacia la particin que Ud.
cre.
# tar cvf /dev/vg00/backuplv /home
5. Verifique el contenido del backup que Ud. cre.
# tar tvf /dev/vg00/backuplv | less
6. Borre los directorios /home/subdirn y todos los archivos en ellos.
# cd /home
# rm -rf subdir*
7. Restaure el backup que cre.
# cd /
# tar xvf /dev/vg00/backuplv
8. Genere una lista (/tmp/1daytar.list) de todos los archivos dentro de /home que fueron
accedidos en el ltimo da.
# find /home mtime -1 > /tmp/1daytar.list
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
9. Cree un backup incremental usando el comando tar.
# tar -cv -T /tmp/1daytar.list f /dev/vg00/backuplv
10. Restaure el backup que cre en el paso anterior,.
# cd /
# tar xvf /dev/vg00/backuplv

Usando cpio

11. Genere una lista /tmp/todaycpio.list de todos los archivos en /home que fueron modificados
en el ltimo da.
# find /home mtime -1 -print > /tmp/todaycpio.list
12. Cree un backup incremental usando cpio. Use la misma particin que us antes.
# cat /tmp/todaycpio.list | cpio -ov > /dev/vg00/backuplv
13. Restaure el backup que cre en el ejercicio anterior
# cpio -iduvm < /dev/vg00/backuplv

Usando dump
14. Verifique que dump est instalado, sino, instlelo.
# which dump
15. Haga dump del filesystem /home a la particin backup.
# dump -0 -u -f /dev/vg00/backuplv /home
16. Anote las fechas de todos los archivos dentro de /home/subdir*. Actualice todos los
archivos en /home/subdir1 y haga un backup incremental a un diskette o memoria flash.
# cd /home
# ls -lR subdir*
# cd /home/subdir1
# touch *
# ls -lR
# cd /
# dump -1 -u -f /dev/fd0 /home
17. Observe qu archivos han sido dumped o se han hecho dump al LV backup y al floppy
disk.
# restore -t -f /dev/vg00/backuplv
# restore -t -f /dev/fd0
18. Desmonte el filesystem /home y reformatelo. Luego restaure ambos dumps en el orden
correcto. Verifique que las fechas en los archivos sean correctas.
# mount | grep /home
Recuerde el nombre de dispositivo
# umount /home
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# mke2fs -j /dev/hdan
# e2label /dev/hdan /home
# mount /home
# cd /home
# restore -r -f /dev/vg00/backuplv /home
# restore -r -f /dev/fd0 /home
# cd /home
# ls -lR

FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 32: Administracin de Usuario

De qu se trata este ejercicio
Este ejercicio ensea a los estudiantes cmo agregar usuarios y grupos y
dnde encontrar informacin respecto de esos usuarios y grupos en su
sistema.


Qu seremos capaces de hacer
Luego de terminar este ejercicio Ud. debera ser capaz de:
Agregar y borrar usuarios y grupos.
Especificar los archivos involucrados en la administracin de usuario


























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Instrucciones de Ejercicio

Ambiente de usuario
1. Haga logout de todos los usuarios-
# exit
O
# logout
2. Haga login como tux1 en la VT 1 y como root en la VT 5.
<ALT-F1> Login como root
<ALTF5> Login como tux1
3. Observe los siguientes archivos:
- /etc/profile
- /etc/bashrc
- $HOME/.bash_profile
- $HOME/.bashrc
- $HOME/.bash_logout
Qu hacen estos archivos en su sistema, qu informacin puede encontrarse en ellos.
# vi /etc/profile
# vi /etc/bashrc
# vi $HOME/.bash_profile
# vi $HOME/.bashrc
# vi $HOME/.bash_logout

Administracin de usuario
En estos ejercicios se hace referencia a las herramientas de lnea de comandos. No olvide que
dispone tambin de las herramientas de administracin del sistema, para realizar administracin
de grupos y usuarios.
4. Liste todos los usuarios definidos en su sistema en este momento.
# cat /etc/passwd
5. Todo usuario tiene un password?
# cat /etc/shadow
El * y !! en el campo de password significa que el usuario no tiene password.
6. Como root use la lnea de comandos, agregue un usuario de nombre tux3 y un nombre
completo Tux el pingino (3)
<ALT-F5>
# useradd -m -c Tux el pingino (3) tux3
7. Observe los contenidos de /etc/shadow, Cul es el password del nuevo usuario?
# cat /etc/passwd
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
El password del nuevo usuario es !!, lo que significa que ningn password se ha asignado.
8. De a tux3 el password tux3. Luego observe nuevamente el archivo /etc/shadow.
# passwd tux3
# cat /etc/shadow
9. Liste los contenidos del archivo /etc/passwd-. Qu est guardado en este archivo?
# cat /etc/passwd-
Este archivo es un backup de /etc/passwd. Siempre que cambie su archivo /etc/passwd
con las herramientas adecuadas, el archivo de passwords viejo es copiado a passwd~.
Esto significa que passwd- siempre contiene su esquema de administracin de usuario
como estaba antes del ltimo cambio.
10. Cul es el grupo de login del usuario que agreg?
# cat /etc/passwd
Recuerde el GID que observ para este usuario.
# cat /etc/group | grep GID
La primera palabra en la lnea es el grupo de login del usuario.
11. Agregue el grupo pinguinos al sistema.
# groupadd pinguinos
12. Coloque el usuario tux3 dentro del grpo pinguinos.
# usermod -G pinguinos tux3
13. Ubique este cambio en el archivo /etc/group.
# cat /etc/group
14. Cul es la sintaxis del archivo de grupo?
15. Qu usuarios se especifican en el ltimo campo del archivo /etc/group?

Comunicacin con los usuarios
16. Como root, modifique el archivo /etc/issue. Escriba en este archivo una nota en referencia
a que el sistema es para usuarios autorizados solamente. Borre toda la informacin
referente a la distribucin y el kernel.
# vi /etc/issue
El sistema es para usuarios autorizados nicamente.
17. Como root cree el archivo /etc/motd. Escriba en este archivo el nombre del sistema y el
nombre del sistema operativo que est usando.
# vi /etc/motd
Bienvenido a este sistema que est corriendo en Linux!
18. Como tux1 haga logout y login nuevamente. Observe la informacin mostrada en su
pantalla.
<ALT-F1>
exit
Haga login nuevamente
Ud. debera observar la informacin colocada en sus archivos /etc/issue y /etc/motd.
19. Cree el archivo .hushlogin como tux1 en su directorio home.
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# touch .hushlogin
20. Haga login y logout nuevamente. Otra vez observe la informacin que se muestra en su
pantalla. Not alguna diferencia con la salida del paso 16.
# exit
Haga login de nuevo
Qu observa?

FIN DEL EJERCICIO

Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 33: Seguridad a nivel de usuario

De qu se trata este ejercicio
Este ejercicio se enfoca en los conceptos de seguridad en un sistema Linux.
Los estudiantes aprendern cmo trabajan los permisos de archivos, donde
la informacin acerca de logins es almacenada y donde la informacin del
usuario para la administracin de usuarios es almacenada.



Qu seremos capaces de hacer
Luego de terminar este ejercicio Ud. debera ser capaz de:
Localizar los archivos involucrados en la seguridad sobre el sistema.
Explicar los diferentes tipos de archivos y cuando usarlos.
























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

Logs de seguridad
1. Haga log out como root
# exit
2. Intente un login como root pero coloque un password equivocado.
3. Intente hacer login como un usuario no existente (por ejemplo teacher).
4. Haga login como root con el password correcto.
5. Observe los contenidos de los siguientes archivos e intente encontrar los registros del paso
2, 3 y 4.
/var/log/lastlog
/var/log/messages
/var/log/secure
/var/log/wtmp
# lastlog
# more /var/log/messages
# more /var/log/secure
# who /var/logwtmp
# who /var/run/utmp o solo who
Observe la salida de los comandos mencionados y busque palabras como tux1, tux2, root
y teacher.
6. En la Terminal virtual 1 haga login como tux1 y en la VT 2 como tux2. Haga login como
root en la Terminal VT 5.
7. Observe, como usuario root, qu usuarios se encuentran actualmente logueados. Observe
tambin los contenidos de /var/log/wtmp.
<ALT-F5>
# who
# who /var/log/wtmp
8. Haga logout como usuario tux2.
9. Como root encuentre las ltimas tres veces que el usuario tux1 y tux2 se loguearon. Liste
tambin los usuarios que han hecho login en la Terminal virtual 1.
# <ALT-F1>
# last tux2
# last tty1
10. Como tux1 revise de qu grupos es Ud miembro.
# <ALT-F2>
# groups

Permisos de archivos
11. Haga login como root en la VT 5 (si no o est ya). Asegrese de que tux1 est logueado en
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
la VT1 y tux2 en la VT 2.
<ALT-F5> Haga login como root (si es necesario)
<ALT-F1> Haga login como tux1 (si es necesario)
<ALT-F2> Haga login como tux2
12. Como root revise si el bit SUID est seteado. Luego borre el bit SUID de /usr/bin/passwd.
<ALT-F5>
# ls -l /usr/bin/passwd
# chmod -s /usr/bin/passwd
O
# chmod 755 /usr/bin/passwd
# ls -l /usr/bin/passwd
13. Como tux1 ejecute passwd. Responda las preguntas y observe la salida. Cul es el
mensaje de error y por qu obtuvo este mensaje?
14. Setee el bit SUID nuevamente en /usr/bin/passwd e intente cambiar el password
nuevamente.
<ALT-F5>
# chmod u+s /usr/bin/passwd
O
# chmod 4555 /usr/bin/passwd
# ls -l /usr/bin/passwd
<ALT-F1>
# passwd
Ud debera poder cambiar el password.
15. Como tux1 cree un directorio en su directorio home con el nombre exercise. En este
directorio cree un archivo con df > df.out.
Configure los permisos en df.out como rwx------ (700) y haga a su directorio home
readable y executable. Para los miembros del grupo y para otros.
<ALT-F1>
$ mkdir exercise
$ df > exercise/df.out
$ chmod u=rwx,go= exercise/df.out
O
$ chmod 700 exercise/df.out
$ chmod go+rx /home/tux1
O
$chmod 755 /home/tux1
16. Como tux2 intente abrir df.out y lea los contenidos del archivo. Tuvo xito? Tambin
intente agregar una lnea extra a df.out.
<ALT-F2>
$ more ~tux1/exercise/df.out
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
17. Como tux1, configure los permisos sobre df.out as: rwxr--r-- (744).
<ALT-F1>
$ chmod go+r exercise/df.out
O
$ chmod 744 exercise/df.out
18. Como tux2 intente abrir el archivo nuevamente. Tiene xito esta vez?
<ALT-F2>
$ more ~tux1/exercise/df.out
19. Como tux2, intente alterar el archivo. Funciona?
<ALT-F2>
$ vi ~tux1/exercise/df.out
Haga algunos cambios al archivo, luego intente guardarlos. Funcionar?
Salga con :q!
20. Como tux1 configure los permisos en df.out as: rwxrwxrwx (777).
<ALT-F5>
$ chmod ugo=rwx exercise/df.out
O
$ chmod 777 exercise/df.out
21. Como tux2, intente escribir sobre el archivo nuevamente. Tiene xito esta vez?
<ALT-F2>
$ vi ~tux1/exercise/df.out
Haga algunos cambios, luego intente guardar el archivo.
Esta vez Ud puede cambiar el contenido del archivo porque tiene permisos de escritura.
22. Puede borrar df.out? Por qu o por qu no? Est la informacin en df.out segura con
estos permisos sobre el archivo?
$ rm ~tux1/exercise/df.out
No podr borrar el archivo pues no tiene permisos adecuados sobre el directorio. Para
poder borrar un archivo, necesita tener permiso de escritura sobre el directorio que lo
contiene.
El archivo df.out no est seguro porque cada usuario en el sistema operativo tiene
permisos de escritura sobre l, cada usuario tiene el derecho de editarlo (agregar o borrar
informacin).
23. Como tux1 configure los permisos en su directorio de ejercicio como rwxrwxrwx.
<ALT-F1>
$ chmod ugo=rwx ~tux1/exercise
O
$ chmod 777 ~tux1/exercise
24. Como tux2 intente borrar df.out. Es esto posible, por qu s o por qu no?
<ALT-F2>
$ rm ~tux1/exercise/df.out
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ud. Puede borrar el archivo aun cuando no le pertenece. Con el permiso de escritura en
los directorios, Ud da a los usuarios el derecho de crear y borrar archivos en ese directorio.

Directorios de Equipo (Team Directories)
25. Como root, cree un directorio equipo, /groups/pinguinos, para todos los miembros del
grupo pinguinos.
<ALT-F5>
# mkdir -p /groups/pinguinos
# chgrp pinguinos /groups/pinguinos
# chmod 2770 /groups/pinguinos
26. Revise qu usuarios son actualmente miembros del grupo pinguinos.
# grep pinguinos /etc/group
27. Como tux1, intente crear y ver archivos en el directorio /groups/pinguinos. Funciona esto?
<ALT-F1>
$ cd /groups/pinguinos
Este comando fallar, pues tux1 no es un miembro del grupo pinguinos.
28. Como tux3, intente crear y ver archivos en el directorio /groups/pinguinos. Funciona esto?
<ALT-F3>
Login: tux3
Password: tux3
$ cd /groups/pinguinos
$ touch testfile
$ ls -l testfile
$ rm testfile
29. Agregue tux1 y tux2 al grupo pinguinos. Luego intente crear y borrar archivos en el
directorio /groups/pinguinos nuevamente. Tambin, intente modificar los archivos creados
por otros usuarios en el mismo grupo. Funciona?
<ALT-F1>
# usermod -G pinguinos tux1
O
# gpasswd -a tux1 pinguinos
# usermod -G pinguinos tux2
O
# gpasswd -a tux2 pinguinos
<ALT-F1>
$ cd /groups/pinguinos
Nota: Puede ser necesario hacer logout primero y luego nuevamente login para que esto
funcione.
# vi testfile
Agregue algunas lneas de texto
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# ls -l testfile
Anote los permisos
<ALT-F4>
$ cd /groups/pinguinos
$ vi testfile
Agregue unas lneas de texto. Luego intente guardar este archivo. Funciona? Puede
explicar esto?

Usando el comando su
30. Como tux1 vaya a su directorio home y ejecute el comando su. Anote la informacin
siguiente:
- Su directorio de trabajo actual
- El contenido de la variable $PATH
<ALT-F1>
$ cd
$ su
Ingrese su password de root
$ pwd
$ echo $PATH
31. Nuevamente regreso a su ambiente de usuario (tux1)
# exit
32. Como tux1 ejecute el comando su y anote la siguiente informacin:
- Su directorio de trabajo actual
- El contenido de la variable $PATH
$ su
Ingrese el password de root
# pwd
# echo $PATH
33. Compare esta informacin con la informacin anotada con anterioridad. Cul es la
diferencia entre su y su -?


34. Como tux1, intente cambiarse a tux2. Funciona?
# exit (para volverse tux1 nuevamente)
$ su tux2

Usando el comando sudo
35. Como tux1, intente ejecutar el comando /sbin/ifdown eth0. Funciona?

Ejercicios del Estudiante
36. Como root, cree el archivo /etc/sudores de modo que a tux1 se le permita ejecutar los
comandos /sbin/ifdown eth0 y /sbin/ifup eth0.
# visudo
Cambie el archivo de manera que se vea como sigue:

37. Como tux1, intente ejecutar el comando /sbin/ifdown eth0 nuevamente, esta vez con la
ayuda de sudo.Funciona esto? Si funciona, baje la interfaz de red nuevamente.
Nota: La primera vez que un usuario ejecuta el comando sudo, recibe una advertencia
respecto de comportamiento de responsabilidad. Para confirmar la lectura de esto, el
usuario necesita escribir su propio password, no el de root.
$ sudo /sbin/ifdown eth0
$ sudo /sbin/ifup eth0

Archivos de seguridad
38. Como tux2 observe el contenido de los siguientes archivos:
/etc/passwd
/etc/group
/etc/profile

<ALT-F2>
$ vi /etc/passwd
$ vi /etc/group
$ vi /etc/profile
Note que un usuario ordinario tiene el derecho de ver este archivo importante. Este archivo
debera poder ser ledo por todos los usuarios en el sistema.


FIN DEL EJERCICIO

Administracin Avanzada del Sistema Operativo
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo

Ejercicio 34: Logging

De qu se trata este ejercicio
Este ejercicio le permite usar el demonio de logging.


Qu seremos capaces de hacer
Luego de terminar este ejercicio Ud. debera tener experiencia con:
El demonio syslogd
El archivo de configuracin /etc/syslog.conf
El comando logger
El comando logrotate
Anlisis de logs
























Ejercicios del Estudiante
Instrucciones de Ejercicio

Configurando logging
1. Observe el archivo /etc/syslog.conf y trate de determinar a qu archivos se dirige el
logging. Eche un vistazo de estos archivos tambin.
# less /etc/syslog.conf
# less /var/log/messages
# less /var/log/secure
# less /var/log/mail*

2. Intente hacer login como un usuario vlido (por ejemplo tux1) pero con un password
invlido, e intente hacer login con un usuario invlido. Luego observe las entradas de log.
# less /var/log/messages
3. Cambie el archivo /etc/syslog.conf y asegrese de que todo lo que tiene que ver con
autenticacin est registrado en /var/log/secure. Luego reinicie el demonio syslog.
# vi /etc/syslog.conf
Cambie el archivo /var/log/messages /var/log/secure de manera que luzcan como sigue:


# service syslog restart

4. Nuevamente intente loguearse como un usuario vlido pero con un password invlido, e
intente hacer login como un usuario invlido. Luego revise las entradas de log
nuevamente.
Cambie a otra Terminal virtual
Login: tux1
Password: invalid
Login: invalid
Password: invalid
Regrese a su Terminal virtual previa.
# less /var/log/messages
# less /var/log/secure

Usando el comando logger
5. Observe su archivo /etc/syslog.conf e intente usar el comando logger de modo que los
mtodos diferentes en el archivo /etc/syslog.conf sean usados una vez.
# logger -p daemon.info Esta es la prioridad daemon.info
# logger -p authpriv.info Esta es la prioridad authpriv.info
# logger -p mail.debug Esta es la prioridad mail.debug
# logger p kern.emerg Esta es la prioridad kern.emerg
Administracin Avanzada del Sistema Operativo
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
# logger -p news.crit Esta es la prioridad news.crit
# logger -p local7.warn Esta es la prioridad local7.warn
6. Haga lo mismo, pero esta vez cuando est logueado como tux1.
# logger -p daemon.info Esta es la prioridad daemon.info
# logger -p authpriv.info Esta es la prioridad authpriv.info
# logger -p mail.debug Esta es la prioridad mail.debug
# logger -p kern.emerg Esta es la prioridad kern.emerg
# logger -p news.crit Esta es la prioridad news.crit
# logger -p local7.warn Esta es la prioridad local7.warn

Usando el comando logrotate
7. Revise el archivo /etc/logrotate.conf y todos los archivos en /etc/logrotate.d
# less /etc/logrotate.conf
# less /etc/logrotate.d/*
8. Haga un listado recursivo largo de todos los archivos en el directorio /var/log.
# cd /var/log
# ls R
9. Ejecute manualmente el comando logrotate.
# logrotate /etc/logrotate.conf
10. Nuevamente haga un listado largo y recursivo de todos los archivos en el directorio
/var/log. Ve alguna diferencia?, por qu no?
# cd /var/log
# ls R
11. Fuerce un logrotate con la opcin f
# logrotate f /etc/logrotate.conf
12. Nuevamente haga un listado largo y recursivo de los archivos dentro de /var/log. Ve
alguna diferencia? Por qu?
# cd /var/log
# ls R

Usando Logwatch
13. en un sistema REdHat/Fedora, logwatch es instalado y activado automticamente. Los
resultados de este anlisis sern enviados va correo a root. Por eso revise su correo para
observar los resultados:
# mail

FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 35: Impresoras

De qu se trata este ejercicio
Estos ejercicios estn diseados para proveerle de la oportunidad de
configurar impresoras y colas y hacer cambios a las caractersticas de las
colas.


Qu seremos capaces de hacer
Luego de terminar este ejercicio Ud. debera ser capaz de instalar
impresoras y colas mediante el utilitario apropiado.

Introduccin
Estos ejercicios son diseados para que se familiarice con tareas como
agregar y administrar impresoras y colas. En el rea de impresin hay
muchos comandos que pueden ser usados para hacer lo mismo.

Problemas conocidos de Hardware/Software
Antes de iniciar este ejercicio sera una buena idea chequear que la
impresora que utilizar est conectada y en lnea y que disponga de un
suministro razonable de papel.


















Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio
Nota
Si no hay impresoras disponibles en la clase, Ud. no puede realizar este ejercicio.

CUPS
1. Pregunte al instructor por detalles de la impresora.
2. Inicie el demonio de impresin CUPS y asegrese de que es iniciado en el arranque del
sistema.
# service cups restart
# chkconfig cups on
3. Inicie un browser e ingrese la url http://localhost:631. Haga login como root y configure su
impresora.
# konqueror
o
# mozilla
Ingrese http://localhost:631 o http://127.0.0.1:631.
Haga clic en Administration, y haga login como root.
Vaya a Manage Printers y clic en Add Printer. Cuando se le solicite por un username y
password ingrese root y el password de root.
Vaya a travs de las diferentes pantallas Add new printer y configure un nombre de
impresora, locacin, descripcin, dispositivo y modelo.
Seleccione la impresora y vaya a Configure Printer. Seleccione el tamao correcto de
papel y observe las opciones que podra necesitar modificar.
4. Seleccione la impresora e imprima una pgina de prueba.
5. Someta un archivo a la impresora usando el comando lpr y vea si las pginas se imprimen.
# lpr P <printer> /etc/passwd

FIN DEL EJERCICIO
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Ejercicio 36: Troubleshooting

De qu se trata este ejercicio
Estos ejercicios le permiten solucionar algunos problemas en Linux y usar
algunas tcnicas para resolverlos.

Qu seremos capaces de hacer
Luego de completar este ejercicio debera tener experiencia con:
- El modo de rescate.


Materiales Requeridos
Para completar este ejercicio, necesitaremos los siguiente:
- Un CD de instalacin de CentOS, que permita iniciar en modo de
rescate.























Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
Instrucciones de Ejercicio

El modo de rescate en Linux
1. Cambie su archivo /etc/inittab de modo que el runlevel 6 sea el nivel de ejecucin
por defecto.
# vi /etc/inittab
Cambie la lnea initdefault de modo que luxca como sigue.
id:6:initdefault
2. Inserte su CD de arranque de Linux en el drive y reinicie el sistema.
# reboot
3. Cuando aparezca el prompt boot:, inicie el modo de rescate.
4. Dependiendo del modo de rescate y el dispositivo utilizado. Ud puede o no puede
recibir consultas acerca de:
- Lenguaje
- Tipo de teclado
- Tipo de Mouse
- Adaptador de red a ser iniciado o usado
- Protocolo de arranque a ser usado (direccionamiento IP)
- Servidor NFS a ser usado
Todas estas preguntas necesitan respuesta as como cuando se instal el sistema.
5. Algunos modos de rescate le dan la opcin para intentar encontrar una instalacin
de Linux y montarla. No permita esto ya que lo haremos de manera manual.
6. En el sistema Ud ahora recibir un prompt de comandos.
7. Revise si el dispositivo /dev/hda existe. Si no, cree el node device para su disco
duro.
# [ -b /dev/hda ] || mknod /dev/hda
8. Haga una lista de todas las particiones en su disco duro y cree nodos de
dispositivos para ellas si no existen.
# fdisk -l /dev/hda
# for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> do
> [ -b /dev/had$i ] || mknod /dev/had$i
> done
9. Realice un filesystem check en todas las particiones que contienen un filesystem.
Note: La tabla de particiones contiene el id de particin, que es usado por fsck para
determinar el tipo de filesystem, y por lo tanto qu variante del curso invocar.
# fsck y /dev/hda1
# fsck y /dev/hda2
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
10. Si Ud. tiene volmenes LVM, realice un vgscan para escanear volume groups, y activar
todos los volume groups que se ha encontrado.
Nuestra distribucin incluye una herramienta todo en uno lvm que acta como una clase
de subshell, pero permite escribir los mismos comandos exactos.
# vgscan
# vgchange -a y vg00
11. Haga una lista de todos los logical volumes en el/los volume group/s, y revise todos los
logical volumes que contengan un filesystem.
# ls /dev/vg00
# fsck -y /dev/vg00/lv00
# fsck -y /dev/vg00/lv01
# fsck -y /dev/vg00/lv02
# fsck -y /dev/vg00/lv03
12. Cree un directorio /mnt/sysimage y monte su filesystem raz en l.
Nota: En Fedora/RedHat Ud puede utilizar el comando e2label para deterinar qu filesystem
es su particin raz.
# mkdir /mnt/sysimage
# e2label /dev/hda1
Haga esto para todos las particiones
# mount /dev/hda5 /mnt/sysimage
13. Ejecute un chroot al filesystem raz.
# chroot /mnt/sysimage
14. Monte todas las otras particiones tambin.
Nota: Si Ud monta /proa manualmente primero, entonces Ud puede usar el comando
mount -a para montar las otros filesystems de manera automtica.
# mount /proc
# mount -a
15. Cambie el archivo /etc/inittab y setee el runlevel por defecto a 3.
# vi /etc/inittab
Cambie la lnea initdefault por:
id:3:initdefault:
16. Desmonte todos los filesystems y dele el shell en chroot. Luego desmonte el filesystem
raz y salga del modo de rescate.
# sync
# umount -a
Nota: Es comn encontrar que /usr (y algunas veces otros filesystems tambin) no se
pueden desmontar. Esto es debido a que Ud est usando el comando mount desde su
filesystem raz que usa informacin local que reside en el filesystem /usr.
# exit
# umount /mnt/sysimage/usr
Esto es solamente requerido si /usr no fue montada cuando Ud estuvo en el
Ejercicios del Estudiante
Administracin Avanzada del Sistema Operativo
ambiente chrooted. Ahora que Ud ha dejado este ambiente, el comando mount desde el
ambiente de rescate es usado, este toma su informacin local de un lugar diferente.
# umount /mnt/sysimage
# sync
# exit
17. Retire el dispositivo de rescate y espere hasta que su sistema reinicie. Fue exitoso el
intento de rescate?

FIN DEL EJERCICIO

You might also like