Practica No. 4 - Si quieres saber que pasa en el laboratorio de

Anuncio
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
Facultad de Ingeniería
Laboratorio de computación para Ingenieros
Practica No. 4
“Sistemas Operativos y de Desarrollo parte II”
Equipo 8:
Caballero Jiménez Dafne Raquel
Pérez Morales Berenice Concepción
Puerto Moctezuma Sara V.
Grupo: 1113
OBJETIVO:
Conocer los sistemas operativos de desarrollo Unix y Linux.
Primera parte
Historia
El inicio del desarrollo de este sistema operativo (uno de los más influyentes en la historia de la computación)
fue muy particular, pues nadie habría predicho el éxito de UNIX después de su primera encarnación.
A finales en 1960, el Instituto Tecnológico de Massachussets, los laboratorios Bell de AT&T y General Electric
trabajaban en un sistema operativo experimental llamado Multics (Multiplexed Information and Computing
System), desarrollado para ejecutarse en un ordenador o computadora central (mainframe) modelo GE-645. El
objetivo del proyecto era desarrollar un sistema operativo interactivo que contase con muchas innovaciones,
entre ellas mejoras en las políticas de seguridad. El proyecto, por cierto, consiguió dar a luz versiones para
producción, pero las primeras versiones contaban con un pobre rendimiento. Los laboratorios Bell de AT&T
decidieron desvincularse y dedicar sus recursos a otros proyectos. Uno de los programadores del equipo de los
laboratorios Bell, Ken Thompson, siguió trabajando para la computadora GE-645 y escribió un juego llamado
Space Travel (Viaje espacial). Sin embargo, descubrió que el juego era lento en la máquina de General Electric
y resultaba realmente caro, algo así como 75 dólares de EE.UU. por cada partida.
De este modo, Thompson escribió nuevamente el programa, con ayuda de Dennis Ritchie, en lenguaje
ensamblador, para que se ejecutase en un ordenador DEC PDP-7. Esta experiencia, junto al trabajo que
desarrolló para el proyecto Multics, condujo a Thompson a iniciar la creación de un nuevo sistema operativo
para la DEC PDP-7. Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd Canaday, en
los laboratorios Bell, para desarrollar tanto el sistema de ficheros como el sistema operativo multitarea en sí. A
lo anterior, agregaron un intérprete de órdenes (o intérprete de comandos) y un pequeño conjunto de programas.
El proyecto fue bautizado UNICS, como acrónimo Uniplexed Informationand Computing System, pues sólo
prestaba servicios a dos usuarios (de acuerdo a Andrew Tanenbaum, era sólo a un usuario [1]). La autoría de
esta sigla se le atribuye a Brian Kernighan, ya que era un hack de Multics. Dada la popularidad que tuvo un
juego de palabras que consideraba a UNICS un sistema MULTICS castrado (pues eunuchs, en inglés, es un
homófono de UNICS), se cambió el nombre a UNIX, dando origen al legado que llega hasta nuestros días.
1-. ¿Qué es UNIX?
Ken Thompson y Dennis Ritchie
Unix® (o UNIX) es un sistema operativo portable, multitarea y multiusuario; desarrollado en principio por un
grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y
Douglas McIlroy.
Hoy día, la palabra UNIX se utiliza para denotar diferentes conceptos dependiendo del contexto en que es usada.
Esto suele dar lugar a confusiones:
•
UNIX - familia: desde el punto de vista técnico, UNIX se refiere a una familia de sistemas operativos
que comparten unos criterios de diseño e interoperabilidad en común. Esta familia incluye más de 100
sistemas operativos desarrollados a lo largo de 20 años. No obstante, es importante señalar que esta
definición no implica necesariamente que dichos sistemas operativos compartan código o cualquier
propiedad intelectual.
•
UNIX - el sistema operativo original: desde el punto de vista histórico, UNIX se refiere a la subfamilia
de sistemas operativos que descienden de la primera implementación original de AT&T. El término
“descendencia” ha de interpretarse como trabajos derivativos que comparten propiedad intelectual con la
implementación original.
•
UNIX - la marca: desde el punto de vista legal, Unix es una marca de mercado. Dicha marca es
propiedad de “The Open Group”, una organización de estandarización que permite el uso de dicha marca
a cualquier sistema operativo que cumpla con sus estándares publicados. Todo ello independientemente
de que el sistema operativo en cuestión sea descendiente o clónico del Unix original. Resumiendo, la
marca Unix no es propiedad de ninguna compañía.
2.- ¿Cuáles son sus principales características?
UNIX es un sistema operativo, que se creó en los años 60 en los laboratorios BELL. En un principio surgió
como respuesta a las necesidades de las máquinas de la época, máquinas muy caras, que debían ser compartidas
por muchos usuarios, con capacidades muy limitadas que tenían que ser exprimidas al máximo.
Es una maquina virtual, es decir, no trabajas directamente con las propiedades de la maquina en la que estas
conectado sino que esta es un terminal de otra maquina al cual se le llama servidor.
Es uno de los Sistemas más completos el cual esta escrito en C. Fue diseñado especialmente para
programadores.
Esto dio como resultado un sistema operativo con las siguientes características:
•
Multitarea:
Debía ser capaz de ejecutar varios programas a la vez. Controlando que cada uno no consumiese todos
los recursos del sistema y permitiendo que realice las funciones para las que ha sido diseñado.
•
Multiusuario:
Varios usuarios concurrentes podían emplear los distintos recursos del sistema. Así, varios usuarios
utilizarían al mismo tiempo el mismo programa, sin que cada uno interfiriera en la actividad del otro.
Esto está íntimamente relacionado con la reserva de memoria por proceso y no por programa.
•
Jerárquico:
Cada usuario tenía unos permisos y unos privilegios y, éstos eran insaltables. Por ello, si un usuario
intentaba algo para lo que no tenía privilegios, el sistema debía negarle el permiso y mostrarle un
mensaje de error.
•
Robustez:
Era necesario que el sistema fuera lo más robusto posible, para poder aprovechar al máximo el
rendimiento de equipos, por lo general, muy caros.
•
Consistencia:
El sistema debía evolucionar de forma continuada, pero sin cambiar las órdenes y comandos que
empleaban los usuarios, con el objetivo de asegurar la no obsolescencia de los conocimientos básicos
sobre el sistema. Para ello, se creó la asociación de productores de UNIX, agrupada bajo el nombre
de USENIX. El objetivo de ésta asociación era mantener la unidad de UNIX más allá de las distintas
versiones.
3.- Diga los comandos que utiliza
Permite cambiar la palabra clave de acceso, vigile que no sea obvia, que usted se
acuerde para la próxima vez que desee entrar y preste atención a las mayúsculas
y minúsculas que pone. Generalmente el sistema obliga a caracteres alfabéticos
y caracteres especiales (al menos uno como. _ dígito). Además para que Ud. este
passwd:
seguro le pedirá que lo repita antes de hacerlo efectivo. El passwd lo puede cambiar
tantas veces como quiera pero existe un máximo de días para trabajar con el mismo
passwd luego el SO le obligará a cambiarlo de lo contrario no lo dejará acceder.
(print working directory) imprime el directorio donde estamos situados (actual).
pwd:
(change directory) cambia de directorio. Unix permite identificar los directorios
padre e hijo por .. y . como abreviaturas, por lo que el comando cd .. permite pasar al
cd:
directorio superior (padre).
(list) permite listar el contenido de un directorio. Admite diferentes opciones: -l
ls:
form. largo, -a lista todos, -d sólo directorios, -s sólo tamaño, etc.
Permite cambiar los permisos de lectura(r), escritura (w), ejecución(x) de un archivo/
directorio. Unix reconoce tres grupos de usuarios: dueño (owner) del archivo/dir,
grupo (group) y resto (public) y por cada arch/dir existen 9 bits (rwxrwxrwx) que
indican qué está permitido para el dueño-grupo-resto hacer con ese archivo (estos
bits se pueden visualizar con ls -l) por ejemplo rw-r--r-- indicará: dueño lee-escribe,
chmod:
grupo-resto sólo lee. Para cambiarlo existen diferentes formas pero la más sencilla
es considerar los bits agrupados de tres en tres y el siguiente código (valor octal de
los bits): 7 significa rwx, 6 rw-, 5 r-x, 4 r--, 3 -wx, 2 -w-, 1 --x, 0 ---, por lo cual para
poner el código anterior (rw-r--r--) será chmod 644 nombre_del_fichero.
Permiten cambiar el dueño de un fichero y su grupo. Cuidado con esta opción pues
chown y chgrp: si le cambiamos el dueño a un fichero luego no podremos recuperar el antiguo (sólo
lo puede hacer el nuevo), además sólo podemos cambiar el dueño a nuestros ficheros.
(visual editor) editor de textos en modo pantalla.
vi:
(manuals) manuales interactivos de Unix, para utilizarlos poner man nombre_del_
man:
comando.
(concatenate) permite concatenar ficheros o ver su contenido (1 o más).
cat:
(copy) permite copiar ficheros.
cp:
Da información sobre hora y fecha.
date:
(disk free) información sobre espacio de disco libre.
df:
(disk usage) información sobre espacio de disco ocupado.
du:
Busca archivos en el árbol de directorios.
find:
Permite enviar mensajes a otros usuarios sobre la misma máquina o sobre otras
mail:
máquinas.
(make directory) crea directorios.
mkdir:
Visualizador del contenido del fichero (más agradable que el cat).
more, page:
(move) permite mover ficheros o renombrar.
mv:
(remove) borra fichero / borra directorios (rm -r borra fich./dir.)
rm, rmdir:
Permite ver quién está conectado (whoami indica quien soy).
who:
Permite ver quién esta conectado y qué hace.
w:
(process status) permite ver los procesos que está ejecutando el SO.
ps:
(calendar) imprime un calendario.
cal:
borra el display de la terminal (si está bien configurado el emulador)
clear:
compress,
uncompress:
dc:
diff:
env:
expr:
exit:
file:
grep:
kill:
ln:
lp:
mesg:
nice:
nohup:
quota:
sed:
awk:
ftp:
telnet:
sleep:
sort:
su:
tail:
tar:
tee:
test:
users:
wc:
write:
compacta/descompacta archivos.
(desk calculator) calculadora.
(different) permite comparar dos archivos.
(environmnet) imprime el entorno (variables).
(expression) evalúa argumentos de una expresión.
Se desconecta (termina la sesión activa). Idem que ^D.
Imprime el tipo de fichero que es (ejecutable/texto/archivo de C/etc.).
Busca un patrón en un archivo.
Elimina un proceso de ejecución.
(link) genera un link a un fichero.
(line printer) envía un fichero a imprimir (si la impresora está habilitada) (lpstat
información sobre las impresoras conectadas).
habilita/deshabilita los mensajes de otros usuarios sobre el terminal (se envían con
write).
Ejecuta los comandos con baja/alta prioridad.
(no hangup) permite ejecutar un comando aún después de desconectarse de la
máquina.
Muestra el espacio de disco restante del total asignado.
stream editor.
Procesamiento de patrones y lenguaje incluido.
(file transfer protocol) permite transferir ficheros entre diferentes máquinas.
Permite comunicarse con otras máquinas en forma interactiva.
Suspende la atención por un determinado tiempo.
Ordena por campos.
Reemplaza la identidad de un usuario temporalmente.
Permite ver el contenido de un archivo comenzando por el final.
(tape archiver) agrupa ficheros/directorios en un único fichero.
Permite que una salida de un comando sea dirigida a dos sitios simultáneamente.
Evalúa condiciones.
Lista los usuarios del sistema.
(word count) cuenta caracteres/campos/etc.
Envía mensajes a usuarios que se encuentren conectados.
4.- Aplicaciones en Ingeniería General
Gestionar, programar y administrar plataformas HP-UX.
Trabajar con sistemas de alta disponibilidad y arquitecturas de 64 bitsp.
5.- Aplicaciones en Ingeniería Industrial
Las aplicaciones que le podemos dar son muchas pero en un campo muy avanzado, a estas alturas se nos
puede dificultar ya que no tenemos los conocimientos de expertos. Este sistema es una maquina virtual que
consultaríamos para llevar acabo la realización de otros trabajos, además de que nos facilitaría información
adecuada para trabajar con otros sistemas operativos.
Segunda parte
Historia
Linus Torvalds, creador de Linux
La historia de Linux está fuertemente vinculada a la del proyecto GNU. El proyecto GNU, iniciado en 1983,
tiene como objetivo el desarrollo de un sistema Unix completo compuesto enteramente de software libre. Hacia
1991, cuando la primera versión del núcleo Linux fue liberada, el proyecto GNU había producido varios de los
componentes del sistema, incluyendo un intérprete de comandos, una biblioteca C y un compilador.
El proyecto GNU aún no contaba con el núcleo que definiría un sistema operativo. Sin embargo, el núcleo
creado por Linus Torvalds, quien se encontraba para entonces estudiando en la Universidad de Helsinki,
llenó el hueco final que el sistema operativo GNU exigía. Subsecuentemente, miles de programadores
voluntarios alrededor del mundo han participado en el proyecto, mejorándolo continuamente. Torvalds y otros
desarrolladores de los primeros días de Linux adaptaron los componentes de GNU para trabajar con el núcleo
de Linux, creando un sistema operativo completamente funcional.
Cabe mencionar que a pesar de que el núcleo de Linux se libera bajo los términos de la licencia GPL, no es
parte oficial del proyecto GNU.
1.- ¿Qué es LINUX?
Linux es la denominación de un sistema operativo y el nombre de un núcleo. Es uno de los paradigmas
del desarrollo de software libre (y de código abierto), donde el código fuente está disponible públicamente
y cualquier persona, con los conocimientos informáticos adecuados, puede libremente estudiarlo, usarlo,
modificarlo y redistribuirlo.
El término Linux estrictamente se refiere al núcleo Linux, pero es más comúnmente utilizado para describir
al sistema operativo tipo Unix (que implementa el estándar POSIX), que utiliza primordialmente filosofía y
metodologías libres (también conocido como GNU/Linux) y que está formado mediante la combinación del
núcleo Linux con las bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de
software (libre o no libre). El núcleo no es parte oficial del proyecto GNU (el cual posee su propio núcleo en
desarrollo, llamado Hurd), pero es distribuido bajo los términos de la licencia GNU GPL.
La expresión Linux también es utilizada para referirse a las distribuciones Linux, colecciones de software que
suelen contener grandes cantidades de paquetes además del núcleo. El software que suelen incluir consta de
una enorme variedad de aplicaciones, como: entornos gráficos, suites ofimáticas, servidores Web, servidores de
correo, servidores FTP, etcétera. Coloquialmente se aplica el término Linux a éstas, aunque en estricto rigor sea
incorrecto, dado que la distribución es la forma más simple y popular para obtener un sistema Linux.
La marca Linux (Número de serie: 1916230) pertenece a Linus Torvalds y se define como “un sistema operativo
para computadoras que facilita su uso y operación”.
Desde su lanzamiento, Linux ha incrementado su popularidad en el mercado de servidores. Su gran flexibilidad
ha permitido que sea utilizado en un rango muy amplio de sistemas de cómputo y arquitecturas: computadoras
personales, supercomputadoras, dispositivos portátiles, etc.
Los sistemas Linux funcionan sobre más de 20 plataformas diferentes de hardware; entre ellas las más comunes
son las de los sistemas compatibles con PCs x86 y x86-64, computadoras Macintosh, PowerPC, Sparc y MIPS.
Asimismo, existen Grupos de Usuarios de Linux en casi todas las áreas del planeta.
El logotipo oficial del núcleo Linux es el pingüino Tux
Desarrollador
Familia de S.O.
Modelo de desarrollo
Núcleo
Tipo de núcleo
Licencia
Última versión estable
Estado actual
Sitio Web
Varios
Unix-like
Open source
Linux
Monolítico
GPL/LGPL/BSD/Otras
Muchas versiones / Día con Día
En desarrollo
Por desarrollador
2.- ¿Cuáles son sus principales características?
•
multitarea: varios programas (realmente procesos) ejecutándose al mismo tiempo.
•
multiusuario: varios usuarios en la misma máquina al mismo tiempo (¡y sin licencias para todos!).
•
multiplataforma: corre en muchas CPUs distintas, no sólo Intel.
•
funciona en modo protegido 386.
•
tiene protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema.
•
carga de ejecutables por demanda: Linux sólo lee de disco aquellas partes de un programa que están
siendo usadas actualmente.
•
política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios
procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa
memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos
beneficios: aumenta la velocidad y reduce el uso de memoria.
•
memoria virtual usando paginación (sin intercambio de procesos completos) a disco: una partición o un
archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más áreas de intercambio sobre
la marcha (se sigue denominando intercambio, es en realidad un intercambio de páginas). Un total de
16 zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas en un momento dado con un
límite teórico de 2Gb para intercambio.
•
la memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de
disco, de tal forma que toda la memoria libre puede ser usada para caché y éste puede a su vez ser
reducido cuando se ejecuten grandes programas.
•
librerías compartidas de carga dinámica (DLL’s) y librerías estáticas también, por supuesto.
•
se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso
de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier
motivo.
•
casi totalmente compatible con POSIX, System V y BSD a nivel fuente.
•
mediante un módulo de emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4
a nivel binario.
•
todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las
herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir
libremente. Hay algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin
código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.
•
control de tareas POSIX.
•
pseudo-terminales (pty's).
•
emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia emulación
matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático.
Por supuesto, si tu ordenador ya tiene una FPU (unidad de coma flotante), será usada en lugar de la
emulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un
pequeño ahorro de memoria.
•
soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente.
•
consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede
cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video).
Se crean dinámicamente y puedes tener hasta 64.
•
soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de
archivo típicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta
4 Tb y nombres de archivos de hasta 255 caracteres de longitud.
•
acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos
especial: no necesitas ningún comando especial para usar la partición MS-DOS, parece un sistema
de archivos normal de Unix (excepto por algunas graciosas restricciones en los nombres de archivo,
permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento,
y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido añadido al
núcleo de desarrollo y estará en la próxima versión estable.
•
un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema
de archivos DOS.
•
soporte en sólo lectura de HPFS-2 del OS/2 2.1
•
sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM.
•
TCP/IP, incluyendo ftp, telnet, NFS, etc.
•
Appletalk disponible en el actual núcleo de desarrollo.
•
software cliente y servidor Netware disponible en los núcleos de desarrollo.
3.- Diga los comandos que maneja
HACIENDO IMÁGENES DE CD RÁPIDAMENTE
Muchas veces usamos programas gráficos para grabar CDs que no son más que frontends para los programas
cdrecord, mkisofs, cdrdao, etc. Para hacer una imagen podemos usar simplemente cat o dd:
dd if=/dev/cdrom of=imagen.iso
Gracias a kyle por esta:
cat /dev/cdrom > imagen.iso
Ambos comandos hacen lo mismo, después, tostamos con cdrecord o con lo que queramos:
cdrecord -v speed=VELOCIDAD dev=GRABADORA imagen.iso
Si alguien ha probado a hacer dd if=imagen.iso of=/dev/GRABADORA y le ha funcionado, que me lo
comunique por favor ;-)
LIMPIAR LA CONSOLA
Si somos un poco vagos y no nos apetece hacer clear, no tenemos más que presionar la combinación de teclas
Ctrl+L.
EVITAR EL CTRL-ALT-SUPR
Si queremos evitar que los usuarios puedan usar esta combinación de teclas nos vamos a /etc/inittab y ponemos
una almohadilla # de comentario en la siguiente línea:
ca: ctrlaltdel: /sbin/shutdown -t3 -r now
Pero si lo que queremos es que sólo determinados usuarios puedan usarlo, modificamos esa línea y la ponemos
así (sin la # de antes):
ca: ctrlaltdel: /sbin/shutdown -a -t3 -r now
y creamos un archivo nuevo /etc/shutdown.allow con los nombres de usuarios que nos interese:
phantom
usuario
invitado
Está claro que si cambiamos ese -r por un -h nos apagaría el equipo, y bueno, para más opciones: man
shutdown. Aun así, podríamos incluso poner otro comando, como que nos muestre un mensajito en consola y
mil chorradas como esa, o no tan chorradas... a preferencia de cada uno.
VER UN DOCUMENTO MS WORD(r) EN MODO TEXTO
Pues si no nos apetece entrar a las X para ver un documento de estos o simplemente no queremos/podemos
cargar el openoffice, abiword y similares, nos bajamos el programita antiword que nos muestra por pantalla el
texto del documento word.
Este programa también permite salida en formato postscript, veamos un ejemplo:
Para ver el contenido en modo texto:
antiword cosa.doc | less
Convertimos a postscript con tamaño de página A4 y lo visualizamos con gv:
antiword -p a4 cosa.doc > cosa.ps; gv cosa.ps
Para los de Debian:
apt-get install antiword
Comandos Generales
•
dmesg : Imprime los mensajes desplegados por el “kernel” al inicio.
•
depmod -a : Genera un archivo que contiene las dependencias de los módulos que son cargados para el
“Kernel”, esto es, es capaz de reconocer cuales módulos deben de ser cargados para que un tercero sea
utilizado en el sistema.
•
free: Estadísticas de uso de Memoria.
•
init q : Comando que vuelve a leer los parámetros que se encuentran en inittab .
•
insmod : Habilita (“loads”) el modulo que se especifica en la línea, para que el “kernel” sea capaz de
utilizarlo.(ejemplo: insmod ip_alias.o )
•
ldconfig : Actualiza las librerías utilizadas por el sistema, recomendable ejecutarlo cada vez que se instale
un programa.
•
lsmod : Despliega la información referente a los módulos que están habilitados por el “kernel”.
•
mount: Permite que particiones de los sistemas, CD-ROMs, floppys puedan ser leídas en el sistema. Su
formato: mount -t <file system (ext2,vfat)> <partición (/dev/hda1,/dev/cdrom)> <punto de lecutra”mount point” (/mnt/home/
/mnt/cdrom)>. Vea también /etc/fstab .
•
smbmount: Similar al comando mount, excepto que este comando es utilizado para montar particiones en
Samba .
•
smbumount : Utilizado para desactivar las particiones activadas con smbmount
•
slocate: Actualiza la base de información que es utilizada para encontrar archivos con el comando locate.
•
source: Recarga el archivo de configuración indicado al ambiente de Shell.
•
stat: Despliega información detallada sobre el archivo especificado como: fechas de modificación y cambio,
dueño del archiv, .etc.
•
sudo: Ejecuta un comando como usario raíz (“root”), significa “super user do”(Super usuario hacer). Vea el
archivo /etc/sudoers/ para configuraciones relacionadas con este comando.
•
umount: Desactiva la partición que se indicada, los parámetros que toma este comando son similares a los
de mount.
•
uname -a: Información completa sobre el “Host”.
•
uptime: Hora actual, tiempo que lleva el sistema corriendo desde el último “reboot”, usuarios conectados al
servidor, carga del sistema en los últimos 1,5 y 15 minutos.
•
hostname: El nombre del “Host”.
•
chkconfig : Este comando despliega la información sobre los niveles de ejecución de los “scripts” ubicados
en el directorio /etc/rc.d/init.d
En entorno de Red
•
host: Determina la dirección IP de un “Host” , host -a despliega toda la información de DNS.
•
ifconfig : Permite configurar una interfase de Red y ver el “status” de ésta. Esa de la forma ifconfig <interfase>
, ejemplo: ifconfig eth0
•
ifup: Habilita la interfase especificada, ejemplo: ifup eth0.
•
ifdown: Deshabilita la interfase especificada, ejemplo: ifdown eth0 .
•
netstat -a : Todas la conexiones de Red originadas y recibidas por el “Host”
•
netstat -r : Muestra la tabla de ruteo “routing table” del sistema
•
netstat -i : Estadísticas de red de cada interfase
•
nslookup : Busca información en los servidores DNS, ejemplo: nslookup -query=mx osomosis.com , si no se
especifican parámetros se entra en modo interactivo
•
ping -s 1016: Manda paquetes de ping de 1024 bytes (header 8 bytes), mientras que el “default” es 512.
•
route add: Permite agregar tablas de ruteo de y hacia el “Host”. Ejemplo: Para guiar toda la información de
la red 206.171.55.16 netmask 255.255.255.240 vía la interfase eth0 :
route add -net 206.171.55.16
255.255.255.240 eth0
Para rutear todo el tráfico por cierta interfase (“Default Gateway”):
route add default gw 206.171.55.51 eth0
Esto enviará toda la información por la dirección 206.171.55.51
•
route -n: Despliega la tabla de ruteo del “Host”. NOTA: Debe de estar “IP Forwarding” ON en /etc/
sysconfig/network, además el “kernel” debe de estar configurado para “IP Forwarding”.
•
smbclient: Funciona como un cliente FTP, que simula conexiones que serán realizadas a través de Samba.
(Vea smbclient )
•
tcpdump: Permite el “debugging” de una interfase en el host.
•
testparm : Verifica la validez del archivo smb.conf utilizado por Samba
Control de Procesos
ps -aux : Despliega todos los procesos del sistema, con nombre y tiempo de inicio
Kill: Es utilizado para mandar señales a los procesos en Linux.
Kill -HUP <pid> : Señala al proceso con numero <pid>, que vuelva a leer sus archivos de configuración
Kill -INT <pid>: Señala al proceso con numero <pid>, que será interrumpido
kill -TERM <pid>: Señala al proceso con numero <pid>,que debe de terminar, a diferencia de -KILL , esta
opción da la oportunidad al proceso de terminar.
Kill -STOP <pid>: Señala al proceso con numero <pid>, que pare momentáneamente
Kill -CONT <pid>: Señala al proceso con número <pid>, que continué, este comando se utiliza para reanudar
un proceso que le fue aplicado -STOP
Kill -KILL <pid>: Señala al proceso con numero <pid>, que termine de inmediato, el proceso es terminado
abruptamente.
Killall: A diferencia de kill, killall permite mandar una señal al proceso por nombre.
Killall <nombre del proceso >: Envía la señal -TERM al proceso con el nombre especificado. NOTA: Por
“default” la señal que toma kill y killall es -TERM.
ps -l: Este comando despliega dos parámetros PRI y NI. El parámetro PRI indica la prioridad actual del
proceso, que es calculada por el sistema operativo, el valor de NI es tomado en cuenta cuando se determina el
PRI.
Que es NI? : NI es llamado el numero gentil o “nice number”, este numero es especificado por el
“superusuario”(“root”) o dueño del proceso y afecta el orden final del PRI, le da prioridad a los menos gentiles.
Sus valores oscilan desde -20 (menos gentil=mas prioridad) y 20 (mas gentil=menos prioridad)
nice : Este comando especifica el número NI de cada proceso.
nice -10 named: Esto bajaría la
nice +10 named: Esto
prioridad de named en 10 unidades.(Si estaba en -10, pasará a -20).
incrementaría la prioridad de named en 10 unidades.(Si estaba en 0, pasaría a +10).
snice y renice: El mismo funcionamiento que nice , excepto que utiliza el numero de proceso :
snice -10 <pid>
<comando> &: El & es utilizado para indicar que el proceso debe de ejecutarse en el fondo.
top : Esta herramienta monitorea varios recursos del sistema y tiene un carácter dinámico, muestra uso de CPU
por proceso, cantidad de memoria, tiempo desde su inicio,etc.
vmstat : Es muy similar a top ya que es un condensado de los procesos del sistema, para que esta herramienta
se vuelva dinámica se deben especificar los argumentos: vmstat -n <numero de segundos por actualización >
at : Este comando permite programar ciertas actividades a una cierta hora, ejemplo: at 22:00 , el comando
anterior abre un “prompt” de la forma at> , sobre este “prompt” se especifican todos los comandos que se
deseen ejecutar, en este caso a las 22:00, una vez especificados, se utiliza Ctlrl-d para salir.
Ya finalizado, los comandos estarán programados para ejecutarse a la hora indicada, el directorio /var/spool/at
contiene el trabajo.
El comando atq despliega los trabajos at que están pendientes, y el comando atrm <numero de at> elimina un
trabajo programado con at. Vea también /etc/at.deny y /etc/at.allow
crontab : : Al igual que at especifica el tiempo al cual se ejecutará un programa “script”, crontab tiene la
siguiente forma: minutos horas días meses fin_de_semana nombre_de_usuario instrucción argumentos
El siguiente ejemplo ejecutará el programa oracle.pl cada media hora todos los días:
30 * * * * root /usr/oracle.pl
Si se desea realizarlo mensualmente:
01 3 1 * * root /usr/oracle.pl
Lo anterior ejecutará oracle.pl el día primero de cada mes, a las 3:01 AM.
Para especificar trabajos cron cada usuario mantiene un archivo en el directorio /var/spool/cron/, este
directorio lo accesa cada usuario con el comando crontab -e
La ejecución de crontab se facilita debido al archivo /etc/crontab que específica trabajos crontab por
hora,dia,semana y mes, de esta forma solo se requiere que el usuario coloque un archivo en los directorios
correspondientes: /etc/cron.hourly | /etc/cron.daily | /etc/cron.weekly | /etc/cron.monthly
4.- Aplicaciones en Ingeniería General
Realización de documentos con LaTeX y Xfig.
Programas para el álgebra y la matemática.
Programas para el análisis de funciones y señales.
Realización de gráficos.
Entornos de programación.
5.- Aplicaciones en Ingeniería Industrial
En trabajos, por ejemplo al hacer diseños de dibujos con los diferentes programas.
Conclusiones
SARA: LINUX, por ser abierto al publico en general, tiene accesibilidad de lenguaje; es decir, es relativamente
fácil de comprender; por otro lado, UNIX usa un lenguaje especializado para programadores, lo que dificulta
las posibilidades de estudiarlo con facilidad. Por lo tanto LINUX es el sistema operativo más adecuado para
aprendices, mientras que UNIX es el más completo para expertos.
BERE: LINUX es un programa que a mi ver será el avance y reemplazo de Word ya que tiene, en cierto
modo, las aplicaciones de Word; se puede utilizar sin ser instalado, y nos puede servir de muchas formas
ya que con él podemos desde diseñar hasta crear.
UNIX: con Unix puedes crear diseños de software y además nos sirve al mismo tiempo que nos puede
servir Linux, ya que es un sistema operativo de tiempo compartido. Los dos son sistemas operativos que
en cierto modo van de la mano ya que uno te puede ser de mucha ayuda en el otro.
DAFNE: UNIX.-Es un sistema operativo que más bien se dedica a hacer programas de diseño que son
importantes en cualquier ámbito profesional, Unix es, por llamarlo de alguna manera, el padre de Linux.
LINUX.- Es un sistema operativo muy parecido a Windows, ya que cuenta con la mayoría de sus
funciones, y hasta es más fácil de utilizar ya que no hay necesidad de instalarlo en una computadora.
Descargar