Title: Sistema Operativo UNIX
1Sistema Operativo UNIX
- Lección 8 Principios de Administración de
Sistemas - Prof. Antonio F. Huertas
2Qué es un administrador de sistemas?
- Los administradores de sistemas velan porque el
sistema operativo ejecute de la forma más
eficiente posible. - Entre sus múltiples responsabilidades se
encuentran - Manejo de grupos y de usuarios
- Monitoreo de utilización de recursos y disco
- Montar y desmontar file systems
- Creación de copias de resguardo
- Automatización de procesos
- Inicialización y shutdown del sistema
- Instalación de programas
3Uso de del utilitario su para convertirse en
administrador
- Para poder ejecutar muchos de los comandos de
administración, es necesario contar con
privilegios de administrador. - El utilitario su (substitute user) se usa para
crear un subshell temporero y conectarse como
otro usuario. - Se le pedirá la clave secreta del otro usuario.
- Para terminar de usar el subshell temporero y
volver a ser el usuario original, entre D o
exit.
4Uso de su para convertirse en administrador
(cont.)
- El formato de su es
- su -username
- Si no se indica el username, UNIX interpretará
que se desea conectarse como root (el username
del administrador). - En este caso, el prompt cambiará a mientras
se permanezca como superusuario (otro nombre para
el administrador).
5Uso de su para convertirse en administrador
(cont.)
- Normalmente, un administrador de UNIX se conecta
con una cuenta regular y luego utiliza el
utilitario su para cambiarse a administrador. - Si no se coloca la -, esto indica que se desea
mantenerse en el working directory del usuario
original. De lo contrario, si se indica la -,
esto indica que se desea mover al home directory
del nuevo usuario tan pronto se conecte. - Algunos ejemplos
- su - ahuertas
- su
6Manejo de grupos
- Los utilitarios groupadd, groupmod y groupdel son
usados para crear, modificar y eliminar grupos,
respectivamente. - Todo usuario pertenece a un grupo principal y
pudiese pertenecer a uno o varios grupos
secundarios. - Para poder añadir un usuario a un grupo es
preciso que el grupo haya sido creado primero.
7groupadd
- Para crear un grupo, se usar el comando groupadd
que tiene el siguiente formato - groupadd g groupid groupname
- Este comando añade una línea al archivo
/etc/group con los datos del grupo. - Algunos ejemplos
- groupadd g 789 sici4048
- groupadd programming
8groupadd (cont.)
- Cada línea del archivo /etc/group tiene 4 campos
- Nombre del grupo
- Un espacio en blanco o una x (antes contenía la
clave secreta del grupo. Ahora está en
/etc/gshadow) - El número de identificación del grupo (groupid o
GUID). Los valores entre 0 y 99 se reservan
típicamente para el grupos del sistema. - Lista de usuarios para los cuales éste es un
grupo secundario.
9groupmod
- Para modificar los datos de un grupo, se usa el
comando groupmod. - El comando groupmod tiene el siguiente formato
- groupmod -g groupid -n newGroupname groupname
- La opción g permite cambiar el número de
identificación del grupo. Sin embargo, cualquier
archivo cuyo GUID es el número viejo debe
actualizarse manualmente para que tenga el número
nuevo. - La opción n permite cambiar el nombre del grupo.
- Un ejemplo
- groupmod -n unix_students sici4048
10groupdel
- Para eliminar los datos de un grupo, se usa el
comando groupdel. - El comando groupdel tiene el siguiente formato
- groupdel groupname
- Este comando requiere que se eliminen de forma
manual aquellos usuarios cuyo grupo principal es
el grupo que se va a eliminar. - Ejemplo de uso
- groupdel programming
11Manejo de usuarios
- Los utilitarios useradd, usermod y userdel son
usados para crear, modificar y eliminar usuarios,
respectivamente. - Para poder añadir un usuario a un grupo es
preciso que el grupo haya sido creado primero. - Si al momento de añadir un usuario no se indica
el grupo al que pertenece, se crea un grupo con
el mismo nombre que el del usuario y se añade el
usuario a este nuevo grupo.
12useradd
- Para crear un usuario, se usa el comando useradd
que tiene el siguiente formato - useradd -u UID g groupname -c comment
-d homeDirectory -s loginShell -m username - Las opciones son
- La opción u indica el UID del usuario.
- La opción g añade el usuario al grupo indicado.
- La opción c puede ser usada para indicar el
nombre real del usuario. - La opción d indica el nombre del directorio
hogar. - La opción s indica el nombre del login shell.
13useradd (cont.)
- Opciones del comando useradd (cont.)
- La opción m le indica a la máquina que debe
crearse el home directory en caso de que no
exista y de que deben copiarse a ese directorio
los archivos de inicialización del shell que se
haya indicado. - Este comando añade los datos del usuario al
archivo /etc/passwd.
14useradd (cont.)
- Cada línea del archivo /etc/passwd tiene 7
campos - Username
- Un espacio en blanco o una x (antes contenía la
clave secreta del usuario. Ahora está en
/etc/shadow) - El número de identificación del usuario (userid o
UID) - El número de identificación del grupo principal
del usuario - El comentario indicado en la opción c de useradd
- El home directory
- El login shell
15useradd (cont.)
- Algunos ejemplos
- useradd m ahuertas
- useradd g sici4048 c Antonio Huertas -m
ahuertas - Es importante señalar que luego de crear el
usuario con el comando useradd, es recomendable
que el administrador le asigne una clave secreta
usando el comando passwd. Por ejemplo - passwd ahuertas
16usermod
- Para modificar los datos de un usuario, se usa el
comando usermod - El comando usermod tiene el siguiente formato
- usermod -u UID g groupname -c comment
-d homeDirectory -s loginShell -m username - Las opciones tienen el mismo significado que las
de useradd. - Ejemplo
- usermod c El Profe ahuertas
17userdel
- Para eliminar los datos de un usuario, se usa el
comando userdel. - El comando userdel tiene el siguiente formato
- userdel -r username
- Esto remueve todas las entradas donde aparezca el
username en los archivos /etc/passwd, /etc/group
y /etc/shadow. - Si se usa la opción r, el home directory del
usuario y su contenido son también eliminados. - Ejemplo
- userdel r ahuertas
18Manejo de la utilizacion de recursos
- Para el manejo de la utilizacion de los recursos,
los administradores utilizan comandos tales como
ps, top, kill, du y df. - Como ps, top y kill se discutieron en una lección
anterior, esta lección discute du y df. - Es importante destacar que todos estos
utilitarios (ps, top, kill, du y df) pueden ser
usados por usuarios comunes, aunque de forma
limitada en algunos casos.
19df
- El utilitario df es usado para ver la cantidad de
espacio disponible en el disco y el por ciento de
uso. - Normalmente se muestra esta cantidad en términos
de bloques. El tamaño de un bloque varía de
sistema en sistema, a veces es 1k (BSD UNIX),
otras veces es 0.5k (System V). - El formato de este comando es
- df directory
- Ejemplo de uso
- df /home/ahuertas
20du
- El utilitario du es usado para ver la cantidad de
espacio que ocupan los directorios o los archivos
en un disco. El tamaño se indica en términos de
bloques. - El formato de este comando es
- du -a -s directory
- La opción a se usa para ver la cantidad de
espacio que ocupan los directorios y los archivos
contenidos en los directorios. - La opción s muestra la cantidad de espacio que
ocupan los directorios pero no los
subdirectorios.
21du (cont.)
- Ejemplos de uso
- du a /home/ahuertas
- du s /home/ahuertas
22Montar y desmontar file systems
- El utilitario mount es usado para extender el
file system de UNIX añadiendo el file system de
un dispositivo (por ejemplo, un disco o un
CD-ROM). - A este proceso a veces se le llama montar el
dispositivo. - El formato de mount es el siguiente
- mount fileSystemType deviceName directory
- Ejemplos (en Linux)
- mount msdos /dev/fd0 /mnt/floppy
- mount iso9660 /dev/cdrom /mnt/cdrom
23Montar y desmontar file systems (cont.)
- Si los datos del dispositivo se han colocado en
/etc/fstab, el dispositivo puede ser montado con
sólo indicar el nombre del dispositivo o del
directorio asociado. Por ejemplo (en Linux) - mount /mnt/floppy
- mount /dev/fd0
- Se puede usar mount sin argumentos para ver todos
los dispositivos montados. - El nombre de cada dispositivo (floppy disk, tape,
cd-rom) depende del sabor de UNIX que se tenga
disponible.
24Montar y desmontar file systems (cont.)
- Para desmontar un dispositivo del file system
de UNIX se usa umount. - El formato de umount es
- umount deviceName directory
- Ejemplos (en Lunux)
- umount /dev/fd0
- umonut /mnt/floppy
- Si se desea cambiar un floppy disk por otro, es
necesario desmontar el primero, remover el disco,
colocar el segundo disco y luego montar el
segundo disco. Esto aplica para otros
dispositivos. - Algunos sabores de UNIX tienen la capacidad de
detectar un dispositivo y hacer mount y umount
automáticamente.
25Creación de copias de resguardo
- Para la creación de copias de resguardo se usan
estos comandos tar y cpio. - Relacionado al proceso de copiar esta muchas
veces el proceso de comprimir los datos en un
archivo. Esto involucra el uso de los comandos
compress, uncompress, gzip y gunzip. - Es importante destacar que todos estos
utilitarios pueden ser usados por usuarios
comunes, aunque de forma limitada en algunos
casos.
26tar
- Este comando fue diseñado específicamente para
hacer copias de resguardo que se almacenarán en
cinta magnética (tape archive). - También se utiliza para crear archivos de formato
especial que se pueden enviar por redes de
comunicación ya que permite almacenar varios
archivo en uno solo. - Formato
- tar options fileName.tar listOfFiles
27tar (cont.)
- Opciones de tar
- c usada para crear el archivo de backup
- f usada para indicar el nombre del archivo de
backup. Si no se indica, se asume que es la
unidad de cinta (/dev/tape o algo similar). - x usada para restaurar archivos.
- v usada para que tar muestre el nombre de cada
archivo a medida que se copia o se restaura. - t usada para ver un listado de los archivos
almacenados en el backup file.
28tar (cont.)
- Algunos ejemplos
- tar cvf myScripts.tar /Scripts
- .. Crear copia
- tar cvf mytextfiles.tar .txt
- tar tvf myScripts.tar
- .. Ver lista de archivos
- tar xvf myScripts.tar /Scripts
- .. Restaurar archivos
- tar xvf mytextfiles.tar
29cpio
- Otro comando usado para el proceso de copiar y
restaurar es cpio. - Este comando tiene dos formatos
- cpio o -v es usado para tomar una lista de
archivos del standard input y crear una copia de
resguardo (backup file). La opción v causa que
se muestre el nombre de cada archivo a medida que
se añade al backup file. - cpio i -t-d-v es usado para leer un backup
file y recrear todos los archivos resguardados.
La opción t causa que se muestre una lista de
los archivos contenidos en el backup file pero no
recrea ningún archivo. La opción d causa que se
creen directorios si es necesario para restaurar
los arcvhivos.
30cpio (cont.)
- Algunos ejemplos
- ls .txt cpio ov gt backup para crear un backup
file llamado backup que contenga los archivos
cuyos nombres terminan en .txt. Los archivos
originales permanecen. - cpio it lt backup para mostrar una lista de los
archivos contenidos en el backup file. No recrea
ningún archivo. - cpio idv lt backup para leer el backup file
llamado backup y recrear todos los archivos y
directorios resguardados.
31compress y uncompress
- El utilitario compress sirve para crear un
archivo que contenga el equivalente comprimido
del archivo original. El archivo original será
remplazado por el comprimido que tendrá el mismo
nombre pero añadiéndole .Z al final. - Formato
- compress -v fileName(s)
- La opción v de compress muestra la cantidad ()
de compresión obtenida.
32compress y uncompress (cont.)
- Algunos ejemplos
- compress v myfile.txt esto remplaza el archivo
myfile.txt por el archivo comprimido
myfile.txt.Z y muestra el porciento de
compresión. - compress v .txt esto remplaza cada archivo
terminado en .txt por su equivalente
comprimido. Estos nuevos archivos terminarán en
.txt.Z. - El utilitario uncompress sirve para sustituir un
archivo comprimido por su equivalente en tamaño
normal. El archivo comprimido será remplazado
por un archivo que tendrá el mismo nombre pero
quitándole .Z al final.
33compress y uncompress (cont.)
- Formato
- uncompress -c -v fileName
- La opción c permite ver el contenido del archivo
comprimido pero no lo expande. - La opción v muestra el nombre del archivo
comprimido y el nombre del archivo expandido.
Además muestra la cantidad de compresión. - Ejemplo
- uncompress myfile.txt.Z esto remplaza el
archivo comprimido myfile.txt.Z por el archivo
de tamaño normal myfile.txt
34gzip y gunzip
- El utilitario gzip sirve para reemplazar un
archivo por su versión comprimida. El nombre de
esta versión será el nombre original del archivo
añadiéndole la extensión .gz. - Formato
- gzip archivo
- Ejemplo
- gzip myfile.txt - esto crea el archivo
myfile.txt.gz
35gzip y gunzip (cont.)
- El utilitario gunzip sirve para reemplazar un
archivo comprimido por su versión regular. - Formato
- gunzip archivo
- Ejemplo
- gunzip myfile.txt.gz
36Automatización de procesos
- El utilitario crontab es usado para crear una
tabla de planificación que ejecute comandos
especificos periódicamente. - La tabla de planificación se coloca en un archivo
de texto en que cada línea contiene lo siguiente - Minuto del 0 al 59
- Hora del 0 al 23
- Día del 1 al 31
- Mes del 1 al 12
- Día de la semana del 1 (lunes) al 7 (domingo)
- Comando de UNIX
37Automatización de procesos (cont.)
- El administrador controla cuáles usuarios pueden
crear tablas de planificación mediante los
archivos cron.allow y cron.deny en el directorio
/var/spool/cron. - El archivo de texto que contiene la tabla de
planificación no puede ser creado ni editado
directamente. - El administrador puede manipular la tabla de
cualquier usuario. - Para crear o editar (edit) la tabla se usa
- crontab -e
38Automatización de procesos (cont.)
- El siguiente es un ejemplo de una tabla de
planificación - 30 14 1 echo Bienvenidos a UNIX
- 0 6 echo Increible
- 7 echo Eres fanatico
- 0 0 1 1 mail ahuertas Happy new Year!
- Esta tabla quedará en el directorio
/var/spool/cron/crontabs. - Para ver el contenido (list) de mi tabla se usa
- crontab l
- Para eliminar (remove) mi tabla se usa
- crontab -r
39Shutdown del sistema
- El comando shutdown es usado por el administrador
de sistemas para hacer shutdown. - Algunos ejemplos
- shutdown h 5 para hacer shutdown dentro de
cinco minutos. - shutdown r 5 para hacer shutdown dentro de
cinco minutos y hacer reboot. - shutdown -r now para hacer shutdown
inmediatamente y hacer reboot. - shutdown c para cancelar el proceso de
shutdown antes de que empiece.
40Instalación de software
- La instalación de software en UNIX NO está
estandarizada. - En muchos casos, el software se distribuye en
formato de tar y se usar tar xvf para instalar
los diversos archivos que componen el programa y
luego se corre un shell script de instalación. - A veces, hay que compilar el software. Esto
puede requerir que se use el utilitario make si
el programa se compone de varios módulos.
41Instalación de software (cont.)
- En el caso de Linux, el utilitario rpm (Red Hat
Package Manager) se ha convertido en un estándar.
Usar rpm es fácil pero hay que ser cuidadoso. - Algunos ejemplos
- rpm i mypack.rpm para instalar el paquete.
- rpm iv mypack.rpm para instalar el paquete y
ver información de lo que se instala.